oci 2.1.0 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (370) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +11 -3
  3. data/lib/oci.rb +6 -0
  4. data/lib/oci/api_client.rb +159 -134
  5. data/lib/oci/audit/audit.rb +3 -0
  6. data/lib/oci/audit/audit_client.rb +88 -40
  7. data/lib/oci/audit/audit_client_composite_operations.rb +64 -0
  8. data/lib/oci/audit/models/audit_event.rb +151 -200
  9. data/lib/oci/audit/models/configuration.rb +61 -38
  10. data/lib/oci/audit/models/update_configuration_details.rb +61 -38
  11. data/lib/oci/auth/util.rb +1 -1
  12. data/lib/oci/base_signer.rb +20 -29
  13. data/lib/oci/config.rb +9 -3
  14. data/lib/oci/core/blockstorage_client.rb +512 -269
  15. data/lib/oci/core/blockstorage_client_composite_operations.rb +342 -0
  16. data/lib/oci/core/compute_client.rb +959 -536
  17. data/lib/oci/core/compute_client_composite_operations.rb +738 -0
  18. data/lib/oci/core/core.rb +5 -0
  19. data/lib/oci/core/models/attach_boot_volume_details.rb +72 -57
  20. data/lib/oci/core/models/attach_i_scsi_volume_details.rb +76 -53
  21. data/lib/oci/core/models/attach_paravirtualized_volume_details.rb +69 -45
  22. data/lib/oci/core/models/attach_vnic_details.rb +79 -68
  23. data/lib/oci/core/models/attach_volume_details.rb +83 -74
  24. data/lib/oci/core/models/boot_volume.rb +119 -120
  25. data/lib/oci/core/models/boot_volume_attachment.rb +114 -111
  26. data/lib/oci/core/models/bulk_add_virtual_circuit_public_prefixes_details.rb +61 -38
  27. data/lib/oci/core/models/bulk_delete_virtual_circuit_public_prefixes_details.rb +61 -38
  28. data/lib/oci/core/models/capture_console_history_details.rb +81 -70
  29. data/lib/oci/core/models/connect_local_peering_gateways_details.rb +60 -38
  30. data/lib/oci/core/models/connect_remote_peering_connections_details.rb +67 -49
  31. data/lib/oci/core/models/console_history.rb +122 -123
  32. data/lib/oci/core/models/cpe.rb +82 -74
  33. data/lib/oci/core/models/create_cpe_details.rb +73 -58
  34. data/lib/oci/core/models/create_cross_connect_details.rb +98 -99
  35. data/lib/oci/core/models/create_cross_connect_group_details.rb +67 -48
  36. data/lib/oci/core/models/create_dhcp_details.rb +89 -84
  37. data/lib/oci/core/models/create_drg_attachment_details.rb +71 -56
  38. data/lib/oci/core/models/create_drg_details.rb +66 -47
  39. data/lib/oci/core/models/create_image_details.rb +108 -110
  40. data/lib/oci/core/models/create_instance_console_connection_details.rb +79 -69
  41. data/lib/oci/core/models/create_internet_gateway_details.rb +76 -65
  42. data/lib/oci/core/models/create_ip_sec_connection_details.rb +83 -76
  43. data/lib/oci/core/models/create_local_peering_gateway_details.rb +72 -57
  44. data/lib/oci/core/models/create_private_ip_details.rb +97 -94
  45. data/lib/oci/core/models/create_public_ip_details.rb +90 -77
  46. data/lib/oci/core/models/create_remote_peering_connection_details.rb +72 -57
  47. data/lib/oci/core/models/create_route_table_details.rb +90 -87
  48. data/lib/oci/core/models/create_security_list_details.rb +95 -96
  49. data/lib/oci/core/models/create_subnet_details.rb +133 -154
  50. data/lib/oci/core/models/create_vcn_details.rb +96 -93
  51. data/lib/oci/core/models/create_virtual_circuit_details.rb +136 -153
  52. data/lib/oci/core/models/create_virtual_circuit_public_prefix_details.rb +62 -39
  53. data/lib/oci/core/models/create_vnic_details.rb +99 -97
  54. data/lib/oci/core/models/create_volume_backup_details.rb +94 -85
  55. data/lib/oci/core/models/create_volume_backup_policy_assignment_details.rb +66 -47
  56. data/lib/oci/core/models/create_volume_details.rb +117 -130
  57. data/lib/oci/core/models/cross_connect.rb +120 -121
  58. data/lib/oci/core/models/cross_connect_group.rb +97 -82
  59. data/lib/oci/core/models/cross_connect_location.rb +65 -43
  60. data/lib/oci/core/models/cross_connect_mapping.rb +89 -81
  61. data/lib/oci/core/models/cross_connect_port_speed_shape.rb +68 -48
  62. data/lib/oci/core/models/cross_connect_status.rb +110 -87
  63. data/lib/oci/core/models/delete_virtual_circuit_public_prefix_details.rb +61 -38
  64. data/lib/oci/core/models/dhcp_dns_option.rb +85 -60
  65. data/lib/oci/core/models/dhcp_option.rb +62 -38
  66. data/lib/oci/core/models/dhcp_options.rb +119 -118
  67. data/lib/oci/core/models/dhcp_search_domain_option.rb +66 -44
  68. data/lib/oci/core/models/drg.rb +96 -81
  69. data/lib/oci/core/models/drg_attachment.rb +106 -99
  70. data/lib/oci/core/models/egress_security_rule.rb +89 -83
  71. data/lib/oci/core/models/export_image_details.rb +63 -41
  72. data/lib/oci/core/models/export_image_via_object_storage_tuple_details.rb +74 -59
  73. data/lib/oci/core/models/export_image_via_object_storage_uri_details.rb +65 -42
  74. data/lib/oci/core/models/fast_connect_provider_service.rb +155 -126
  75. data/lib/oci/core/models/get_public_ip_by_ip_address_details.rb +61 -39
  76. data/lib/oci/core/models/get_public_ip_by_private_ip_id_details.rb +61 -39
  77. data/lib/oci/core/models/i_scsi_volume_attachment.rb +117 -105
  78. data/lib/oci/core/models/icmp_options.rb +63 -41
  79. data/lib/oci/core/models/image.rb +170 -185
  80. data/lib/oci/core/models/image_source_details.rb +79 -60
  81. data/lib/oci/core/models/image_source_via_object_storage_tuple_details.rb +77 -62
  82. data/lib/oci/core/models/image_source_via_object_storage_uri_details.rb +67 -44
  83. data/lib/oci/core/models/ingress_security_rule.rb +89 -83
  84. data/lib/oci/core/models/instance.rb +190 -211
  85. data/lib/oci/core/models/instance_console_connection.rb +118 -117
  86. data/lib/oci/core/models/instance_credentials.rb +63 -41
  87. data/lib/oci/core/models/instance_source_details.rb +64 -41
  88. data/lib/oci/core/models/instance_source_via_boot_volume_details.rb +64 -41
  89. data/lib/oci/core/models/instance_source_via_image_details.rb +70 -51
  90. data/lib/oci/core/models/internet_gateway.rb +107 -100
  91. data/lib/oci/core/models/ip_sec_connection.rb +113 -110
  92. data/lib/oci/core/models/ip_sec_connection_device_config.rb +73 -59
  93. data/lib/oci/core/models/ip_sec_connection_device_status.rb +75 -61
  94. data/lib/oci/core/models/launch_instance_details.rb +163 -189
  95. data/lib/oci/core/models/launch_options.rb +130 -93
  96. data/lib/oci/core/models/letter_of_authority.rb +105 -100
  97. data/lib/oci/core/models/local_peering_gateway.rb +141 -140
  98. data/lib/oci/core/models/paravirtualized_volume_attachment.rb +83 -60
  99. data/lib/oci/core/models/peer_region_for_remote_peering.rb +61 -37
  100. data/lib/oci/core/models/port_range.rb +65 -42
  101. data/lib/oci/core/models/private_ip.rb +131 -151
  102. data/lib/oci/core/models/public_ip.rb +160 -149
  103. data/lib/oci/core/models/remote_peering_connection.rb +148 -151
  104. data/lib/oci/core/models/route_rule.rb +68 -50
  105. data/lib/oci/core/models/route_table.rb +120 -121
  106. data/lib/oci/core/models/security_list.rb +125 -130
  107. data/lib/oci/core/models/shape.rb +60 -36
  108. data/lib/oci/core/models/subnet.rb +183 -220
  109. data/lib/oci/core/models/tcp_options.rb +67 -49
  110. data/lib/oci/core/models/tunnel_config.rb +76 -62
  111. data/lib/oci/core/models/tunnel_status.rb +94 -77
  112. data/lib/oci/core/models/udp_options.rb +67 -49
  113. data/lib/oci/core/models/update_boot_volume_details.rb +62 -39
  114. data/lib/oci/core/models/update_console_history_details.rb +76 -61
  115. data/lib/oci/core/models/update_cpe_details.rb +62 -39
  116. data/lib/oci/core/models/update_cross_connect_details.rb +68 -50
  117. data/lib/oci/core/models/update_cross_connect_group_details.rb +62 -39
  118. data/lib/oci/core/models/update_dhcp_details.rb +80 -67
  119. data/lib/oci/core/models/update_drg_attachment_details.rb +62 -39
  120. data/lib/oci/core/models/update_drg_details.rb +62 -39
  121. data/lib/oci/core/models/update_image_details.rb +77 -62
  122. data/lib/oci/core/models/update_instance_details.rb +77 -62
  123. data/lib/oci/core/models/update_internet_gateway_details.rb +67 -48
  124. data/lib/oci/core/models/update_ip_sec_connection_details.rb +62 -39
  125. data/lib/oci/core/models/update_local_peering_gateway_details.rb +62 -39
  126. data/lib/oci/core/models/update_private_ip_details.rb +90 -83
  127. data/lib/oci/core/models/update_public_ip_details.rb +68 -49
  128. data/lib/oci/core/models/update_remote_peering_connection_details.rb +62 -39
  129. data/lib/oci/core/models/update_route_table_details.rb +81 -70
  130. data/lib/oci/core/models/update_security_list_details.rb +86 -79
  131. data/lib/oci/core/models/update_subnet_details.rb +76 -61
  132. data/lib/oci/core/models/update_vcn_details.rb +76 -61
  133. data/lib/oci/core/models/update_virtual_circuit_details.rb +114 -115
  134. data/lib/oci/core/models/update_vnic_details.rb +75 -60
  135. data/lib/oci/core/models/update_volume_backup_details.rb +76 -61
  136. data/lib/oci/core/models/update_volume_details.rb +76 -61
  137. data/lib/oci/core/models/vcn.rb +150 -167
  138. data/lib/oci/core/models/virtual_circuit.rb +254 -269
  139. data/lib/oci/core/models/virtual_circuit_bandwidth_shape.rb +68 -48
  140. data/lib/oci/core/models/virtual_circuit_public_prefix.rb +79 -54
  141. data/lib/oci/core/models/vnic.rb +149 -166
  142. data/lib/oci/core/models/vnic_attachment.rb +132 -141
  143. data/lib/oci/core/models/volume.rb +138 -151
  144. data/lib/oci/core/models/volume_attachment.rb +126 -131
  145. data/lib/oci/core/models/volume_backup.rb +185 -200
  146. data/lib/oci/core/models/volume_backup_policy.rb +75 -61
  147. data/lib/oci/core/models/volume_backup_policy_assignment.rb +75 -63
  148. data/lib/oci/core/models/volume_backup_schedule.rb +101 -76
  149. data/lib/oci/core/models/volume_source_details.rb +62 -37
  150. data/lib/oci/core/models/volume_source_from_volume_backup_details.rb +62 -38
  151. data/lib/oci/core/models/volume_source_from_volume_details.rb +62 -38
  152. data/lib/oci/core/virtual_network_client.rb +2683 -1457
  153. data/lib/oci/core/virtual_network_client_composite_operations.rb +1849 -0
  154. data/lib/oci/database/database.rb +3 -0
  155. data/lib/oci/database/database_client.rb +894 -454
  156. data/lib/oci/database/database_client_composite_operations.rb +462 -0
  157. data/lib/oci/database/models/backup.rb +131 -128
  158. data/lib/oci/database/models/backup_summary.rb +131 -128
  159. data/lib/oci/database/models/create_backup_details.rb +66 -47
  160. data/lib/oci/database/models/create_data_guard_association_details.rb +112 -102
  161. data/lib/oci/database/models/create_data_guard_association_to_existing_db_system_details.rb +73 -51
  162. data/lib/oci/database/models/create_database_details.rb +140 -105
  163. data/lib/oci/database/models/create_database_from_backup_details.rb +71 -56
  164. data/lib/oci/database/models/create_db_home_details.rb +70 -53
  165. data/lib/oci/database/models/create_db_home_with_db_system_id_base.rb +83 -67
  166. data/lib/oci/database/models/create_db_home_with_db_system_id_details.rb +74 -53
  167. data/lib/oci/database/models/create_db_home_with_db_system_id_from_backup_details.rb +69 -44
  168. data/lib/oci/database/models/data_guard_association.rb +205 -204
  169. data/lib/oci/database/models/data_guard_association_summary.rb +205 -204
  170. data/lib/oci/database/models/database.rb +175 -156
  171. data/lib/oci/database/models/database_summary.rb +175 -156
  172. data/lib/oci/database/models/db_backup_config.rb +60 -38
  173. data/lib/oci/database/models/db_home.rb +110 -107
  174. data/lib/oci/database/models/db_home_summary.rb +110 -107
  175. data/lib/oci/database/models/db_node.rb +113 -108
  176. data/lib/oci/database/models/db_node_summary.rb +113 -108
  177. data/lib/oci/database/models/db_system.rb +299 -314
  178. data/lib/oci/database/models/db_system_shape_summary.rb +88 -86
  179. data/lib/oci/database/models/db_system_summary.rb +299 -314
  180. data/lib/oci/database/models/db_version_summary.rb +64 -44
  181. data/lib/oci/database/models/failover_data_guard_association_details.rb +60 -38
  182. data/lib/oci/database/models/launch_db_system_details.rb +231 -234
  183. data/lib/oci/database/models/patch.rb +136 -113
  184. data/lib/oci/database/models/patch_details.rb +73 -53
  185. data/lib/oci/database/models/patch_history_entry.rb +114 -99
  186. data/lib/oci/database/models/patch_history_entry_summary.rb +114 -99
  187. data/lib/oci/database/models/patch_summary.rb +136 -113
  188. data/lib/oci/database/models/reinstate_data_guard_association_details.rb +60 -38
  189. data/lib/oci/database/models/restore_database_details.rb +72 -53
  190. data/lib/oci/database/models/switchover_data_guard_association_details.rb +60 -38
  191. data/lib/oci/database/models/update_database_details.rb +97 -38
  192. data/lib/oci/database/models/update_db_home_details.rb +60 -38
  193. data/lib/oci/database/models/update_db_system_details.rb +112 -64
  194. data/lib/oci/dns/dns.rb +3 -0
  195. data/lib/oci/dns/dns_client.rb +489 -302
  196. data/lib/oci/dns/dns_client_composite_operations.rb +143 -0
  197. data/lib/oci/dns/models/create_zone_details.rb +84 -72
  198. data/lib/oci/dns/models/external_master.rb +67 -47
  199. data/lib/oci/dns/models/patch_domain_records_details.rb +60 -35
  200. data/lib/oci/dns/models/patch_rr_set_details.rb +60 -35
  201. data/lib/oci/dns/models/patch_zone_records_details.rb +60 -35
  202. data/lib/oci/dns/models/record.rb +92 -86
  203. data/lib/oci/dns/models/record_collection.rb +59 -35
  204. data/lib/oci/dns/models/record_details.rb +92 -86
  205. data/lib/oci/dns/models/record_operation.rb +113 -110
  206. data/lib/oci/dns/models/rr_set.rb +59 -35
  207. data/lib/oci/dns/models/sort_order.rb +0 -2
  208. data/lib/oci/dns/models/tsig.rb +68 -48
  209. data/lib/oci/dns/models/update_domain_records_details.rb +60 -35
  210. data/lib/oci/dns/models/update_rr_set_details.rb +60 -35
  211. data/lib/oci/dns/models/update_zone_details.rb +60 -38
  212. data/lib/oci/dns/models/update_zone_records_details.rb +60 -35
  213. data/lib/oci/dns/models/zone.rb +133 -126
  214. data/lib/oci/dns/models/zone_summary.rb +108 -99
  215. data/lib/oci/email/email.rb +3 -0
  216. data/lib/oci/email/email_client.rb +223 -112
  217. data/lib/oci/email/email_client_composite_operations.rb +103 -0
  218. data/lib/oci/email/models/create_sender_details.rb +65 -47
  219. data/lib/oci/email/models/create_suppression_details.rb +66 -48
  220. data/lib/oci/email/models/sender.rb +97 -84
  221. data/lib/oci/email/models/sender_summary.rb +89 -70
  222. data/lib/oci/email/models/suppression.rb +90 -69
  223. data/lib/oci/email/models/suppression_summary.rb +90 -69
  224. data/lib/oci/errors.rb +16 -0
  225. data/lib/oci/file_storage/file_storage.rb +3 -0
  226. data/lib/oci/file_storage/file_storage_client.rb +587 -333
  227. data/lib/oci/file_storage/file_storage_client_composite_operations.rb +460 -0
  228. data/lib/oci/file_storage/models/create_export_details.rb +73 -56
  229. data/lib/oci/file_storage/models/create_file_system_details.rb +75 -60
  230. data/lib/oci/file_storage/models/create_mount_target_details.rb +96 -93
  231. data/lib/oci/file_storage/models/create_snapshot_details.rb +68 -47
  232. data/lib/oci/file_storage/models/export.rb +102 -89
  233. data/lib/oci/file_storage/models/export_set.rb +121 -122
  234. data/lib/oci/file_storage/models/export_set_summary.rb +109 -102
  235. data/lib/oci/file_storage/models/export_summary.rb +102 -89
  236. data/lib/oci/file_storage/models/file_system.rb +110 -103
  237. data/lib/oci/file_storage/models/file_system_summary.rb +110 -103
  238. data/lib/oci/file_storage/models/mount_target.rb +126 -131
  239. data/lib/oci/file_storage/models/mount_target_summary.rb +121 -122
  240. data/lib/oci/file_storage/models/snapshot.rb +98 -81
  241. data/lib/oci/file_storage/models/snapshot_summary.rb +98 -81
  242. data/lib/oci/file_storage/models/update_export_set_details.rb +75 -60
  243. data/lib/oci/file_storage/models/update_file_system_details.rb +63 -40
  244. data/lib/oci/file_storage/models/update_mount_target_details.rb +63 -40
  245. data/lib/oci/identity/identity.rb +3 -0
  246. data/lib/oci/identity/identity_client.rb +1671 -872
  247. data/lib/oci/identity/identity_client_composite_operations.rb +818 -0
  248. data/lib/oci/identity/models/add_user_to_group_details.rb +66 -47
  249. data/lib/oci/identity/models/api_key.rb +108 -101
  250. data/lib/oci/identity/models/availability_domain.rb +64 -44
  251. data/lib/oci/identity/models/compartment.rb +118 -115
  252. data/lib/oci/identity/models/create_api_key_details.rb +60 -35
  253. data/lib/oci/identity/models/create_compartment_details.rb +83 -72
  254. data/lib/oci/identity/models/create_customer_secret_key_details.rb +62 -39
  255. data/lib/oci/identity/models/create_dynamic_group_details.rb +75 -61
  256. data/lib/oci/identity/models/create_group_details.rb +82 -71
  257. data/lib/oci/identity/models/create_identity_provider_details.rb +115 -110
  258. data/lib/oci/identity/models/create_idp_group_mapping_details.rb +67 -48
  259. data/lib/oci/identity/models/create_policy_details.rb +94 -89
  260. data/lib/oci/identity/models/create_region_subscription_details.rb +64 -41
  261. data/lib/oci/identity/models/create_saml2_identity_provider_details.rb +88 -67
  262. data/lib/oci/identity/models/create_smtp_credential_details.rb +61 -36
  263. data/lib/oci/identity/models/create_swift_password_details.rb +61 -36
  264. data/lib/oci/identity/models/create_tag_details.rb +77 -62
  265. data/lib/oci/identity/models/create_tag_namespace_details.rb +82 -71
  266. data/lib/oci/identity/models/create_user_details.rb +82 -71
  267. data/lib/oci/identity/models/customer_secret_key.rb +114 -109
  268. data/lib/oci/identity/models/customer_secret_key_summary.rb +109 -102
  269. data/lib/oci/identity/models/dynamic_group.rb +112 -105
  270. data/lib/oci/identity/models/group.rb +118 -115
  271. data/lib/oci/identity/models/identity_provider.rb +135 -138
  272. data/lib/oci/identity/models/idp_group_mapping.rb +112 -109
  273. data/lib/oci/identity/models/policy.rb +129 -132
  274. data/lib/oci/identity/models/region.rb +67 -45
  275. data/lib/oci/identity/models/region_subscription.rb +90 -71
  276. data/lib/oci/identity/models/saml2_identity_provider.rb +106 -92
  277. data/lib/oci/identity/models/smtp_credential.rb +118 -113
  278. data/lib/oci/identity/models/smtp_credential_summary.rb +113 -106
  279. data/lib/oci/identity/models/swift_password.rb +113 -106
  280. data/lib/oci/identity/models/tag.rb +108 -116
  281. data/lib/oci/identity/models/tag_namespace.rb +97 -97
  282. data/lib/oci/identity/models/tag_namespace_summary.rb +97 -97
  283. data/lib/oci/identity/models/tag_summary.rb +97 -97
  284. data/lib/oci/identity/models/tenancy.rb +86 -78
  285. data/lib/oci/identity/models/ui_password.rb +97 -82
  286. data/lib/oci/identity/models/update_compartment_details.rb +77 -62
  287. data/lib/oci/identity/models/update_customer_secret_key_details.rb +61 -38
  288. data/lib/oci/identity/models/update_dynamic_group_details.rb +65 -45
  289. data/lib/oci/identity/models/update_group_details.rb +72 -55
  290. data/lib/oci/identity/models/update_identity_provider_details.rb +89 -74
  291. data/lib/oci/identity/models/update_idp_group_mapping_details.rb +66 -47
  292. data/lib/oci/identity/models/update_policy_details.rb +83 -72
  293. data/lib/oci/identity/models/update_saml2_identity_provider_details.rb +79 -58
  294. data/lib/oci/identity/models/update_smtp_credential_details.rb +60 -35
  295. data/lib/oci/identity/models/update_state_details.rb +61 -36
  296. data/lib/oci/identity/models/update_swift_password_details.rb +60 -35
  297. data/lib/oci/identity/models/update_tag_details.rb +78 -65
  298. data/lib/oci/identity/models/update_tag_namespace_details.rb +78 -65
  299. data/lib/oci/identity/models/update_user_details.rb +72 -55
  300. data/lib/oci/identity/models/user.rb +120 -117
  301. data/lib/oci/identity/models/user_group_membership.rb +107 -100
  302. data/lib/oci/load_balancer/load_balancer.rb +3 -0
  303. data/lib/oci/load_balancer/load_balancer_client.rb +918 -500
  304. data/lib/oci/load_balancer/load_balancer_client_composite_operations.rb +795 -0
  305. data/lib/oci/load_balancer/models/backend.rb +101 -94
  306. data/lib/oci/load_balancer/models/backend_details.rb +95 -86
  307. data/lib/oci/load_balancer/models/backend_health.rb +84 -57
  308. data/lib/oci/load_balancer/models/backend_set.rb +87 -79
  309. data/lib/oci/load_balancer/models/backend_set_details.rb +80 -70
  310. data/lib/oci/load_balancer/models/backend_set_health.rb +106 -91
  311. data/lib/oci/load_balancer/models/certificate.rb +78 -64
  312. data/lib/oci/load_balancer/models/certificate_details.rb +92 -84
  313. data/lib/oci/load_balancer/models/connection_configuration.rb +73 -51
  314. data/lib/oci/load_balancer/models/create_backend_details.rb +95 -86
  315. data/lib/oci/load_balancer/models/create_backend_set_details.rb +87 -79
  316. data/lib/oci/load_balancer/models/create_certificate_details.rb +92 -84
  317. data/lib/oci/load_balancer/models/create_listener_details.rb +97 -93
  318. data/lib/oci/load_balancer/models/create_load_balancer_details.rb +109 -117
  319. data/lib/oci/load_balancer/models/create_path_route_set_details.rb +66 -46
  320. data/lib/oci/load_balancer/models/health_check_result.rb +98 -79
  321. data/lib/oci/load_balancer/models/health_checker.rb +108 -108
  322. data/lib/oci/load_balancer/models/health_checker_details.rb +108 -108
  323. data/lib/oci/load_balancer/models/ip_address.rb +70 -52
  324. data/lib/oci/load_balancer/models/listener.rb +97 -93
  325. data/lib/oci/load_balancer/models/listener_details.rb +91 -85
  326. data/lib/oci/load_balancer/models/load_balancer.rb +144 -157
  327. data/lib/oci/load_balancer/models/load_balancer_health.rb +110 -95
  328. data/lib/oci/load_balancer/models/load_balancer_health_summary.rb +88 -61
  329. data/lib/oci/load_balancer/models/load_balancer_policy.rb +59 -35
  330. data/lib/oci/load_balancer/models/load_balancer_protocol.rb +59 -35
  331. data/lib/oci/load_balancer/models/load_balancer_shape.rb +59 -35
  332. data/lib/oci/load_balancer/models/path_match_type.rb +80 -51
  333. data/lib/oci/load_balancer/models/path_route.rb +76 -60
  334. data/lib/oci/load_balancer/models/path_route_set.rb +66 -46
  335. data/lib/oci/load_balancer/models/path_route_set_details.rb +60 -38
  336. data/lib/oci/load_balancer/models/session_persistence_configuration_details.rb +71 -55
  337. data/lib/oci/load_balancer/models/ssl_configuration.rb +78 -66
  338. data/lib/oci/load_balancer/models/ssl_configuration_details.rb +78 -66
  339. data/lib/oci/load_balancer/models/update_backend_details.rb +82 -67
  340. data/lib/oci/load_balancer/models/update_backend_set_details.rb +80 -70
  341. data/lib/oci/load_balancer/models/update_health_checker_details.rb +108 -108
  342. data/lib/oci/load_balancer/models/update_listener_details.rb +91 -85
  343. data/lib/oci/load_balancer/models/update_load_balancer_details.rb +62 -40
  344. data/lib/oci/load_balancer/models/update_path_route_set_details.rb +60 -38
  345. data/lib/oci/load_balancer/models/work_request.rb +115 -108
  346. data/lib/oci/load_balancer/models/work_request_error.rb +76 -49
  347. data/lib/oci/object_storage/models/bucket.rb +136 -133
  348. data/lib/oci/object_storage/models/bucket_summary.rb +95 -95
  349. data/lib/oci/object_storage/models/commit_multipart_upload_details.rb +66 -48
  350. data/lib/oci/object_storage/models/commit_multipart_upload_part_details.rb +64 -44
  351. data/lib/oci/object_storage/models/create_bucket_details.rb +113 -111
  352. data/lib/oci/object_storage/models/create_multipart_upload_details.rb +80 -70
  353. data/lib/oci/object_storage/models/create_preauthenticated_request_details.rb +87 -74
  354. data/lib/oci/object_storage/models/list_objects.rb +71 -53
  355. data/lib/oci/object_storage/models/multipart_upload.rb +77 -65
  356. data/lib/oci/object_storage/models/multipart_upload_part_summary.rb +72 -56
  357. data/lib/oci/object_storage/models/namespace_metadata.rb +69 -53
  358. data/lib/oci/object_storage/models/object_summary.rb +73 -57
  359. data/lib/oci/object_storage/models/preauthenticated_request.rb +105 -96
  360. data/lib/oci/object_storage/models/preauthenticated_request_summary.rb +99 -86
  361. data/lib/oci/object_storage/models/rename_object_details.rb +80 -74
  362. data/lib/oci/object_storage/models/restore_objects_details.rb +66 -45
  363. data/lib/oci/object_storage/models/update_bucket_details.rb +101 -97
  364. data/lib/oci/object_storage/models/update_namespace_metadata_details.rb +65 -47
  365. data/lib/oci/object_storage/object_storage.rb +2 -0
  366. data/lib/oci/object_storage/object_storage_client.rb +737 -435
  367. data/lib/oci/object_storage/object_storage_client_composite_operations.rb +24 -0
  368. data/lib/oci/signer.rb +20 -7
  369. data/lib/oci/version.rb +1 -1
  370. metadata +13 -2
@@ -0,0 +1,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