oci 2.1.0 → 2.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (370) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +11 -3
  3. data/lib/oci.rb +6 -0
  4. data/lib/oci/api_client.rb +159 -134
  5. data/lib/oci/audit/audit.rb +3 -0
  6. data/lib/oci/audit/audit_client.rb +88 -40
  7. data/lib/oci/audit/audit_client_composite_operations.rb +64 -0
  8. data/lib/oci/audit/models/audit_event.rb +151 -200
  9. data/lib/oci/audit/models/configuration.rb +61 -38
  10. data/lib/oci/audit/models/update_configuration_details.rb +61 -38
  11. data/lib/oci/auth/util.rb +1 -1
  12. data/lib/oci/base_signer.rb +20 -29
  13. data/lib/oci/config.rb +9 -3
  14. data/lib/oci/core/blockstorage_client.rb +512 -269
  15. data/lib/oci/core/blockstorage_client_composite_operations.rb +342 -0
  16. data/lib/oci/core/compute_client.rb +959 -536
  17. data/lib/oci/core/compute_client_composite_operations.rb +738 -0
  18. data/lib/oci/core/core.rb +5 -0
  19. data/lib/oci/core/models/attach_boot_volume_details.rb +72 -57
  20. data/lib/oci/core/models/attach_i_scsi_volume_details.rb +76 -53
  21. data/lib/oci/core/models/attach_paravirtualized_volume_details.rb +69 -45
  22. data/lib/oci/core/models/attach_vnic_details.rb +79 -68
  23. data/lib/oci/core/models/attach_volume_details.rb +83 -74
  24. data/lib/oci/core/models/boot_volume.rb +119 -120
  25. data/lib/oci/core/models/boot_volume_attachment.rb +114 -111
  26. data/lib/oci/core/models/bulk_add_virtual_circuit_public_prefixes_details.rb +61 -38
  27. data/lib/oci/core/models/bulk_delete_virtual_circuit_public_prefixes_details.rb +61 -38
  28. data/lib/oci/core/models/capture_console_history_details.rb +81 -70
  29. data/lib/oci/core/models/connect_local_peering_gateways_details.rb +60 -38
  30. data/lib/oci/core/models/connect_remote_peering_connections_details.rb +67 -49
  31. data/lib/oci/core/models/console_history.rb +122 -123
  32. data/lib/oci/core/models/cpe.rb +82 -74
  33. data/lib/oci/core/models/create_cpe_details.rb +73 -58
  34. data/lib/oci/core/models/create_cross_connect_details.rb +98 -99
  35. data/lib/oci/core/models/create_cross_connect_group_details.rb +67 -48
  36. data/lib/oci/core/models/create_dhcp_details.rb +89 -84
  37. data/lib/oci/core/models/create_drg_attachment_details.rb +71 -56
  38. data/lib/oci/core/models/create_drg_details.rb +66 -47
  39. data/lib/oci/core/models/create_image_details.rb +108 -110
  40. data/lib/oci/core/models/create_instance_console_connection_details.rb +79 -69
  41. data/lib/oci/core/models/create_internet_gateway_details.rb +76 -65
  42. data/lib/oci/core/models/create_ip_sec_connection_details.rb +83 -76
  43. data/lib/oci/core/models/create_local_peering_gateway_details.rb +72 -57
  44. data/lib/oci/core/models/create_private_ip_details.rb +97 -94
  45. data/lib/oci/core/models/create_public_ip_details.rb +90 -77
  46. data/lib/oci/core/models/create_remote_peering_connection_details.rb +72 -57
  47. data/lib/oci/core/models/create_route_table_details.rb +90 -87
  48. data/lib/oci/core/models/create_security_list_details.rb +95 -96
  49. data/lib/oci/core/models/create_subnet_details.rb +133 -154
  50. data/lib/oci/core/models/create_vcn_details.rb +96 -93
  51. data/lib/oci/core/models/create_virtual_circuit_details.rb +136 -153
  52. data/lib/oci/core/models/create_virtual_circuit_public_prefix_details.rb +62 -39
  53. data/lib/oci/core/models/create_vnic_details.rb +99 -97
  54. data/lib/oci/core/models/create_volume_backup_details.rb +94 -85
  55. data/lib/oci/core/models/create_volume_backup_policy_assignment_details.rb +66 -47
  56. data/lib/oci/core/models/create_volume_details.rb +117 -130
  57. data/lib/oci/core/models/cross_connect.rb +120 -121
  58. data/lib/oci/core/models/cross_connect_group.rb +97 -82
  59. data/lib/oci/core/models/cross_connect_location.rb +65 -43
  60. data/lib/oci/core/models/cross_connect_mapping.rb +89 -81
  61. data/lib/oci/core/models/cross_connect_port_speed_shape.rb +68 -48
  62. data/lib/oci/core/models/cross_connect_status.rb +110 -87
  63. data/lib/oci/core/models/delete_virtual_circuit_public_prefix_details.rb +61 -38
  64. data/lib/oci/core/models/dhcp_dns_option.rb +85 -60
  65. data/lib/oci/core/models/dhcp_option.rb +62 -38
  66. data/lib/oci/core/models/dhcp_options.rb +119 -118
  67. data/lib/oci/core/models/dhcp_search_domain_option.rb +66 -44
  68. data/lib/oci/core/models/drg.rb +96 -81
  69. data/lib/oci/core/models/drg_attachment.rb +106 -99
  70. data/lib/oci/core/models/egress_security_rule.rb +89 -83
  71. data/lib/oci/core/models/export_image_details.rb +63 -41
  72. data/lib/oci/core/models/export_image_via_object_storage_tuple_details.rb +74 -59
  73. data/lib/oci/core/models/export_image_via_object_storage_uri_details.rb +65 -42
  74. data/lib/oci/core/models/fast_connect_provider_service.rb +155 -126
  75. data/lib/oci/core/models/get_public_ip_by_ip_address_details.rb +61 -39
  76. data/lib/oci/core/models/get_public_ip_by_private_ip_id_details.rb +61 -39
  77. data/lib/oci/core/models/i_scsi_volume_attachment.rb +117 -105
  78. data/lib/oci/core/models/icmp_options.rb +63 -41
  79. data/lib/oci/core/models/image.rb +170 -185
  80. data/lib/oci/core/models/image_source_details.rb +79 -60
  81. data/lib/oci/core/models/image_source_via_object_storage_tuple_details.rb +77 -62
  82. data/lib/oci/core/models/image_source_via_object_storage_uri_details.rb +67 -44
  83. data/lib/oci/core/models/ingress_security_rule.rb +89 -83
  84. data/lib/oci/core/models/instance.rb +190 -211
  85. data/lib/oci/core/models/instance_console_connection.rb +118 -117
  86. data/lib/oci/core/models/instance_credentials.rb +63 -41
  87. data/lib/oci/core/models/instance_source_details.rb +64 -41
  88. data/lib/oci/core/models/instance_source_via_boot_volume_details.rb +64 -41
  89. data/lib/oci/core/models/instance_source_via_image_details.rb +70 -51
  90. data/lib/oci/core/models/internet_gateway.rb +107 -100
  91. data/lib/oci/core/models/ip_sec_connection.rb +113 -110
  92. data/lib/oci/core/models/ip_sec_connection_device_config.rb +73 -59
  93. data/lib/oci/core/models/ip_sec_connection_device_status.rb +75 -61
  94. data/lib/oci/core/models/launch_instance_details.rb +163 -189
  95. data/lib/oci/core/models/launch_options.rb +130 -93
  96. data/lib/oci/core/models/letter_of_authority.rb +105 -100
  97. data/lib/oci/core/models/local_peering_gateway.rb +141 -140
  98. data/lib/oci/core/models/paravirtualized_volume_attachment.rb +83 -60
  99. data/lib/oci/core/models/peer_region_for_remote_peering.rb +61 -37
  100. data/lib/oci/core/models/port_range.rb +65 -42
  101. data/lib/oci/core/models/private_ip.rb +131 -151
  102. data/lib/oci/core/models/public_ip.rb +160 -149
  103. data/lib/oci/core/models/remote_peering_connection.rb +148 -151
  104. data/lib/oci/core/models/route_rule.rb +68 -50
  105. data/lib/oci/core/models/route_table.rb +120 -121
  106. data/lib/oci/core/models/security_list.rb +125 -130
  107. data/lib/oci/core/models/shape.rb +60 -36
  108. data/lib/oci/core/models/subnet.rb +183 -220
  109. data/lib/oci/core/models/tcp_options.rb +67 -49
  110. data/lib/oci/core/models/tunnel_config.rb +76 -62
  111. data/lib/oci/core/models/tunnel_status.rb +94 -77
  112. data/lib/oci/core/models/udp_options.rb +67 -49
  113. data/lib/oci/core/models/update_boot_volume_details.rb +62 -39
  114. data/lib/oci/core/models/update_console_history_details.rb +76 -61
  115. data/lib/oci/core/models/update_cpe_details.rb +62 -39
  116. data/lib/oci/core/models/update_cross_connect_details.rb +68 -50
  117. data/lib/oci/core/models/update_cross_connect_group_details.rb +62 -39
  118. data/lib/oci/core/models/update_dhcp_details.rb +80 -67
  119. data/lib/oci/core/models/update_drg_attachment_details.rb +62 -39
  120. data/lib/oci/core/models/update_drg_details.rb +62 -39
  121. data/lib/oci/core/models/update_image_details.rb +77 -62
  122. data/lib/oci/core/models/update_instance_details.rb +77 -62
  123. data/lib/oci/core/models/update_internet_gateway_details.rb +67 -48
  124. data/lib/oci/core/models/update_ip_sec_connection_details.rb +62 -39
  125. data/lib/oci/core/models/update_local_peering_gateway_details.rb +62 -39
  126. data/lib/oci/core/models/update_private_ip_details.rb +90 -83
  127. data/lib/oci/core/models/update_public_ip_details.rb +68 -49
  128. data/lib/oci/core/models/update_remote_peering_connection_details.rb +62 -39
  129. data/lib/oci/core/models/update_route_table_details.rb +81 -70
  130. data/lib/oci/core/models/update_security_list_details.rb +86 -79
  131. data/lib/oci/core/models/update_subnet_details.rb +76 -61
  132. data/lib/oci/core/models/update_vcn_details.rb +76 -61
  133. data/lib/oci/core/models/update_virtual_circuit_details.rb +114 -115
  134. data/lib/oci/core/models/update_vnic_details.rb +75 -60
  135. data/lib/oci/core/models/update_volume_backup_details.rb +76 -61
  136. data/lib/oci/core/models/update_volume_details.rb +76 -61
  137. data/lib/oci/core/models/vcn.rb +150 -167
  138. data/lib/oci/core/models/virtual_circuit.rb +254 -269
  139. data/lib/oci/core/models/virtual_circuit_bandwidth_shape.rb +68 -48
  140. data/lib/oci/core/models/virtual_circuit_public_prefix.rb +79 -54
  141. data/lib/oci/core/models/vnic.rb +149 -166
  142. data/lib/oci/core/models/vnic_attachment.rb +132 -141
  143. data/lib/oci/core/models/volume.rb +138 -151
  144. data/lib/oci/core/models/volume_attachment.rb +126 -131
  145. data/lib/oci/core/models/volume_backup.rb +185 -200
  146. data/lib/oci/core/models/volume_backup_policy.rb +75 -61
  147. data/lib/oci/core/models/volume_backup_policy_assignment.rb +75 -63
  148. data/lib/oci/core/models/volume_backup_schedule.rb +101 -76
  149. data/lib/oci/core/models/volume_source_details.rb +62 -37
  150. data/lib/oci/core/models/volume_source_from_volume_backup_details.rb +62 -38
  151. data/lib/oci/core/models/volume_source_from_volume_details.rb +62 -38
  152. data/lib/oci/core/virtual_network_client.rb +2683 -1457
  153. data/lib/oci/core/virtual_network_client_composite_operations.rb +1849 -0
  154. data/lib/oci/database/database.rb +3 -0
  155. data/lib/oci/database/database_client.rb +894 -454
  156. data/lib/oci/database/database_client_composite_operations.rb +462 -0
  157. data/lib/oci/database/models/backup.rb +131 -128
  158. data/lib/oci/database/models/backup_summary.rb +131 -128
  159. data/lib/oci/database/models/create_backup_details.rb +66 -47
  160. data/lib/oci/database/models/create_data_guard_association_details.rb +112 -102
  161. data/lib/oci/database/models/create_data_guard_association_to_existing_db_system_details.rb +73 -51
  162. data/lib/oci/database/models/create_database_details.rb +140 -105
  163. data/lib/oci/database/models/create_database_from_backup_details.rb +71 -56
  164. data/lib/oci/database/models/create_db_home_details.rb +70 -53
  165. data/lib/oci/database/models/create_db_home_with_db_system_id_base.rb +83 -67
  166. data/lib/oci/database/models/create_db_home_with_db_system_id_details.rb +74 -53
  167. data/lib/oci/database/models/create_db_home_with_db_system_id_from_backup_details.rb +69 -44
  168. data/lib/oci/database/models/data_guard_association.rb +205 -204
  169. data/lib/oci/database/models/data_guard_association_summary.rb +205 -204
  170. data/lib/oci/database/models/database.rb +175 -156
  171. data/lib/oci/database/models/database_summary.rb +175 -156
  172. data/lib/oci/database/models/db_backup_config.rb +60 -38
  173. data/lib/oci/database/models/db_home.rb +110 -107
  174. data/lib/oci/database/models/db_home_summary.rb +110 -107
  175. data/lib/oci/database/models/db_node.rb +113 -108
  176. data/lib/oci/database/models/db_node_summary.rb +113 -108
  177. data/lib/oci/database/models/db_system.rb +299 -314
  178. data/lib/oci/database/models/db_system_shape_summary.rb +88 -86
  179. data/lib/oci/database/models/db_system_summary.rb +299 -314
  180. data/lib/oci/database/models/db_version_summary.rb +64 -44
  181. data/lib/oci/database/models/failover_data_guard_association_details.rb +60 -38
  182. data/lib/oci/database/models/launch_db_system_details.rb +231 -234
  183. data/lib/oci/database/models/patch.rb +136 -113
  184. data/lib/oci/database/models/patch_details.rb +73 -53
  185. data/lib/oci/database/models/patch_history_entry.rb +114 -99
  186. data/lib/oci/database/models/patch_history_entry_summary.rb +114 -99
  187. data/lib/oci/database/models/patch_summary.rb +136 -113
  188. data/lib/oci/database/models/reinstate_data_guard_association_details.rb +60 -38
  189. data/lib/oci/database/models/restore_database_details.rb +72 -53
  190. data/lib/oci/database/models/switchover_data_guard_association_details.rb +60 -38
  191. data/lib/oci/database/models/update_database_details.rb +97 -38
  192. data/lib/oci/database/models/update_db_home_details.rb +60 -38
  193. data/lib/oci/database/models/update_db_system_details.rb +112 -64
  194. data/lib/oci/dns/dns.rb +3 -0
  195. data/lib/oci/dns/dns_client.rb +489 -302
  196. data/lib/oci/dns/dns_client_composite_operations.rb +143 -0
  197. data/lib/oci/dns/models/create_zone_details.rb +84 -72
  198. data/lib/oci/dns/models/external_master.rb +67 -47
  199. data/lib/oci/dns/models/patch_domain_records_details.rb +60 -35
  200. data/lib/oci/dns/models/patch_rr_set_details.rb +60 -35
  201. data/lib/oci/dns/models/patch_zone_records_details.rb +60 -35
  202. data/lib/oci/dns/models/record.rb +92 -86
  203. data/lib/oci/dns/models/record_collection.rb +59 -35
  204. data/lib/oci/dns/models/record_details.rb +92 -86
  205. data/lib/oci/dns/models/record_operation.rb +113 -110
  206. data/lib/oci/dns/models/rr_set.rb +59 -35
  207. data/lib/oci/dns/models/sort_order.rb +0 -2
  208. data/lib/oci/dns/models/tsig.rb +68 -48
  209. data/lib/oci/dns/models/update_domain_records_details.rb +60 -35
  210. data/lib/oci/dns/models/update_rr_set_details.rb +60 -35
  211. data/lib/oci/dns/models/update_zone_details.rb +60 -38
  212. data/lib/oci/dns/models/update_zone_records_details.rb +60 -35
  213. data/lib/oci/dns/models/zone.rb +133 -126
  214. data/lib/oci/dns/models/zone_summary.rb +108 -99
  215. data/lib/oci/email/email.rb +3 -0
  216. data/lib/oci/email/email_client.rb +223 -112
  217. data/lib/oci/email/email_client_composite_operations.rb +103 -0
  218. data/lib/oci/email/models/create_sender_details.rb +65 -47
  219. data/lib/oci/email/models/create_suppression_details.rb +66 -48
  220. data/lib/oci/email/models/sender.rb +97 -84
  221. data/lib/oci/email/models/sender_summary.rb +89 -70
  222. data/lib/oci/email/models/suppression.rb +90 -69
  223. data/lib/oci/email/models/suppression_summary.rb +90 -69
  224. data/lib/oci/errors.rb +16 -0
  225. data/lib/oci/file_storage/file_storage.rb +3 -0
  226. data/lib/oci/file_storage/file_storage_client.rb +587 -333
  227. data/lib/oci/file_storage/file_storage_client_composite_operations.rb +460 -0
  228. data/lib/oci/file_storage/models/create_export_details.rb +73 -56
  229. data/lib/oci/file_storage/models/create_file_system_details.rb +75 -60
  230. data/lib/oci/file_storage/models/create_mount_target_details.rb +96 -93
  231. data/lib/oci/file_storage/models/create_snapshot_details.rb +68 -47
  232. data/lib/oci/file_storage/models/export.rb +102 -89
  233. data/lib/oci/file_storage/models/export_set.rb +121 -122
  234. data/lib/oci/file_storage/models/export_set_summary.rb +109 -102
  235. data/lib/oci/file_storage/models/export_summary.rb +102 -89
  236. data/lib/oci/file_storage/models/file_system.rb +110 -103
  237. data/lib/oci/file_storage/models/file_system_summary.rb +110 -103
  238. data/lib/oci/file_storage/models/mount_target.rb +126 -131
  239. data/lib/oci/file_storage/models/mount_target_summary.rb +121 -122
  240. data/lib/oci/file_storage/models/snapshot.rb +98 -81
  241. data/lib/oci/file_storage/models/snapshot_summary.rb +98 -81
  242. data/lib/oci/file_storage/models/update_export_set_details.rb +75 -60
  243. data/lib/oci/file_storage/models/update_file_system_details.rb +63 -40
  244. data/lib/oci/file_storage/models/update_mount_target_details.rb +63 -40
  245. data/lib/oci/identity/identity.rb +3 -0
  246. data/lib/oci/identity/identity_client.rb +1671 -872
  247. data/lib/oci/identity/identity_client_composite_operations.rb +818 -0
  248. data/lib/oci/identity/models/add_user_to_group_details.rb +66 -47
  249. data/lib/oci/identity/models/api_key.rb +108 -101
  250. data/lib/oci/identity/models/availability_domain.rb +64 -44
  251. data/lib/oci/identity/models/compartment.rb +118 -115
  252. data/lib/oci/identity/models/create_api_key_details.rb +60 -35
  253. data/lib/oci/identity/models/create_compartment_details.rb +83 -72
  254. data/lib/oci/identity/models/create_customer_secret_key_details.rb +62 -39
  255. data/lib/oci/identity/models/create_dynamic_group_details.rb +75 -61
  256. data/lib/oci/identity/models/create_group_details.rb +82 -71
  257. data/lib/oci/identity/models/create_identity_provider_details.rb +115 -110
  258. data/lib/oci/identity/models/create_idp_group_mapping_details.rb +67 -48
  259. data/lib/oci/identity/models/create_policy_details.rb +94 -89
  260. data/lib/oci/identity/models/create_region_subscription_details.rb +64 -41
  261. data/lib/oci/identity/models/create_saml2_identity_provider_details.rb +88 -67
  262. data/lib/oci/identity/models/create_smtp_credential_details.rb +61 -36
  263. data/lib/oci/identity/models/create_swift_password_details.rb +61 -36
  264. data/lib/oci/identity/models/create_tag_details.rb +77 -62
  265. data/lib/oci/identity/models/create_tag_namespace_details.rb +82 -71
  266. data/lib/oci/identity/models/create_user_details.rb +82 -71
  267. data/lib/oci/identity/models/customer_secret_key.rb +114 -109
  268. data/lib/oci/identity/models/customer_secret_key_summary.rb +109 -102
  269. data/lib/oci/identity/models/dynamic_group.rb +112 -105
  270. data/lib/oci/identity/models/group.rb +118 -115
  271. data/lib/oci/identity/models/identity_provider.rb +135 -138
  272. data/lib/oci/identity/models/idp_group_mapping.rb +112 -109
  273. data/lib/oci/identity/models/policy.rb +129 -132
  274. data/lib/oci/identity/models/region.rb +67 -45
  275. data/lib/oci/identity/models/region_subscription.rb +90 -71
  276. data/lib/oci/identity/models/saml2_identity_provider.rb +106 -92
  277. data/lib/oci/identity/models/smtp_credential.rb +118 -113
  278. data/lib/oci/identity/models/smtp_credential_summary.rb +113 -106
  279. data/lib/oci/identity/models/swift_password.rb +113 -106
  280. data/lib/oci/identity/models/tag.rb +108 -116
  281. data/lib/oci/identity/models/tag_namespace.rb +97 -97
  282. data/lib/oci/identity/models/tag_namespace_summary.rb +97 -97
  283. data/lib/oci/identity/models/tag_summary.rb +97 -97
  284. data/lib/oci/identity/models/tenancy.rb +86 -78
  285. data/lib/oci/identity/models/ui_password.rb +97 -82
  286. data/lib/oci/identity/models/update_compartment_details.rb +77 -62
  287. data/lib/oci/identity/models/update_customer_secret_key_details.rb +61 -38
  288. data/lib/oci/identity/models/update_dynamic_group_details.rb +65 -45
  289. data/lib/oci/identity/models/update_group_details.rb +72 -55
  290. data/lib/oci/identity/models/update_identity_provider_details.rb +89 -74
  291. data/lib/oci/identity/models/update_idp_group_mapping_details.rb +66 -47
  292. data/lib/oci/identity/models/update_policy_details.rb +83 -72
  293. data/lib/oci/identity/models/update_saml2_identity_provider_details.rb +79 -58
  294. data/lib/oci/identity/models/update_smtp_credential_details.rb +60 -35
  295. data/lib/oci/identity/models/update_state_details.rb +61 -36
  296. data/lib/oci/identity/models/update_swift_password_details.rb +60 -35
  297. data/lib/oci/identity/models/update_tag_details.rb +78 -65
  298. data/lib/oci/identity/models/update_tag_namespace_details.rb +78 -65
  299. data/lib/oci/identity/models/update_user_details.rb +72 -55
  300. data/lib/oci/identity/models/user.rb +120 -117
  301. data/lib/oci/identity/models/user_group_membership.rb +107 -100
  302. data/lib/oci/load_balancer/load_balancer.rb +3 -0
  303. data/lib/oci/load_balancer/load_balancer_client.rb +918 -500
  304. data/lib/oci/load_balancer/load_balancer_client_composite_operations.rb +795 -0
  305. data/lib/oci/load_balancer/models/backend.rb +101 -94
  306. data/lib/oci/load_balancer/models/backend_details.rb +95 -86
  307. data/lib/oci/load_balancer/models/backend_health.rb +84 -57
  308. data/lib/oci/load_balancer/models/backend_set.rb +87 -79
  309. data/lib/oci/load_balancer/models/backend_set_details.rb +80 -70
  310. data/lib/oci/load_balancer/models/backend_set_health.rb +106 -91
  311. data/lib/oci/load_balancer/models/certificate.rb +78 -64
  312. data/lib/oci/load_balancer/models/certificate_details.rb +92 -84
  313. data/lib/oci/load_balancer/models/connection_configuration.rb +73 -51
  314. data/lib/oci/load_balancer/models/create_backend_details.rb +95 -86
  315. data/lib/oci/load_balancer/models/create_backend_set_details.rb +87 -79
  316. data/lib/oci/load_balancer/models/create_certificate_details.rb +92 -84
  317. data/lib/oci/load_balancer/models/create_listener_details.rb +97 -93
  318. data/lib/oci/load_balancer/models/create_load_balancer_details.rb +109 -117
  319. data/lib/oci/load_balancer/models/create_path_route_set_details.rb +66 -46
  320. data/lib/oci/load_balancer/models/health_check_result.rb +98 -79
  321. data/lib/oci/load_balancer/models/health_checker.rb +108 -108
  322. data/lib/oci/load_balancer/models/health_checker_details.rb +108 -108
  323. data/lib/oci/load_balancer/models/ip_address.rb +70 -52
  324. data/lib/oci/load_balancer/models/listener.rb +97 -93
  325. data/lib/oci/load_balancer/models/listener_details.rb +91 -85
  326. data/lib/oci/load_balancer/models/load_balancer.rb +144 -157
  327. data/lib/oci/load_balancer/models/load_balancer_health.rb +110 -95
  328. data/lib/oci/load_balancer/models/load_balancer_health_summary.rb +88 -61
  329. data/lib/oci/load_balancer/models/load_balancer_policy.rb +59 -35
  330. data/lib/oci/load_balancer/models/load_balancer_protocol.rb +59 -35
  331. data/lib/oci/load_balancer/models/load_balancer_shape.rb +59 -35
  332. data/lib/oci/load_balancer/models/path_match_type.rb +80 -51
  333. data/lib/oci/load_balancer/models/path_route.rb +76 -60
  334. data/lib/oci/load_balancer/models/path_route_set.rb +66 -46
  335. data/lib/oci/load_balancer/models/path_route_set_details.rb +60 -38
  336. data/lib/oci/load_balancer/models/session_persistence_configuration_details.rb +71 -55
  337. data/lib/oci/load_balancer/models/ssl_configuration.rb +78 -66
  338. data/lib/oci/load_balancer/models/ssl_configuration_details.rb +78 -66
  339. data/lib/oci/load_balancer/models/update_backend_details.rb +82 -67
  340. data/lib/oci/load_balancer/models/update_backend_set_details.rb +80 -70
  341. data/lib/oci/load_balancer/models/update_health_checker_details.rb +108 -108
  342. data/lib/oci/load_balancer/models/update_listener_details.rb +91 -85
  343. data/lib/oci/load_balancer/models/update_load_balancer_details.rb +62 -40
  344. data/lib/oci/load_balancer/models/update_path_route_set_details.rb +60 -38
  345. data/lib/oci/load_balancer/models/work_request.rb +115 -108
  346. data/lib/oci/load_balancer/models/work_request_error.rb +76 -49
  347. data/lib/oci/object_storage/models/bucket.rb +136 -133
  348. data/lib/oci/object_storage/models/bucket_summary.rb +95 -95
  349. data/lib/oci/object_storage/models/commit_multipart_upload_details.rb +66 -48
  350. data/lib/oci/object_storage/models/commit_multipart_upload_part_details.rb +64 -44
  351. data/lib/oci/object_storage/models/create_bucket_details.rb +113 -111
  352. data/lib/oci/object_storage/models/create_multipart_upload_details.rb +80 -70
  353. data/lib/oci/object_storage/models/create_preauthenticated_request_details.rb +87 -74
  354. data/lib/oci/object_storage/models/list_objects.rb +71 -53
  355. data/lib/oci/object_storage/models/multipart_upload.rb +77 -65
  356. data/lib/oci/object_storage/models/multipart_upload_part_summary.rb +72 -56
  357. data/lib/oci/object_storage/models/namespace_metadata.rb +69 -53
  358. data/lib/oci/object_storage/models/object_summary.rb +73 -57
  359. data/lib/oci/object_storage/models/preauthenticated_request.rb +105 -96
  360. data/lib/oci/object_storage/models/preauthenticated_request_summary.rb +99 -86
  361. data/lib/oci/object_storage/models/rename_object_details.rb +80 -74
  362. data/lib/oci/object_storage/models/restore_objects_details.rb +66 -45
  363. data/lib/oci/object_storage/models/update_bucket_details.rb +101 -97
  364. data/lib/oci/object_storage/models/update_namespace_metadata_details.rb +65 -47
  365. data/lib/oci/object_storage/object_storage.rb +2 -0
  366. data/lib/oci/object_storage/object_storage_client.rb +737 -435
  367. data/lib/oci/object_storage/object_storage_client_composite_operations.rb +24 -0
  368. data/lib/oci/signer.rb +20 -7
  369. data/lib/oci/version.rb +1 -1
  370. metadata +13 -2
@@ -2,10 +2,12 @@
2
2
 
3
3
  require 'date'
4
4
 
5
+ # rubocop:disable Lint/UnneededCopDisableDirective
5
6
  module OCI
6
- class Identity::Models::CreateTagDetails
7
+ # CreateTagDetails model.
8
+ class Identity::Models::CreateTagDetails # rubocop:disable Metrics/LineLength
7
9
  # **[Required]** The name you assign to the tag during creation. The name must be unique within the tag namespace and cannot be changed.
8
- #
10
+ #
9
11
  # @return [String]
10
12
  attr_accessor :name
11
13
 
@@ -16,17 +18,44 @@ module OCI
16
18
  # Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
17
19
  # For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm).
18
20
  # Example: `{\"Department\": \"Finance\"}`
19
- #
21
+ #
20
22
  # @return [Hash<String, String>]
21
23
  attr_accessor :freeform_tags
22
24
 
23
25
  # Defined tags for this resource. Each key is predefined and scoped to a namespace.
24
26
  # For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm).
25
27
  # Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
26
- #
28
+ #
27
29
  # @return [Hash<String, Hash<String, Object>>]
28
30
  attr_accessor :defined_tags
29
31
 
32
+ # Attribute mapping from ruby-style variable name to JSON key.
33
+ def self.attribute_map
34
+ {
35
+ # rubocop:disable Style/SymbolLiteral
36
+ 'name': :'name',
37
+ 'description': :'description',
38
+ 'freeform_tags': :'freeformTags',
39
+ 'defined_tags': :'definedTags'
40
+ # rubocop:enable Style/SymbolLiteral
41
+ }
42
+ end
43
+
44
+ # Attribute type mapping.
45
+ def self.swagger_types
46
+ {
47
+ # rubocop:disable Style/SymbolLiteral
48
+ 'name': :'String',
49
+ 'description': :'String',
50
+ 'freeform_tags': :'Hash<String, String>',
51
+ 'defined_tags': :'Hash<String, Hash<String, Object>>'
52
+ # rubocop:enable Style/SymbolLiteral
53
+ }
54
+ end
55
+
56
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
57
+ # rubocop:disable Metrics/LineLength, Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
58
+
30
59
 
31
60
  # Initializes the object
32
61
  # @param [Hash] attributes Model attributes in the form of hash
@@ -38,60 +67,60 @@ module OCI
38
67
  return unless attributes.is_a?(Hash)
39
68
 
40
69
  # convert string to symbol for hash key
41
- attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
70
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
42
71
 
43
- if attributes[:'name']
44
- self.name = attributes[:'name']
45
- end
72
+ self.name = attributes[:'name'] if attributes[:'name']
46
73
 
47
- if attributes[:'description']
48
- self.description = attributes[:'description']
49
- end
74
+ self.description = attributes[:'description'] if attributes[:'description']
50
75
 
51
- if attributes[:'freeformTags']
52
- self.freeform_tags = attributes[:'freeformTags']
53
- end
76
+ self.freeform_tags = attributes[:'freeformTags'] if attributes[:'freeformTags']
54
77
 
55
78
  raise 'You cannot provide both :freeformTags and :freeform_tags' if attributes.key?(:'freeformTags') && attributes.key?(:'freeform_tags')
56
79
 
57
- if attributes[:'freeform_tags']
58
- self.freeform_tags = attributes[:'freeform_tags']
59
- end
80
+ self.freeform_tags = attributes[:'freeform_tags'] if attributes[:'freeform_tags']
60
81
 
61
- if attributes[:'definedTags']
62
- self.defined_tags = attributes[:'definedTags']
63
- end
82
+ self.defined_tags = attributes[:'definedTags'] if attributes[:'definedTags']
64
83
 
65
84
  raise 'You cannot provide both :definedTags and :defined_tags' if attributes.key?(:'definedTags') && attributes.key?(:'defined_tags')
66
85
 
67
- if attributes[:'defined_tags']
68
- self.defined_tags = attributes[:'defined_tags']
69
- end
70
-
86
+ self.defined_tags = attributes[:'defined_tags'] if attributes[:'defined_tags']
71
87
  end
88
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
89
+ # rubocop:enable Metrics/LineLength, Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
90
+
91
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
92
+
72
93
 
73
94
  # Checks equality by comparing each attribute.
74
- # @param [Object] other_object to be compared
75
- def ==(other_object)
76
- return true if self.equal?(other_object)
77
- self.class == other_object.class &&
78
- name == other_object.name &&
79
- description == other_object.description &&
80
- freeform_tags == other_object.freeform_tags &&
81
- defined_tags == other_object.defined_tags
95
+ # @param [Object] other the other object to be compared
96
+ def ==(other)
97
+ return true if equal?(other)
98
+ self.class == other.class &&
99
+ name == other.name &&
100
+ description == other.description &&
101
+ freeform_tags == other.freeform_tags &&
102
+ defined_tags == other.defined_tags
82
103
  end
104
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
83
105
 
84
106
  # @see the `==` method
85
- # @param [Object] other_object to be compared
86
- def eql?(other_object)
87
- self == other_object
107
+ # @param [Object] other the other object to be compared
108
+ def eql?(other)
109
+ self == other
88
110
  end
89
111
 
112
+ # rubocop:disable Metrics/AbcSize, Metrics/LineLength, Layout/EmptyLines
113
+
114
+
90
115
  # Calculates hash code according to all attributes.
91
116
  # @return [Fixnum] Hash code
92
117
  def hash
93
118
  [name, description, freeform_tags, defined_tags].hash
94
119
  end
120
+ # rubocop:enable Metrics/AbcSize, Metrics/LineLength, Layout/EmptyLines
121
+
122
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
123
+
95
124
 
96
125
  # Builds the object from hash
97
126
  # @param [Hash] attributes Model attributes in the form of hash
@@ -103,15 +132,22 @@ module OCI
103
132
  # check to ensure the input is an array given that the the attribute
104
133
  # is documented as an array but the input is not
105
134
  if attributes[self.class.attribute_map[key]].is_a?(Array)
106
- self.public_method("#{key}=").call(attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
135
+ public_method("#{key}=").call(
136
+ attributes[self.class.attribute_map[key]]
137
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
138
+ )
107
139
  end
108
140
  elsif !attributes[self.class.attribute_map[key]].nil?
109
- self.public_method("#{key}=").call(OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
110
- end # or else data not found in attributes(hash), not an issue as the data can be optional
141
+ public_method("#{key}=").call(
142
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
143
+ )
144
+ end
145
+ # or else data not found in attributes(hash), not an issue as the data can be optional
111
146
  end
112
147
 
113
148
  self
114
149
  end
150
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
115
151
 
116
152
  # Returns the string representation of the object
117
153
  # @return [String] String presentation of the object
@@ -135,11 +171,11 @@ module OCI
135
171
 
136
172
  # Outputs non-array value in the form of hash
137
173
  # For object, use to_hash. Otherwise, just return the value
138
- # @param [Object] value Any valid value
174
+ # @param [Object] value Any valid value
139
175
  # @return [Hash] Returns the value in the form of hash
140
176
  def _to_hash(value)
141
177
  if value.is_a?(Array)
142
- value.compact.map{ |v| _to_hash(v) }
178
+ value.compact.map { |v| _to_hash(v) }
143
179
  elsif value.is_a?(Hash)
144
180
  {}.tap do |hash|
145
181
  value.each { |k, v| hash[k] = _to_hash(v) }
@@ -150,27 +186,6 @@ module OCI
150
186
  value
151
187
  end
152
188
  end
153
-
154
-
155
-
156
- # Attribute mapping from ruby-style variable name to JSON key.
157
- def self.attribute_map
158
- {
159
- :'name' => :'name',
160
- :'description' => :'description',
161
- :'freeform_tags' => :'freeformTags',
162
- :'defined_tags' => :'definedTags'
163
- }
164
- end
165
-
166
- # Attribute type mapping.
167
- def self.swagger_types
168
- {
169
- :'name' => :'String',
170
- :'description' => :'String',
171
- :'freeform_tags' => :'Hash<String, String>',
172
- :'defined_tags' => :'Hash<String, Hash<String, Object>>'
173
- }
174
- end
175
189
  end
176
190
  end
191
+ # rubocop:enable Lint/UnneededCopDisableDirective
@@ -2,14 +2,16 @@
2
2
 
3
3
  require 'date'
4
4
 
5
+ # rubocop:disable Lint/UnneededCopDisableDirective
5
6
  module OCI
6
- class Identity::Models::CreateTagNamespaceDetails
7
+ # CreateTagNamespaceDetails model.
8
+ class Identity::Models::CreateTagNamespaceDetails # rubocop:disable Metrics/LineLength
7
9
  # **[Required]** The OCID of the tenancy containing the tag namespace.
8
10
  # @return [String]
9
11
  attr_accessor :compartment_id
10
12
 
11
13
  # **[Required]** The name you assign to the tag namespace during creation. It must be unique across all tag namespaces in the tenancy and cannot be changed.
12
- #
14
+ #
13
15
  # @return [String]
14
16
  attr_accessor :name
15
17
 
@@ -20,17 +22,46 @@ module OCI
20
22
  # Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
21
23
  # For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm).
22
24
  # Example: `{\"Department\": \"Finance\"}`
23
- #
25
+ #
24
26
  # @return [Hash<String, String>]
25
27
  attr_accessor :freeform_tags
26
28
 
27
29
  # Defined tags for this resource. Each key is predefined and scoped to a namespace.
28
30
  # For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm).
29
31
  # Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
30
- #
32
+ #
31
33
  # @return [Hash<String, Hash<String, Object>>]
32
34
  attr_accessor :defined_tags
33
35
 
36
+ # Attribute mapping from ruby-style variable name to JSON key.
37
+ def self.attribute_map
38
+ {
39
+ # rubocop:disable Style/SymbolLiteral
40
+ 'compartment_id': :'compartmentId',
41
+ 'name': :'name',
42
+ 'description': :'description',
43
+ 'freeform_tags': :'freeformTags',
44
+ 'defined_tags': :'definedTags'
45
+ # rubocop:enable Style/SymbolLiteral
46
+ }
47
+ end
48
+
49
+ # Attribute type mapping.
50
+ def self.swagger_types
51
+ {
52
+ # rubocop:disable Style/SymbolLiteral
53
+ 'compartment_id': :'String',
54
+ 'name': :'String',
55
+ 'description': :'String',
56
+ 'freeform_tags': :'Hash<String, String>',
57
+ 'defined_tags': :'Hash<String, Hash<String, Object>>'
58
+ # rubocop:enable Style/SymbolLiteral
59
+ }
60
+ end
61
+
62
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
63
+ # rubocop:disable Metrics/LineLength, Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
64
+
34
65
 
35
66
  # Initializes the object
36
67
  # @param [Hash] attributes Model attributes in the form of hash
@@ -43,71 +74,67 @@ module OCI
43
74
  return unless attributes.is_a?(Hash)
44
75
 
45
76
  # convert string to symbol for hash key
46
- attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
77
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
47
78
 
48
- if attributes[:'compartmentId']
49
- self.compartment_id = attributes[:'compartmentId']
50
- end
79
+ self.compartment_id = attributes[:'compartmentId'] if attributes[:'compartmentId']
51
80
 
52
81
  raise 'You cannot provide both :compartmentId and :compartment_id' if attributes.key?(:'compartmentId') && attributes.key?(:'compartment_id')
53
82
 
54
- if attributes[:'compartment_id']
55
- self.compartment_id = attributes[:'compartment_id']
56
- end
83
+ self.compartment_id = attributes[:'compartment_id'] if attributes[:'compartment_id']
57
84
 
58
- if attributes[:'name']
59
- self.name = attributes[:'name']
60
- end
85
+ self.name = attributes[:'name'] if attributes[:'name']
61
86
 
62
- if attributes[:'description']
63
- self.description = attributes[:'description']
64
- end
87
+ self.description = attributes[:'description'] if attributes[:'description']
65
88
 
66
- if attributes[:'freeformTags']
67
- self.freeform_tags = attributes[:'freeformTags']
68
- end
89
+ self.freeform_tags = attributes[:'freeformTags'] if attributes[:'freeformTags']
69
90
 
70
91
  raise 'You cannot provide both :freeformTags and :freeform_tags' if attributes.key?(:'freeformTags') && attributes.key?(:'freeform_tags')
71
92
 
72
- if attributes[:'freeform_tags']
73
- self.freeform_tags = attributes[:'freeform_tags']
74
- end
93
+ self.freeform_tags = attributes[:'freeform_tags'] if attributes[:'freeform_tags']
75
94
 
76
- if attributes[:'definedTags']
77
- self.defined_tags = attributes[:'definedTags']
78
- end
95
+ self.defined_tags = attributes[:'definedTags'] if attributes[:'definedTags']
79
96
 
80
97
  raise 'You cannot provide both :definedTags and :defined_tags' if attributes.key?(:'definedTags') && attributes.key?(:'defined_tags')
81
98
 
82
- if attributes[:'defined_tags']
83
- self.defined_tags = attributes[:'defined_tags']
84
- end
85
-
99
+ self.defined_tags = attributes[:'defined_tags'] if attributes[:'defined_tags']
86
100
  end
101
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
102
+ # rubocop:enable Metrics/LineLength, Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
103
+
104
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
105
+
87
106
 
88
107
  # Checks equality by comparing each attribute.
89
- # @param [Object] other_object to be compared
90
- def ==(other_object)
91
- return true if self.equal?(other_object)
92
- self.class == other_object.class &&
93
- compartment_id == other_object.compartment_id &&
94
- name == other_object.name &&
95
- description == other_object.description &&
96
- freeform_tags == other_object.freeform_tags &&
97
- defined_tags == other_object.defined_tags
108
+ # @param [Object] other the other object to be compared
109
+ def ==(other)
110
+ return true if equal?(other)
111
+ self.class == other.class &&
112
+ compartment_id == other.compartment_id &&
113
+ name == other.name &&
114
+ description == other.description &&
115
+ freeform_tags == other.freeform_tags &&
116
+ defined_tags == other.defined_tags
98
117
  end
118
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
99
119
 
100
120
  # @see the `==` method
101
- # @param [Object] other_object to be compared
102
- def eql?(other_object)
103
- self == other_object
121
+ # @param [Object] other the other object to be compared
122
+ def eql?(other)
123
+ self == other
104
124
  end
105
125
 
126
+ # rubocop:disable Metrics/AbcSize, Metrics/LineLength, Layout/EmptyLines
127
+
128
+
106
129
  # Calculates hash code according to all attributes.
107
130
  # @return [Fixnum] Hash code
108
131
  def hash
109
132
  [compartment_id, name, description, freeform_tags, defined_tags].hash
110
133
  end
134
+ # rubocop:enable Metrics/AbcSize, Metrics/LineLength, Layout/EmptyLines
135
+
136
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
137
+
111
138
 
112
139
  # Builds the object from hash
113
140
  # @param [Hash] attributes Model attributes in the form of hash
@@ -119,15 +146,22 @@ module OCI
119
146
  # check to ensure the input is an array given that the the attribute
120
147
  # is documented as an array but the input is not
121
148
  if attributes[self.class.attribute_map[key]].is_a?(Array)
122
- self.public_method("#{key}=").call(attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
149
+ public_method("#{key}=").call(
150
+ attributes[self.class.attribute_map[key]]
151
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
152
+ )
123
153
  end
124
154
  elsif !attributes[self.class.attribute_map[key]].nil?
125
- self.public_method("#{key}=").call(OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
126
- end # or else data not found in attributes(hash), not an issue as the data can be optional
155
+ public_method("#{key}=").call(
156
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
157
+ )
158
+ end
159
+ # or else data not found in attributes(hash), not an issue as the data can be optional
127
160
  end
128
161
 
129
162
  self
130
163
  end
164
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
131
165
 
132
166
  # Returns the string representation of the object
133
167
  # @return [String] String presentation of the object
@@ -151,11 +185,11 @@ module OCI
151
185
 
152
186
  # Outputs non-array value in the form of hash
153
187
  # For object, use to_hash. Otherwise, just return the value
154
- # @param [Object] value Any valid value
188
+ # @param [Object] value Any valid value
155
189
  # @return [Hash] Returns the value in the form of hash
156
190
  def _to_hash(value)
157
191
  if value.is_a?(Array)
158
- value.compact.map{ |v| _to_hash(v) }
192
+ value.compact.map { |v| _to_hash(v) }
159
193
  elsif value.is_a?(Hash)
160
194
  {}.tap do |hash|
161
195
  value.each { |k, v| hash[k] = _to_hash(v) }
@@ -166,29 +200,6 @@ module OCI
166
200
  value
167
201
  end
168
202
  end
169
-
170
-
171
-
172
- # Attribute mapping from ruby-style variable name to JSON key.
173
- def self.attribute_map
174
- {
175
- :'compartment_id' => :'compartmentId',
176
- :'name' => :'name',
177
- :'description' => :'description',
178
- :'freeform_tags' => :'freeformTags',
179
- :'defined_tags' => :'definedTags'
180
- }
181
- end
182
-
183
- # Attribute type mapping.
184
- def self.swagger_types
185
- {
186
- :'compartment_id' => :'String',
187
- :'name' => :'String',
188
- :'description' => :'String',
189
- :'freeform_tags' => :'Hash<String, String>',
190
- :'defined_tags' => :'Hash<String, Hash<String, Object>>'
191
- }
192
- end
193
203
  end
194
204
  end
205
+ # rubocop:enable Lint/UnneededCopDisableDirective