oci 2.5.1 → 2.5.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (378) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +17 -2
  3. data/lib/oci.rb +1 -0
  4. data/lib/oci/autoscaling/auto_scaling_client.rb +5 -5
  5. data/lib/oci/autoscaling/models/auto_scaling_configuration.rb +2 -2
  6. data/lib/oci/autoscaling/models/create_auto_scaling_configuration_details.rb +2 -2
  7. data/lib/oci/autoscaling/models/update_auto_scaling_configuration_details.rb +2 -2
  8. data/lib/oci/budget/budget.rb +33 -0
  9. data/lib/oci/budget/budget_client.rb +767 -0
  10. data/lib/oci/budget/budget_client_composite_operations.rb +224 -0
  11. data/lib/oci/budget/models/alert_rule.rb +398 -0
  12. data/lib/oci/budget/models/alert_rule_summary.rb +396 -0
  13. data/lib/oci/budget/models/alert_type.rb +10 -0
  14. data/lib/oci/budget/models/budget.rb +413 -0
  15. data/lib/oci/budget/models/budget_summary.rb +413 -0
  16. data/lib/oci/budget/models/create_alert_rule_details.rb +288 -0
  17. data/lib/oci/budget/models/create_budget_details.rb +267 -0
  18. data/lib/oci/budget/models/lifecycle_state.rb +10 -0
  19. data/lib/oci/budget/models/reset_period.rb +9 -0
  20. data/lib/oci/budget/models/sort_by.rb +10 -0
  21. data/lib/oci/budget/models/sort_order.rb +10 -0
  22. data/lib/oci/budget/models/threshold_type.rb +10 -0
  23. data/lib/oci/budget/models/update_alert_rule_details.rb +288 -0
  24. data/lib/oci/budget/models/update_budget_details.rb +239 -0
  25. data/lib/oci/budget/util.rb +2 -0
  26. data/lib/oci/core/blockstorage_client.rb +35 -35
  27. data/lib/oci/core/compute_client.rb +41 -41
  28. data/lib/oci/core/compute_management_client.rb +6 -6
  29. data/lib/oci/core/models/app_catalog_listing_resource_version.rb +1 -1
  30. data/lib/oci/core/models/attach_vnic_details.rb +1 -1
  31. data/lib/oci/core/models/boot_volume.rb +4 -4
  32. data/lib/oci/core/models/boot_volume_backup.rb +4 -4
  33. data/lib/oci/core/models/capture_console_history_details.rb +2 -2
  34. data/lib/oci/core/models/console_history.rb +2 -2
  35. data/lib/oci/core/models/cpe.rb +4 -4
  36. data/lib/oci/core/models/create_boot_volume_backup_details.rb +2 -2
  37. data/lib/oci/core/models/create_boot_volume_details.rb +2 -2
  38. data/lib/oci/core/models/create_cpe_details.rb +2 -2
  39. data/lib/oci/core/models/create_dhcp_details.rb +2 -2
  40. data/lib/oci/core/models/create_drg_attachment_details.rb +1 -1
  41. data/lib/oci/core/models/create_drg_details.rb +2 -2
  42. data/lib/oci/core/models/create_image_details.rb +2 -2
  43. data/lib/oci/core/models/create_instance_configuration_details.rb +2 -2
  44. data/lib/oci/core/models/create_instance_console_connection_details.rb +2 -2
  45. data/lib/oci/core/models/create_instance_pool_details.rb +2 -2
  46. data/lib/oci/core/models/create_internet_gateway_details.rb +2 -2
  47. data/lib/oci/core/models/create_ip_sec_connection_details.rb +2 -2
  48. data/lib/oci/core/models/create_local_peering_gateway_details.rb +3 -3
  49. data/lib/oci/core/models/create_nat_gateway_details.rb +4 -4
  50. data/lib/oci/core/models/create_private_ip_details.rb +3 -3
  51. data/lib/oci/core/models/create_public_ip_details.rb +3 -3
  52. data/lib/oci/core/models/create_route_table_details.rb +2 -2
  53. data/lib/oci/core/models/create_security_list_details.rb +2 -2
  54. data/lib/oci/core/models/create_service_gateway_details.rb +4 -4
  55. data/lib/oci/core/models/create_subnet_details.rb +3 -3
  56. data/lib/oci/core/models/create_vcn_details.rb +3 -3
  57. data/lib/oci/core/models/create_vnic_details.rb +7 -7
  58. data/lib/oci/core/models/create_volume_backup_details.rb +2 -2
  59. data/lib/oci/core/models/create_volume_details.rb +2 -2
  60. data/lib/oci/core/models/create_volume_group_backup_details.rb +2 -2
  61. data/lib/oci/core/models/create_volume_group_details.rb +2 -2
  62. data/lib/oci/core/models/cross_connect.rb +2 -2
  63. data/lib/oci/core/models/cross_connect_group.rb +2 -2
  64. data/lib/oci/core/models/dhcp_dns_option.rb +2 -2
  65. data/lib/oci/core/models/dhcp_option.rb +2 -2
  66. data/lib/oci/core/models/dhcp_options.rb +5 -5
  67. data/lib/oci/core/models/dhcp_search_domain_option.rb +1 -1
  68. data/lib/oci/core/models/drg.rb +4 -4
  69. data/lib/oci/core/models/drg_attachment.rb +2 -2
  70. data/lib/oci/core/models/export_image_via_object_storage_uri_details.rb +2 -2
  71. data/lib/oci/core/models/fast_connect_provider_service.rb +1 -1
  72. data/lib/oci/core/models/image.rb +4 -4
  73. data/lib/oci/core/models/instance.rb +5 -5
  74. data/lib/oci/core/models/instance_configuration.rb +2 -2
  75. data/lib/oci/core/models/instance_configuration_attach_vnic_details.rb +1 -1
  76. data/lib/oci/core/models/instance_configuration_create_volume_details.rb +2 -2
  77. data/lib/oci/core/models/instance_configuration_launch_instance_details.rb +3 -3
  78. data/lib/oci/core/models/instance_console_connection.rb +3 -3
  79. data/lib/oci/core/models/instance_pool.rb +2 -2
  80. data/lib/oci/core/models/internet_gateway.rb +4 -4
  81. data/lib/oci/core/models/ip_sec_connection.rb +4 -4
  82. data/lib/oci/core/models/launch_instance_details.rb +3 -3
  83. data/lib/oci/core/models/local_peering_gateway.rb +5 -5
  84. data/lib/oci/core/models/nat_gateway.rb +7 -7
  85. data/lib/oci/core/models/peer_region_for_remote_peering.rb +1 -1
  86. data/lib/oci/core/models/private_ip.rb +5 -5
  87. data/lib/oci/core/models/public_ip.rb +4 -4
  88. data/lib/oci/core/models/remote_peering_connection.rb +2 -2
  89. data/lib/oci/core/models/route_rule.rb +1 -1
  90. data/lib/oci/core/models/route_table.rb +4 -4
  91. data/lib/oci/core/models/security_list.rb +4 -4
  92. data/lib/oci/core/models/service.rb +1 -1
  93. data/lib/oci/core/models/service_gateway.rb +7 -7
  94. data/lib/oci/core/models/service_id_request_details.rb +1 -1
  95. data/lib/oci/core/models/service_id_response_details.rb +1 -1
  96. data/lib/oci/core/models/shape.rb +1 -1
  97. data/lib/oci/core/models/subnet.rb +7 -7
  98. data/lib/oci/core/models/update_boot_volume_backup_details.rb +2 -2
  99. data/lib/oci/core/models/update_boot_volume_details.rb +2 -2
  100. data/lib/oci/core/models/update_console_history_details.rb +2 -2
  101. data/lib/oci/core/models/update_cpe_details.rb +2 -2
  102. data/lib/oci/core/models/update_dhcp_details.rb +2 -2
  103. data/lib/oci/core/models/update_drg_attachment_details.rb +1 -1
  104. data/lib/oci/core/models/update_drg_details.rb +2 -2
  105. data/lib/oci/core/models/update_image_details.rb +2 -2
  106. data/lib/oci/core/models/update_instance_configuration_details.rb +2 -2
  107. data/lib/oci/core/models/update_instance_details.rb +2 -2
  108. data/lib/oci/core/models/update_instance_pool_details.rb +2 -2
  109. data/lib/oci/core/models/update_internet_gateway_details.rb +2 -2
  110. data/lib/oci/core/models/update_ip_sec_connection_details.rb +2 -2
  111. data/lib/oci/core/models/update_local_peering_gateway_details.rb +3 -3
  112. data/lib/oci/core/models/update_nat_gateway_details.rb +2 -2
  113. data/lib/oci/core/models/update_private_ip_details.rb +3 -3
  114. data/lib/oci/core/models/update_public_ip_details.rb +2 -2
  115. data/lib/oci/core/models/update_route_table_details.rb +2 -2
  116. data/lib/oci/core/models/update_security_list_details.rb +2 -2
  117. data/lib/oci/core/models/update_service_gateway_details.rb +2 -2
  118. data/lib/oci/core/models/update_subnet_details.rb +2 -2
  119. data/lib/oci/core/models/update_vcn_details.rb +2 -2
  120. data/lib/oci/core/models/update_vnic_details.rb +4 -4
  121. data/lib/oci/core/models/update_volume_backup_details.rb +2 -2
  122. data/lib/oci/core/models/update_volume_details.rb +2 -2
  123. data/lib/oci/core/models/update_volume_group_backup_details.rb +2 -2
  124. data/lib/oci/core/models/update_volume_group_details.rb +2 -2
  125. data/lib/oci/core/models/vcn.rb +6 -6
  126. data/lib/oci/core/models/virtual_circuit.rb +4 -4
  127. data/lib/oci/core/models/virtual_circuit_public_prefix.rb +1 -1
  128. data/lib/oci/core/models/vnic.rb +7 -7
  129. data/lib/oci/core/models/vnic_attachment.rb +2 -2
  130. data/lib/oci/core/models/volume.rb +4 -4
  131. data/lib/oci/core/models/volume_attachment.rb +1 -1
  132. data/lib/oci/core/models/volume_backup.rb +4 -4
  133. data/lib/oci/core/models/volume_group.rb +3 -3
  134. data/lib/oci/core/models/volume_group_backup.rb +4 -4
  135. data/lib/oci/core/virtual_network_client.rb +121 -121
  136. data/lib/oci/core/virtual_network_client_composite_operations.rb +6 -6
  137. data/lib/oci/database/database.rb +4 -0
  138. data/lib/oci/database/database_client.rb +202 -78
  139. data/lib/oci/database/database_client_composite_operations.rb +65 -25
  140. data/lib/oci/database/models/autonomous_data_warehouse.rb +4 -4
  141. data/lib/oci/database/models/autonomous_data_warehouse_backup.rb +3 -3
  142. data/lib/oci/database/models/autonomous_data_warehouse_backup_summary.rb +4 -4
  143. data/lib/oci/database/models/autonomous_data_warehouse_summary.rb +4 -4
  144. data/lib/oci/database/models/autonomous_database.rb +43 -8
  145. data/lib/oci/database/models/autonomous_database_backup.rb +3 -3
  146. data/lib/oci/database/models/autonomous_database_backup_summary.rb +4 -4
  147. data/lib/oci/database/models/autonomous_database_summary.rb +43 -8
  148. data/lib/oci/database/models/backup.rb +3 -3
  149. data/lib/oci/database/models/backup_summary.rb +4 -4
  150. data/lib/oci/database/models/create_autonomous_data_warehouse_backup_details.rb +1 -1
  151. data/lib/oci/database/models/create_autonomous_data_warehouse_details.rb +3 -3
  152. data/lib/oci/database/models/create_autonomous_database_backup_details.rb +1 -1
  153. data/lib/oci/database/models/create_autonomous_database_details.rb +33 -4
  154. data/lib/oci/database/models/create_backup_details.rb +1 -1
  155. data/lib/oci/database/models/create_data_guard_association_to_existing_db_system_details.rb +1 -1
  156. data/lib/oci/database/models/create_data_guard_association_with_new_db_system_details.rb +1 -1
  157. data/lib/oci/database/models/create_database_details.rb +2 -2
  158. data/lib/oci/database/models/create_database_from_backup_details.rb +1 -1
  159. data/lib/oci/database/models/create_db_home_with_db_system_id_base.rb +1 -1
  160. data/lib/oci/database/models/create_external_backup_job_details.rb +1 -1
  161. data/lib/oci/database/models/data_guard_association.rb +6 -6
  162. data/lib/oci/database/models/data_guard_association_summary.rb +9 -9
  163. data/lib/oci/database/models/database.rb +5 -5
  164. data/lib/oci/database/models/database_summary.rb +7 -7
  165. data/lib/oci/database/models/db_backup_config.rb +1 -1
  166. data/lib/oci/database/models/db_home.rb +4 -4
  167. data/lib/oci/database/models/db_home_summary.rb +6 -6
  168. data/lib/oci/database/models/db_iorm_config.rb +181 -0
  169. data/lib/oci/database/models/db_iorm_config_update_detail.rb +166 -0
  170. data/lib/oci/database/models/db_node.rb +4 -4
  171. data/lib/oci/database/models/db_node_summary.rb +5 -5
  172. data/lib/oci/database/models/db_system.rb +41 -11
  173. data/lib/oci/database/models/db_system_shape_summary.rb +2 -2
  174. data/lib/oci/database/models/db_system_summary.rb +30 -16
  175. data/lib/oci/database/models/db_version_summary.rb +1 -1
  176. data/lib/oci/database/models/exadata_iorm_config.rb +247 -0
  177. data/lib/oci/database/models/exadata_iorm_config_update_details.rb +186 -0
  178. data/lib/oci/database/models/external_backup_job.rb +2 -2
  179. data/lib/oci/database/models/launch_db_system_base.rb +24 -10
  180. data/lib/oci/database/models/launch_db_system_details.rb +5 -1
  181. data/lib/oci/database/models/launch_db_system_from_backup_details.rb +5 -1
  182. data/lib/oci/database/models/patch.rb +1 -1
  183. data/lib/oci/database/models/patch_details.rb +1 -1
  184. data/lib/oci/database/models/patch_history_entry.rb +2 -2
  185. data/lib/oci/database/models/patch_history_entry_summary.rb +2 -2
  186. data/lib/oci/database/models/patch_summary.rb +2 -2
  187. data/lib/oci/database/models/update_autonomous_data_warehouse_details.rb +2 -2
  188. data/lib/oci/database/models/update_autonomous_database_details.rb +2 -2
  189. data/lib/oci/database/models/update_database_details.rb +2 -2
  190. data/lib/oci/database/models/update_db_system_details.rb +2 -2
  191. data/lib/oci/dns/dns_client.rb +1 -1
  192. data/lib/oci/dns/models/create_steering_policy_details.rb +1 -1
  193. data/lib/oci/dns/models/create_zone_details.rb +1 -1
  194. data/lib/oci/dns/models/record.rb +1 -1
  195. data/lib/oci/dns/models/record_details.rb +1 -1
  196. data/lib/oci/dns/models/record_operation.rb +1 -1
  197. data/lib/oci/dns/models/steering_policy.rb +1 -1
  198. data/lib/oci/dns/models/steering_policy_summary.rb +1 -1
  199. data/lib/oci/dns/models/update_steering_policy_details.rb +1 -1
  200. data/lib/oci/dns/models/update_zone_details.rb +1 -1
  201. data/lib/oci/dns/models/zone.rb +1 -1
  202. data/lib/oci/dns/models/zone_summary.rb +1 -1
  203. data/lib/oci/email/email_client.rb +3 -3
  204. data/lib/oci/email/models/create_sender_details.rb +2 -2
  205. data/lib/oci/email/models/sender.rb +2 -2
  206. data/lib/oci/email/models/sender_summary.rb +2 -2
  207. data/lib/oci/email/models/update_sender_details.rb +2 -2
  208. data/lib/oci/file_storage/file_storage_client.rb +14 -14
  209. data/lib/oci/file_storage/models/create_file_system_details.rb +2 -2
  210. data/lib/oci/file_storage/models/create_mount_target_details.rb +3 -3
  211. data/lib/oci/file_storage/models/create_snapshot_details.rb +2 -2
  212. data/lib/oci/file_storage/models/export.rb +1 -1
  213. data/lib/oci/file_storage/models/file_system.rb +3 -3
  214. data/lib/oci/file_storage/models/mount_target.rb +2 -2
  215. data/lib/oci/file_storage/models/snapshot.rb +2 -2
  216. data/lib/oci/file_storage/models/update_file_system_details.rb +2 -2
  217. data/lib/oci/file_storage/models/update_mount_target_details.rb +2 -2
  218. data/lib/oci/file_storage/models/update_snapshot_details.rb +2 -2
  219. data/lib/oci/healthchecks/models/create_http_monitor_details.rb +2 -2
  220. data/lib/oci/healthchecks/models/create_ping_monitor_details.rb +2 -2
  221. data/lib/oci/healthchecks/models/http_monitor.rb +2 -2
  222. data/lib/oci/healthchecks/models/http_monitor_summary.rb +2 -2
  223. data/lib/oci/healthchecks/models/ping_monitor.rb +2 -2
  224. data/lib/oci/healthchecks/models/ping_monitor_summary.rb +2 -2
  225. data/lib/oci/healthchecks/models/update_http_monitor_details.rb +2 -2
  226. data/lib/oci/healthchecks/models/update_ping_monitor_details.rb +2 -2
  227. data/lib/oci/identity/identity.rb +7 -0
  228. data/lib/oci/identity/identity_client.rb +461 -36
  229. data/lib/oci/identity/identity_client_composite_operations.rb +119 -0
  230. data/lib/oci/identity/models/api_key.rb +2 -2
  231. data/lib/oci/identity/models/auth_token.rb +1 -1
  232. data/lib/oci/identity/models/authentication_policy.rb +168 -0
  233. data/lib/oci/identity/models/availability_domain.rb +1 -1
  234. data/lib/oci/identity/models/compartment.rb +5 -5
  235. data/lib/oci/identity/models/create_compartment_details.rb +2 -2
  236. data/lib/oci/identity/models/create_dynamic_group_details.rb +1 -1
  237. data/lib/oci/identity/models/create_group_details.rb +2 -2
  238. data/lib/oci/identity/models/create_identity_provider_details.rb +2 -2
  239. data/lib/oci/identity/models/create_policy_details.rb +4 -4
  240. data/lib/oci/identity/models/create_tag_default_details.rb +180 -0
  241. data/lib/oci/identity/models/create_tag_details.rb +2 -2
  242. data/lib/oci/identity/models/create_tag_namespace_details.rb +2 -2
  243. data/lib/oci/identity/models/create_user_details.rb +13 -3
  244. data/lib/oci/identity/models/customer_secret_key.rb +2 -2
  245. data/lib/oci/identity/models/dynamic_group.rb +2 -2
  246. data/lib/oci/identity/models/group.rb +5 -5
  247. data/lib/oci/identity/models/identity_provider.rb +4 -4
  248. data/lib/oci/identity/models/idp_group_mapping.rb +1 -1
  249. data/lib/oci/identity/models/mfa_totp_device.rb +20 -9
  250. data/lib/oci/identity/models/mfa_totp_device_summary.rb +7 -1
  251. data/lib/oci/identity/models/password_policy.rb +234 -0
  252. data/lib/oci/identity/models/policy.rb +4 -4
  253. data/lib/oci/identity/models/region.rb +2 -2
  254. data/lib/oci/identity/models/region_subscription.rb +2 -2
  255. data/lib/oci/identity/models/saml2_identity_provider.rb +1 -1
  256. data/lib/oci/identity/models/smtp_credential.rb +1 -1
  257. data/lib/oci/identity/models/smtp_credential_summary.rb +1 -1
  258. data/lib/oci/identity/models/swift_password.rb +1 -1
  259. data/lib/oci/identity/models/tag.rb +4 -4
  260. data/lib/oci/identity/models/tag_default.rb +280 -0
  261. data/lib/oci/identity/models/tag_default_summary.rb +274 -0
  262. data/lib/oci/identity/models/tag_namespace.rb +4 -4
  263. data/lib/oci/identity/models/tag_namespace_summary.rb +3 -3
  264. data/lib/oci/identity/models/tag_summary.rb +3 -3
  265. data/lib/oci/identity/models/tenancy.rb +4 -4
  266. data/lib/oci/identity/models/ui_password.rb +1 -1
  267. data/lib/oci/identity/models/update_authentication_policy_details.rb +154 -0
  268. data/lib/oci/identity/models/update_compartment_details.rb +2 -2
  269. data/lib/oci/identity/models/update_dynamic_group_details.rb +1 -1
  270. data/lib/oci/identity/models/update_group_details.rb +2 -2
  271. data/lib/oci/identity/models/update_identity_provider_details.rb +2 -2
  272. data/lib/oci/identity/models/update_policy_details.rb +4 -4
  273. data/lib/oci/identity/models/update_tag_default_details.rb +150 -0
  274. data/lib/oci/identity/models/update_tag_details.rb +3 -3
  275. data/lib/oci/identity/models/update_tag_namespace_details.rb +3 -3
  276. data/lib/oci/identity/models/update_user_details.rb +13 -3
  277. data/lib/oci/identity/models/user.rb +19 -7
  278. data/lib/oci/load_balancer/load_balancer_client.rb +64 -64
  279. data/lib/oci/load_balancer/load_balancer_client_composite_operations.rb +23 -23
  280. data/lib/oci/load_balancer/models/backend.rb +2 -2
  281. data/lib/oci/load_balancer/models/backend_details.rb +1 -1
  282. data/lib/oci/load_balancer/models/backend_set.rb +1 -1
  283. data/lib/oci/load_balancer/models/backend_set_details.rb +1 -1
  284. data/lib/oci/load_balancer/models/certificate.rb +1 -1
  285. data/lib/oci/load_balancer/models/certificate_details.rb +1 -1
  286. data/lib/oci/load_balancer/models/connection_configuration.rb +1 -1
  287. data/lib/oci/load_balancer/models/create_backend_details.rb +2 -2
  288. data/lib/oci/load_balancer/models/create_backend_set_details.rb +1 -1
  289. data/lib/oci/load_balancer/models/create_certificate_details.rb +1 -1
  290. data/lib/oci/load_balancer/models/create_hostname_details.rb +1 -1
  291. data/lib/oci/load_balancer/models/create_listener_details.rb +1 -1
  292. data/lib/oci/load_balancer/models/create_load_balancer_details.rb +6 -6
  293. data/lib/oci/load_balancer/models/health_check_result.rb +1 -1
  294. data/lib/oci/load_balancer/models/health_checker.rb +1 -1
  295. data/lib/oci/load_balancer/models/hostname.rb +1 -1
  296. data/lib/oci/load_balancer/models/hostname_details.rb +1 -1
  297. data/lib/oci/load_balancer/models/listener.rb +1 -1
  298. data/lib/oci/load_balancer/models/load_balancer.rb +11 -11
  299. data/lib/oci/load_balancer/models/load_balancer_health_summary.rb +1 -1
  300. data/lib/oci/load_balancer/models/load_balancer_policy.rb +1 -1
  301. data/lib/oci/load_balancer/models/path_match_type.rb +1 -1
  302. data/lib/oci/load_balancer/models/path_route_set.rb +1 -1
  303. data/lib/oci/load_balancer/models/session_persistence_configuration_details.rb +1 -1
  304. data/lib/oci/load_balancer/models/update_backend_details.rb +1 -1
  305. data/lib/oci/load_balancer/models/update_backend_set_details.rb +1 -1
  306. data/lib/oci/load_balancer/models/update_hostname_details.rb +2 -2
  307. data/lib/oci/load_balancer/models/update_load_balancer_details.rb +2 -2
  308. data/lib/oci/load_balancer/models/work_request.rb +3 -3
  309. data/lib/oci/monitoring/models/alarm.rb +10 -10
  310. data/lib/oci/monitoring/models/alarm_history_collection.rb +1 -1
  311. data/lib/oci/monitoring/models/alarm_status_summary.rb +5 -5
  312. data/lib/oci/monitoring/models/alarm_summary.rb +10 -10
  313. data/lib/oci/monitoring/models/create_alarm_details.rb +5 -5
  314. data/lib/oci/monitoring/models/metric.rb +2 -2
  315. data/lib/oci/monitoring/models/metric_data.rb +2 -2
  316. data/lib/oci/monitoring/models/metric_data_details.rb +1 -1
  317. data/lib/oci/monitoring/models/summarize_metrics_data_details.rb +2 -2
  318. data/lib/oci/monitoring/models/suppression.rb +1 -1
  319. data/lib/oci/monitoring/models/update_alarm_details.rb +5 -5
  320. data/lib/oci/monitoring/monitoring_client.rb +20 -20
  321. data/lib/oci/monitoring/monitoring_client_composite_operations.rb +2 -2
  322. data/lib/oci/object_storage/models/bucket.rb +4 -4
  323. data/lib/oci/object_storage/models/bucket_summary.rb +3 -3
  324. data/lib/oci/object_storage/models/commit_multipart_upload_details.rb +1 -1
  325. data/lib/oci/object_storage/models/commit_multipart_upload_part_details.rb +1 -1
  326. data/lib/oci/object_storage/models/copy_object_details.rb +1 -1
  327. data/lib/oci/object_storage/models/create_bucket_details.rb +3 -3
  328. data/lib/oci/object_storage/models/create_multipart_upload_details.rb +1 -1
  329. data/lib/oci/object_storage/models/list_objects.rb +1 -1
  330. data/lib/oci/object_storage/models/multipart_upload.rb +2 -2
  331. data/lib/oci/object_storage/models/multipart_upload_part_summary.rb +1 -1
  332. data/lib/oci/object_storage/models/object_lifecycle_policy.rb +1 -1
  333. data/lib/oci/object_storage/models/object_lifecycle_rule.rb +2 -2
  334. data/lib/oci/object_storage/models/object_summary.rb +1 -1
  335. data/lib/oci/object_storage/models/preauthenticated_request.rb +2 -2
  336. data/lib/oci/object_storage/models/rename_object_details.rb +1 -1
  337. data/lib/oci/object_storage/models/update_bucket_details.rb +3 -3
  338. data/lib/oci/object_storage/object_storage_client.rb +3 -3
  339. data/lib/oci/ons/models/confirmation_result.rb +2 -2
  340. data/lib/oci/ons/models/create_subscription_details.rb +4 -4
  341. data/lib/oci/ons/models/create_topic_details.rb +3 -3
  342. data/lib/oci/ons/models/notification_topic.rb +4 -4
  343. data/lib/oci/ons/models/notification_topic_summary.rb +4 -4
  344. data/lib/oci/ons/models/subscription.rb +3 -3
  345. data/lib/oci/ons/models/subscription_summary.rb +4 -4
  346. data/lib/oci/ons/models/topic_attributes_details.rb +2 -2
  347. data/lib/oci/ons/models/update_subscription_details.rb +2 -2
  348. data/lib/oci/ons/notification_control_plane_client.rb +9 -9
  349. data/lib/oci/ons/notification_data_plane_client.rb +10 -10
  350. data/lib/oci/ons/notification_data_plane_client_composite_operations.rb +1 -1
  351. data/lib/oci/regions.rb +1 -0
  352. data/lib/oci/resource_manager/models/create_job_details.rb +2 -2
  353. data/lib/oci/resource_manager/models/create_stack_details.rb +2 -2
  354. data/lib/oci/resource_manager/models/job.rb +2 -2
  355. data/lib/oci/resource_manager/models/job_summary.rb +2 -2
  356. data/lib/oci/resource_manager/models/stack.rb +2 -2
  357. data/lib/oci/resource_manager/models/stack_summary.rb +2 -2
  358. data/lib/oci/resource_manager/models/update_job_details.rb +2 -2
  359. data/lib/oci/resource_manager/models/update_stack_details.rb +2 -2
  360. data/lib/oci/resource_manager/resource_manager_client.rb +6 -6
  361. data/lib/oci/streaming/models/create_stream_details.rb +2 -2
  362. data/lib/oci/streaming/models/stream.rb +2 -2
  363. data/lib/oci/streaming/models/stream_summary.rb +2 -2
  364. data/lib/oci/streaming/models/update_stream_details.rb +2 -2
  365. data/lib/oci/version.rb +1 -1
  366. data/lib/oci/waas/models/certificate.rb +2 -2
  367. data/lib/oci/waas/models/certificate_summary.rb +2 -2
  368. data/lib/oci/waas/models/create_certificate_details.rb +1 -1
  369. data/lib/oci/waas/models/create_waas_policy_details.rb +1 -1
  370. data/lib/oci/waas/models/update_waas_policy_details.rb +1 -1
  371. data/lib/oci/waas/models/waas_policy.rb +2 -2
  372. data/lib/oci/waas/models/waas_policy_summary.rb +2 -2
  373. data/lib/oci/waas/models/work_request.rb +3 -3
  374. data/lib/oci/waas/models/work_request_resource.rb +1 -1
  375. data/lib/oci/waas/models/work_request_summary.rb +2 -2
  376. data/lib/oci/waas/waas_client.rb +53 -53
  377. data/lib/oci/waas/waas_client_composite_operations.rb +18 -18
  378. metadata +31 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 29db1f4d6f69e96943e0e45ac89cd8624f8a0b417871009c2bfad477c6264386
4
- data.tar.gz: 2799206e495987a0dd5520907bb856d12872a6eb5c81cc68d934e6909f849beb
3
+ metadata.gz: 5ff60640046be66b4ea3e8bc2b12fa7c99142fd5b203d2b9bb81f9d21643f40a
4
+ data.tar.gz: 5e1ac47c684293b30603c99277b4537f4e9e82019d1f83a009ff97ecb4232021
5
5
  SHA512:
6
- metadata.gz: f765d9de2ec3d96e0a8c22eaa23befceed00d0353bd71c374cfc09cb4525177cc48ddfe0bd1ef04f002e63ca0fbc5f4a16087f6651aea078b53e1ae3a756da0c
7
- data.tar.gz: 75a10e122c18bf0679aeead98aaee72111ea23ecd8c95551634873ae1bcc946a5e621d2c607f5d9078f192ba0a762ebe2c0ba18eb791bb3c7c4247559abcf3ef
6
+ metadata.gz: 69b0557e4787b24e61dceab239044340d86f7d3865840d63887e34a147087f0839087dfd049dca0e23bc5d9810f33115e6e1e6e9f6f5a285c8ede059ca6fcd0a
7
+ data.tar.gz: efc11890a2c853e9bef7ad7d87b8e8e4363e317d6bb0eeeed6caab9972ea6994b984412fbcf7f164fbaa9e15937a70bae1121e11271debeb454f71b1e9218154
data/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  # Oracle Cloud Infrastructure Ruby SDK
2
- **Version 2.5.1**
2
+ **Version 2.5.2**
3
3
 
4
4
  This topic describes how to install, configure, and use the Oracle Cloud Infrastructure Ruby SDK.
5
5
 
@@ -9,6 +9,7 @@ The Ruby SDK supports the following services:
9
9
 
10
10
  * Announcements
11
11
  * Audit
12
+ * Budgets
12
13
  * Compute Autoscaling
13
14
  * Container Engine
14
15
  * Core Services (which includes Networking, Compute, and Block Volume)
@@ -186,7 +187,21 @@ For regions in the oraclecloud.com realm, even if the `OCI::Regions::REGION_ENUM
186
187
 
187
188
  ### Other Realms
188
189
 
189
- Accessing regions in realms other than oraclecloud.com with prior versions of the Ruby SDK is currently unsupported. We recommend moving to a version that explicitly supports the desired region.
190
+ For regions in realms other than oraclecloud.com, you can use the following workarounds to reach new regions with earlier versions of the SDK.
191
+
192
+ You can set the endpoint when creating a new client:
193
+ ```
194
+ identity_client = OCI::Identity::IdentityClient.new(
195
+ endpoint: 'https://identity.us-gov-phoenix-1.oraclegovcloud.com'
196
+ )
197
+ ```
198
+
199
+ If you are authenticating via instance principals, you can set the `federation_endpoint` for the region using `InstancePrincipalsSecurityTokenSigner` when initializing the signer:
200
+ ```
201
+ instance_principals_signer = OCI::Auth::Signers::InstancePrincipalsSecurityTokenSigner.new(
202
+ federation_endpoint: 'https://auth.us-gov-phoenix-1.oraclegovcloud.com/v1/x509'
203
+ )
204
+ ```
190
205
 
191
206
  ## Writing Your First Ruby Program with the SDK
192
207
 
data/lib/oci.rb CHANGED
@@ -38,6 +38,7 @@ require 'oci/monitoring/monitoring'
38
38
  require 'oci/resource_manager/resource_manager'
39
39
  require 'oci/autoscaling/autoscaling'
40
40
  require 'oci/ons/ons'
41
+ require 'oci/budget/budget'
41
42
 
42
43
  # Top level module for the Oracle Cloud Infrastructure SDK
43
44
  module OCI
@@ -459,7 +459,7 @@ module OCI
459
459
 
460
460
  # Lists AutoScalingConfigurations in the specific compartment.
461
461
  #
462
- # @param [String] compartment_id The [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm) of the compartment containing the
462
+ # @param [String] compartment_id The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the compartment containing the
463
463
  # resources monitored by the metric that you are searching for. Use tenancyId to search in
464
464
  # the root compartment.
465
465
  #
@@ -470,10 +470,10 @@ module OCI
470
470
  #
471
471
  # @option opts [String] :opc_request_id
472
472
  # @option opts [Integer] :limit The maximum number of items to return in a paginated \"List\" call. For information about pagination, see
473
- # [List Pagination](https://docs.us-phoenix-1.oraclecloud.com/#API/Concepts/usingapi.htm#List_Pagination).
473
+ # [List Pagination](https://docs.cloud.oracle.com/#API/Concepts/usingapi.htm#List_Pagination).
474
474
  #
475
475
  # @option opts [String] :page The value of the `opc-next-page` response header from the previous \"List\" call. For information about
476
- # pagination, see [List Pagination](https://docs.us-phoenix-1.oraclecloud.com/#API/Concepts/usingapi.htm#List_Pagination).
476
+ # pagination, see [List Pagination](https://docs.cloud.oracle.com/#API/Concepts/usingapi.htm#List_Pagination).
477
477
  #
478
478
  # @option opts [String] :sort_by The field to sort by. You can provide one sort order (`sortOrder`). Default order for
479
479
  # TIMECREATED is descending. Default order for DISPLAYNAME is ascending. The DISPLAYNAME
@@ -554,10 +554,10 @@ module OCI
554
554
  #
555
555
  # @option opts [String] :opc_request_id
556
556
  # @option opts [Integer] :limit The maximum number of items to return in a paginated \"List\" call. For information about pagination, see
557
- # [List Pagination](https://docs.us-phoenix-1.oraclecloud.com/#API/Concepts/usingapi.htm#List_Pagination).
557
+ # [List Pagination](https://docs.cloud.oracle.com/#API/Concepts/usingapi.htm#List_Pagination).
558
558
  #
559
559
  # @option opts [String] :page The value of the `opc-next-page` response header from the previous \"List\" call. For information about
560
- # pagination, see [List Pagination](https://docs.us-phoenix-1.oraclecloud.com/#API/Concepts/usingapi.htm#List_Pagination).
560
+ # pagination, see [List Pagination](https://docs.cloud.oracle.com/#API/Concepts/usingapi.htm#List_Pagination).
561
561
  #
562
562
  # @option opts [String] :sort_by The field to sort by. You can provide one sort order (`sortOrder`). Default order for
563
563
  # TIMECREATED is descending. Default order for DISPLAYNAME is ascending. The DISPLAYNAME
@@ -12,7 +12,7 @@ module OCI
12
12
  attr_accessor :compartment_id
13
13
 
14
14
  # Defined tags for this resource. Each key is predefined and scoped to a
15
- # namespace. For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm).
15
+ # namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
16
16
  #
17
17
  # Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
18
18
  #
@@ -26,7 +26,7 @@ module OCI
26
26
  attr_accessor :display_name
27
27
 
28
28
  # Free-form tags for this resource. Each tag is a simple key-value pair with no
29
- # predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm).
29
+ # predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
30
30
  #
31
31
  # Example: `{\"Department\": \"Finance\"}`
32
32
  #
@@ -13,7 +13,7 @@ module OCI
13
13
  attr_accessor :compartment_id
14
14
 
15
15
  # Defined tags for this resource. Each key is predefined and scoped to a
16
- # namespace. For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm).
16
+ # namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
17
17
  #
18
18
  # Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
19
19
  #
@@ -27,7 +27,7 @@ module OCI
27
27
  attr_accessor :display_name
28
28
 
29
29
  # Free-form tags for this resource. Each tag is a simple key-value pair with no
30
- # predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm).
30
+ # predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
31
31
  #
32
32
  # Example: `{\"Department\": \"Finance\"}`
33
33
  #
@@ -7,7 +7,7 @@ module OCI
7
7
  # UpdateAutoScalingConfigurationDetails model.
8
8
  class Autoscaling::Models::UpdateAutoScalingConfigurationDetails # rubocop:disable Metrics/LineLength
9
9
  # Defined tags for this resource. Each key is predefined and scoped to a
10
- # namespace. For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm).
10
+ # namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
11
11
  #
12
12
  # Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
13
13
  #
@@ -20,7 +20,7 @@ module OCI
20
20
  attr_accessor :display_name
21
21
 
22
22
  # Free-form tags for this resource. Each tag is a simple key-value pair with no
23
- # predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm).
23
+ # predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
24
24
  #
25
25
  # Example: `{\"Department\": \"Finance\"}`
26
26
  #
@@ -0,0 +1,33 @@
1
+ # Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ module OCI
4
+ module Budget
5
+ # Module containing models for requests made to, and responses received from,
6
+ # OCI Budget services
7
+ module Models
8
+ end
9
+ end
10
+ end
11
+
12
+ # Require models
13
+ require 'oci/budget/models/alert_rule'
14
+ require 'oci/budget/models/alert_rule_summary'
15
+ require 'oci/budget/models/alert_type'
16
+ require 'oci/budget/models/budget'
17
+ require 'oci/budget/models/budget_summary'
18
+ require 'oci/budget/models/create_alert_rule_details'
19
+ require 'oci/budget/models/create_budget_details'
20
+ require 'oci/budget/models/lifecycle_state'
21
+ require 'oci/budget/models/reset_period'
22
+ require 'oci/budget/models/sort_by'
23
+ require 'oci/budget/models/sort_order'
24
+ require 'oci/budget/models/threshold_type'
25
+ require 'oci/budget/models/update_alert_rule_details'
26
+ require 'oci/budget/models/update_budget_details'
27
+
28
+ # Require generated clients
29
+ require 'oci/budget/budget_client'
30
+ require 'oci/budget/budget_client_composite_operations'
31
+
32
+ # Require service utilities
33
+ require 'oci/budget/util'
@@ -0,0 +1,767 @@
1
+ # Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require 'uri'
4
+ require 'logger'
5
+
6
+ # rubocop:disable Lint/UnneededCopDisableDirective, Metrics/LineLength
7
+ module OCI
8
+ # Use the Budgets API to manage budgets and budget alerts.
9
+ class Budget::BudgetClient
10
+ # Client used to make HTTP requests.
11
+ # @return [OCI::ApiClient]
12
+ attr_reader :api_client
13
+
14
+ # Fully qualified endpoint URL
15
+ # @return [String]
16
+ attr_reader :endpoint
17
+
18
+ # The default retry configuration to apply to all operations in this service client. This can be overridden
19
+ # on a per-operation basis. The default retry configuration value is `nil`, which means that an operation
20
+ # will not perform any retries
21
+ # @return [OCI::Retry::RetryConfig]
22
+ attr_reader :retry_config
23
+
24
+ # The region, which will usually correspond to a value in {OCI::Regions::REGION_ENUM}.
25
+ # @return [String]
26
+ attr_reader :region
27
+
28
+ # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Layout/EmptyLines, Metrics/PerceivedComplexity
29
+
30
+
31
+ # Creates a new BudgetClient.
32
+ # Notes:
33
+ # If a config is not specified, then the global OCI.config will be used.
34
+ #
35
+ # This client is not thread-safe
36
+ #
37
+ # Either a region or an endpoint must be specified. If an endpoint is specified, it will be used instead of the
38
+ # region. A region may be specified in the config or via or the region parameter. If specified in both, then the
39
+ # region parameter will be used.
40
+ # @param [Config] config A Config object.
41
+ # @param [String] region A region used to determine the service endpoint. This will usually
42
+ # correspond to a value in {OCI::Regions::REGION_ENUM}, but may be an arbitrary string.
43
+ # @param [String] endpoint The fully qualified endpoint URL
44
+ # @param [OCI::BaseSigner] signer A signer implementation which can be used by this client. If this is not provided then
45
+ # a signer will be constructed via the provided config. One use case of this parameter is instance principals authentication,
46
+ # so that the instance principals signer can be provided to the client
47
+ # @param [OCI::ApiClientProxySettings] proxy_settings If your environment requires you to use a proxy server for outgoing HTTP requests
48
+ # the details for the proxy can be provided in this parameter
49
+ # @param [OCI::Retry::RetryConfig] retry_config The retry configuration for this service client. This represents the default retry configuration to
50
+ # apply across all operations. This can be overridden on a per-operation basis. The default retry configuration value is `nil`, which means that an operation
51
+ # will not perform any retries
52
+ def initialize(config: nil, region: nil, endpoint: nil, signer: nil, proxy_settings: nil, retry_config: nil)
53
+ # If the signer is an InstancePrincipalsSecurityTokenSigner and no config was supplied (which is valid for instance principals)
54
+ # then create a dummy config to pass to the ApiClient constructor. If customers wish to create a client which uses instance principals
55
+ # and has config (either populated programmatically or loaded from a file), they must construct that config themselves and then
56
+ # pass it to this constructor.
57
+ #
58
+ # If there is no signer (or the signer is not an instance principals signer) and no config was supplied, this is not valid
59
+ # so try and load the config from the default file.
60
+ config ||= OCI.config unless signer.is_a?(OCI::Auth::Signers::InstancePrincipalsSecurityTokenSigner)
61
+ config ||= OCI::Config.new if signer.is_a?(OCI::Auth::Signers::InstancePrincipalsSecurityTokenSigner)
62
+ config.validate unless signer.is_a?(OCI::Auth::Signers::InstancePrincipalsSecurityTokenSigner)
63
+
64
+ if signer.nil?
65
+ signer = OCI::Signer.new(
66
+ config.user,
67
+ config.fingerprint,
68
+ config.tenancy,
69
+ config.key_file,
70
+ pass_phrase: config.pass_phrase,
71
+ private_key_content: config.key_content
72
+ )
73
+ end
74
+
75
+ @api_client = OCI::ApiClient.new(config, signer, proxy_settings: proxy_settings)
76
+ @retry_config = retry_config
77
+
78
+ if endpoint
79
+ @endpoint = endpoint + '/20190111'
80
+ else
81
+ region ||= config.region
82
+ region ||= signer.region if signer.respond_to?(:region)
83
+ self.region = region
84
+ end
85
+ logger.info "BudgetClient endpoint set to '#{@endpoint}'." if logger
86
+ end
87
+ # rubocop:enable Metrics/AbcSize, Metrics/CyclomaticComplexity, Layout/EmptyLines, Metrics/PerceivedComplexity
88
+
89
+ # Set the region that will be used to determine the service endpoint.
90
+ # This will usually correspond to a value in {OCI::Regions::REGION_ENUM},
91
+ # but may be an arbitrary string.
92
+ def region=(new_region)
93
+ @region = new_region
94
+
95
+ raise 'A region must be specified.' unless @region
96
+
97
+ @endpoint = OCI::Regions.get_service_endpoint_for_template(@region, 'https://usage.{region}.oci.{secondLevelDomain}') + '/20190111'
98
+ logger.info "BudgetClient endpoint set to '#{@endpoint} from region #{@region}'." if logger
99
+ end
100
+
101
+ # @return [Logger] The logger for this client. May be nil.
102
+ def logger
103
+ @api_client.config.logger
104
+ end
105
+
106
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
107
+ # rubocop:disable Style/IfUnlessModifier, Metrics/ParameterLists
108
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
109
+
110
+
111
+ # Creates a new Alert Rule.
112
+ #
113
+ # @param [String] budget_id The unique Budget OCID
114
+ # @param [OCI::Budget::Models::CreateAlertRuleDetails] create_alert_rule_details Details for the new Alert Rule.
115
+ # @param [Hash] opts the optional parameters
116
+ # @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level
117
+ # retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry
118
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
119
+ # server error without risk of executing that same action again. Retry tokens expire after 24
120
+ # hours, but can be invalidated before then due to conflicting operations. For example, if a resource
121
+ # has been deleted and purged from the system, then a retry of the original creation request
122
+ # might be rejected.
123
+ #
124
+ # @option opts [String] :opc_request_id The client request ID for tracing.
125
+ # @return [Response] A Response object with data of type {OCI::Budget::Models::AlertRule AlertRule}
126
+ def create_alert_rule(budget_id, create_alert_rule_details, opts = {})
127
+ logger.debug 'Calling operation BudgetClient#create_alert_rule.' if logger
128
+
129
+ raise "Missing the required parameter 'budget_id' when calling create_alert_rule." if budget_id.nil?
130
+ raise "Missing the required parameter 'create_alert_rule_details' when calling create_alert_rule." if create_alert_rule_details.nil?
131
+ raise "Parameter value for 'budget_id' must not be blank" if OCI::Internal::Util.blank_string?(budget_id)
132
+
133
+ path = '/budgets/{budgetId}/alertRules'.sub('{budgetId}', budget_id.to_s)
134
+ operation_signing_strategy = :standard
135
+
136
+ # rubocop:disable Style/NegatedIf
137
+ # Query Params
138
+ query_params = {}
139
+
140
+ # Header Params
141
+ header_params = {}
142
+ header_params[:accept] = 'application/json'
143
+ header_params[:'content-type'] = 'application/json'
144
+ header_params[:'opc-retry-token'] = opts[:opc_retry_token] if opts[:opc_retry_token]
145
+ header_params[:'opc-request-id'] = opts[:opc_request_id] if opts[:opc_request_id]
146
+ # rubocop:enable Style/NegatedIf
147
+ header_params[:'opc-retry-token'] ||= OCI::Retry.generate_opc_retry_token
148
+
149
+ post_body = @api_client.object_to_http_body(create_alert_rule_details)
150
+
151
+ # rubocop:disable Metrics/BlockLength
152
+ OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BudgetClient#create_alert_rule') do
153
+ @api_client.call_api(
154
+ :POST,
155
+ path,
156
+ endpoint,
157
+ header_params: header_params,
158
+ query_params: query_params,
159
+ operation_signing_strategy: operation_signing_strategy,
160
+ body: post_body,
161
+ return_type: 'OCI::Budget::Models::AlertRule'
162
+ )
163
+ end
164
+ # rubocop:enable Metrics/BlockLength
165
+ end
166
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
167
+ # rubocop:enable Style/IfUnlessModifier, Metrics/ParameterLists
168
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines
169
+
170
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
171
+ # rubocop:disable Style/IfUnlessModifier, Metrics/ParameterLists
172
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
173
+
174
+
175
+ # Creates a new Budget.
176
+ #
177
+ # @param [OCI::Budget::Models::CreateBudgetDetails] create_budget_details Details for the new Budget.
178
+ # @param [Hash] opts the optional parameters
179
+ # @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level
180
+ # retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry
181
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
182
+ # server error without risk of executing that same action again. Retry tokens expire after 24
183
+ # hours, but can be invalidated before then due to conflicting operations. For example, if a resource
184
+ # has been deleted and purged from the system, then a retry of the original creation request
185
+ # might be rejected.
186
+ #
187
+ # @option opts [String] :opc_request_id The client request ID for tracing.
188
+ # @return [Response] A Response object with data of type {OCI::Budget::Models::Budget Budget}
189
+ def create_budget(create_budget_details, opts = {})
190
+ logger.debug 'Calling operation BudgetClient#create_budget.' if logger
191
+
192
+ raise "Missing the required parameter 'create_budget_details' when calling create_budget." if create_budget_details.nil?
193
+
194
+ path = '/budgets'
195
+ operation_signing_strategy = :standard
196
+
197
+ # rubocop:disable Style/NegatedIf
198
+ # Query Params
199
+ query_params = {}
200
+
201
+ # Header Params
202
+ header_params = {}
203
+ header_params[:accept] = 'application/json'
204
+ header_params[:'content-type'] = 'application/json'
205
+ header_params[:'opc-retry-token'] = opts[:opc_retry_token] if opts[:opc_retry_token]
206
+ header_params[:'opc-request-id'] = opts[:opc_request_id] if opts[:opc_request_id]
207
+ # rubocop:enable Style/NegatedIf
208
+ header_params[:'opc-retry-token'] ||= OCI::Retry.generate_opc_retry_token
209
+
210
+ post_body = @api_client.object_to_http_body(create_budget_details)
211
+
212
+ # rubocop:disable Metrics/BlockLength
213
+ OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BudgetClient#create_budget') do
214
+ @api_client.call_api(
215
+ :POST,
216
+ path,
217
+ endpoint,
218
+ header_params: header_params,
219
+ query_params: query_params,
220
+ operation_signing_strategy: operation_signing_strategy,
221
+ body: post_body,
222
+ return_type: 'OCI::Budget::Models::Budget'
223
+ )
224
+ end
225
+ # rubocop:enable Metrics/BlockLength
226
+ end
227
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
228
+ # rubocop:enable Style/IfUnlessModifier, Metrics/ParameterLists
229
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines
230
+
231
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
232
+ # rubocop:disable Style/IfUnlessModifier, Metrics/ParameterLists
233
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
234
+
235
+
236
+ # Deletes a specified Alert Rule resource.
237
+ # @param [String] budget_id The unique Budget OCID
238
+ # @param [String] alert_rule_id The unique Alert Rule OCID
239
+ # @param [Hash] opts the optional parameters
240
+ # @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level
241
+ # retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry
242
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call
243
+ # for a resource, set the `if-match` parameter to the value of the
244
+ # etag from a previous GET or POST response for that resource.
245
+ # The resource will be updated or deleted only if the etag you
246
+ # provide matches the resource's current etag value.
247
+ #
248
+ # @option opts [String] :opc_request_id The client request ID for tracing.
249
+ # @return [Response] A Response object with data of type nil
250
+ def delete_alert_rule(budget_id, alert_rule_id, opts = {})
251
+ logger.debug 'Calling operation BudgetClient#delete_alert_rule.' if logger
252
+
253
+ raise "Missing the required parameter 'budget_id' when calling delete_alert_rule." if budget_id.nil?
254
+ raise "Missing the required parameter 'alert_rule_id' when calling delete_alert_rule." if alert_rule_id.nil?
255
+ raise "Parameter value for 'budget_id' must not be blank" if OCI::Internal::Util.blank_string?(budget_id)
256
+ raise "Parameter value for 'alert_rule_id' must not be blank" if OCI::Internal::Util.blank_string?(alert_rule_id)
257
+
258
+ path = '/budgets/{budgetId}/alertRules/{alertRuleId}'.sub('{budgetId}', budget_id.to_s).sub('{alertRuleId}', alert_rule_id.to_s)
259
+ operation_signing_strategy = :standard
260
+
261
+ # rubocop:disable Style/NegatedIf
262
+ # Query Params
263
+ query_params = {}
264
+
265
+ # Header Params
266
+ header_params = {}
267
+ header_params[:accept] = 'application/json'
268
+ header_params[:'content-type'] = 'application/json'
269
+ header_params[:'if-match'] = opts[:if_match] if opts[:if_match]
270
+ header_params[:'opc-request-id'] = opts[:opc_request_id] if opts[:opc_request_id]
271
+ # rubocop:enable Style/NegatedIf
272
+
273
+ post_body = nil
274
+
275
+ # rubocop:disable Metrics/BlockLength
276
+ OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BudgetClient#delete_alert_rule') do
277
+ @api_client.call_api(
278
+ :DELETE,
279
+ path,
280
+ endpoint,
281
+ header_params: header_params,
282
+ query_params: query_params,
283
+ operation_signing_strategy: operation_signing_strategy,
284
+ body: post_body
285
+ )
286
+ end
287
+ # rubocop:enable Metrics/BlockLength
288
+ end
289
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
290
+ # rubocop:enable Style/IfUnlessModifier, Metrics/ParameterLists
291
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines
292
+
293
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
294
+ # rubocop:disable Style/IfUnlessModifier, Metrics/ParameterLists
295
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
296
+
297
+
298
+ # Deletes a specified Budget resource
299
+ # @param [String] budget_id The unique Budget OCID
300
+ # @param [Hash] opts the optional parameters
301
+ # @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level
302
+ # retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry
303
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call
304
+ # for a resource, set the `if-match` parameter to the value of the
305
+ # etag from a previous GET or POST response for that resource.
306
+ # The resource will be updated or deleted only if the etag you
307
+ # provide matches the resource's current etag value.
308
+ #
309
+ # @option opts [String] :opc_request_id The client request ID for tracing.
310
+ # @return [Response] A Response object with data of type nil
311
+ def delete_budget(budget_id, opts = {})
312
+ logger.debug 'Calling operation BudgetClient#delete_budget.' if logger
313
+
314
+ raise "Missing the required parameter 'budget_id' when calling delete_budget." if budget_id.nil?
315
+ raise "Parameter value for 'budget_id' must not be blank" if OCI::Internal::Util.blank_string?(budget_id)
316
+
317
+ path = '/budgets/{budgetId}'.sub('{budgetId}', budget_id.to_s)
318
+ operation_signing_strategy = :standard
319
+
320
+ # rubocop:disable Style/NegatedIf
321
+ # Query Params
322
+ query_params = {}
323
+
324
+ # Header Params
325
+ header_params = {}
326
+ header_params[:accept] = 'application/json'
327
+ header_params[:'content-type'] = 'application/json'
328
+ header_params[:'if-match'] = opts[:if_match] if opts[:if_match]
329
+ header_params[:'opc-request-id'] = opts[:opc_request_id] if opts[:opc_request_id]
330
+ # rubocop:enable Style/NegatedIf
331
+
332
+ post_body = nil
333
+
334
+ # rubocop:disable Metrics/BlockLength
335
+ OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BudgetClient#delete_budget') do
336
+ @api_client.call_api(
337
+ :DELETE,
338
+ path,
339
+ endpoint,
340
+ header_params: header_params,
341
+ query_params: query_params,
342
+ operation_signing_strategy: operation_signing_strategy,
343
+ body: post_body
344
+ )
345
+ end
346
+ # rubocop:enable Metrics/BlockLength
347
+ end
348
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
349
+ # rubocop:enable Style/IfUnlessModifier, Metrics/ParameterLists
350
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines
351
+
352
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
353
+ # rubocop:disable Style/IfUnlessModifier, Metrics/ParameterLists
354
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
355
+
356
+
357
+ # Gets an Alert Rule for a specified Budget.
358
+ # @param [String] budget_id The unique Budget OCID
359
+ # @param [String] alert_rule_id The unique Alert Rule OCID
360
+ # @param [Hash] opts the optional parameters
361
+ # @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level
362
+ # retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry
363
+ # @option opts [String] :opc_request_id The client request ID for tracing.
364
+ # @return [Response] A Response object with data of type {OCI::Budget::Models::AlertRule AlertRule}
365
+ def get_alert_rule(budget_id, alert_rule_id, opts = {})
366
+ logger.debug 'Calling operation BudgetClient#get_alert_rule.' if logger
367
+
368
+ raise "Missing the required parameter 'budget_id' when calling get_alert_rule." if budget_id.nil?
369
+ raise "Missing the required parameter 'alert_rule_id' when calling get_alert_rule." if alert_rule_id.nil?
370
+ raise "Parameter value for 'budget_id' must not be blank" if OCI::Internal::Util.blank_string?(budget_id)
371
+ raise "Parameter value for 'alert_rule_id' must not be blank" if OCI::Internal::Util.blank_string?(alert_rule_id)
372
+
373
+ path = '/budgets/{budgetId}/alertRules/{alertRuleId}'.sub('{budgetId}', budget_id.to_s).sub('{alertRuleId}', alert_rule_id.to_s)
374
+ operation_signing_strategy = :standard
375
+
376
+ # rubocop:disable Style/NegatedIf
377
+ # Query Params
378
+ query_params = {}
379
+
380
+ # Header Params
381
+ header_params = {}
382
+ header_params[:accept] = 'application/json'
383
+ header_params[:'content-type'] = 'application/json'
384
+ header_params[:'opc-request-id'] = opts[:opc_request_id] if opts[:opc_request_id]
385
+ # rubocop:enable Style/NegatedIf
386
+
387
+ post_body = nil
388
+
389
+ # rubocop:disable Metrics/BlockLength
390
+ OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BudgetClient#get_alert_rule') do
391
+ @api_client.call_api(
392
+ :GET,
393
+ path,
394
+ endpoint,
395
+ header_params: header_params,
396
+ query_params: query_params,
397
+ operation_signing_strategy: operation_signing_strategy,
398
+ body: post_body,
399
+ return_type: 'OCI::Budget::Models::AlertRule'
400
+ )
401
+ end
402
+ # rubocop:enable Metrics/BlockLength
403
+ end
404
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
405
+ # rubocop:enable Style/IfUnlessModifier, Metrics/ParameterLists
406
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines
407
+
408
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
409
+ # rubocop:disable Style/IfUnlessModifier, Metrics/ParameterLists
410
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
411
+
412
+
413
+ # Gets a Budget by identifier
414
+ # @param [String] budget_id The unique Budget OCID
415
+ # @param [Hash] opts the optional parameters
416
+ # @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level
417
+ # retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry
418
+ # @option opts [String] :opc_request_id The client request ID for tracing.
419
+ # @return [Response] A Response object with data of type {OCI::Budget::Models::Budget Budget}
420
+ def get_budget(budget_id, opts = {})
421
+ logger.debug 'Calling operation BudgetClient#get_budget.' if logger
422
+
423
+ raise "Missing the required parameter 'budget_id' when calling get_budget." if budget_id.nil?
424
+ raise "Parameter value for 'budget_id' must not be blank" if OCI::Internal::Util.blank_string?(budget_id)
425
+
426
+ path = '/budgets/{budgetId}'.sub('{budgetId}', budget_id.to_s)
427
+ operation_signing_strategy = :standard
428
+
429
+ # rubocop:disable Style/NegatedIf
430
+ # Query Params
431
+ query_params = {}
432
+
433
+ # Header Params
434
+ header_params = {}
435
+ header_params[:accept] = 'application/json'
436
+ header_params[:'content-type'] = 'application/json'
437
+ header_params[:'opc-request-id'] = opts[:opc_request_id] if opts[:opc_request_id]
438
+ # rubocop:enable Style/NegatedIf
439
+
440
+ post_body = nil
441
+
442
+ # rubocop:disable Metrics/BlockLength
443
+ OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BudgetClient#get_budget') do
444
+ @api_client.call_api(
445
+ :GET,
446
+ path,
447
+ endpoint,
448
+ header_params: header_params,
449
+ query_params: query_params,
450
+ operation_signing_strategy: operation_signing_strategy,
451
+ body: post_body,
452
+ return_type: 'OCI::Budget::Models::Budget'
453
+ )
454
+ end
455
+ # rubocop:enable Metrics/BlockLength
456
+ end
457
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
458
+ # rubocop:enable Style/IfUnlessModifier, Metrics/ParameterLists
459
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines
460
+
461
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
462
+ # rubocop:disable Style/IfUnlessModifier, Metrics/ParameterLists
463
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
464
+
465
+
466
+ # Returns a list of Alert Rules for a specified Budget.
467
+ #
468
+ # @param [String] budget_id The unique Budget OCID
469
+ # @param [Hash] opts the optional parameters
470
+ # @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level
471
+ # retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry
472
+ # @option opts [Integer] :limit The maximum number of items to return.
473
+ # @option opts [String] :page The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.
474
+ # @option opts [String] :sort_order The sort order to use, either 'asc' or 'desc'.
475
+ # Allowed values are: ASC, DESC
476
+ # @option opts [String] :sort_by The field to sort by. If not specified, the default is timeCreated.
477
+ # The default sort order for timeCreated is DESC.
478
+ # The default sort order for displayName is ASC in alphanumeric order.
479
+ #
480
+ # @option opts [String] :lifecycle_state The current state of the resource to filter by.
481
+ # @option opts [String] :display_name A user-friendly name. Does not have to be unique, and it's changeable.
482
+ #
483
+ # Example: `My new resource`
484
+ #
485
+ # @option opts [String] :opc_request_id The client request ID for tracing.
486
+ # @return [Response] A Response object with data of type Array<{OCI::Budget::Models::AlertRuleSummary AlertRuleSummary}>
487
+ def list_alert_rules(budget_id, opts = {})
488
+ logger.debug 'Calling operation BudgetClient#list_alert_rules.' if logger
489
+
490
+ raise "Missing the required parameter 'budget_id' when calling list_alert_rules." if budget_id.nil?
491
+
492
+ if opts[:sort_order] && !%w[ASC DESC].include?(opts[:sort_order])
493
+ raise 'Invalid value for "sort_order", must be one of ASC, DESC.'
494
+ end
495
+
496
+ if opts[:sort_by] && !OCI::Budget::Models::SORT_BY_ENUM.include?(opts[:sort_by])
497
+ raise 'Invalid value for "sort_by", must be one of the values in OCI::Budget::Models::SORT_BY_ENUM.'
498
+ end
499
+
500
+ if opts[:lifecycle_state] && !OCI::Budget::Models::LIFECYCLE_STATE_ENUM.include?(opts[:lifecycle_state])
501
+ raise 'Invalid value for "lifecycle_state", must be one of the values in OCI::Budget::Models::LIFECYCLE_STATE_ENUM.'
502
+ end
503
+ raise "Parameter value for 'budget_id' must not be blank" if OCI::Internal::Util.blank_string?(budget_id)
504
+
505
+ path = '/budgets/{budgetId}/alertRules'.sub('{budgetId}', budget_id.to_s)
506
+ operation_signing_strategy = :standard
507
+
508
+ # rubocop:disable Style/NegatedIf
509
+ # Query Params
510
+ query_params = {}
511
+ query_params[:limit] = opts[:limit] if opts[:limit]
512
+ query_params[:page] = opts[:page] if opts[:page]
513
+ query_params[:sortOrder] = opts[:sort_order] if opts[:sort_order]
514
+ query_params[:sortBy] = opts[:sort_by] if opts[:sort_by]
515
+ query_params[:lifecycleState] = opts[:lifecycle_state] if opts[:lifecycle_state]
516
+ query_params[:displayName] = opts[:display_name] if opts[:display_name]
517
+
518
+ # Header Params
519
+ header_params = {}
520
+ header_params[:accept] = 'application/json'
521
+ header_params[:'content-type'] = 'application/json'
522
+ header_params[:'opc-request-id'] = opts[:opc_request_id] if opts[:opc_request_id]
523
+ # rubocop:enable Style/NegatedIf
524
+
525
+ post_body = nil
526
+
527
+ # rubocop:disable Metrics/BlockLength
528
+ OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BudgetClient#list_alert_rules') do
529
+ @api_client.call_api(
530
+ :GET,
531
+ path,
532
+ endpoint,
533
+ header_params: header_params,
534
+ query_params: query_params,
535
+ operation_signing_strategy: operation_signing_strategy,
536
+ body: post_body,
537
+ return_type: 'Array<OCI::Budget::Models::AlertRuleSummary>'
538
+ )
539
+ end
540
+ # rubocop:enable Metrics/BlockLength
541
+ end
542
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
543
+ # rubocop:enable Style/IfUnlessModifier, Metrics/ParameterLists
544
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines
545
+
546
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
547
+ # rubocop:disable Style/IfUnlessModifier, Metrics/ParameterLists
548
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
549
+
550
+
551
+ # Gets a list of all Budgets in a compartment.
552
+ #
553
+ # @param [String] compartment_id The ID of the compartment in which to list resources.
554
+ # @param [Hash] opts the optional parameters
555
+ # @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level
556
+ # retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry
557
+ # @option opts [Integer] :limit The maximum number of items to return.
558
+ # @option opts [String] :page The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.
559
+ # @option opts [String] :sort_order The sort order to use, either 'asc' or 'desc'.
560
+ # Allowed values are: ASC, DESC
561
+ # @option opts [String] :sort_by The field to sort by. If not specified, the default is timeCreated.
562
+ # The default sort order for timeCreated is DESC.
563
+ # The default sort order for displayName is ASC in alphanumeric order.
564
+ #
565
+ # @option opts [String] :lifecycle_state The current state of the resource to filter by.
566
+ # @option opts [String] :display_name A user-friendly name. Does not have to be unique, and it's changeable.
567
+ #
568
+ # Example: `My new resource`
569
+ #
570
+ # @option opts [String] :opc_request_id The client request ID for tracing.
571
+ # @return [Response] A Response object with data of type Array<{OCI::Budget::Models::BudgetSummary BudgetSummary}>
572
+ def list_budgets(compartment_id, opts = {})
573
+ logger.debug 'Calling operation BudgetClient#list_budgets.' if logger
574
+
575
+ raise "Missing the required parameter 'compartment_id' when calling list_budgets." if compartment_id.nil?
576
+
577
+ if opts[:sort_order] && !%w[ASC DESC].include?(opts[:sort_order])
578
+ raise 'Invalid value for "sort_order", must be one of ASC, DESC.'
579
+ end
580
+
581
+ if opts[:sort_by] && !OCI::Budget::Models::SORT_BY_ENUM.include?(opts[:sort_by])
582
+ raise 'Invalid value for "sort_by", must be one of the values in OCI::Budget::Models::SORT_BY_ENUM.'
583
+ end
584
+
585
+ if opts[:lifecycle_state] && !OCI::Budget::Models::LIFECYCLE_STATE_ENUM.include?(opts[:lifecycle_state])
586
+ raise 'Invalid value for "lifecycle_state", must be one of the values in OCI::Budget::Models::LIFECYCLE_STATE_ENUM.'
587
+ end
588
+
589
+ path = '/budgets'
590
+ operation_signing_strategy = :standard
591
+
592
+ # rubocop:disable Style/NegatedIf
593
+ # Query Params
594
+ query_params = {}
595
+ query_params[:compartmentId] = compartment_id
596
+ query_params[:limit] = opts[:limit] if opts[:limit]
597
+ query_params[:page] = opts[:page] if opts[:page]
598
+ query_params[:sortOrder] = opts[:sort_order] if opts[:sort_order]
599
+ query_params[:sortBy] = opts[:sort_by] if opts[:sort_by]
600
+ query_params[:lifecycleState] = opts[:lifecycle_state] if opts[:lifecycle_state]
601
+ query_params[:displayName] = opts[:display_name] if opts[:display_name]
602
+
603
+ # Header Params
604
+ header_params = {}
605
+ header_params[:accept] = 'application/json'
606
+ header_params[:'content-type'] = 'application/json'
607
+ header_params[:'opc-request-id'] = opts[:opc_request_id] if opts[:opc_request_id]
608
+ # rubocop:enable Style/NegatedIf
609
+
610
+ post_body = nil
611
+
612
+ # rubocop:disable Metrics/BlockLength
613
+ OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BudgetClient#list_budgets') do
614
+ @api_client.call_api(
615
+ :GET,
616
+ path,
617
+ endpoint,
618
+ header_params: header_params,
619
+ query_params: query_params,
620
+ operation_signing_strategy: operation_signing_strategy,
621
+ body: post_body,
622
+ return_type: 'Array<OCI::Budget::Models::BudgetSummary>'
623
+ )
624
+ end
625
+ # rubocop:enable Metrics/BlockLength
626
+ end
627
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
628
+ # rubocop:enable Style/IfUnlessModifier, Metrics/ParameterLists
629
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines
630
+
631
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
632
+ # rubocop:disable Style/IfUnlessModifier, Metrics/ParameterLists
633
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
634
+
635
+
636
+ # Update an Alert Rule for the budget identified by the OCID.
637
+ # @param [String] budget_id The unique Budget OCID
638
+ # @param [String] alert_rule_id The unique Alert Rule OCID
639
+ # @param [OCI::Budget::Models::UpdateAlertRuleDetails] update_alert_rule_details The information to be updated.
640
+ # @param [Hash] opts the optional parameters
641
+ # @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level
642
+ # retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry
643
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call
644
+ # for a resource, set the `if-match` parameter to the value of the
645
+ # etag from a previous GET or POST response for that resource.
646
+ # The resource will be updated or deleted only if the etag you
647
+ # provide matches the resource's current etag value.
648
+ #
649
+ # @option opts [String] :opc_request_id The client request ID for tracing.
650
+ # @return [Response] A Response object with data of type {OCI::Budget::Models::AlertRule AlertRule}
651
+ def update_alert_rule(budget_id, alert_rule_id, update_alert_rule_details, opts = {})
652
+ logger.debug 'Calling operation BudgetClient#update_alert_rule.' if logger
653
+
654
+ raise "Missing the required parameter 'budget_id' when calling update_alert_rule." if budget_id.nil?
655
+ raise "Missing the required parameter 'alert_rule_id' when calling update_alert_rule." if alert_rule_id.nil?
656
+ raise "Missing the required parameter 'update_alert_rule_details' when calling update_alert_rule." if update_alert_rule_details.nil?
657
+ raise "Parameter value for 'budget_id' must not be blank" if OCI::Internal::Util.blank_string?(budget_id)
658
+ raise "Parameter value for 'alert_rule_id' must not be blank" if OCI::Internal::Util.blank_string?(alert_rule_id)
659
+
660
+ path = '/budgets/{budgetId}/alertRules/{alertRuleId}'.sub('{budgetId}', budget_id.to_s).sub('{alertRuleId}', alert_rule_id.to_s)
661
+ operation_signing_strategy = :standard
662
+
663
+ # rubocop:disable Style/NegatedIf
664
+ # Query Params
665
+ query_params = {}
666
+
667
+ # Header Params
668
+ header_params = {}
669
+ header_params[:accept] = 'application/json'
670
+ header_params[:'content-type'] = 'application/json'
671
+ header_params[:'if-match'] = opts[:if_match] if opts[:if_match]
672
+ header_params[:'opc-request-id'] = opts[:opc_request_id] if opts[:opc_request_id]
673
+ # rubocop:enable Style/NegatedIf
674
+
675
+ post_body = @api_client.object_to_http_body(update_alert_rule_details)
676
+
677
+ # rubocop:disable Metrics/BlockLength
678
+ OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BudgetClient#update_alert_rule') do
679
+ @api_client.call_api(
680
+ :PUT,
681
+ path,
682
+ endpoint,
683
+ header_params: header_params,
684
+ query_params: query_params,
685
+ operation_signing_strategy: operation_signing_strategy,
686
+ body: post_body,
687
+ return_type: 'OCI::Budget::Models::AlertRule'
688
+ )
689
+ end
690
+ # rubocop:enable Metrics/BlockLength
691
+ end
692
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
693
+ # rubocop:enable Style/IfUnlessModifier, Metrics/ParameterLists
694
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines
695
+
696
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
697
+ # rubocop:disable Style/IfUnlessModifier, Metrics/ParameterLists
698
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
699
+
700
+
701
+ # Update a Budget identified by the OCID
702
+ # @param [String] budget_id The unique Budget OCID
703
+ # @param [OCI::Budget::Models::UpdateBudgetDetails] update_budget_details The information to be updated.
704
+ # @param [Hash] opts the optional parameters
705
+ # @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level
706
+ # retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry
707
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call
708
+ # for a resource, set the `if-match` parameter to the value of the
709
+ # etag from a previous GET or POST response for that resource.
710
+ # The resource will be updated or deleted only if the etag you
711
+ # provide matches the resource's current etag value.
712
+ #
713
+ # @option opts [String] :opc_request_id The client request ID for tracing.
714
+ # @return [Response] A Response object with data of type {OCI::Budget::Models::Budget Budget}
715
+ def update_budget(budget_id, update_budget_details, opts = {})
716
+ logger.debug 'Calling operation BudgetClient#update_budget.' if logger
717
+
718
+ raise "Missing the required parameter 'budget_id' when calling update_budget." if budget_id.nil?
719
+ raise "Missing the required parameter 'update_budget_details' when calling update_budget." if update_budget_details.nil?
720
+ raise "Parameter value for 'budget_id' must not be blank" if OCI::Internal::Util.blank_string?(budget_id)
721
+
722
+ path = '/budgets/{budgetId}'.sub('{budgetId}', budget_id.to_s)
723
+ operation_signing_strategy = :standard
724
+
725
+ # rubocop:disable Style/NegatedIf
726
+ # Query Params
727
+ query_params = {}
728
+
729
+ # Header Params
730
+ header_params = {}
731
+ header_params[:accept] = 'application/json'
732
+ header_params[:'content-type'] = 'application/json'
733
+ header_params[:'if-match'] = opts[:if_match] if opts[:if_match]
734
+ header_params[:'opc-request-id'] = opts[:opc_request_id] if opts[:opc_request_id]
735
+ # rubocop:enable Style/NegatedIf
736
+
737
+ post_body = @api_client.object_to_http_body(update_budget_details)
738
+
739
+ # rubocop:disable Metrics/BlockLength
740
+ OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'BudgetClient#update_budget') do
741
+ @api_client.call_api(
742
+ :PUT,
743
+ path,
744
+ endpoint,
745
+ header_params: header_params,
746
+ query_params: query_params,
747
+ operation_signing_strategy: operation_signing_strategy,
748
+ body: post_body,
749
+ return_type: 'OCI::Budget::Models::Budget'
750
+ )
751
+ end
752
+ # rubocop:enable Metrics/BlockLength
753
+ end
754
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
755
+ # rubocop:enable Style/IfUnlessModifier, Metrics/ParameterLists
756
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines
757
+
758
+ private
759
+
760
+ def applicable_retry_config(opts = {})
761
+ return @retry_config unless opts.key?(:retry_config)
762
+
763
+ opts[:retry_config]
764
+ end
765
+ end
766
+ end
767
+ # rubocop:enable Lint/UnneededCopDisableDirective, Metrics/LineLength