oci 2.1.0 → 2.1.1

Sign up to get free protection for your applications and to get access to all the features.
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,1849 @@
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::Core::VirtualNetworkClient} 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 Core::VirtualNetworkClientCompositeOperations
10
+ # The {OCI::Core::VirtualNetworkClient} used to communicate with the service_client
11
+ #
12
+ # @return [OCI::Core::VirtualNetworkClient]
13
+ attr_reader :service_client
14
+
15
+ # Initializes a new VirtualNetworkClientCompositeOperations
16
+ #
17
+ # @param [OCI::Core::VirtualNetworkClient] service_client The client used to communicate with the service.
18
+ # Defaults to a new service client created via {OCI::Core::VirtualNetworkClient#initialize} with no arguments
19
+ def initialize(service_client = OCI::Core::VirtualNetworkClient.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::Core::VirtualNetworkClient#create_cross_connect} and then waits for the {OCI::Core::Models::CrossConnect} acted upon
28
+ # to enter the given state(s).
29
+ #
30
+ # @param [OCI::Core::Models::CreateCrossConnectDetails] create_cross_connect_details Details to create a CrossConnect
31
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Core::Models::CrossConnect#lifecycle_state}
32
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Core::VirtualNetworkClient#create_cross_connect}
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::Core::Models::CrossConnect}
38
+ def create_cross_connect_and_wait_for_state(create_cross_connect_details, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
39
+ operation_result = @service_client.create_cross_connect(create_cross_connect_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_cross_connect(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::Core::VirtualNetworkClient#create_cross_connect_group} and then waits for the {OCI::Core::Models::CrossConnectGroup} acted upon
67
+ # to enter the given state(s).
68
+ #
69
+ # @param [OCI::Core::Models::CreateCrossConnectGroupDetails] create_cross_connect_group_details Details to create a CrossConnectGroup
70
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Core::Models::CrossConnectGroup#lifecycle_state}
71
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Core::VirtualNetworkClient#create_cross_connect_group}
72
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
73
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
74
+ # * max_wait_seconds The maximum time to wait, in seconds
75
+ #
76
+ # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Core::Models::CrossConnectGroup}
77
+ def create_cross_connect_group_and_wait_for_state(create_cross_connect_group_details, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
78
+ operation_result = @service_client.create_cross_connect_group(create_cross_connect_group_details, base_operation_opts)
79
+
80
+ return operation_result if wait_for_states.empty?
81
+
82
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
83
+ wait_for_resource_id = operation_result.data.id
84
+
85
+ begin
86
+ waiter_result = @service_client.get_cross_connect_group(wait_for_resource_id).wait_until(
87
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
88
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
89
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
90
+ )
91
+ result_to_return = waiter_result
92
+
93
+ return result_to_return
94
+ rescue StandardError
95
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
96
+ end
97
+ end
98
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
99
+ # rubocop:enable Layout/EmptyLines
100
+
101
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
102
+ # rubocop:disable Layout/EmptyLines
103
+
104
+
105
+ # Calls {OCI::Core::VirtualNetworkClient#create_dhcp_options} and then waits for the {OCI::Core::Models::DhcpOptions} acted upon
106
+ # to enter the given state(s).
107
+ #
108
+ # @param [OCI::Core::Models::CreateDhcpDetails] create_dhcp_details Request object for creating a new set of DHCP options.
109
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Core::Models::DhcpOptions#lifecycle_state}
110
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Core::VirtualNetworkClient#create_dhcp_options}
111
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
112
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
113
+ # * max_wait_seconds The maximum time to wait, in seconds
114
+ #
115
+ # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Core::Models::DhcpOptions}
116
+ def create_dhcp_options_and_wait_for_state(create_dhcp_details, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
117
+ operation_result = @service_client.create_dhcp_options(create_dhcp_details, base_operation_opts)
118
+
119
+ return operation_result if wait_for_states.empty?
120
+
121
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
122
+ wait_for_resource_id = operation_result.data.id
123
+
124
+ begin
125
+ waiter_result = @service_client.get_dhcp_options(wait_for_resource_id).wait_until(
126
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
127
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
128
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
129
+ )
130
+ result_to_return = waiter_result
131
+
132
+ return result_to_return
133
+ rescue StandardError
134
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
135
+ end
136
+ end
137
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
138
+ # rubocop:enable Layout/EmptyLines
139
+
140
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
141
+ # rubocop:disable Layout/EmptyLines
142
+
143
+
144
+ # Calls {OCI::Core::VirtualNetworkClient#create_drg} and then waits for the {OCI::Core::Models::Drg} acted upon
145
+ # to enter the given state(s).
146
+ #
147
+ # @param [OCI::Core::Models::CreateDrgDetails] create_drg_details Details for creating a DRG.
148
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Core::Models::Drg#lifecycle_state}
149
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Core::VirtualNetworkClient#create_drg}
150
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
151
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
152
+ # * max_wait_seconds The maximum time to wait, in seconds
153
+ #
154
+ # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Core::Models::Drg}
155
+ def create_drg_and_wait_for_state(create_drg_details, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
156
+ operation_result = @service_client.create_drg(create_drg_details, base_operation_opts)
157
+
158
+ return operation_result if wait_for_states.empty?
159
+
160
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
161
+ wait_for_resource_id = operation_result.data.id
162
+
163
+ begin
164
+ waiter_result = @service_client.get_drg(wait_for_resource_id).wait_until(
165
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
166
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
167
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
168
+ )
169
+ result_to_return = waiter_result
170
+
171
+ return result_to_return
172
+ rescue StandardError
173
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
174
+ end
175
+ end
176
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
177
+ # rubocop:enable Layout/EmptyLines
178
+
179
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
180
+ # rubocop:disable Layout/EmptyLines
181
+
182
+
183
+ # Calls {OCI::Core::VirtualNetworkClient#create_drg_attachment} and then waits for the {OCI::Core::Models::DrgAttachment} acted upon
184
+ # to enter the given state(s).
185
+ #
186
+ # @param [OCI::Core::Models::CreateDrgAttachmentDetails] create_drg_attachment_details Details for creating a `DrgAttachment`.
187
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Core::Models::DrgAttachment#lifecycle_state}
188
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Core::VirtualNetworkClient#create_drg_attachment}
189
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
190
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
191
+ # * max_wait_seconds The maximum time to wait, in seconds
192
+ #
193
+ # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Core::Models::DrgAttachment}
194
+ def create_drg_attachment_and_wait_for_state(create_drg_attachment_details, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
195
+ operation_result = @service_client.create_drg_attachment(create_drg_attachment_details, base_operation_opts)
196
+
197
+ return operation_result if wait_for_states.empty?
198
+
199
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
200
+ wait_for_resource_id = operation_result.data.id
201
+
202
+ begin
203
+ waiter_result = @service_client.get_drg_attachment(wait_for_resource_id).wait_until(
204
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
205
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
206
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
207
+ )
208
+ result_to_return = waiter_result
209
+
210
+ return result_to_return
211
+ rescue StandardError
212
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
213
+ end
214
+ end
215
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
216
+ # rubocop:enable Layout/EmptyLines
217
+
218
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
219
+ # rubocop:disable Layout/EmptyLines
220
+
221
+
222
+ # Calls {OCI::Core::VirtualNetworkClient#create_internet_gateway} and then waits for the {OCI::Core::Models::InternetGateway} acted upon
223
+ # to enter the given state(s).
224
+ #
225
+ # @param [OCI::Core::Models::CreateInternetGatewayDetails] create_internet_gateway_details Details for creating a new Internet Gateway.
226
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Core::Models::InternetGateway#lifecycle_state}
227
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Core::VirtualNetworkClient#create_internet_gateway}
228
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
229
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
230
+ # * max_wait_seconds The maximum time to wait, in seconds
231
+ #
232
+ # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Core::Models::InternetGateway}
233
+ def create_internet_gateway_and_wait_for_state(create_internet_gateway_details, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
234
+ operation_result = @service_client.create_internet_gateway(create_internet_gateway_details, base_operation_opts)
235
+
236
+ return operation_result if wait_for_states.empty?
237
+
238
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
239
+ wait_for_resource_id = operation_result.data.id
240
+
241
+ begin
242
+ waiter_result = @service_client.get_internet_gateway(wait_for_resource_id).wait_until(
243
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
244
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
245
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
246
+ )
247
+ result_to_return = waiter_result
248
+
249
+ return result_to_return
250
+ rescue StandardError
251
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
252
+ end
253
+ end
254
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
255
+ # rubocop:enable Layout/EmptyLines
256
+
257
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
258
+ # rubocop:disable Layout/EmptyLines
259
+
260
+
261
+ # Calls {OCI::Core::VirtualNetworkClient#create_ip_sec_connection} and then waits for the {OCI::Core::Models::IPSecConnection} acted upon
262
+ # to enter the given state(s).
263
+ #
264
+ # @param [OCI::Core::Models::CreateIPSecConnectionDetails] create_ip_sec_connection_details Details for creating an `IPSecConnection`.
265
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Core::Models::IPSecConnection#lifecycle_state}
266
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Core::VirtualNetworkClient#create_ip_sec_connection}
267
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
268
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
269
+ # * max_wait_seconds The maximum time to wait, in seconds
270
+ #
271
+ # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Core::Models::IPSecConnection}
272
+ def create_ip_sec_connection_and_wait_for_state(create_ip_sec_connection_details, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
273
+ operation_result = @service_client.create_ip_sec_connection(create_ip_sec_connection_details, base_operation_opts)
274
+
275
+ return operation_result if wait_for_states.empty?
276
+
277
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
278
+ wait_for_resource_id = operation_result.data.id
279
+
280
+ begin
281
+ waiter_result = @service_client.get_ip_sec_connection(wait_for_resource_id).wait_until(
282
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
283
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
284
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
285
+ )
286
+ result_to_return = waiter_result
287
+
288
+ return result_to_return
289
+ rescue StandardError
290
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
291
+ end
292
+ end
293
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
294
+ # rubocop:enable Layout/EmptyLines
295
+
296
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
297
+ # rubocop:disable Layout/EmptyLines
298
+
299
+
300
+ # Calls {OCI::Core::VirtualNetworkClient#create_local_peering_gateway} and then waits for the {OCI::Core::Models::LocalPeeringGateway} acted upon
301
+ # to enter the given state(s).
302
+ #
303
+ # @param [OCI::Core::Models::CreateLocalPeeringGatewayDetails] create_local_peering_gateway_details Details for creating a new local peering gateway.
304
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Core::Models::LocalPeeringGateway#lifecycle_state}
305
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Core::VirtualNetworkClient#create_local_peering_gateway}
306
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
307
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
308
+ # * max_wait_seconds The maximum time to wait, in seconds
309
+ #
310
+ # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Core::Models::LocalPeeringGateway}
311
+ def create_local_peering_gateway_and_wait_for_state(create_local_peering_gateway_details, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
312
+ operation_result = @service_client.create_local_peering_gateway(create_local_peering_gateway_details, base_operation_opts)
313
+
314
+ return operation_result if wait_for_states.empty?
315
+
316
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
317
+ wait_for_resource_id = operation_result.data.id
318
+
319
+ begin
320
+ waiter_result = @service_client.get_local_peering_gateway(wait_for_resource_id).wait_until(
321
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
322
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
323
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
324
+ )
325
+ result_to_return = waiter_result
326
+
327
+ return result_to_return
328
+ rescue StandardError
329
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
330
+ end
331
+ end
332
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
333
+ # rubocop:enable Layout/EmptyLines
334
+
335
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
336
+ # rubocop:disable Layout/EmptyLines
337
+
338
+
339
+ # Calls {OCI::Core::VirtualNetworkClient#create_public_ip} and then waits for the {OCI::Core::Models::PublicIp} acted upon
340
+ # to enter the given state(s).
341
+ #
342
+ # @param [OCI::Core::Models::CreatePublicIpDetails] create_public_ip_details Create public IP details.
343
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Core::Models::PublicIp#lifecycle_state}
344
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Core::VirtualNetworkClient#create_public_ip}
345
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
346
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
347
+ # * max_wait_seconds The maximum time to wait, in seconds
348
+ #
349
+ # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Core::Models::PublicIp}
350
+ def create_public_ip_and_wait_for_state(create_public_ip_details, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
351
+ operation_result = @service_client.create_public_ip(create_public_ip_details, base_operation_opts)
352
+
353
+ return operation_result if wait_for_states.empty?
354
+
355
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
356
+ wait_for_resource_id = operation_result.data.id
357
+
358
+ begin
359
+ waiter_result = @service_client.get_public_ip(wait_for_resource_id).wait_until(
360
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
361
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
362
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
363
+ )
364
+ result_to_return = waiter_result
365
+
366
+ return result_to_return
367
+ rescue StandardError
368
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
369
+ end
370
+ end
371
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
372
+ # rubocop:enable Layout/EmptyLines
373
+
374
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
375
+ # rubocop:disable Layout/EmptyLines
376
+
377
+
378
+ # Calls {OCI::Core::VirtualNetworkClient#create_remote_peering_connection} and then waits for the {OCI::Core::Models::RemotePeeringConnection} acted upon
379
+ # to enter the given state(s).
380
+ #
381
+ # @param [OCI::Core::Models::CreateRemotePeeringConnectionDetails] create_remote_peering_connection_details Request to create peering connection to remote region
382
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Core::Models::RemotePeeringConnection#lifecycle_state}
383
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Core::VirtualNetworkClient#create_remote_peering_connection}
384
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
385
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
386
+ # * max_wait_seconds The maximum time to wait, in seconds
387
+ #
388
+ # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Core::Models::RemotePeeringConnection}
389
+ def create_remote_peering_connection_and_wait_for_state(create_remote_peering_connection_details, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
390
+ operation_result = @service_client.create_remote_peering_connection(create_remote_peering_connection_details, base_operation_opts)
391
+
392
+ return operation_result if wait_for_states.empty?
393
+
394
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
395
+ wait_for_resource_id = operation_result.data.id
396
+
397
+ begin
398
+ waiter_result = @service_client.get_remote_peering_connection(wait_for_resource_id).wait_until(
399
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
400
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
401
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
402
+ )
403
+ result_to_return = waiter_result
404
+
405
+ return result_to_return
406
+ rescue StandardError
407
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
408
+ end
409
+ end
410
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
411
+ # rubocop:enable Layout/EmptyLines
412
+
413
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
414
+ # rubocop:disable Layout/EmptyLines
415
+
416
+
417
+ # Calls {OCI::Core::VirtualNetworkClient#create_route_table} and then waits for the {OCI::Core::Models::RouteTable} acted upon
418
+ # to enter the given state(s).
419
+ #
420
+ # @param [OCI::Core::Models::CreateRouteTableDetails] create_route_table_details Details for creating a new route table.
421
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Core::Models::RouteTable#lifecycle_state}
422
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Core::VirtualNetworkClient#create_route_table}
423
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
424
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
425
+ # * max_wait_seconds The maximum time to wait, in seconds
426
+ #
427
+ # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Core::Models::RouteTable}
428
+ def create_route_table_and_wait_for_state(create_route_table_details, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
429
+ operation_result = @service_client.create_route_table(create_route_table_details, base_operation_opts)
430
+
431
+ return operation_result if wait_for_states.empty?
432
+
433
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
434
+ wait_for_resource_id = operation_result.data.id
435
+
436
+ begin
437
+ waiter_result = @service_client.get_route_table(wait_for_resource_id).wait_until(
438
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
439
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
440
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
441
+ )
442
+ result_to_return = waiter_result
443
+
444
+ return result_to_return
445
+ rescue StandardError
446
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
447
+ end
448
+ end
449
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
450
+ # rubocop:enable Layout/EmptyLines
451
+
452
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
453
+ # rubocop:disable Layout/EmptyLines
454
+
455
+
456
+ # Calls {OCI::Core::VirtualNetworkClient#create_security_list} and then waits for the {OCI::Core::Models::SecurityList} acted upon
457
+ # to enter the given state(s).
458
+ #
459
+ # @param [OCI::Core::Models::CreateSecurityListDetails] create_security_list_details Details regarding the security list to create.
460
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Core::Models::SecurityList#lifecycle_state}
461
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Core::VirtualNetworkClient#create_security_list}
462
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
463
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
464
+ # * max_wait_seconds The maximum time to wait, in seconds
465
+ #
466
+ # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Core::Models::SecurityList}
467
+ def create_security_list_and_wait_for_state(create_security_list_details, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
468
+ operation_result = @service_client.create_security_list(create_security_list_details, base_operation_opts)
469
+
470
+ return operation_result if wait_for_states.empty?
471
+
472
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
473
+ wait_for_resource_id = operation_result.data.id
474
+
475
+ begin
476
+ waiter_result = @service_client.get_security_list(wait_for_resource_id).wait_until(
477
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
478
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
479
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
480
+ )
481
+ result_to_return = waiter_result
482
+
483
+ return result_to_return
484
+ rescue StandardError
485
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
486
+ end
487
+ end
488
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
489
+ # rubocop:enable Layout/EmptyLines
490
+
491
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
492
+ # rubocop:disable Layout/EmptyLines
493
+
494
+
495
+ # Calls {OCI::Core::VirtualNetworkClient#create_subnet} and then waits for the {OCI::Core::Models::Subnet} acted upon
496
+ # to enter the given state(s).
497
+ #
498
+ # @param [OCI::Core::Models::CreateSubnetDetails] create_subnet_details Details for creating a subnet.
499
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Core::Models::Subnet#lifecycle_state}
500
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Core::VirtualNetworkClient#create_subnet}
501
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
502
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
503
+ # * max_wait_seconds The maximum time to wait, in seconds
504
+ #
505
+ # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Core::Models::Subnet}
506
+ def create_subnet_and_wait_for_state(create_subnet_details, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
507
+ operation_result = @service_client.create_subnet(create_subnet_details, base_operation_opts)
508
+
509
+ return operation_result if wait_for_states.empty?
510
+
511
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
512
+ wait_for_resource_id = operation_result.data.id
513
+
514
+ begin
515
+ waiter_result = @service_client.get_subnet(wait_for_resource_id).wait_until(
516
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
517
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
518
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
519
+ )
520
+ result_to_return = waiter_result
521
+
522
+ return result_to_return
523
+ rescue StandardError
524
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
525
+ end
526
+ end
527
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
528
+ # rubocop:enable Layout/EmptyLines
529
+
530
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
531
+ # rubocop:disable Layout/EmptyLines
532
+
533
+
534
+ # Calls {OCI::Core::VirtualNetworkClient#create_vcn} and then waits for the {OCI::Core::Models::Vcn} acted upon
535
+ # to enter the given state(s).
536
+ #
537
+ # @param [OCI::Core::Models::CreateVcnDetails] create_vcn_details Details for creating a new VCN.
538
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Core::Models::Vcn#lifecycle_state}
539
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Core::VirtualNetworkClient#create_vcn}
540
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
541
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
542
+ # * max_wait_seconds The maximum time to wait, in seconds
543
+ #
544
+ # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Core::Models::Vcn}
545
+ def create_vcn_and_wait_for_state(create_vcn_details, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
546
+ operation_result = @service_client.create_vcn(create_vcn_details, base_operation_opts)
547
+
548
+ return operation_result if wait_for_states.empty?
549
+
550
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
551
+ wait_for_resource_id = operation_result.data.id
552
+
553
+ begin
554
+ waiter_result = @service_client.get_vcn(wait_for_resource_id).wait_until(
555
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
556
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
557
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
558
+ )
559
+ result_to_return = waiter_result
560
+
561
+ return result_to_return
562
+ rescue StandardError
563
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
564
+ end
565
+ end
566
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
567
+ # rubocop:enable Layout/EmptyLines
568
+
569
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
570
+ # rubocop:disable Layout/EmptyLines
571
+
572
+
573
+ # Calls {OCI::Core::VirtualNetworkClient#create_virtual_circuit} and then waits for the {OCI::Core::Models::VirtualCircuit} acted upon
574
+ # to enter the given state(s).
575
+ #
576
+ # @param [OCI::Core::Models::CreateVirtualCircuitDetails] create_virtual_circuit_details Details to create a VirtualCircuit.
577
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Core::Models::VirtualCircuit#lifecycle_state}
578
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Core::VirtualNetworkClient#create_virtual_circuit}
579
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
580
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
581
+ # * max_wait_seconds The maximum time to wait, in seconds
582
+ #
583
+ # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Core::Models::VirtualCircuit}
584
+ def create_virtual_circuit_and_wait_for_state(create_virtual_circuit_details, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
585
+ operation_result = @service_client.create_virtual_circuit(create_virtual_circuit_details, base_operation_opts)
586
+
587
+ return operation_result if wait_for_states.empty?
588
+
589
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
590
+ wait_for_resource_id = operation_result.data.id
591
+
592
+ begin
593
+ waiter_result = @service_client.get_virtual_circuit(wait_for_resource_id).wait_until(
594
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
595
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
596
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
597
+ )
598
+ result_to_return = waiter_result
599
+
600
+ return result_to_return
601
+ rescue StandardError
602
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
603
+ end
604
+ end
605
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
606
+ # rubocop:enable Layout/EmptyLines
607
+
608
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
609
+ # rubocop:disable Layout/EmptyLines
610
+
611
+
612
+ # Calls {OCI::Core::VirtualNetworkClient#delete_cross_connect} and then waits for the {OCI::Core::Models::CrossConnect} acted upon
613
+ # to enter the given state(s).
614
+ #
615
+ # @param [String] cross_connect_id The OCID of the cross-connect.
616
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Core::Models::CrossConnect#lifecycle_state}
617
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Core::VirtualNetworkClient#delete_cross_connect}
618
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
619
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
620
+ # * max_wait_seconds The maximum time to wait, in seconds
621
+ #
622
+ # @return [OCI::Response] A {OCI::Response} object with data of type nil
623
+ def delete_cross_connect_and_wait_for_state(cross_connect_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
624
+ initial_get_result = @service_client.get_cross_connect(cross_connect_id)
625
+ operation_result = @service_client.delete_cross_connect(cross_connect_id, base_operation_opts)
626
+
627
+ return operation_result if wait_for_states.empty?
628
+
629
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
630
+
631
+ begin
632
+ waiter_result = initial_get_result.wait_until(
633
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
634
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
635
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200,
636
+ succeed_on_not_found: true
637
+ )
638
+ result_to_return = waiter_result
639
+
640
+ return result_to_return
641
+ rescue StandardError
642
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
643
+ end
644
+ end
645
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
646
+ # rubocop:enable Layout/EmptyLines
647
+
648
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
649
+ # rubocop:disable Layout/EmptyLines
650
+
651
+
652
+ # Calls {OCI::Core::VirtualNetworkClient#delete_cross_connect_group} and then waits for the {OCI::Core::Models::CrossConnectGroup} acted upon
653
+ # to enter the given state(s).
654
+ #
655
+ # @param [String] cross_connect_group_id The OCID of the cross-connect group.
656
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Core::Models::CrossConnectGroup#lifecycle_state}
657
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Core::VirtualNetworkClient#delete_cross_connect_group}
658
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
659
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
660
+ # * max_wait_seconds The maximum time to wait, in seconds
661
+ #
662
+ # @return [OCI::Response] A {OCI::Response} object with data of type nil
663
+ def delete_cross_connect_group_and_wait_for_state(cross_connect_group_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
664
+ initial_get_result = @service_client.get_cross_connect_group(cross_connect_group_id)
665
+ operation_result = @service_client.delete_cross_connect_group(cross_connect_group_id, base_operation_opts)
666
+
667
+ return operation_result if wait_for_states.empty?
668
+
669
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
670
+
671
+ begin
672
+ waiter_result = initial_get_result.wait_until(
673
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
674
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
675
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200,
676
+ succeed_on_not_found: true
677
+ )
678
+ result_to_return = waiter_result
679
+
680
+ return result_to_return
681
+ rescue StandardError
682
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
683
+ end
684
+ end
685
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
686
+ # rubocop:enable Layout/EmptyLines
687
+
688
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
689
+ # rubocop:disable Layout/EmptyLines
690
+
691
+
692
+ # Calls {OCI::Core::VirtualNetworkClient#delete_dhcp_options} and then waits for the {OCI::Core::Models::DhcpOptions} acted upon
693
+ # to enter the given state(s).
694
+ #
695
+ # @param [String] dhcp_id The OCID for the set of DHCP options.
696
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Core::Models::DhcpOptions#lifecycle_state}
697
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Core::VirtualNetworkClient#delete_dhcp_options}
698
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
699
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
700
+ # * max_wait_seconds The maximum time to wait, in seconds
701
+ #
702
+ # @return [OCI::Response] A {OCI::Response} object with data of type nil
703
+ def delete_dhcp_options_and_wait_for_state(dhcp_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
704
+ initial_get_result = @service_client.get_dhcp_options(dhcp_id)
705
+ operation_result = @service_client.delete_dhcp_options(dhcp_id, base_operation_opts)
706
+
707
+ return operation_result if wait_for_states.empty?
708
+
709
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
710
+
711
+ begin
712
+ waiter_result = initial_get_result.wait_until(
713
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
714
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
715
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200,
716
+ succeed_on_not_found: true
717
+ )
718
+ result_to_return = waiter_result
719
+
720
+ return result_to_return
721
+ rescue StandardError
722
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
723
+ end
724
+ end
725
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
726
+ # rubocop:enable Layout/EmptyLines
727
+
728
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
729
+ # rubocop:disable Layout/EmptyLines
730
+
731
+
732
+ # Calls {OCI::Core::VirtualNetworkClient#delete_drg} and then waits for the {OCI::Core::Models::Drg} acted upon
733
+ # to enter the given state(s).
734
+ #
735
+ # @param [String] drg_id The OCID of the DRG.
736
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Core::Models::Drg#lifecycle_state}
737
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Core::VirtualNetworkClient#delete_drg}
738
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
739
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
740
+ # * max_wait_seconds The maximum time to wait, in seconds
741
+ #
742
+ # @return [OCI::Response] A {OCI::Response} object with data of type nil
743
+ def delete_drg_and_wait_for_state(drg_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
744
+ initial_get_result = @service_client.get_drg(drg_id)
745
+ operation_result = @service_client.delete_drg(drg_id, base_operation_opts)
746
+
747
+ return operation_result if wait_for_states.empty?
748
+
749
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
750
+
751
+ begin
752
+ waiter_result = initial_get_result.wait_until(
753
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
754
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
755
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200,
756
+ succeed_on_not_found: true
757
+ )
758
+ result_to_return = waiter_result
759
+
760
+ return result_to_return
761
+ rescue StandardError
762
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
763
+ end
764
+ end
765
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
766
+ # rubocop:enable Layout/EmptyLines
767
+
768
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
769
+ # rubocop:disable Layout/EmptyLines
770
+
771
+
772
+ # Calls {OCI::Core::VirtualNetworkClient#delete_drg_attachment} and then waits for the {OCI::Core::Models::DrgAttachment} acted upon
773
+ # to enter the given state(s).
774
+ #
775
+ # @param [String] drg_attachment_id The OCID of the DRG attachment.
776
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Core::Models::DrgAttachment#lifecycle_state}
777
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Core::VirtualNetworkClient#delete_drg_attachment}
778
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
779
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
780
+ # * max_wait_seconds The maximum time to wait, in seconds
781
+ #
782
+ # @return [OCI::Response] A {OCI::Response} object with data of type nil
783
+ def delete_drg_attachment_and_wait_for_state(drg_attachment_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
784
+ initial_get_result = @service_client.get_drg_attachment(drg_attachment_id)
785
+ operation_result = @service_client.delete_drg_attachment(drg_attachment_id, base_operation_opts)
786
+
787
+ return operation_result if wait_for_states.empty?
788
+
789
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
790
+
791
+ begin
792
+ waiter_result = initial_get_result.wait_until(
793
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
794
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
795
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200,
796
+ succeed_on_not_found: true
797
+ )
798
+ result_to_return = waiter_result
799
+
800
+ return result_to_return
801
+ rescue StandardError
802
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
803
+ end
804
+ end
805
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
806
+ # rubocop:enable Layout/EmptyLines
807
+
808
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
809
+ # rubocop:disable Layout/EmptyLines
810
+
811
+
812
+ # Calls {OCI::Core::VirtualNetworkClient#delete_internet_gateway} and then waits for the {OCI::Core::Models::InternetGateway} acted upon
813
+ # to enter the given state(s).
814
+ #
815
+ # @param [String] ig_id The OCID of the Internet Gateway.
816
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Core::Models::InternetGateway#lifecycle_state}
817
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Core::VirtualNetworkClient#delete_internet_gateway}
818
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
819
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
820
+ # * max_wait_seconds The maximum time to wait, in seconds
821
+ #
822
+ # @return [OCI::Response] A {OCI::Response} object with data of type nil
823
+ def delete_internet_gateway_and_wait_for_state(ig_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
824
+ initial_get_result = @service_client.get_internet_gateway(ig_id)
825
+ operation_result = @service_client.delete_internet_gateway(ig_id, base_operation_opts)
826
+
827
+ return operation_result if wait_for_states.empty?
828
+
829
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
830
+
831
+ begin
832
+ waiter_result = initial_get_result.wait_until(
833
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
834
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
835
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200,
836
+ succeed_on_not_found: true
837
+ )
838
+ result_to_return = waiter_result
839
+
840
+ return result_to_return
841
+ rescue StandardError
842
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
843
+ end
844
+ end
845
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
846
+ # rubocop:enable Layout/EmptyLines
847
+
848
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
849
+ # rubocop:disable Layout/EmptyLines
850
+
851
+
852
+ # Calls {OCI::Core::VirtualNetworkClient#delete_ip_sec_connection} and then waits for the {OCI::Core::Models::IPSecConnection} acted upon
853
+ # to enter the given state(s).
854
+ #
855
+ # @param [String] ipsc_id The OCID of the IPSec connection.
856
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Core::Models::IPSecConnection#lifecycle_state}
857
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Core::VirtualNetworkClient#delete_ip_sec_connection}
858
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
859
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
860
+ # * max_wait_seconds The maximum time to wait, in seconds
861
+ #
862
+ # @return [OCI::Response] A {OCI::Response} object with data of type nil
863
+ def delete_ip_sec_connection_and_wait_for_state(ipsc_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
864
+ initial_get_result = @service_client.get_ip_sec_connection(ipsc_id)
865
+ operation_result = @service_client.delete_ip_sec_connection(ipsc_id, base_operation_opts)
866
+
867
+ return operation_result if wait_for_states.empty?
868
+
869
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
870
+
871
+ begin
872
+ waiter_result = initial_get_result.wait_until(
873
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
874
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
875
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200,
876
+ succeed_on_not_found: true
877
+ )
878
+ result_to_return = waiter_result
879
+
880
+ return result_to_return
881
+ rescue StandardError
882
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
883
+ end
884
+ end
885
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
886
+ # rubocop:enable Layout/EmptyLines
887
+
888
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
889
+ # rubocop:disable Layout/EmptyLines
890
+
891
+
892
+ # Calls {OCI::Core::VirtualNetworkClient#delete_local_peering_gateway} and then waits for the {OCI::Core::Models::LocalPeeringGateway} acted upon
893
+ # to enter the given state(s).
894
+ #
895
+ # @param [String] local_peering_gateway_id The OCID of the local peering gateway.
896
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Core::Models::LocalPeeringGateway#lifecycle_state}
897
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Core::VirtualNetworkClient#delete_local_peering_gateway}
898
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
899
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
900
+ # * max_wait_seconds The maximum time to wait, in seconds
901
+ #
902
+ # @return [OCI::Response] A {OCI::Response} object with data of type nil
903
+ def delete_local_peering_gateway_and_wait_for_state(local_peering_gateway_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
904
+ initial_get_result = @service_client.get_local_peering_gateway(local_peering_gateway_id)
905
+ operation_result = @service_client.delete_local_peering_gateway(local_peering_gateway_id, base_operation_opts)
906
+
907
+ return operation_result if wait_for_states.empty?
908
+
909
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
910
+
911
+ begin
912
+ waiter_result = initial_get_result.wait_until(
913
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
914
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
915
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200,
916
+ succeed_on_not_found: true
917
+ )
918
+ result_to_return = waiter_result
919
+
920
+ return result_to_return
921
+ rescue StandardError
922
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
923
+ end
924
+ end
925
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
926
+ # rubocop:enable Layout/EmptyLines
927
+
928
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
929
+ # rubocop:disable Layout/EmptyLines
930
+
931
+
932
+ # Calls {OCI::Core::VirtualNetworkClient#delete_public_ip} and then waits for the {OCI::Core::Models::PublicIp} acted upon
933
+ # to enter the given state(s).
934
+ #
935
+ # @param [String] public_ip_id The OCID of the public IP.
936
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Core::Models::PublicIp#lifecycle_state}
937
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Core::VirtualNetworkClient#delete_public_ip}
938
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
939
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
940
+ # * max_wait_seconds The maximum time to wait, in seconds
941
+ #
942
+ # @return [OCI::Response] A {OCI::Response} object with data of type nil
943
+ def delete_public_ip_and_wait_for_state(public_ip_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
944
+ initial_get_result = @service_client.get_public_ip(public_ip_id)
945
+ operation_result = @service_client.delete_public_ip(public_ip_id, base_operation_opts)
946
+
947
+ return operation_result if wait_for_states.empty?
948
+
949
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
950
+
951
+ begin
952
+ waiter_result = initial_get_result.wait_until(
953
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
954
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
955
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200,
956
+ succeed_on_not_found: true
957
+ )
958
+ result_to_return = waiter_result
959
+
960
+ return result_to_return
961
+ rescue StandardError
962
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
963
+ end
964
+ end
965
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
966
+ # rubocop:enable Layout/EmptyLines
967
+
968
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
969
+ # rubocop:disable Layout/EmptyLines
970
+
971
+
972
+ # Calls {OCI::Core::VirtualNetworkClient#delete_remote_peering_connection} and then waits for the {OCI::Core::Models::RemotePeeringConnection} acted upon
973
+ # to enter the given state(s).
974
+ #
975
+ # @param [String] remote_peering_connection_id The OCID of the remote peering connection (RPC).
976
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Core::Models::RemotePeeringConnection#lifecycle_state}
977
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Core::VirtualNetworkClient#delete_remote_peering_connection}
978
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
979
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
980
+ # * max_wait_seconds The maximum time to wait, in seconds
981
+ #
982
+ # @return [OCI::Response] A {OCI::Response} object with data of type nil
983
+ def delete_remote_peering_connection_and_wait_for_state(remote_peering_connection_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
984
+ initial_get_result = @service_client.get_remote_peering_connection(remote_peering_connection_id)
985
+ operation_result = @service_client.delete_remote_peering_connection(remote_peering_connection_id, base_operation_opts)
986
+
987
+ return operation_result if wait_for_states.empty?
988
+
989
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
990
+
991
+ begin
992
+ waiter_result = initial_get_result.wait_until(
993
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
994
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
995
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200,
996
+ succeed_on_not_found: true
997
+ )
998
+ result_to_return = waiter_result
999
+
1000
+ return result_to_return
1001
+ rescue StandardError
1002
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
1003
+ end
1004
+ end
1005
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
1006
+ # rubocop:enable Layout/EmptyLines
1007
+
1008
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
1009
+ # rubocop:disable Layout/EmptyLines
1010
+
1011
+
1012
+ # Calls {OCI::Core::VirtualNetworkClient#delete_route_table} and then waits for the {OCI::Core::Models::RouteTable} acted upon
1013
+ # to enter the given state(s).
1014
+ #
1015
+ # @param [String] rt_id The OCID of the route table.
1016
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Core::Models::RouteTable#lifecycle_state}
1017
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Core::VirtualNetworkClient#delete_route_table}
1018
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
1019
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
1020
+ # * max_wait_seconds The maximum time to wait, in seconds
1021
+ #
1022
+ # @return [OCI::Response] A {OCI::Response} object with data of type nil
1023
+ def delete_route_table_and_wait_for_state(rt_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
1024
+ initial_get_result = @service_client.get_route_table(rt_id)
1025
+ operation_result = @service_client.delete_route_table(rt_id, base_operation_opts)
1026
+
1027
+ return operation_result if wait_for_states.empty?
1028
+
1029
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
1030
+
1031
+ begin
1032
+ waiter_result = initial_get_result.wait_until(
1033
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
1034
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
1035
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200,
1036
+ succeed_on_not_found: true
1037
+ )
1038
+ result_to_return = waiter_result
1039
+
1040
+ return result_to_return
1041
+ rescue StandardError
1042
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
1043
+ end
1044
+ end
1045
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
1046
+ # rubocop:enable Layout/EmptyLines
1047
+
1048
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
1049
+ # rubocop:disable Layout/EmptyLines
1050
+
1051
+
1052
+ # Calls {OCI::Core::VirtualNetworkClient#delete_security_list} and then waits for the {OCI::Core::Models::SecurityList} acted upon
1053
+ # to enter the given state(s).
1054
+ #
1055
+ # @param [String] security_list_id The OCID of the security list.
1056
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Core::Models::SecurityList#lifecycle_state}
1057
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Core::VirtualNetworkClient#delete_security_list}
1058
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
1059
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
1060
+ # * max_wait_seconds The maximum time to wait, in seconds
1061
+ #
1062
+ # @return [OCI::Response] A {OCI::Response} object with data of type nil
1063
+ def delete_security_list_and_wait_for_state(security_list_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
1064
+ initial_get_result = @service_client.get_security_list(security_list_id)
1065
+ operation_result = @service_client.delete_security_list(security_list_id, base_operation_opts)
1066
+
1067
+ return operation_result if wait_for_states.empty?
1068
+
1069
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
1070
+
1071
+ begin
1072
+ waiter_result = initial_get_result.wait_until(
1073
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
1074
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
1075
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200,
1076
+ succeed_on_not_found: true
1077
+ )
1078
+ result_to_return = waiter_result
1079
+
1080
+ return result_to_return
1081
+ rescue StandardError
1082
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
1083
+ end
1084
+ end
1085
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
1086
+ # rubocop:enable Layout/EmptyLines
1087
+
1088
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
1089
+ # rubocop:disable Layout/EmptyLines
1090
+
1091
+
1092
+ # Calls {OCI::Core::VirtualNetworkClient#delete_subnet} and then waits for the {OCI::Core::Models::Subnet} acted upon
1093
+ # to enter the given state(s).
1094
+ #
1095
+ # @param [String] subnet_id The OCID of the subnet.
1096
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Core::Models::Subnet#lifecycle_state}
1097
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Core::VirtualNetworkClient#delete_subnet}
1098
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
1099
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
1100
+ # * max_wait_seconds The maximum time to wait, in seconds
1101
+ #
1102
+ # @return [OCI::Response] A {OCI::Response} object with data of type nil
1103
+ def delete_subnet_and_wait_for_state(subnet_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
1104
+ initial_get_result = @service_client.get_subnet(subnet_id)
1105
+ operation_result = @service_client.delete_subnet(subnet_id, base_operation_opts)
1106
+
1107
+ return operation_result if wait_for_states.empty?
1108
+
1109
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
1110
+
1111
+ begin
1112
+ waiter_result = initial_get_result.wait_until(
1113
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
1114
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
1115
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200,
1116
+ succeed_on_not_found: true
1117
+ )
1118
+ result_to_return = waiter_result
1119
+
1120
+ return result_to_return
1121
+ rescue StandardError
1122
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
1123
+ end
1124
+ end
1125
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
1126
+ # rubocop:enable Layout/EmptyLines
1127
+
1128
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
1129
+ # rubocop:disable Layout/EmptyLines
1130
+
1131
+
1132
+ # Calls {OCI::Core::VirtualNetworkClient#delete_vcn} and then waits for the {OCI::Core::Models::Vcn} acted upon
1133
+ # to enter the given state(s).
1134
+ #
1135
+ # @param [String] vcn_id The OCID of the VCN.
1136
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Core::Models::Vcn#lifecycle_state}
1137
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Core::VirtualNetworkClient#delete_vcn}
1138
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
1139
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
1140
+ # * max_wait_seconds The maximum time to wait, in seconds
1141
+ #
1142
+ # @return [OCI::Response] A {OCI::Response} object with data of type nil
1143
+ def delete_vcn_and_wait_for_state(vcn_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
1144
+ initial_get_result = @service_client.get_vcn(vcn_id)
1145
+ operation_result = @service_client.delete_vcn(vcn_id, base_operation_opts)
1146
+
1147
+ return operation_result if wait_for_states.empty?
1148
+
1149
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
1150
+
1151
+ begin
1152
+ waiter_result = initial_get_result.wait_until(
1153
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
1154
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
1155
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200,
1156
+ succeed_on_not_found: true
1157
+ )
1158
+ result_to_return = waiter_result
1159
+
1160
+ return result_to_return
1161
+ rescue StandardError
1162
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
1163
+ end
1164
+ end
1165
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
1166
+ # rubocop:enable Layout/EmptyLines
1167
+
1168
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
1169
+ # rubocop:disable Layout/EmptyLines
1170
+
1171
+
1172
+ # Calls {OCI::Core::VirtualNetworkClient#delete_virtual_circuit} and then waits for the {OCI::Core::Models::VirtualCircuit} acted upon
1173
+ # to enter the given state(s).
1174
+ #
1175
+ # @param [String] virtual_circuit_id The OCID of the virtual circuit.
1176
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Core::Models::VirtualCircuit#lifecycle_state}
1177
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Core::VirtualNetworkClient#delete_virtual_circuit}
1178
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
1179
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
1180
+ # * max_wait_seconds The maximum time to wait, in seconds
1181
+ #
1182
+ # @return [OCI::Response] A {OCI::Response} object with data of type nil
1183
+ def delete_virtual_circuit_and_wait_for_state(virtual_circuit_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
1184
+ initial_get_result = @service_client.get_virtual_circuit(virtual_circuit_id)
1185
+ operation_result = @service_client.delete_virtual_circuit(virtual_circuit_id, base_operation_opts)
1186
+
1187
+ return operation_result if wait_for_states.empty?
1188
+
1189
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
1190
+
1191
+ begin
1192
+ waiter_result = initial_get_result.wait_until(
1193
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
1194
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
1195
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200,
1196
+ succeed_on_not_found: true
1197
+ )
1198
+ result_to_return = waiter_result
1199
+
1200
+ return result_to_return
1201
+ rescue StandardError
1202
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
1203
+ end
1204
+ end
1205
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
1206
+ # rubocop:enable Layout/EmptyLines
1207
+
1208
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
1209
+ # rubocop:disable Layout/EmptyLines
1210
+
1211
+
1212
+ # Calls {OCI::Core::VirtualNetworkClient#update_cross_connect} and then waits for the {OCI::Core::Models::CrossConnect} acted upon
1213
+ # to enter the given state(s).
1214
+ #
1215
+ # @param [String] cross_connect_id The OCID of the cross-connect.
1216
+ # @param [OCI::Core::Models::UpdateCrossConnectDetails] update_cross_connect_details Update CrossConnect fields.
1217
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Core::Models::CrossConnect#lifecycle_state}
1218
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Core::VirtualNetworkClient#update_cross_connect}
1219
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
1220
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
1221
+ # * max_wait_seconds The maximum time to wait, in seconds
1222
+ #
1223
+ # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Core::Models::CrossConnect}
1224
+ def update_cross_connect_and_wait_for_state(cross_connect_id, update_cross_connect_details, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
1225
+ operation_result = @service_client.update_cross_connect(cross_connect_id, update_cross_connect_details, base_operation_opts)
1226
+
1227
+ return operation_result if wait_for_states.empty?
1228
+
1229
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
1230
+ wait_for_resource_id = operation_result.data.id
1231
+
1232
+ begin
1233
+ waiter_result = @service_client.get_cross_connect(wait_for_resource_id).wait_until(
1234
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
1235
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
1236
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
1237
+ )
1238
+ result_to_return = waiter_result
1239
+
1240
+ return result_to_return
1241
+ rescue StandardError
1242
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
1243
+ end
1244
+ end
1245
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
1246
+ # rubocop:enable Layout/EmptyLines
1247
+
1248
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
1249
+ # rubocop:disable Layout/EmptyLines
1250
+
1251
+
1252
+ # Calls {OCI::Core::VirtualNetworkClient#update_cross_connect_group} and then waits for the {OCI::Core::Models::CrossConnectGroup} acted upon
1253
+ # to enter the given state(s).
1254
+ #
1255
+ # @param [String] cross_connect_group_id The OCID of the cross-connect group.
1256
+ # @param [OCI::Core::Models::UpdateCrossConnectGroupDetails] update_cross_connect_group_details Update CrossConnectGroup fields
1257
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Core::Models::CrossConnectGroup#lifecycle_state}
1258
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Core::VirtualNetworkClient#update_cross_connect_group}
1259
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
1260
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
1261
+ # * max_wait_seconds The maximum time to wait, in seconds
1262
+ #
1263
+ # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Core::Models::CrossConnectGroup}
1264
+ def update_cross_connect_group_and_wait_for_state(cross_connect_group_id, update_cross_connect_group_details, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
1265
+ operation_result = @service_client.update_cross_connect_group(cross_connect_group_id, update_cross_connect_group_details, base_operation_opts)
1266
+
1267
+ return operation_result if wait_for_states.empty?
1268
+
1269
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
1270
+ wait_for_resource_id = operation_result.data.id
1271
+
1272
+ begin
1273
+ waiter_result = @service_client.get_cross_connect_group(wait_for_resource_id).wait_until(
1274
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
1275
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
1276
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
1277
+ )
1278
+ result_to_return = waiter_result
1279
+
1280
+ return result_to_return
1281
+ rescue StandardError
1282
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
1283
+ end
1284
+ end
1285
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
1286
+ # rubocop:enable Layout/EmptyLines
1287
+
1288
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
1289
+ # rubocop:disable Layout/EmptyLines
1290
+
1291
+
1292
+ # Calls {OCI::Core::VirtualNetworkClient#update_dhcp_options} and then waits for the {OCI::Core::Models::DhcpOptions} acted upon
1293
+ # to enter the given state(s).
1294
+ #
1295
+ # @param [String] dhcp_id The OCID for the set of DHCP options.
1296
+ # @param [OCI::Core::Models::UpdateDhcpDetails] update_dhcp_details Request object for updating a set of DHCP options.
1297
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Core::Models::DhcpOptions#lifecycle_state}
1298
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Core::VirtualNetworkClient#update_dhcp_options}
1299
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
1300
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
1301
+ # * max_wait_seconds The maximum time to wait, in seconds
1302
+ #
1303
+ # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Core::Models::DhcpOptions}
1304
+ def update_dhcp_options_and_wait_for_state(dhcp_id, update_dhcp_details, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
1305
+ operation_result = @service_client.update_dhcp_options(dhcp_id, update_dhcp_details, base_operation_opts)
1306
+
1307
+ return operation_result if wait_for_states.empty?
1308
+
1309
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
1310
+ wait_for_resource_id = operation_result.data.id
1311
+
1312
+ begin
1313
+ waiter_result = @service_client.get_dhcp_options(wait_for_resource_id).wait_until(
1314
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
1315
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
1316
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
1317
+ )
1318
+ result_to_return = waiter_result
1319
+
1320
+ return result_to_return
1321
+ rescue StandardError
1322
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
1323
+ end
1324
+ end
1325
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
1326
+ # rubocop:enable Layout/EmptyLines
1327
+
1328
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
1329
+ # rubocop:disable Layout/EmptyLines
1330
+
1331
+
1332
+ # Calls {OCI::Core::VirtualNetworkClient#update_drg} and then waits for the {OCI::Core::Models::Drg} acted upon
1333
+ # to enter the given state(s).
1334
+ #
1335
+ # @param [String] drg_id The OCID of the DRG.
1336
+ # @param [OCI::Core::Models::UpdateDrgDetails] update_drg_details Details object for updating a DRG.
1337
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Core::Models::Drg#lifecycle_state}
1338
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Core::VirtualNetworkClient#update_drg}
1339
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
1340
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
1341
+ # * max_wait_seconds The maximum time to wait, in seconds
1342
+ #
1343
+ # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Core::Models::Drg}
1344
+ def update_drg_and_wait_for_state(drg_id, update_drg_details, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
1345
+ operation_result = @service_client.update_drg(drg_id, update_drg_details, base_operation_opts)
1346
+
1347
+ return operation_result if wait_for_states.empty?
1348
+
1349
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
1350
+ wait_for_resource_id = operation_result.data.id
1351
+
1352
+ begin
1353
+ waiter_result = @service_client.get_drg(wait_for_resource_id).wait_until(
1354
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
1355
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
1356
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
1357
+ )
1358
+ result_to_return = waiter_result
1359
+
1360
+ return result_to_return
1361
+ rescue StandardError
1362
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
1363
+ end
1364
+ end
1365
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
1366
+ # rubocop:enable Layout/EmptyLines
1367
+
1368
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
1369
+ # rubocop:disable Layout/EmptyLines
1370
+
1371
+
1372
+ # Calls {OCI::Core::VirtualNetworkClient#update_drg_attachment} and then waits for the {OCI::Core::Models::DrgAttachment} acted upon
1373
+ # to enter the given state(s).
1374
+ #
1375
+ # @param [String] drg_attachment_id The OCID of the DRG attachment.
1376
+ # @param [OCI::Core::Models::UpdateDrgAttachmentDetails] update_drg_attachment_details Details object for updating a `DrgAttachment`.
1377
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Core::Models::DrgAttachment#lifecycle_state}
1378
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Core::VirtualNetworkClient#update_drg_attachment}
1379
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
1380
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
1381
+ # * max_wait_seconds The maximum time to wait, in seconds
1382
+ #
1383
+ # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Core::Models::DrgAttachment}
1384
+ def update_drg_attachment_and_wait_for_state(drg_attachment_id, update_drg_attachment_details, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
1385
+ operation_result = @service_client.update_drg_attachment(drg_attachment_id, update_drg_attachment_details, base_operation_opts)
1386
+
1387
+ return operation_result if wait_for_states.empty?
1388
+
1389
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
1390
+ wait_for_resource_id = operation_result.data.id
1391
+
1392
+ begin
1393
+ waiter_result = @service_client.get_drg_attachment(wait_for_resource_id).wait_until(
1394
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
1395
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
1396
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
1397
+ )
1398
+ result_to_return = waiter_result
1399
+
1400
+ return result_to_return
1401
+ rescue StandardError
1402
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
1403
+ end
1404
+ end
1405
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
1406
+ # rubocop:enable Layout/EmptyLines
1407
+
1408
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
1409
+ # rubocop:disable Layout/EmptyLines
1410
+
1411
+
1412
+ # Calls {OCI::Core::VirtualNetworkClient#update_internet_gateway} and then waits for the {OCI::Core::Models::InternetGateway} acted upon
1413
+ # to enter the given state(s).
1414
+ #
1415
+ # @param [String] ig_id The OCID of the Internet Gateway.
1416
+ # @param [OCI::Core::Models::UpdateInternetGatewayDetails] update_internet_gateway_details Details for updating the Internet Gateway.
1417
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Core::Models::InternetGateway#lifecycle_state}
1418
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Core::VirtualNetworkClient#update_internet_gateway}
1419
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
1420
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
1421
+ # * max_wait_seconds The maximum time to wait, in seconds
1422
+ #
1423
+ # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Core::Models::InternetGateway}
1424
+ def update_internet_gateway_and_wait_for_state(ig_id, update_internet_gateway_details, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
1425
+ operation_result = @service_client.update_internet_gateway(ig_id, update_internet_gateway_details, base_operation_opts)
1426
+
1427
+ return operation_result if wait_for_states.empty?
1428
+
1429
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
1430
+ wait_for_resource_id = operation_result.data.id
1431
+
1432
+ begin
1433
+ waiter_result = @service_client.get_internet_gateway(wait_for_resource_id).wait_until(
1434
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
1435
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
1436
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
1437
+ )
1438
+ result_to_return = waiter_result
1439
+
1440
+ return result_to_return
1441
+ rescue StandardError
1442
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
1443
+ end
1444
+ end
1445
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
1446
+ # rubocop:enable Layout/EmptyLines
1447
+
1448
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
1449
+ # rubocop:disable Layout/EmptyLines
1450
+
1451
+
1452
+ # Calls {OCI::Core::VirtualNetworkClient#update_ip_sec_connection} and then waits for the {OCI::Core::Models::IPSecConnection} acted upon
1453
+ # to enter the given state(s).
1454
+ #
1455
+ # @param [String] ipsc_id The OCID of the IPSec connection.
1456
+ # @param [OCI::Core::Models::UpdateIPSecConnectionDetails] update_ip_sec_connection_details Details object for updating a IPSec connection.
1457
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Core::Models::IPSecConnection#lifecycle_state}
1458
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Core::VirtualNetworkClient#update_ip_sec_connection}
1459
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
1460
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
1461
+ # * max_wait_seconds The maximum time to wait, in seconds
1462
+ #
1463
+ # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Core::Models::IPSecConnection}
1464
+ def update_ip_sec_connection_and_wait_for_state(ipsc_id, update_ip_sec_connection_details, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
1465
+ operation_result = @service_client.update_ip_sec_connection(ipsc_id, update_ip_sec_connection_details, base_operation_opts)
1466
+
1467
+ return operation_result if wait_for_states.empty?
1468
+
1469
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
1470
+ wait_for_resource_id = operation_result.data.id
1471
+
1472
+ begin
1473
+ waiter_result = @service_client.get_ip_sec_connection(wait_for_resource_id).wait_until(
1474
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
1475
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
1476
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
1477
+ )
1478
+ result_to_return = waiter_result
1479
+
1480
+ return result_to_return
1481
+ rescue StandardError
1482
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
1483
+ end
1484
+ end
1485
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
1486
+ # rubocop:enable Layout/EmptyLines
1487
+
1488
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
1489
+ # rubocop:disable Layout/EmptyLines
1490
+
1491
+
1492
+ # Calls {OCI::Core::VirtualNetworkClient#update_local_peering_gateway} and then waits for the {OCI::Core::Models::LocalPeeringGateway} acted upon
1493
+ # to enter the given state(s).
1494
+ #
1495
+ # @param [String] local_peering_gateway_id The OCID of the local peering gateway.
1496
+ # @param [OCI::Core::Models::UpdateLocalPeeringGatewayDetails] update_local_peering_gateway_details Details object for updating a local peering gateway.
1497
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Core::Models::LocalPeeringGateway#lifecycle_state}
1498
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Core::VirtualNetworkClient#update_local_peering_gateway}
1499
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
1500
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
1501
+ # * max_wait_seconds The maximum time to wait, in seconds
1502
+ #
1503
+ # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Core::Models::LocalPeeringGateway}
1504
+ def update_local_peering_gateway_and_wait_for_state(local_peering_gateway_id, update_local_peering_gateway_details, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
1505
+ operation_result = @service_client.update_local_peering_gateway(local_peering_gateway_id, update_local_peering_gateway_details, base_operation_opts)
1506
+
1507
+ return operation_result if wait_for_states.empty?
1508
+
1509
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
1510
+ wait_for_resource_id = operation_result.data.id
1511
+
1512
+ begin
1513
+ waiter_result = @service_client.get_local_peering_gateway(wait_for_resource_id).wait_until(
1514
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
1515
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
1516
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
1517
+ )
1518
+ result_to_return = waiter_result
1519
+
1520
+ return result_to_return
1521
+ rescue StandardError
1522
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
1523
+ end
1524
+ end
1525
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
1526
+ # rubocop:enable Layout/EmptyLines
1527
+
1528
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
1529
+ # rubocop:disable Layout/EmptyLines
1530
+
1531
+
1532
+ # Calls {OCI::Core::VirtualNetworkClient#update_public_ip} and then waits for the {OCI::Core::Models::PublicIp} acted upon
1533
+ # to enter the given state(s).
1534
+ #
1535
+ # @param [String] public_ip_id The OCID of the public IP.
1536
+ # @param [OCI::Core::Models::UpdatePublicIpDetails] update_public_ip_details Public IP details.
1537
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Core::Models::PublicIp#lifecycle_state}
1538
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Core::VirtualNetworkClient#update_public_ip}
1539
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
1540
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
1541
+ # * max_wait_seconds The maximum time to wait, in seconds
1542
+ #
1543
+ # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Core::Models::PublicIp}
1544
+ def update_public_ip_and_wait_for_state(public_ip_id, update_public_ip_details, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
1545
+ operation_result = @service_client.update_public_ip(public_ip_id, update_public_ip_details, base_operation_opts)
1546
+
1547
+ return operation_result if wait_for_states.empty?
1548
+
1549
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
1550
+ wait_for_resource_id = operation_result.data.id
1551
+
1552
+ begin
1553
+ waiter_result = @service_client.get_public_ip(wait_for_resource_id).wait_until(
1554
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
1555
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
1556
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
1557
+ )
1558
+ result_to_return = waiter_result
1559
+
1560
+ return result_to_return
1561
+ rescue StandardError
1562
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
1563
+ end
1564
+ end
1565
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
1566
+ # rubocop:enable Layout/EmptyLines
1567
+
1568
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
1569
+ # rubocop:disable Layout/EmptyLines
1570
+
1571
+
1572
+ # Calls {OCI::Core::VirtualNetworkClient#update_remote_peering_connection} and then waits for the {OCI::Core::Models::RemotePeeringConnection} acted upon
1573
+ # to enter the given state(s).
1574
+ #
1575
+ # @param [String] remote_peering_connection_id The OCID of the remote peering connection (RPC).
1576
+ # @param [OCI::Core::Models::UpdateRemotePeeringConnectionDetails] update_remote_peering_connection_details Request to the update the peering connection to remote region
1577
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Core::Models::RemotePeeringConnection#lifecycle_state}
1578
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Core::VirtualNetworkClient#update_remote_peering_connection}
1579
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
1580
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
1581
+ # * max_wait_seconds The maximum time to wait, in seconds
1582
+ #
1583
+ # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Core::Models::RemotePeeringConnection}
1584
+ def update_remote_peering_connection_and_wait_for_state(remote_peering_connection_id, update_remote_peering_connection_details, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
1585
+ operation_result = @service_client.update_remote_peering_connection(remote_peering_connection_id, update_remote_peering_connection_details, base_operation_opts)
1586
+
1587
+ return operation_result if wait_for_states.empty?
1588
+
1589
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
1590
+ wait_for_resource_id = operation_result.data.id
1591
+
1592
+ begin
1593
+ waiter_result = @service_client.get_remote_peering_connection(wait_for_resource_id).wait_until(
1594
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
1595
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
1596
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
1597
+ )
1598
+ result_to_return = waiter_result
1599
+
1600
+ return result_to_return
1601
+ rescue StandardError
1602
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
1603
+ end
1604
+ end
1605
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
1606
+ # rubocop:enable Layout/EmptyLines
1607
+
1608
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
1609
+ # rubocop:disable Layout/EmptyLines
1610
+
1611
+
1612
+ # Calls {OCI::Core::VirtualNetworkClient#update_route_table} and then waits for the {OCI::Core::Models::RouteTable} acted upon
1613
+ # to enter the given state(s).
1614
+ #
1615
+ # @param [String] rt_id The OCID of the route table.
1616
+ # @param [OCI::Core::Models::UpdateRouteTableDetails] update_route_table_details Details object for updating a route table.
1617
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Core::Models::RouteTable#lifecycle_state}
1618
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Core::VirtualNetworkClient#update_route_table}
1619
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
1620
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
1621
+ # * max_wait_seconds The maximum time to wait, in seconds
1622
+ #
1623
+ # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Core::Models::RouteTable}
1624
+ def update_route_table_and_wait_for_state(rt_id, update_route_table_details, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
1625
+ operation_result = @service_client.update_route_table(rt_id, update_route_table_details, base_operation_opts)
1626
+
1627
+ return operation_result if wait_for_states.empty?
1628
+
1629
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
1630
+ wait_for_resource_id = operation_result.data.id
1631
+
1632
+ begin
1633
+ waiter_result = @service_client.get_route_table(wait_for_resource_id).wait_until(
1634
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
1635
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
1636
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
1637
+ )
1638
+ result_to_return = waiter_result
1639
+
1640
+ return result_to_return
1641
+ rescue StandardError
1642
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
1643
+ end
1644
+ end
1645
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
1646
+ # rubocop:enable Layout/EmptyLines
1647
+
1648
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
1649
+ # rubocop:disable Layout/EmptyLines
1650
+
1651
+
1652
+ # Calls {OCI::Core::VirtualNetworkClient#update_security_list} and then waits for the {OCI::Core::Models::SecurityList} acted upon
1653
+ # to enter the given state(s).
1654
+ #
1655
+ # @param [String] security_list_id The OCID of the security list.
1656
+ # @param [OCI::Core::Models::UpdateSecurityListDetails] update_security_list_details Updated details for the security list.
1657
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Core::Models::SecurityList#lifecycle_state}
1658
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Core::VirtualNetworkClient#update_security_list}
1659
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
1660
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
1661
+ # * max_wait_seconds The maximum time to wait, in seconds
1662
+ #
1663
+ # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Core::Models::SecurityList}
1664
+ def update_security_list_and_wait_for_state(security_list_id, update_security_list_details, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
1665
+ operation_result = @service_client.update_security_list(security_list_id, update_security_list_details, base_operation_opts)
1666
+
1667
+ return operation_result if wait_for_states.empty?
1668
+
1669
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
1670
+ wait_for_resource_id = operation_result.data.id
1671
+
1672
+ begin
1673
+ waiter_result = @service_client.get_security_list(wait_for_resource_id).wait_until(
1674
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
1675
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
1676
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
1677
+ )
1678
+ result_to_return = waiter_result
1679
+
1680
+ return result_to_return
1681
+ rescue StandardError
1682
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
1683
+ end
1684
+ end
1685
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
1686
+ # rubocop:enable Layout/EmptyLines
1687
+
1688
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
1689
+ # rubocop:disable Layout/EmptyLines
1690
+
1691
+
1692
+ # Calls {OCI::Core::VirtualNetworkClient#update_subnet} and then waits for the {OCI::Core::Models::Subnet} acted upon
1693
+ # to enter the given state(s).
1694
+ #
1695
+ # @param [String] subnet_id The OCID of the subnet.
1696
+ # @param [OCI::Core::Models::UpdateSubnetDetails] update_subnet_details Details object for updating a subnet.
1697
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Core::Models::Subnet#lifecycle_state}
1698
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Core::VirtualNetworkClient#update_subnet}
1699
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
1700
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
1701
+ # * max_wait_seconds The maximum time to wait, in seconds
1702
+ #
1703
+ # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Core::Models::Subnet}
1704
+ def update_subnet_and_wait_for_state(subnet_id, update_subnet_details, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
1705
+ operation_result = @service_client.update_subnet(subnet_id, update_subnet_details, base_operation_opts)
1706
+
1707
+ return operation_result if wait_for_states.empty?
1708
+
1709
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
1710
+ wait_for_resource_id = operation_result.data.id
1711
+
1712
+ begin
1713
+ waiter_result = @service_client.get_subnet(wait_for_resource_id).wait_until(
1714
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
1715
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
1716
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
1717
+ )
1718
+ result_to_return = waiter_result
1719
+
1720
+ return result_to_return
1721
+ rescue StandardError
1722
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
1723
+ end
1724
+ end
1725
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
1726
+ # rubocop:enable Layout/EmptyLines
1727
+
1728
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
1729
+ # rubocop:disable Layout/EmptyLines
1730
+
1731
+
1732
+ # Calls {OCI::Core::VirtualNetworkClient#update_vcn} and then waits for the {OCI::Core::Models::Vcn} acted upon
1733
+ # to enter the given state(s).
1734
+ #
1735
+ # @param [String] vcn_id The OCID of the VCN.
1736
+ # @param [OCI::Core::Models::UpdateVcnDetails] update_vcn_details Details object for updating a VCN.
1737
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Core::Models::Vcn#lifecycle_state}
1738
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Core::VirtualNetworkClient#update_vcn}
1739
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
1740
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
1741
+ # * max_wait_seconds The maximum time to wait, in seconds
1742
+ #
1743
+ # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Core::Models::Vcn}
1744
+ def update_vcn_and_wait_for_state(vcn_id, update_vcn_details, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
1745
+ operation_result = @service_client.update_vcn(vcn_id, update_vcn_details, base_operation_opts)
1746
+
1747
+ return operation_result if wait_for_states.empty?
1748
+
1749
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
1750
+ wait_for_resource_id = operation_result.data.id
1751
+
1752
+ begin
1753
+ waiter_result = @service_client.get_vcn(wait_for_resource_id).wait_until(
1754
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
1755
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
1756
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
1757
+ )
1758
+ result_to_return = waiter_result
1759
+
1760
+ return result_to_return
1761
+ rescue StandardError
1762
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
1763
+ end
1764
+ end
1765
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
1766
+ # rubocop:enable Layout/EmptyLines
1767
+
1768
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
1769
+ # rubocop:disable Layout/EmptyLines
1770
+
1771
+
1772
+ # Calls {OCI::Core::VirtualNetworkClient#update_virtual_circuit} and then waits for the {OCI::Core::Models::VirtualCircuit} acted upon
1773
+ # to enter the given state(s).
1774
+ #
1775
+ # @param [String] virtual_circuit_id The OCID of the virtual circuit.
1776
+ # @param [OCI::Core::Models::UpdateVirtualCircuitDetails] update_virtual_circuit_details Update VirtualCircuit fields.
1777
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Core::Models::VirtualCircuit#lifecycle_state}
1778
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Core::VirtualNetworkClient#update_virtual_circuit}
1779
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
1780
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
1781
+ # * max_wait_seconds The maximum time to wait, in seconds
1782
+ #
1783
+ # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Core::Models::VirtualCircuit}
1784
+ def update_virtual_circuit_and_wait_for_state(virtual_circuit_id, update_virtual_circuit_details, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
1785
+ operation_result = @service_client.update_virtual_circuit(virtual_circuit_id, update_virtual_circuit_details, base_operation_opts)
1786
+
1787
+ return operation_result if wait_for_states.empty?
1788
+
1789
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
1790
+ wait_for_resource_id = operation_result.data.id
1791
+
1792
+ begin
1793
+ waiter_result = @service_client.get_virtual_circuit(wait_for_resource_id).wait_until(
1794
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
1795
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
1796
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
1797
+ )
1798
+ result_to_return = waiter_result
1799
+
1800
+ return result_to_return
1801
+ rescue StandardError
1802
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
1803
+ end
1804
+ end
1805
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
1806
+ # rubocop:enable Layout/EmptyLines
1807
+
1808
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
1809
+ # rubocop:disable Layout/EmptyLines
1810
+
1811
+
1812
+ # Calls {OCI::Core::VirtualNetworkClient#update_vnic} and then waits for the {OCI::Core::Models::Vnic} acted upon
1813
+ # to enter the given state(s).
1814
+ #
1815
+ # @param [String] vnic_id The OCID of the VNIC.
1816
+ # @param [OCI::Core::Models::UpdateVnicDetails] update_vnic_details Details object for updating a VNIC.
1817
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Core::Models::Vnic#lifecycle_state}
1818
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Core::VirtualNetworkClient#update_vnic}
1819
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
1820
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
1821
+ # * max_wait_seconds The maximum time to wait, in seconds
1822
+ #
1823
+ # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Core::Models::Vnic}
1824
+ def update_vnic_and_wait_for_state(vnic_id, update_vnic_details, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
1825
+ operation_result = @service_client.update_vnic(vnic_id, update_vnic_details, base_operation_opts)
1826
+
1827
+ return operation_result if wait_for_states.empty?
1828
+
1829
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
1830
+ wait_for_resource_id = operation_result.data.id
1831
+
1832
+ begin
1833
+ waiter_result = @service_client.get_vnic(wait_for_resource_id).wait_until(
1834
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
1835
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
1836
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
1837
+ )
1838
+ result_to_return = waiter_result
1839
+
1840
+ return result_to_return
1841
+ rescue StandardError
1842
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
1843
+ end
1844
+ end
1845
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
1846
+ # rubocop:enable Layout/EmptyLines
1847
+ end
1848
+ end
1849
+ # rubocop:enable Lint/UnneededCopDisableDirective, Metrics/LineLength