oci 2.1.0 → 2.1.1

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 (370) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +11 -3
  3. data/lib/oci.rb +6 -0
  4. data/lib/oci/api_client.rb +159 -134
  5. data/lib/oci/audit/audit.rb +3 -0
  6. data/lib/oci/audit/audit_client.rb +88 -40
  7. data/lib/oci/audit/audit_client_composite_operations.rb +64 -0
  8. data/lib/oci/audit/models/audit_event.rb +151 -200
  9. data/lib/oci/audit/models/configuration.rb +61 -38
  10. data/lib/oci/audit/models/update_configuration_details.rb +61 -38
  11. data/lib/oci/auth/util.rb +1 -1
  12. data/lib/oci/base_signer.rb +20 -29
  13. data/lib/oci/config.rb +9 -3
  14. data/lib/oci/core/blockstorage_client.rb +512 -269
  15. data/lib/oci/core/blockstorage_client_composite_operations.rb +342 -0
  16. data/lib/oci/core/compute_client.rb +959 -536
  17. data/lib/oci/core/compute_client_composite_operations.rb +738 -0
  18. data/lib/oci/core/core.rb +5 -0
  19. data/lib/oci/core/models/attach_boot_volume_details.rb +72 -57
  20. data/lib/oci/core/models/attach_i_scsi_volume_details.rb +76 -53
  21. data/lib/oci/core/models/attach_paravirtualized_volume_details.rb +69 -45
  22. data/lib/oci/core/models/attach_vnic_details.rb +79 -68
  23. data/lib/oci/core/models/attach_volume_details.rb +83 -74
  24. data/lib/oci/core/models/boot_volume.rb +119 -120
  25. data/lib/oci/core/models/boot_volume_attachment.rb +114 -111
  26. data/lib/oci/core/models/bulk_add_virtual_circuit_public_prefixes_details.rb +61 -38
  27. data/lib/oci/core/models/bulk_delete_virtual_circuit_public_prefixes_details.rb +61 -38
  28. data/lib/oci/core/models/capture_console_history_details.rb +81 -70
  29. data/lib/oci/core/models/connect_local_peering_gateways_details.rb +60 -38
  30. data/lib/oci/core/models/connect_remote_peering_connections_details.rb +67 -49
  31. data/lib/oci/core/models/console_history.rb +122 -123
  32. data/lib/oci/core/models/cpe.rb +82 -74
  33. data/lib/oci/core/models/create_cpe_details.rb +73 -58
  34. data/lib/oci/core/models/create_cross_connect_details.rb +98 -99
  35. data/lib/oci/core/models/create_cross_connect_group_details.rb +67 -48
  36. data/lib/oci/core/models/create_dhcp_details.rb +89 -84
  37. data/lib/oci/core/models/create_drg_attachment_details.rb +71 -56
  38. data/lib/oci/core/models/create_drg_details.rb +66 -47
  39. data/lib/oci/core/models/create_image_details.rb +108 -110
  40. data/lib/oci/core/models/create_instance_console_connection_details.rb +79 -69
  41. data/lib/oci/core/models/create_internet_gateway_details.rb +76 -65
  42. data/lib/oci/core/models/create_ip_sec_connection_details.rb +83 -76
  43. data/lib/oci/core/models/create_local_peering_gateway_details.rb +72 -57
  44. data/lib/oci/core/models/create_private_ip_details.rb +97 -94
  45. data/lib/oci/core/models/create_public_ip_details.rb +90 -77
  46. data/lib/oci/core/models/create_remote_peering_connection_details.rb +72 -57
  47. data/lib/oci/core/models/create_route_table_details.rb +90 -87
  48. data/lib/oci/core/models/create_security_list_details.rb +95 -96
  49. data/lib/oci/core/models/create_subnet_details.rb +133 -154
  50. data/lib/oci/core/models/create_vcn_details.rb +96 -93
  51. data/lib/oci/core/models/create_virtual_circuit_details.rb +136 -153
  52. data/lib/oci/core/models/create_virtual_circuit_public_prefix_details.rb +62 -39
  53. data/lib/oci/core/models/create_vnic_details.rb +99 -97
  54. data/lib/oci/core/models/create_volume_backup_details.rb +94 -85
  55. data/lib/oci/core/models/create_volume_backup_policy_assignment_details.rb +66 -47
  56. data/lib/oci/core/models/create_volume_details.rb +117 -130
  57. data/lib/oci/core/models/cross_connect.rb +120 -121
  58. data/lib/oci/core/models/cross_connect_group.rb +97 -82
  59. data/lib/oci/core/models/cross_connect_location.rb +65 -43
  60. data/lib/oci/core/models/cross_connect_mapping.rb +89 -81
  61. data/lib/oci/core/models/cross_connect_port_speed_shape.rb +68 -48
  62. data/lib/oci/core/models/cross_connect_status.rb +110 -87
  63. data/lib/oci/core/models/delete_virtual_circuit_public_prefix_details.rb +61 -38
  64. data/lib/oci/core/models/dhcp_dns_option.rb +85 -60
  65. data/lib/oci/core/models/dhcp_option.rb +62 -38
  66. data/lib/oci/core/models/dhcp_options.rb +119 -118
  67. data/lib/oci/core/models/dhcp_search_domain_option.rb +66 -44
  68. data/lib/oci/core/models/drg.rb +96 -81
  69. data/lib/oci/core/models/drg_attachment.rb +106 -99
  70. data/lib/oci/core/models/egress_security_rule.rb +89 -83
  71. data/lib/oci/core/models/export_image_details.rb +63 -41
  72. data/lib/oci/core/models/export_image_via_object_storage_tuple_details.rb +74 -59
  73. data/lib/oci/core/models/export_image_via_object_storage_uri_details.rb +65 -42
  74. data/lib/oci/core/models/fast_connect_provider_service.rb +155 -126
  75. data/lib/oci/core/models/get_public_ip_by_ip_address_details.rb +61 -39
  76. data/lib/oci/core/models/get_public_ip_by_private_ip_id_details.rb +61 -39
  77. data/lib/oci/core/models/i_scsi_volume_attachment.rb +117 -105
  78. data/lib/oci/core/models/icmp_options.rb +63 -41
  79. data/lib/oci/core/models/image.rb +170 -185
  80. data/lib/oci/core/models/image_source_details.rb +79 -60
  81. data/lib/oci/core/models/image_source_via_object_storage_tuple_details.rb +77 -62
  82. data/lib/oci/core/models/image_source_via_object_storage_uri_details.rb +67 -44
  83. data/lib/oci/core/models/ingress_security_rule.rb +89 -83
  84. data/lib/oci/core/models/instance.rb +190 -211
  85. data/lib/oci/core/models/instance_console_connection.rb +118 -117
  86. data/lib/oci/core/models/instance_credentials.rb +63 -41
  87. data/lib/oci/core/models/instance_source_details.rb +64 -41
  88. data/lib/oci/core/models/instance_source_via_boot_volume_details.rb +64 -41
  89. data/lib/oci/core/models/instance_source_via_image_details.rb +70 -51
  90. data/lib/oci/core/models/internet_gateway.rb +107 -100
  91. data/lib/oci/core/models/ip_sec_connection.rb +113 -110
  92. data/lib/oci/core/models/ip_sec_connection_device_config.rb +73 -59
  93. data/lib/oci/core/models/ip_sec_connection_device_status.rb +75 -61
  94. data/lib/oci/core/models/launch_instance_details.rb +163 -189
  95. data/lib/oci/core/models/launch_options.rb +130 -93
  96. data/lib/oci/core/models/letter_of_authority.rb +105 -100
  97. data/lib/oci/core/models/local_peering_gateway.rb +141 -140
  98. data/lib/oci/core/models/paravirtualized_volume_attachment.rb +83 -60
  99. data/lib/oci/core/models/peer_region_for_remote_peering.rb +61 -37
  100. data/lib/oci/core/models/port_range.rb +65 -42
  101. data/lib/oci/core/models/private_ip.rb +131 -151
  102. data/lib/oci/core/models/public_ip.rb +160 -149
  103. data/lib/oci/core/models/remote_peering_connection.rb +148 -151
  104. data/lib/oci/core/models/route_rule.rb +68 -50
  105. data/lib/oci/core/models/route_table.rb +120 -121
  106. data/lib/oci/core/models/security_list.rb +125 -130
  107. data/lib/oci/core/models/shape.rb +60 -36
  108. data/lib/oci/core/models/subnet.rb +183 -220
  109. data/lib/oci/core/models/tcp_options.rb +67 -49
  110. data/lib/oci/core/models/tunnel_config.rb +76 -62
  111. data/lib/oci/core/models/tunnel_status.rb +94 -77
  112. data/lib/oci/core/models/udp_options.rb +67 -49
  113. data/lib/oci/core/models/update_boot_volume_details.rb +62 -39
  114. data/lib/oci/core/models/update_console_history_details.rb +76 -61
  115. data/lib/oci/core/models/update_cpe_details.rb +62 -39
  116. data/lib/oci/core/models/update_cross_connect_details.rb +68 -50
  117. data/lib/oci/core/models/update_cross_connect_group_details.rb +62 -39
  118. data/lib/oci/core/models/update_dhcp_details.rb +80 -67
  119. data/lib/oci/core/models/update_drg_attachment_details.rb +62 -39
  120. data/lib/oci/core/models/update_drg_details.rb +62 -39
  121. data/lib/oci/core/models/update_image_details.rb +77 -62
  122. data/lib/oci/core/models/update_instance_details.rb +77 -62
  123. data/lib/oci/core/models/update_internet_gateway_details.rb +67 -48
  124. data/lib/oci/core/models/update_ip_sec_connection_details.rb +62 -39
  125. data/lib/oci/core/models/update_local_peering_gateway_details.rb +62 -39
  126. data/lib/oci/core/models/update_private_ip_details.rb +90 -83
  127. data/lib/oci/core/models/update_public_ip_details.rb +68 -49
  128. data/lib/oci/core/models/update_remote_peering_connection_details.rb +62 -39
  129. data/lib/oci/core/models/update_route_table_details.rb +81 -70
  130. data/lib/oci/core/models/update_security_list_details.rb +86 -79
  131. data/lib/oci/core/models/update_subnet_details.rb +76 -61
  132. data/lib/oci/core/models/update_vcn_details.rb +76 -61
  133. data/lib/oci/core/models/update_virtual_circuit_details.rb +114 -115
  134. data/lib/oci/core/models/update_vnic_details.rb +75 -60
  135. data/lib/oci/core/models/update_volume_backup_details.rb +76 -61
  136. data/lib/oci/core/models/update_volume_details.rb +76 -61
  137. data/lib/oci/core/models/vcn.rb +150 -167
  138. data/lib/oci/core/models/virtual_circuit.rb +254 -269
  139. data/lib/oci/core/models/virtual_circuit_bandwidth_shape.rb +68 -48
  140. data/lib/oci/core/models/virtual_circuit_public_prefix.rb +79 -54
  141. data/lib/oci/core/models/vnic.rb +149 -166
  142. data/lib/oci/core/models/vnic_attachment.rb +132 -141
  143. data/lib/oci/core/models/volume.rb +138 -151
  144. data/lib/oci/core/models/volume_attachment.rb +126 -131
  145. data/lib/oci/core/models/volume_backup.rb +185 -200
  146. data/lib/oci/core/models/volume_backup_policy.rb +75 -61
  147. data/lib/oci/core/models/volume_backup_policy_assignment.rb +75 -63
  148. data/lib/oci/core/models/volume_backup_schedule.rb +101 -76
  149. data/lib/oci/core/models/volume_source_details.rb +62 -37
  150. data/lib/oci/core/models/volume_source_from_volume_backup_details.rb +62 -38
  151. data/lib/oci/core/models/volume_source_from_volume_details.rb +62 -38
  152. data/lib/oci/core/virtual_network_client.rb +2683 -1457
  153. data/lib/oci/core/virtual_network_client_composite_operations.rb +1849 -0
  154. data/lib/oci/database/database.rb +3 -0
  155. data/lib/oci/database/database_client.rb +894 -454
  156. data/lib/oci/database/database_client_composite_operations.rb +462 -0
  157. data/lib/oci/database/models/backup.rb +131 -128
  158. data/lib/oci/database/models/backup_summary.rb +131 -128
  159. data/lib/oci/database/models/create_backup_details.rb +66 -47
  160. data/lib/oci/database/models/create_data_guard_association_details.rb +112 -102
  161. data/lib/oci/database/models/create_data_guard_association_to_existing_db_system_details.rb +73 -51
  162. data/lib/oci/database/models/create_database_details.rb +140 -105
  163. data/lib/oci/database/models/create_database_from_backup_details.rb +71 -56
  164. data/lib/oci/database/models/create_db_home_details.rb +70 -53
  165. data/lib/oci/database/models/create_db_home_with_db_system_id_base.rb +83 -67
  166. data/lib/oci/database/models/create_db_home_with_db_system_id_details.rb +74 -53
  167. data/lib/oci/database/models/create_db_home_with_db_system_id_from_backup_details.rb +69 -44
  168. data/lib/oci/database/models/data_guard_association.rb +205 -204
  169. data/lib/oci/database/models/data_guard_association_summary.rb +205 -204
  170. data/lib/oci/database/models/database.rb +175 -156
  171. data/lib/oci/database/models/database_summary.rb +175 -156
  172. data/lib/oci/database/models/db_backup_config.rb +60 -38
  173. data/lib/oci/database/models/db_home.rb +110 -107
  174. data/lib/oci/database/models/db_home_summary.rb +110 -107
  175. data/lib/oci/database/models/db_node.rb +113 -108
  176. data/lib/oci/database/models/db_node_summary.rb +113 -108
  177. data/lib/oci/database/models/db_system.rb +299 -314
  178. data/lib/oci/database/models/db_system_shape_summary.rb +88 -86
  179. data/lib/oci/database/models/db_system_summary.rb +299 -314
  180. data/lib/oci/database/models/db_version_summary.rb +64 -44
  181. data/lib/oci/database/models/failover_data_guard_association_details.rb +60 -38
  182. data/lib/oci/database/models/launch_db_system_details.rb +231 -234
  183. data/lib/oci/database/models/patch.rb +136 -113
  184. data/lib/oci/database/models/patch_details.rb +73 -53
  185. data/lib/oci/database/models/patch_history_entry.rb +114 -99
  186. data/lib/oci/database/models/patch_history_entry_summary.rb +114 -99
  187. data/lib/oci/database/models/patch_summary.rb +136 -113
  188. data/lib/oci/database/models/reinstate_data_guard_association_details.rb +60 -38
  189. data/lib/oci/database/models/restore_database_details.rb +72 -53
  190. data/lib/oci/database/models/switchover_data_guard_association_details.rb +60 -38
  191. data/lib/oci/database/models/update_database_details.rb +97 -38
  192. data/lib/oci/database/models/update_db_home_details.rb +60 -38
  193. data/lib/oci/database/models/update_db_system_details.rb +112 -64
  194. data/lib/oci/dns/dns.rb +3 -0
  195. data/lib/oci/dns/dns_client.rb +489 -302
  196. data/lib/oci/dns/dns_client_composite_operations.rb +143 -0
  197. data/lib/oci/dns/models/create_zone_details.rb +84 -72
  198. data/lib/oci/dns/models/external_master.rb +67 -47
  199. data/lib/oci/dns/models/patch_domain_records_details.rb +60 -35
  200. data/lib/oci/dns/models/patch_rr_set_details.rb +60 -35
  201. data/lib/oci/dns/models/patch_zone_records_details.rb +60 -35
  202. data/lib/oci/dns/models/record.rb +92 -86
  203. data/lib/oci/dns/models/record_collection.rb +59 -35
  204. data/lib/oci/dns/models/record_details.rb +92 -86
  205. data/lib/oci/dns/models/record_operation.rb +113 -110
  206. data/lib/oci/dns/models/rr_set.rb +59 -35
  207. data/lib/oci/dns/models/sort_order.rb +0 -2
  208. data/lib/oci/dns/models/tsig.rb +68 -48
  209. data/lib/oci/dns/models/update_domain_records_details.rb +60 -35
  210. data/lib/oci/dns/models/update_rr_set_details.rb +60 -35
  211. data/lib/oci/dns/models/update_zone_details.rb +60 -38
  212. data/lib/oci/dns/models/update_zone_records_details.rb +60 -35
  213. data/lib/oci/dns/models/zone.rb +133 -126
  214. data/lib/oci/dns/models/zone_summary.rb +108 -99
  215. data/lib/oci/email/email.rb +3 -0
  216. data/lib/oci/email/email_client.rb +223 -112
  217. data/lib/oci/email/email_client_composite_operations.rb +103 -0
  218. data/lib/oci/email/models/create_sender_details.rb +65 -47
  219. data/lib/oci/email/models/create_suppression_details.rb +66 -48
  220. data/lib/oci/email/models/sender.rb +97 -84
  221. data/lib/oci/email/models/sender_summary.rb +89 -70
  222. data/lib/oci/email/models/suppression.rb +90 -69
  223. data/lib/oci/email/models/suppression_summary.rb +90 -69
  224. data/lib/oci/errors.rb +16 -0
  225. data/lib/oci/file_storage/file_storage.rb +3 -0
  226. data/lib/oci/file_storage/file_storage_client.rb +587 -333
  227. data/lib/oci/file_storage/file_storage_client_composite_operations.rb +460 -0
  228. data/lib/oci/file_storage/models/create_export_details.rb +73 -56
  229. data/lib/oci/file_storage/models/create_file_system_details.rb +75 -60
  230. data/lib/oci/file_storage/models/create_mount_target_details.rb +96 -93
  231. data/lib/oci/file_storage/models/create_snapshot_details.rb +68 -47
  232. data/lib/oci/file_storage/models/export.rb +102 -89
  233. data/lib/oci/file_storage/models/export_set.rb +121 -122
  234. data/lib/oci/file_storage/models/export_set_summary.rb +109 -102
  235. data/lib/oci/file_storage/models/export_summary.rb +102 -89
  236. data/lib/oci/file_storage/models/file_system.rb +110 -103
  237. data/lib/oci/file_storage/models/file_system_summary.rb +110 -103
  238. data/lib/oci/file_storage/models/mount_target.rb +126 -131
  239. data/lib/oci/file_storage/models/mount_target_summary.rb +121 -122
  240. data/lib/oci/file_storage/models/snapshot.rb +98 -81
  241. data/lib/oci/file_storage/models/snapshot_summary.rb +98 -81
  242. data/lib/oci/file_storage/models/update_export_set_details.rb +75 -60
  243. data/lib/oci/file_storage/models/update_file_system_details.rb +63 -40
  244. data/lib/oci/file_storage/models/update_mount_target_details.rb +63 -40
  245. data/lib/oci/identity/identity.rb +3 -0
  246. data/lib/oci/identity/identity_client.rb +1671 -872
  247. data/lib/oci/identity/identity_client_composite_operations.rb +818 -0
  248. data/lib/oci/identity/models/add_user_to_group_details.rb +66 -47
  249. data/lib/oci/identity/models/api_key.rb +108 -101
  250. data/lib/oci/identity/models/availability_domain.rb +64 -44
  251. data/lib/oci/identity/models/compartment.rb +118 -115
  252. data/lib/oci/identity/models/create_api_key_details.rb +60 -35
  253. data/lib/oci/identity/models/create_compartment_details.rb +83 -72
  254. data/lib/oci/identity/models/create_customer_secret_key_details.rb +62 -39
  255. data/lib/oci/identity/models/create_dynamic_group_details.rb +75 -61
  256. data/lib/oci/identity/models/create_group_details.rb +82 -71
  257. data/lib/oci/identity/models/create_identity_provider_details.rb +115 -110
  258. data/lib/oci/identity/models/create_idp_group_mapping_details.rb +67 -48
  259. data/lib/oci/identity/models/create_policy_details.rb +94 -89
  260. data/lib/oci/identity/models/create_region_subscription_details.rb +64 -41
  261. data/lib/oci/identity/models/create_saml2_identity_provider_details.rb +88 -67
  262. data/lib/oci/identity/models/create_smtp_credential_details.rb +61 -36
  263. data/lib/oci/identity/models/create_swift_password_details.rb +61 -36
  264. data/lib/oci/identity/models/create_tag_details.rb +77 -62
  265. data/lib/oci/identity/models/create_tag_namespace_details.rb +82 -71
  266. data/lib/oci/identity/models/create_user_details.rb +82 -71
  267. data/lib/oci/identity/models/customer_secret_key.rb +114 -109
  268. data/lib/oci/identity/models/customer_secret_key_summary.rb +109 -102
  269. data/lib/oci/identity/models/dynamic_group.rb +112 -105
  270. data/lib/oci/identity/models/group.rb +118 -115
  271. data/lib/oci/identity/models/identity_provider.rb +135 -138
  272. data/lib/oci/identity/models/idp_group_mapping.rb +112 -109
  273. data/lib/oci/identity/models/policy.rb +129 -132
  274. data/lib/oci/identity/models/region.rb +67 -45
  275. data/lib/oci/identity/models/region_subscription.rb +90 -71
  276. data/lib/oci/identity/models/saml2_identity_provider.rb +106 -92
  277. data/lib/oci/identity/models/smtp_credential.rb +118 -113
  278. data/lib/oci/identity/models/smtp_credential_summary.rb +113 -106
  279. data/lib/oci/identity/models/swift_password.rb +113 -106
  280. data/lib/oci/identity/models/tag.rb +108 -116
  281. data/lib/oci/identity/models/tag_namespace.rb +97 -97
  282. data/lib/oci/identity/models/tag_namespace_summary.rb +97 -97
  283. data/lib/oci/identity/models/tag_summary.rb +97 -97
  284. data/lib/oci/identity/models/tenancy.rb +86 -78
  285. data/lib/oci/identity/models/ui_password.rb +97 -82
  286. data/lib/oci/identity/models/update_compartment_details.rb +77 -62
  287. data/lib/oci/identity/models/update_customer_secret_key_details.rb +61 -38
  288. data/lib/oci/identity/models/update_dynamic_group_details.rb +65 -45
  289. data/lib/oci/identity/models/update_group_details.rb +72 -55
  290. data/lib/oci/identity/models/update_identity_provider_details.rb +89 -74
  291. data/lib/oci/identity/models/update_idp_group_mapping_details.rb +66 -47
  292. data/lib/oci/identity/models/update_policy_details.rb +83 -72
  293. data/lib/oci/identity/models/update_saml2_identity_provider_details.rb +79 -58
  294. data/lib/oci/identity/models/update_smtp_credential_details.rb +60 -35
  295. data/lib/oci/identity/models/update_state_details.rb +61 -36
  296. data/lib/oci/identity/models/update_swift_password_details.rb +60 -35
  297. data/lib/oci/identity/models/update_tag_details.rb +78 -65
  298. data/lib/oci/identity/models/update_tag_namespace_details.rb +78 -65
  299. data/lib/oci/identity/models/update_user_details.rb +72 -55
  300. data/lib/oci/identity/models/user.rb +120 -117
  301. data/lib/oci/identity/models/user_group_membership.rb +107 -100
  302. data/lib/oci/load_balancer/load_balancer.rb +3 -0
  303. data/lib/oci/load_balancer/load_balancer_client.rb +918 -500
  304. data/lib/oci/load_balancer/load_balancer_client_composite_operations.rb +795 -0
  305. data/lib/oci/load_balancer/models/backend.rb +101 -94
  306. data/lib/oci/load_balancer/models/backend_details.rb +95 -86
  307. data/lib/oci/load_balancer/models/backend_health.rb +84 -57
  308. data/lib/oci/load_balancer/models/backend_set.rb +87 -79
  309. data/lib/oci/load_balancer/models/backend_set_details.rb +80 -70
  310. data/lib/oci/load_balancer/models/backend_set_health.rb +106 -91
  311. data/lib/oci/load_balancer/models/certificate.rb +78 -64
  312. data/lib/oci/load_balancer/models/certificate_details.rb +92 -84
  313. data/lib/oci/load_balancer/models/connection_configuration.rb +73 -51
  314. data/lib/oci/load_balancer/models/create_backend_details.rb +95 -86
  315. data/lib/oci/load_balancer/models/create_backend_set_details.rb +87 -79
  316. data/lib/oci/load_balancer/models/create_certificate_details.rb +92 -84
  317. data/lib/oci/load_balancer/models/create_listener_details.rb +97 -93
  318. data/lib/oci/load_balancer/models/create_load_balancer_details.rb +109 -117
  319. data/lib/oci/load_balancer/models/create_path_route_set_details.rb +66 -46
  320. data/lib/oci/load_balancer/models/health_check_result.rb +98 -79
  321. data/lib/oci/load_balancer/models/health_checker.rb +108 -108
  322. data/lib/oci/load_balancer/models/health_checker_details.rb +108 -108
  323. data/lib/oci/load_balancer/models/ip_address.rb +70 -52
  324. data/lib/oci/load_balancer/models/listener.rb +97 -93
  325. data/lib/oci/load_balancer/models/listener_details.rb +91 -85
  326. data/lib/oci/load_balancer/models/load_balancer.rb +144 -157
  327. data/lib/oci/load_balancer/models/load_balancer_health.rb +110 -95
  328. data/lib/oci/load_balancer/models/load_balancer_health_summary.rb +88 -61
  329. data/lib/oci/load_balancer/models/load_balancer_policy.rb +59 -35
  330. data/lib/oci/load_balancer/models/load_balancer_protocol.rb +59 -35
  331. data/lib/oci/load_balancer/models/load_balancer_shape.rb +59 -35
  332. data/lib/oci/load_balancer/models/path_match_type.rb +80 -51
  333. data/lib/oci/load_balancer/models/path_route.rb +76 -60
  334. data/lib/oci/load_balancer/models/path_route_set.rb +66 -46
  335. data/lib/oci/load_balancer/models/path_route_set_details.rb +60 -38
  336. data/lib/oci/load_balancer/models/session_persistence_configuration_details.rb +71 -55
  337. data/lib/oci/load_balancer/models/ssl_configuration.rb +78 -66
  338. data/lib/oci/load_balancer/models/ssl_configuration_details.rb +78 -66
  339. data/lib/oci/load_balancer/models/update_backend_details.rb +82 -67
  340. data/lib/oci/load_balancer/models/update_backend_set_details.rb +80 -70
  341. data/lib/oci/load_balancer/models/update_health_checker_details.rb +108 -108
  342. data/lib/oci/load_balancer/models/update_listener_details.rb +91 -85
  343. data/lib/oci/load_balancer/models/update_load_balancer_details.rb +62 -40
  344. data/lib/oci/load_balancer/models/update_path_route_set_details.rb +60 -38
  345. data/lib/oci/load_balancer/models/work_request.rb +115 -108
  346. data/lib/oci/load_balancer/models/work_request_error.rb +76 -49
  347. data/lib/oci/object_storage/models/bucket.rb +136 -133
  348. data/lib/oci/object_storage/models/bucket_summary.rb +95 -95
  349. data/lib/oci/object_storage/models/commit_multipart_upload_details.rb +66 -48
  350. data/lib/oci/object_storage/models/commit_multipart_upload_part_details.rb +64 -44
  351. data/lib/oci/object_storage/models/create_bucket_details.rb +113 -111
  352. data/lib/oci/object_storage/models/create_multipart_upload_details.rb +80 -70
  353. data/lib/oci/object_storage/models/create_preauthenticated_request_details.rb +87 -74
  354. data/lib/oci/object_storage/models/list_objects.rb +71 -53
  355. data/lib/oci/object_storage/models/multipart_upload.rb +77 -65
  356. data/lib/oci/object_storage/models/multipart_upload_part_summary.rb +72 -56
  357. data/lib/oci/object_storage/models/namespace_metadata.rb +69 -53
  358. data/lib/oci/object_storage/models/object_summary.rb +73 -57
  359. data/lib/oci/object_storage/models/preauthenticated_request.rb +105 -96
  360. data/lib/oci/object_storage/models/preauthenticated_request_summary.rb +99 -86
  361. data/lib/oci/object_storage/models/rename_object_details.rb +80 -74
  362. data/lib/oci/object_storage/models/restore_objects_details.rb +66 -45
  363. data/lib/oci/object_storage/models/update_bucket_details.rb +101 -97
  364. data/lib/oci/object_storage/models/update_namespace_metadata_details.rb +65 -47
  365. data/lib/oci/object_storage/object_storage.rb +2 -0
  366. data/lib/oci/object_storage/object_storage_client.rb +737 -435
  367. data/lib/oci/object_storage/object_storage_client_composite_operations.rb +24 -0
  368. data/lib/oci/signer.rb +20 -7
  369. data/lib/oci/version.rb +1 -1
  370. metadata +13 -2
@@ -0,0 +1,462 @@
1
+ # Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ # rubocop:disable Lint/UnneededCopDisableDirective, Metrics/LineLength
4
+ module OCI
5
+ # This class provides a wrapper around {OCI::Database::DatabaseClient} and offers convenience methods
6
+ # for operations that would otherwise need to be chained together. For example, instead of performing an action
7
+ # on a resource (e.g. launching an instance, creating a load balancer) and then using a waiter to wait for the resource
8
+ # to enter a given state, you can call a single method in this class to accomplish the same functionality
9
+ class Database::DatabaseClientCompositeOperations
10
+ # The {OCI::Database::DatabaseClient} used to communicate with the service_client
11
+ #
12
+ # @return [OCI::Database::DatabaseClient]
13
+ attr_reader :service_client
14
+
15
+ # Initializes a new DatabaseClientCompositeOperations
16
+ #
17
+ # @param [OCI::Database::DatabaseClient] service_client The client used to communicate with the service.
18
+ # Defaults to a new service client created via {OCI::Database::DatabaseClient#initialize} with no arguments
19
+ def initialize(service_client = OCI::Database::DatabaseClient.new)
20
+ @service_client = service_client
21
+ end
22
+
23
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
24
+ # rubocop:disable Layout/EmptyLines
25
+
26
+
27
+ # Calls {OCI::Database::DatabaseClient#create_backup} and then waits for the {OCI::Database::Models::Backup} acted upon
28
+ # to enter the given state(s).
29
+ #
30
+ # @param [OCI::Database::Models::CreateBackupDetails] create_backup_details Request to create a new database backup.
31
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::Backup#lifecycle_state}
32
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#create_backup}
33
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
34
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
35
+ # * max_wait_seconds The maximum time to wait, in seconds
36
+ #
37
+ # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Database::Models::Backup}
38
+ def create_backup_and_wait_for_state(create_backup_details, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
39
+ operation_result = @service_client.create_backup(create_backup_details, base_operation_opts)
40
+
41
+ return operation_result if wait_for_states.empty?
42
+
43
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
44
+ wait_for_resource_id = operation_result.data.id
45
+
46
+ begin
47
+ waiter_result = @service_client.get_backup(wait_for_resource_id).wait_until(
48
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
49
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
50
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
51
+ )
52
+ result_to_return = waiter_result
53
+
54
+ return result_to_return
55
+ rescue StandardError
56
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
57
+ end
58
+ end
59
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
60
+ # rubocop:enable Layout/EmptyLines
61
+
62
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
63
+ # rubocop:disable Layout/EmptyLines
64
+
65
+
66
+ # Calls {OCI::Database::DatabaseClient#create_data_guard_association} and then waits for the {OCI::Database::Models::DataGuardAssociation} acted upon
67
+ # to enter the given state(s).
68
+ #
69
+ # @param [String] database_id The database [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
70
+ # @param [OCI::Database::Models::CreateDataGuardAssociationDetails] create_data_guard_association_details A request to create a Data Guard association.
71
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::DataGuardAssociation#lifecycle_state}
72
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#create_data_guard_association}
73
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
74
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
75
+ # * max_wait_seconds The maximum time to wait, in seconds
76
+ #
77
+ # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Database::Models::DataGuardAssociation}
78
+ def create_data_guard_association_and_wait_for_state(database_id, create_data_guard_association_details, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
79
+ operation_result = @service_client.create_data_guard_association(database_id, create_data_guard_association_details, base_operation_opts)
80
+
81
+ return operation_result if wait_for_states.empty?
82
+
83
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
84
+ wait_for_resource_id = operation_result.data.id
85
+
86
+ begin
87
+ waiter_result = @service_client.get_data_guard_association(wait_for_resource_id).wait_until(
88
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
89
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
90
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
91
+ )
92
+ result_to_return = waiter_result
93
+
94
+ return result_to_return
95
+ rescue StandardError
96
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
97
+ end
98
+ end
99
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
100
+ # rubocop:enable Layout/EmptyLines
101
+
102
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
103
+ # rubocop:disable Layout/EmptyLines
104
+
105
+
106
+ # Calls {OCI::Database::DatabaseClient#create_db_home} and then waits for the {OCI::Database::Models::DbHome} acted upon
107
+ # to enter the given state(s).
108
+ #
109
+ # @param [OCI::Database::Models::CreateDbHomeWithDbSystemIdBase] create_db_home_with_db_system_id_details Request to create a new DB Home.
110
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::DbHome#lifecycle_state}
111
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#create_db_home}
112
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
113
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
114
+ # * max_wait_seconds The maximum time to wait, in seconds
115
+ #
116
+ # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Database::Models::DbHome}
117
+ def create_db_home_and_wait_for_state(create_db_home_with_db_system_id_details, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
118
+ operation_result = @service_client.create_db_home(create_db_home_with_db_system_id_details, base_operation_opts)
119
+
120
+ return operation_result if wait_for_states.empty?
121
+
122
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
123
+ wait_for_resource_id = operation_result.data.id
124
+
125
+ begin
126
+ waiter_result = @service_client.get_db_home(wait_for_resource_id).wait_until(
127
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
128
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
129
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
130
+ )
131
+ result_to_return = waiter_result
132
+
133
+ return result_to_return
134
+ rescue StandardError
135
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
136
+ end
137
+ end
138
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
139
+ # rubocop:enable Layout/EmptyLines
140
+
141
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
142
+ # rubocop:disable Layout/EmptyLines
143
+
144
+
145
+ # Calls {OCI::Database::DatabaseClient#db_node_action} and then waits for the {OCI::Database::Models::DbNode} acted upon
146
+ # to enter the given state(s).
147
+ #
148
+ # @param [String] db_node_id The database node [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
149
+ # @param [String] action The action to perform on the DB Node.
150
+ # Allowed values are: STOP, START, SOFTRESET, RESET
151
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::DbNode#lifecycle_state}
152
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#db_node_action}
153
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
154
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
155
+ # * max_wait_seconds The maximum time to wait, in seconds
156
+ #
157
+ # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Database::Models::DbNode}
158
+ def db_node_action_and_wait_for_state(db_node_id, action, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
159
+ operation_result = @service_client.db_node_action(db_node_id, action, base_operation_opts)
160
+
161
+ return operation_result if wait_for_states.empty?
162
+
163
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
164
+ wait_for_resource_id = operation_result.data.id
165
+
166
+ begin
167
+ waiter_result = @service_client.get_db_node(wait_for_resource_id).wait_until(
168
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
169
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
170
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
171
+ )
172
+ result_to_return = waiter_result
173
+
174
+ return result_to_return
175
+ rescue StandardError
176
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
177
+ end
178
+ end
179
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
180
+ # rubocop:enable Layout/EmptyLines
181
+
182
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
183
+ # rubocop:disable Layout/EmptyLines
184
+
185
+
186
+ # Calls {OCI::Database::DatabaseClient#delete_backup} and then waits for the {OCI::Database::Models::Backup} acted upon
187
+ # to enter the given state(s).
188
+ #
189
+ # @param [String] backup_id The backup OCID.
190
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::Backup#lifecycle_state}
191
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#delete_backup}
192
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
193
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
194
+ # * max_wait_seconds The maximum time to wait, in seconds
195
+ #
196
+ # @return [OCI::Response] A {OCI::Response} object with data of type nil
197
+ def delete_backup_and_wait_for_state(backup_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
198
+ initial_get_result = @service_client.get_backup(backup_id)
199
+ operation_result = @service_client.delete_backup(backup_id, base_operation_opts)
200
+
201
+ return operation_result if wait_for_states.empty?
202
+
203
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
204
+
205
+ begin
206
+ waiter_result = initial_get_result.wait_until(
207
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
208
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
209
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200,
210
+ succeed_on_not_found: true
211
+ )
212
+ result_to_return = waiter_result
213
+
214
+ return result_to_return
215
+ rescue StandardError
216
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
217
+ end
218
+ end
219
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
220
+ # rubocop:enable Layout/EmptyLines
221
+
222
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
223
+ # rubocop:disable Layout/EmptyLines
224
+
225
+
226
+ # Calls {OCI::Database::DatabaseClient#delete_db_home} and then waits for the {OCI::Database::Models::DbHome} acted upon
227
+ # to enter the given state(s).
228
+ #
229
+ # @param [String] db_home_id The database home [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
230
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::DbHome#lifecycle_state}
231
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#delete_db_home}
232
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
233
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
234
+ # * max_wait_seconds The maximum time to wait, in seconds
235
+ #
236
+ # @return [OCI::Response] A {OCI::Response} object with data of type nil
237
+ def delete_db_home_and_wait_for_state(db_home_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
238
+ initial_get_result = @service_client.get_db_home(db_home_id)
239
+ operation_result = @service_client.delete_db_home(db_home_id, base_operation_opts)
240
+
241
+ return operation_result if wait_for_states.empty?
242
+
243
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
244
+
245
+ begin
246
+ waiter_result = initial_get_result.wait_until(
247
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
248
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
249
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200,
250
+ succeed_on_not_found: true
251
+ )
252
+ result_to_return = waiter_result
253
+
254
+ return result_to_return
255
+ rescue StandardError
256
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
257
+ end
258
+ end
259
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
260
+ # rubocop:enable Layout/EmptyLines
261
+
262
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
263
+ # rubocop:disable Layout/EmptyLines
264
+
265
+
266
+ # Calls {OCI::Database::DatabaseClient#launch_db_system} and then waits for the {OCI::Database::Models::DbSystem} acted upon
267
+ # to enter the given state(s).
268
+ #
269
+ # @param [OCI::Database::Models::LaunchDbSystemDetails] launch_db_system_details Request to launch a DB System.
270
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::DbSystem#lifecycle_state}
271
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#launch_db_system}
272
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
273
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
274
+ # * max_wait_seconds The maximum time to wait, in seconds
275
+ #
276
+ # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Database::Models::DbSystem}
277
+ def launch_db_system_and_wait_for_state(launch_db_system_details, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
278
+ operation_result = @service_client.launch_db_system(launch_db_system_details, base_operation_opts)
279
+
280
+ return operation_result if wait_for_states.empty?
281
+
282
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
283
+ wait_for_resource_id = operation_result.data.id
284
+
285
+ begin
286
+ waiter_result = @service_client.get_db_system(wait_for_resource_id).wait_until(
287
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
288
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
289
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
290
+ )
291
+ result_to_return = waiter_result
292
+
293
+ return result_to_return
294
+ rescue StandardError
295
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
296
+ end
297
+ end
298
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
299
+ # rubocop:enable Layout/EmptyLines
300
+
301
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
302
+ # rubocop:disable Layout/EmptyLines
303
+
304
+
305
+ # Calls {OCI::Database::DatabaseClient#terminate_db_system} and then waits for the {OCI::Database::Models::DbSystem} acted upon
306
+ # to enter the given state(s).
307
+ #
308
+ # @param [String] db_system_id The DB System [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
309
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::DbSystem#lifecycle_state}
310
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#terminate_db_system}
311
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
312
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
313
+ # * max_wait_seconds The maximum time to wait, in seconds
314
+ #
315
+ # @return [OCI::Response] A {OCI::Response} object with data of type nil
316
+ def terminate_db_system_and_wait_for_state(db_system_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
317
+ initial_get_result = @service_client.get_db_system(db_system_id)
318
+ operation_result = @service_client.terminate_db_system(db_system_id, base_operation_opts)
319
+
320
+ return operation_result if wait_for_states.empty?
321
+
322
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
323
+
324
+ begin
325
+ waiter_result = initial_get_result.wait_until(
326
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
327
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
328
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200,
329
+ succeed_on_not_found: true
330
+ )
331
+ result_to_return = waiter_result
332
+
333
+ return result_to_return
334
+ rescue StandardError
335
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
336
+ end
337
+ end
338
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
339
+ # rubocop:enable Layout/EmptyLines
340
+
341
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
342
+ # rubocop:disable Layout/EmptyLines
343
+
344
+
345
+ # Calls {OCI::Database::DatabaseClient#update_database} and then waits for the {OCI::Database::Models::Database} acted upon
346
+ # to enter the given state(s).
347
+ #
348
+ # @param [String] database_id The database [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
349
+ # @param [OCI::Database::Models::UpdateDatabaseDetails] update_database_details Request to perform database update.
350
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::Database#lifecycle_state}
351
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#update_database}
352
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
353
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
354
+ # * max_wait_seconds The maximum time to wait, in seconds
355
+ #
356
+ # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Database::Models::Database}
357
+ def update_database_and_wait_for_state(database_id, update_database_details, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
358
+ operation_result = @service_client.update_database(database_id, update_database_details, base_operation_opts)
359
+
360
+ return operation_result if wait_for_states.empty?
361
+
362
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
363
+ wait_for_resource_id = operation_result.data.id
364
+
365
+ begin
366
+ waiter_result = @service_client.get_database(wait_for_resource_id).wait_until(
367
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
368
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
369
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
370
+ )
371
+ result_to_return = waiter_result
372
+
373
+ return result_to_return
374
+ rescue StandardError
375
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
376
+ end
377
+ end
378
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
379
+ # rubocop:enable Layout/EmptyLines
380
+
381
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
382
+ # rubocop:disable Layout/EmptyLines
383
+
384
+
385
+ # Calls {OCI::Database::DatabaseClient#update_db_home} and then waits for the {OCI::Database::Models::DbHome} acted upon
386
+ # to enter the given state(s).
387
+ #
388
+ # @param [String] db_home_id The database home [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
389
+ # @param [OCI::Database::Models::UpdateDbHomeDetails] update_db_home_details Request to update the properties of a DB Home.
390
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::DbHome#lifecycle_state}
391
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#update_db_home}
392
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
393
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
394
+ # * max_wait_seconds The maximum time to wait, in seconds
395
+ #
396
+ # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Database::Models::DbHome}
397
+ def update_db_home_and_wait_for_state(db_home_id, update_db_home_details, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
398
+ operation_result = @service_client.update_db_home(db_home_id, update_db_home_details, base_operation_opts)
399
+
400
+ return operation_result if wait_for_states.empty?
401
+
402
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
403
+ wait_for_resource_id = operation_result.data.id
404
+
405
+ begin
406
+ waiter_result = @service_client.get_db_home(wait_for_resource_id).wait_until(
407
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
408
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
409
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
410
+ )
411
+ result_to_return = waiter_result
412
+
413
+ return result_to_return
414
+ rescue StandardError
415
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
416
+ end
417
+ end
418
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
419
+ # rubocop:enable Layout/EmptyLines
420
+
421
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
422
+ # rubocop:disable Layout/EmptyLines
423
+
424
+
425
+ # Calls {OCI::Database::DatabaseClient#update_db_system} and then waits for the {OCI::Database::Models::DbSystem} acted upon
426
+ # to enter the given state(s).
427
+ #
428
+ # @param [String] db_system_id The DB System [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
429
+ # @param [OCI::Database::Models::UpdateDbSystemDetails] update_db_system_details Request to update the properties of a DB System.
430
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::DbSystem#lifecycle_state}
431
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#update_db_system}
432
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
433
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
434
+ # * max_wait_seconds The maximum time to wait, in seconds
435
+ #
436
+ # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Database::Models::DbSystem}
437
+ def update_db_system_and_wait_for_state(db_system_id, update_db_system_details, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
438
+ operation_result = @service_client.update_db_system(db_system_id, update_db_system_details, base_operation_opts)
439
+
440
+ return operation_result if wait_for_states.empty?
441
+
442
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
443
+ wait_for_resource_id = operation_result.data.id
444
+
445
+ begin
446
+ waiter_result = @service_client.get_db_system(wait_for_resource_id).wait_until(
447
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
448
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
449
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
450
+ )
451
+ result_to_return = waiter_result
452
+
453
+ return result_to_return
454
+ rescue StandardError
455
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
456
+ end
457
+ end
458
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
459
+ # rubocop:enable Layout/EmptyLines
460
+ end
461
+ end
462
+ # rubocop:enable Lint/UnneededCopDisableDirective, Metrics/LineLength