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
@@ -2,25 +2,26 @@
2
2
 
3
3
  require 'date'
4
4
 
5
+ # rubocop:disable Lint/UnneededCopDisableDirective
5
6
  module OCI
6
7
  # The details for creating a instance console connection.
7
8
  # The instance console connection is created in the same compartment as the instance.
8
9
  #
9
- class Core::Models::CreateInstanceConsoleConnectionDetails
10
+ class Core::Models::CreateInstanceConsoleConnectionDetails # rubocop:disable Metrics/LineLength
10
11
  # Defined tags for this resource. Each key is predefined and scoped to a namespace.
11
12
  # For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm).
12
- #
13
+ #
13
14
  # Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
14
- #
15
+ #
15
16
  # @return [Hash<String, Hash<String, Object>>]
16
17
  attr_accessor :defined_tags
17
18
 
18
19
  # Free-form tags for this resource. Each tag is a simple key-value pair with no
19
20
  # predefined name, type, or namespace. For more information, see
20
21
  # [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm).
21
- #
22
+ #
22
23
  # Example: `{\"Department\": \"Finance\"}`
23
- #
24
+ #
24
25
  # @return [Hash<String, String>]
25
26
  attr_accessor :freeform_tags
26
27
 
@@ -32,6 +33,33 @@ module OCI
32
33
  # @return [String]
33
34
  attr_accessor :public_key
34
35
 
36
+ # Attribute mapping from ruby-style variable name to JSON key.
37
+ def self.attribute_map
38
+ {
39
+ # rubocop:disable Style/SymbolLiteral
40
+ 'defined_tags': :'definedTags',
41
+ 'freeform_tags': :'freeformTags',
42
+ 'instance_id': :'instanceId',
43
+ 'public_key': :'publicKey'
44
+ # rubocop:enable Style/SymbolLiteral
45
+ }
46
+ end
47
+
48
+ # Attribute type mapping.
49
+ def self.swagger_types
50
+ {
51
+ # rubocop:disable Style/SymbolLiteral
52
+ 'defined_tags': :'Hash<String, Hash<String, Object>>',
53
+ 'freeform_tags': :'Hash<String, String>',
54
+ 'instance_id': :'String',
55
+ 'public_key': :'String'
56
+ # rubocop:enable Style/SymbolLiteral
57
+ }
58
+ end
59
+
60
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
61
+ # rubocop:disable Metrics/LineLength, Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
62
+
35
63
 
36
64
  # Initializes the object
37
65
  # @param [Hash] attributes Model attributes in the form of hash
@@ -43,72 +71,68 @@ module OCI
43
71
  return unless attributes.is_a?(Hash)
44
72
 
45
73
  # convert string to symbol for hash key
46
- attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
74
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
47
75
 
48
- if attributes[:'definedTags']
49
- self.defined_tags = attributes[:'definedTags']
50
- end
76
+ self.defined_tags = attributes[:'definedTags'] if attributes[:'definedTags']
51
77
 
52
78
  raise 'You cannot provide both :definedTags and :defined_tags' if attributes.key?(:'definedTags') && attributes.key?(:'defined_tags')
53
79
 
54
- if attributes[:'defined_tags']
55
- self.defined_tags = attributes[:'defined_tags']
56
- end
80
+ self.defined_tags = attributes[:'defined_tags'] if attributes[:'defined_tags']
57
81
 
58
- if attributes[:'freeformTags']
59
- self.freeform_tags = attributes[:'freeformTags']
60
- end
82
+ self.freeform_tags = attributes[:'freeformTags'] if attributes[:'freeformTags']
61
83
 
62
84
  raise 'You cannot provide both :freeformTags and :freeform_tags' if attributes.key?(:'freeformTags') && attributes.key?(:'freeform_tags')
63
85
 
64
- if attributes[:'freeform_tags']
65
- self.freeform_tags = attributes[:'freeform_tags']
66
- end
86
+ self.freeform_tags = attributes[:'freeform_tags'] if attributes[:'freeform_tags']
67
87
 
68
- if attributes[:'instanceId']
69
- self.instance_id = attributes[:'instanceId']
70
- end
88
+ self.instance_id = attributes[:'instanceId'] if attributes[:'instanceId']
71
89
 
72
90
  raise 'You cannot provide both :instanceId and :instance_id' if attributes.key?(:'instanceId') && attributes.key?(:'instance_id')
73
91
 
74
- if attributes[:'instance_id']
75
- self.instance_id = attributes[:'instance_id']
76
- end
92
+ self.instance_id = attributes[:'instance_id'] if attributes[:'instance_id']
77
93
 
78
- if attributes[:'publicKey']
79
- self.public_key = attributes[:'publicKey']
80
- end
94
+ self.public_key = attributes[:'publicKey'] if attributes[:'publicKey']
81
95
 
82
96
  raise 'You cannot provide both :publicKey and :public_key' if attributes.key?(:'publicKey') && attributes.key?(:'public_key')
83
97
 
84
- if attributes[:'public_key']
85
- self.public_key = attributes[:'public_key']
86
- end
87
-
98
+ self.public_key = attributes[:'public_key'] if attributes[:'public_key']
88
99
  end
100
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
101
+ # rubocop:enable Metrics/LineLength, Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
102
+
103
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
104
+
89
105
 
90
106
  # Checks equality by comparing each attribute.
91
- # @param [Object] other_object to be compared
92
- def ==(other_object)
93
- return true if self.equal?(other_object)
94
- self.class == other_object.class &&
95
- defined_tags == other_object.defined_tags &&
96
- freeform_tags == other_object.freeform_tags &&
97
- instance_id == other_object.instance_id &&
98
- public_key == other_object.public_key
107
+ # @param [Object] other the other object to be compared
108
+ def ==(other)
109
+ return true if equal?(other)
110
+ self.class == other.class &&
111
+ defined_tags == other.defined_tags &&
112
+ freeform_tags == other.freeform_tags &&
113
+ instance_id == other.instance_id &&
114
+ public_key == other.public_key
99
115
  end
116
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
100
117
 
101
118
  # @see the `==` method
102
- # @param [Object] other_object to be compared
103
- def eql?(other_object)
104
- self == other_object
119
+ # @param [Object] other the other object to be compared
120
+ def eql?(other)
121
+ self == other
105
122
  end
106
123
 
124
+ # rubocop:disable Metrics/AbcSize, Metrics/LineLength, Layout/EmptyLines
125
+
126
+
107
127
  # Calculates hash code according to all attributes.
108
128
  # @return [Fixnum] Hash code
109
129
  def hash
110
130
  [defined_tags, freeform_tags, instance_id, public_key].hash
111
131
  end
132
+ # rubocop:enable Metrics/AbcSize, Metrics/LineLength, Layout/EmptyLines
133
+
134
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
135
+
112
136
 
113
137
  # Builds the object from hash
114
138
  # @param [Hash] attributes Model attributes in the form of hash
@@ -120,15 +144,22 @@ module OCI
120
144
  # check to ensure the input is an array given that the the attribute
121
145
  # is documented as an array but the input is not
122
146
  if attributes[self.class.attribute_map[key]].is_a?(Array)
123
- self.public_method("#{key}=").call(attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
147
+ public_method("#{key}=").call(
148
+ attributes[self.class.attribute_map[key]]
149
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
150
+ )
124
151
  end
125
152
  elsif !attributes[self.class.attribute_map[key]].nil?
126
- self.public_method("#{key}=").call(OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
127
- end # or else data not found in attributes(hash), not an issue as the data can be optional
153
+ public_method("#{key}=").call(
154
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
155
+ )
156
+ end
157
+ # or else data not found in attributes(hash), not an issue as the data can be optional
128
158
  end
129
159
 
130
160
  self
131
161
  end
162
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
132
163
 
133
164
  # Returns the string representation of the object
134
165
  # @return [String] String presentation of the object
@@ -152,11 +183,11 @@ module OCI
152
183
 
153
184
  # Outputs non-array value in the form of hash
154
185
  # For object, use to_hash. Otherwise, just return the value
155
- # @param [Object] value Any valid value
186
+ # @param [Object] value Any valid value
156
187
  # @return [Hash] Returns the value in the form of hash
157
188
  def _to_hash(value)
158
189
  if value.is_a?(Array)
159
- value.compact.map{ |v| _to_hash(v) }
190
+ value.compact.map { |v| _to_hash(v) }
160
191
  elsif value.is_a?(Hash)
161
192
  {}.tap do |hash|
162
193
  value.each { |k, v| hash[k] = _to_hash(v) }
@@ -167,27 +198,6 @@ module OCI
167
198
  value
168
199
  end
169
200
  end
170
-
171
-
172
-
173
- # Attribute mapping from ruby-style variable name to JSON key.
174
- def self.attribute_map
175
- {
176
- :'defined_tags' => :'definedTags',
177
- :'freeform_tags' => :'freeformTags',
178
- :'instance_id' => :'instanceId',
179
- :'public_key' => :'publicKey'
180
- }
181
- end
182
-
183
- # Attribute type mapping.
184
- def self.swagger_types
185
- {
186
- :'defined_tags' => :'Hash<String, Hash<String, Object>>',
187
- :'freeform_tags' => :'Hash<String, String>',
188
- :'instance_id' => :'String',
189
- :'public_key' => :'String'
190
- }
191
- end
192
201
  end
193
202
  end
203
+ # rubocop:enable Lint/UnneededCopDisableDirective
@@ -2,8 +2,10 @@
2
2
 
3
3
  require 'date'
4
4
 
5
+ # rubocop:disable Lint/UnneededCopDisableDirective
5
6
  module OCI
6
- class Core::Models::CreateInternetGatewayDetails
7
+ # CreateInternetGatewayDetails model.
8
+ class Core::Models::CreateInternetGatewayDetails # rubocop:disable Metrics/LineLength
7
9
  # **[Required]** The OCID of the compartment to contain the Internet Gateway.
8
10
  # @return [String]
9
11
  attr_accessor :compartment_id
@@ -20,6 +22,33 @@ module OCI
20
22
  # @return [String]
21
23
  attr_accessor :vcn_id
22
24
 
25
+ # Attribute mapping from ruby-style variable name to JSON key.
26
+ def self.attribute_map
27
+ {
28
+ # rubocop:disable Style/SymbolLiteral
29
+ 'compartment_id': :'compartmentId',
30
+ 'display_name': :'displayName',
31
+ 'is_enabled': :'isEnabled',
32
+ 'vcn_id': :'vcnId'
33
+ # rubocop:enable Style/SymbolLiteral
34
+ }
35
+ end
36
+
37
+ # Attribute type mapping.
38
+ def self.swagger_types
39
+ {
40
+ # rubocop:disable Style/SymbolLiteral
41
+ 'compartment_id': :'String',
42
+ 'display_name': :'String',
43
+ 'is_enabled': :'BOOLEAN',
44
+ 'vcn_id': :'String'
45
+ # rubocop:enable Style/SymbolLiteral
46
+ }
47
+ end
48
+
49
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
50
+ # rubocop:disable Metrics/LineLength, Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
51
+
23
52
 
24
53
  # Initializes the object
25
54
  # @param [Hash] attributes Model attributes in the form of hash
@@ -31,72 +60,68 @@ module OCI
31
60
  return unless attributes.is_a?(Hash)
32
61
 
33
62
  # convert string to symbol for hash key
34
- attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
63
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
35
64
 
36
- if attributes[:'compartmentId']
37
- self.compartment_id = attributes[:'compartmentId']
38
- end
65
+ self.compartment_id = attributes[:'compartmentId'] if attributes[:'compartmentId']
39
66
 
40
67
  raise 'You cannot provide both :compartmentId and :compartment_id' if attributes.key?(:'compartmentId') && attributes.key?(:'compartment_id')
41
68
 
42
- if attributes[:'compartment_id']
43
- self.compartment_id = attributes[:'compartment_id']
44
- end
69
+ self.compartment_id = attributes[:'compartment_id'] if attributes[:'compartment_id']
45
70
 
46
- if attributes[:'displayName']
47
- self.display_name = attributes[:'displayName']
48
- end
71
+ self.display_name = attributes[:'displayName'] if attributes[:'displayName']
49
72
 
50
73
  raise 'You cannot provide both :displayName and :display_name' if attributes.key?(:'displayName') && attributes.key?(:'display_name')
51
74
 
52
- if attributes[:'display_name']
53
- self.display_name = attributes[:'display_name']
54
- end
75
+ self.display_name = attributes[:'display_name'] if attributes[:'display_name']
55
76
 
56
- unless attributes[:'isEnabled'].nil?
57
- self.is_enabled = attributes[:'isEnabled']
58
- end
77
+ self.is_enabled = attributes[:'isEnabled'] unless attributes[:'isEnabled'].nil?
59
78
 
60
79
  raise 'You cannot provide both :isEnabled and :is_enabled' if attributes.key?(:'isEnabled') && attributes.key?(:'is_enabled')
61
80
 
62
- unless attributes[:'is_enabled'].nil?
63
- self.is_enabled = attributes[:'is_enabled']
64
- end
81
+ self.is_enabled = attributes[:'is_enabled'] unless attributes[:'is_enabled'].nil?
65
82
 
66
- if attributes[:'vcnId']
67
- self.vcn_id = attributes[:'vcnId']
68
- end
83
+ self.vcn_id = attributes[:'vcnId'] if attributes[:'vcnId']
69
84
 
70
85
  raise 'You cannot provide both :vcnId and :vcn_id' if attributes.key?(:'vcnId') && attributes.key?(:'vcn_id')
71
86
 
72
- if attributes[:'vcn_id']
73
- self.vcn_id = attributes[:'vcn_id']
74
- end
75
-
87
+ self.vcn_id = attributes[:'vcn_id'] if attributes[:'vcn_id']
76
88
  end
89
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
90
+ # rubocop:enable Metrics/LineLength, Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
91
+
92
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
93
+
77
94
 
78
95
  # Checks equality by comparing each attribute.
79
- # @param [Object] other_object to be compared
80
- def ==(other_object)
81
- return true if self.equal?(other_object)
82
- self.class == other_object.class &&
83
- compartment_id == other_object.compartment_id &&
84
- display_name == other_object.display_name &&
85
- is_enabled == other_object.is_enabled &&
86
- vcn_id == other_object.vcn_id
96
+ # @param [Object] other the other object to be compared
97
+ def ==(other)
98
+ return true if equal?(other)
99
+ self.class == other.class &&
100
+ compartment_id == other.compartment_id &&
101
+ display_name == other.display_name &&
102
+ is_enabled == other.is_enabled &&
103
+ vcn_id == other.vcn_id
87
104
  end
105
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
88
106
 
89
107
  # @see the `==` method
90
- # @param [Object] other_object to be compared
91
- def eql?(other_object)
92
- self == other_object
108
+ # @param [Object] other the other object to be compared
109
+ def eql?(other)
110
+ self == other
93
111
  end
94
112
 
113
+ # rubocop:disable Metrics/AbcSize, Metrics/LineLength, Layout/EmptyLines
114
+
115
+
95
116
  # Calculates hash code according to all attributes.
96
117
  # @return [Fixnum] Hash code
97
118
  def hash
98
119
  [compartment_id, display_name, is_enabled, vcn_id].hash
99
120
  end
121
+ # rubocop:enable Metrics/AbcSize, Metrics/LineLength, Layout/EmptyLines
122
+
123
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
124
+
100
125
 
101
126
  # Builds the object from hash
102
127
  # @param [Hash] attributes Model attributes in the form of hash
@@ -108,15 +133,22 @@ module OCI
108
133
  # check to ensure the input is an array given that the the attribute
109
134
  # is documented as an array but the input is not
110
135
  if attributes[self.class.attribute_map[key]].is_a?(Array)
111
- self.public_method("#{key}=").call(attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
136
+ public_method("#{key}=").call(
137
+ attributes[self.class.attribute_map[key]]
138
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
139
+ )
112
140
  end
113
141
  elsif !attributes[self.class.attribute_map[key]].nil?
114
- self.public_method("#{key}=").call(OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
115
- end # or else data not found in attributes(hash), not an issue as the data can be optional
142
+ public_method("#{key}=").call(
143
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
144
+ )
145
+ end
146
+ # or else data not found in attributes(hash), not an issue as the data can be optional
116
147
  end
117
148
 
118
149
  self
119
150
  end
151
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
120
152
 
121
153
  # Returns the string representation of the object
122
154
  # @return [String] String presentation of the object
@@ -140,11 +172,11 @@ module OCI
140
172
 
141
173
  # Outputs non-array value in the form of hash
142
174
  # For object, use to_hash. Otherwise, just return the value
143
- # @param [Object] value Any valid value
175
+ # @param [Object] value Any valid value
144
176
  # @return [Hash] Returns the value in the form of hash
145
177
  def _to_hash(value)
146
178
  if value.is_a?(Array)
147
- value.compact.map{ |v| _to_hash(v) }
179
+ value.compact.map { |v| _to_hash(v) }
148
180
  elsif value.is_a?(Hash)
149
181
  {}.tap do |hash|
150
182
  value.each { |k, v| hash[k] = _to_hash(v) }
@@ -155,27 +187,6 @@ module OCI
155
187
  value
156
188
  end
157
189
  end
158
-
159
-
160
-
161
- # Attribute mapping from ruby-style variable name to JSON key.
162
- def self.attribute_map
163
- {
164
- :'compartment_id' => :'compartmentId',
165
- :'display_name' => :'displayName',
166
- :'is_enabled' => :'isEnabled',
167
- :'vcn_id' => :'vcnId'
168
- }
169
- end
170
-
171
- # Attribute type mapping.
172
- def self.swagger_types
173
- {
174
- :'compartment_id' => :'String',
175
- :'display_name' => :'String',
176
- :'is_enabled' => :'BOOLEAN',
177
- :'vcn_id' => :'String'
178
- }
179
- end
180
190
  end
181
191
  end
192
+ # rubocop:enable Lint/UnneededCopDisableDirective