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
@@ -0,0 +1,396 @@
1
+ # Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require 'date'
4
+ require 'logger'
5
+
6
+ # rubocop:disable Lint/UnneededCopDisableDirective
7
+ module OCI
8
+ # The alert rule.
9
+ class Budget::Models::AlertRuleSummary # rubocop:disable Metrics/LineLength
10
+ TYPE_ENUM = [
11
+ TYPE_ACTUAL = 'ACTUAL'.freeze,
12
+ TYPE_FORECAST = 'FORECAST'.freeze,
13
+ TYPE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
14
+ ].freeze
15
+
16
+ THRESHOLD_TYPE_ENUM = [
17
+ THRESHOLD_TYPE_PERCENTAGE = 'PERCENTAGE'.freeze,
18
+ THRESHOLD_TYPE_ABSOLUTE = 'ABSOLUTE'.freeze,
19
+ THRESHOLD_TYPE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
20
+ ].freeze
21
+
22
+ LIFECYCLE_STATE_ENUM = [
23
+ LIFECYCLE_STATE_ACTIVE = 'ACTIVE'.freeze,
24
+ LIFECYCLE_STATE_INACTIVE = 'INACTIVE'.freeze,
25
+ LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
26
+ ].freeze
27
+
28
+ # **[Required]** The OCID of the alert rule
29
+ # @return [String]
30
+ attr_accessor :id
31
+
32
+ # **[Required]** The OCID of the budget
33
+ # @return [String]
34
+ attr_accessor :budget_id
35
+
36
+ # **[Required]** The name of the alert rule.
37
+ # @return [String]
38
+ attr_accessor :display_name
39
+
40
+ # **[Required]** ACTUAL means the alert will trigger based on actual usage.
41
+ # FORECAST means the alert will trigger based on predicted usage.
42
+ #
43
+ # @return [String]
44
+ attr_reader :type
45
+
46
+ # **[Required]** The threshold for triggering the alert. If thresholdType is PERCENTAGE, the maximum value is 10000.
47
+ #
48
+ # @return [Float]
49
+ attr_accessor :threshold
50
+
51
+ # **[Required]** The type of threshold.
52
+ # @return [String]
53
+ attr_reader :threshold_type
54
+
55
+ # **[Required]** The current state of the alert rule.
56
+ # @return [String]
57
+ attr_reader :lifecycle_state
58
+
59
+ # Custom message that will be sent when alert is triggered
60
+ # @return [String]
61
+ attr_accessor :message
62
+
63
+ # The description of the alert rule.
64
+ # @return [String]
65
+ attr_accessor :description
66
+
67
+ # Version of the alert rule. Starts from 1 and increments by 1.
68
+ # @return [Integer]
69
+ attr_accessor :version
70
+
71
+ # **[Required]** The audience that will received the alert when it triggers.
72
+ # @return [String]
73
+ attr_accessor :recipients
74
+
75
+ # **[Required]** Time when budget was created
76
+ # @return [DateTime]
77
+ attr_accessor :time_created
78
+
79
+ # **[Required]** Time when budget was updated
80
+ # @return [DateTime]
81
+ attr_accessor :time_updated
82
+
83
+ # Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
84
+ # For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
85
+ #
86
+ # Example: `{\"Department\": \"Finance\"}`
87
+ #
88
+ # @return [Hash<String, String>]
89
+ attr_accessor :freeform_tags
90
+
91
+ # Defined tags for this resource. Each key is predefined and scoped to a namespace.
92
+ # For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
93
+ #
94
+ # Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
95
+ #
96
+ # @return [Hash<String, Hash<String, Object>>]
97
+ attr_accessor :defined_tags
98
+
99
+ # Attribute mapping from ruby-style variable name to JSON key.
100
+ def self.attribute_map
101
+ {
102
+ # rubocop:disable Style/SymbolLiteral
103
+ 'id': :'id',
104
+ 'budget_id': :'budgetId',
105
+ 'display_name': :'displayName',
106
+ 'type': :'type',
107
+ 'threshold': :'threshold',
108
+ 'threshold_type': :'thresholdType',
109
+ 'lifecycle_state': :'lifecycleState',
110
+ 'message': :'message',
111
+ 'description': :'description',
112
+ 'version': :'version',
113
+ 'recipients': :'recipients',
114
+ 'time_created': :'timeCreated',
115
+ 'time_updated': :'timeUpdated',
116
+ 'freeform_tags': :'freeformTags',
117
+ 'defined_tags': :'definedTags'
118
+ # rubocop:enable Style/SymbolLiteral
119
+ }
120
+ end
121
+
122
+ # Attribute type mapping.
123
+ def self.swagger_types
124
+ {
125
+ # rubocop:disable Style/SymbolLiteral
126
+ 'id': :'String',
127
+ 'budget_id': :'String',
128
+ 'display_name': :'String',
129
+ 'type': :'String',
130
+ 'threshold': :'Float',
131
+ 'threshold_type': :'String',
132
+ 'lifecycle_state': :'String',
133
+ 'message': :'String',
134
+ 'description': :'String',
135
+ 'version': :'Integer',
136
+ 'recipients': :'String',
137
+ 'time_created': :'DateTime',
138
+ 'time_updated': :'DateTime',
139
+ 'freeform_tags': :'Hash<String, String>',
140
+ 'defined_tags': :'Hash<String, Hash<String, Object>>'
141
+ # rubocop:enable Style/SymbolLiteral
142
+ }
143
+ end
144
+
145
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
146
+ # rubocop:disable Metrics/LineLength, Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
147
+
148
+
149
+ # Initializes the object
150
+ # @param [Hash] attributes Model attributes in the form of hash
151
+ # @option attributes [String] :id The value to assign to the {#id} property
152
+ # @option attributes [String] :budget_id The value to assign to the {#budget_id} property
153
+ # @option attributes [String] :display_name The value to assign to the {#display_name} property
154
+ # @option attributes [String] :type The value to assign to the {#type} property
155
+ # @option attributes [Float] :threshold The value to assign to the {#threshold} property
156
+ # @option attributes [String] :threshold_type The value to assign to the {#threshold_type} property
157
+ # @option attributes [String] :lifecycle_state The value to assign to the {#lifecycle_state} property
158
+ # @option attributes [String] :message The value to assign to the {#message} property
159
+ # @option attributes [String] :description The value to assign to the {#description} property
160
+ # @option attributes [Integer] :version The value to assign to the {#version} property
161
+ # @option attributes [String] :recipients The value to assign to the {#recipients} property
162
+ # @option attributes [DateTime] :time_created The value to assign to the {#time_created} property
163
+ # @option attributes [DateTime] :time_updated The value to assign to the {#time_updated} property
164
+ # @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {#freeform_tags} property
165
+ # @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {#defined_tags} property
166
+ def initialize(attributes = {})
167
+ return unless attributes.is_a?(Hash)
168
+
169
+ # convert string to symbol for hash key
170
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
171
+
172
+ self.id = attributes[:'id'] if attributes[:'id']
173
+
174
+ self.budget_id = attributes[:'budgetId'] if attributes[:'budgetId']
175
+
176
+ raise 'You cannot provide both :budgetId and :budget_id' if attributes.key?(:'budgetId') && attributes.key?(:'budget_id')
177
+
178
+ self.budget_id = attributes[:'budget_id'] if attributes[:'budget_id']
179
+
180
+ self.display_name = attributes[:'displayName'] if attributes[:'displayName']
181
+
182
+ raise 'You cannot provide both :displayName and :display_name' if attributes.key?(:'displayName') && attributes.key?(:'display_name')
183
+
184
+ self.display_name = attributes[:'display_name'] if attributes[:'display_name']
185
+
186
+ self.type = attributes[:'type'] if attributes[:'type']
187
+
188
+ self.threshold = attributes[:'threshold'] if attributes[:'threshold']
189
+
190
+ self.threshold_type = attributes[:'thresholdType'] if attributes[:'thresholdType']
191
+
192
+ raise 'You cannot provide both :thresholdType and :threshold_type' if attributes.key?(:'thresholdType') && attributes.key?(:'threshold_type')
193
+
194
+ self.threshold_type = attributes[:'threshold_type'] if attributes[:'threshold_type']
195
+
196
+ self.lifecycle_state = attributes[:'lifecycleState'] if attributes[:'lifecycleState']
197
+
198
+ raise 'You cannot provide both :lifecycleState and :lifecycle_state' if attributes.key?(:'lifecycleState') && attributes.key?(:'lifecycle_state')
199
+
200
+ self.lifecycle_state = attributes[:'lifecycle_state'] if attributes[:'lifecycle_state']
201
+
202
+ self.message = attributes[:'message'] if attributes[:'message']
203
+
204
+ self.description = attributes[:'description'] if attributes[:'description']
205
+
206
+ self.version = attributes[:'version'] if attributes[:'version']
207
+
208
+ self.recipients = attributes[:'recipients'] if attributes[:'recipients']
209
+
210
+ self.time_created = attributes[:'timeCreated'] if attributes[:'timeCreated']
211
+
212
+ raise 'You cannot provide both :timeCreated and :time_created' if attributes.key?(:'timeCreated') && attributes.key?(:'time_created')
213
+
214
+ self.time_created = attributes[:'time_created'] if attributes[:'time_created']
215
+
216
+ self.time_updated = attributes[:'timeUpdated'] if attributes[:'timeUpdated']
217
+
218
+ raise 'You cannot provide both :timeUpdated and :time_updated' if attributes.key?(:'timeUpdated') && attributes.key?(:'time_updated')
219
+
220
+ self.time_updated = attributes[:'time_updated'] if attributes[:'time_updated']
221
+
222
+ self.freeform_tags = attributes[:'freeformTags'] if attributes[:'freeformTags']
223
+
224
+ raise 'You cannot provide both :freeformTags and :freeform_tags' if attributes.key?(:'freeformTags') && attributes.key?(:'freeform_tags')
225
+
226
+ self.freeform_tags = attributes[:'freeform_tags'] if attributes[:'freeform_tags']
227
+
228
+ self.defined_tags = attributes[:'definedTags'] if attributes[:'definedTags']
229
+
230
+ raise 'You cannot provide both :definedTags and :defined_tags' if attributes.key?(:'definedTags') && attributes.key?(:'defined_tags')
231
+
232
+ self.defined_tags = attributes[:'defined_tags'] if attributes[:'defined_tags']
233
+ end
234
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
235
+ # rubocop:enable Metrics/LineLength, Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
236
+
237
+ # Custom attribute writer method checking allowed values (enum).
238
+ # @param [Object] type Object to be assigned
239
+ def type=(type)
240
+ # rubocop:disable Style/ConditionalAssignment
241
+ if type && !TYPE_ENUM.include?(type)
242
+ # rubocop: disable Metrics/LineLength
243
+ OCI.logger.debug("Unknown value for 'type' [" + type + "]. Mapping to 'TYPE_UNKNOWN_ENUM_VALUE'") if OCI.logger
244
+ # rubocop: enable Metrics/LineLength
245
+ @type = TYPE_UNKNOWN_ENUM_VALUE
246
+ else
247
+ @type = type
248
+ end
249
+ # rubocop:enable Style/ConditionalAssignment
250
+ end
251
+
252
+ # Custom attribute writer method checking allowed values (enum).
253
+ # @param [Object] threshold_type Object to be assigned
254
+ def threshold_type=(threshold_type)
255
+ # rubocop:disable Style/ConditionalAssignment
256
+ if threshold_type && !THRESHOLD_TYPE_ENUM.include?(threshold_type)
257
+ # rubocop: disable Metrics/LineLength
258
+ OCI.logger.debug("Unknown value for 'threshold_type' [" + threshold_type + "]. Mapping to 'THRESHOLD_TYPE_UNKNOWN_ENUM_VALUE'") if OCI.logger
259
+ # rubocop: enable Metrics/LineLength
260
+ @threshold_type = THRESHOLD_TYPE_UNKNOWN_ENUM_VALUE
261
+ else
262
+ @threshold_type = threshold_type
263
+ end
264
+ # rubocop:enable Style/ConditionalAssignment
265
+ end
266
+
267
+ # Custom attribute writer method checking allowed values (enum).
268
+ # @param [Object] lifecycle_state Object to be assigned
269
+ def lifecycle_state=(lifecycle_state)
270
+ # rubocop:disable Style/ConditionalAssignment
271
+ if lifecycle_state && !LIFECYCLE_STATE_ENUM.include?(lifecycle_state)
272
+ # rubocop: disable Metrics/LineLength
273
+ OCI.logger.debug("Unknown value for 'lifecycle_state' [" + lifecycle_state + "]. Mapping to 'LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE'") if OCI.logger
274
+ # rubocop: enable Metrics/LineLength
275
+ @lifecycle_state = LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE
276
+ else
277
+ @lifecycle_state = lifecycle_state
278
+ end
279
+ # rubocop:enable Style/ConditionalAssignment
280
+ end
281
+
282
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Metrics/LineLength, Layout/EmptyLines
283
+
284
+
285
+ # Checks equality by comparing each attribute.
286
+ # @param [Object] other the other object to be compared
287
+ def ==(other)
288
+ return true if equal?(other)
289
+
290
+ self.class == other.class &&
291
+ id == other.id &&
292
+ budget_id == other.budget_id &&
293
+ display_name == other.display_name &&
294
+ type == other.type &&
295
+ threshold == other.threshold &&
296
+ threshold_type == other.threshold_type &&
297
+ lifecycle_state == other.lifecycle_state &&
298
+ message == other.message &&
299
+ description == other.description &&
300
+ version == other.version &&
301
+ recipients == other.recipients &&
302
+ time_created == other.time_created &&
303
+ time_updated == other.time_updated &&
304
+ freeform_tags == other.freeform_tags &&
305
+ defined_tags == other.defined_tags
306
+ end
307
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Metrics/LineLength, Layout/EmptyLines
308
+
309
+ # @see the `==` method
310
+ # @param [Object] other the other object to be compared
311
+ def eql?(other)
312
+ self == other
313
+ end
314
+
315
+ # rubocop:disable Metrics/AbcSize, Metrics/LineLength, Layout/EmptyLines
316
+
317
+
318
+ # Calculates hash code according to all attributes.
319
+ # @return [Fixnum] Hash code
320
+ def hash
321
+ [id, budget_id, display_name, type, threshold, threshold_type, lifecycle_state, message, description, version, recipients, time_created, time_updated, freeform_tags, defined_tags].hash
322
+ end
323
+ # rubocop:enable Metrics/AbcSize, Metrics/LineLength, Layout/EmptyLines
324
+
325
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
326
+
327
+
328
+ # Builds the object from hash
329
+ # @param [Hash] attributes Model attributes in the form of hash
330
+ # @return [Object] Returns the model itself
331
+ def build_from_hash(attributes)
332
+ return nil unless attributes.is_a?(Hash)
333
+
334
+ self.class.swagger_types.each_pair do |key, type|
335
+ if type =~ /^Array<(.*)>/i
336
+ # check to ensure the input is an array given that the the attribute
337
+ # is documented as an array but the input is not
338
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
339
+ public_method("#{key}=").call(
340
+ attributes[self.class.attribute_map[key]]
341
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
342
+ )
343
+ end
344
+ elsif !attributes[self.class.attribute_map[key]].nil?
345
+ public_method("#{key}=").call(
346
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
347
+ )
348
+ end
349
+ # or else data not found in attributes(hash), not an issue as the data can be optional
350
+ end
351
+
352
+ self
353
+ end
354
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
355
+
356
+ # Returns the string representation of the object
357
+ # @return [String] String presentation of the object
358
+ def to_s
359
+ to_hash.to_s
360
+ end
361
+
362
+ # Returns the object in the form of hash
363
+ # @return [Hash] Returns the object in the form of hash
364
+ def to_hash
365
+ hash = {}
366
+ self.class.attribute_map.each_pair do |attr, param|
367
+ value = public_method(attr).call
368
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
369
+
370
+ hash[param] = _to_hash(value)
371
+ end
372
+ hash
373
+ end
374
+
375
+ private
376
+
377
+ # Outputs non-array value in the form of hash
378
+ # For object, use to_hash. Otherwise, just return the value
379
+ # @param [Object] value Any valid value
380
+ # @return [Hash] Returns the value in the form of hash
381
+ def _to_hash(value)
382
+ if value.is_a?(Array)
383
+ value.compact.map { |v| _to_hash(v) }
384
+ elsif value.is_a?(Hash)
385
+ {}.tap do |hash|
386
+ value.each { |k, v| hash[k] = _to_hash(v) }
387
+ end
388
+ elsif value.respond_to? :to_hash
389
+ value.to_hash
390
+ else
391
+ value
392
+ end
393
+ end
394
+ end
395
+ end
396
+ # rubocop:enable Lint/UnneededCopDisableDirective
@@ -0,0 +1,10 @@
1
+ # Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ module OCI
4
+ module Budget::Models
5
+ ALERT_TYPE_ENUM = [
6
+ ALERT_TYPE_ACTUAL = 'ACTUAL'.freeze,
7
+ ALERT_TYPE_FORECAST = 'FORECAST'.freeze
8
+ ].freeze
9
+ end
10
+ end
@@ -0,0 +1,413 @@
1
+ # Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require 'date'
4
+ require 'logger'
5
+
6
+ # rubocop:disable Lint/UnneededCopDisableDirective
7
+ module OCI
8
+ # A budget.
9
+ class Budget::Models::Budget # rubocop:disable Metrics/LineLength
10
+ RESET_PERIOD_ENUM = [
11
+ RESET_PERIOD_MONTHLY = 'MONTHLY'.freeze,
12
+ RESET_PERIOD_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
13
+ ].freeze
14
+
15
+ LIFECYCLE_STATE_ENUM = [
16
+ LIFECYCLE_STATE_ACTIVE = 'ACTIVE'.freeze,
17
+ LIFECYCLE_STATE_INACTIVE = 'INACTIVE'.freeze,
18
+ LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
19
+ ].freeze
20
+
21
+ # **[Required]** The OCID of the budget
22
+ # @return [String]
23
+ attr_accessor :id
24
+
25
+ # **[Required]** The OCID of the compartment
26
+ # @return [String]
27
+ attr_accessor :compartment_id
28
+
29
+ # **[Required]** The OCID of the compartment on which budget is applied
30
+ # @return [String]
31
+ attr_accessor :target_compartment_id
32
+
33
+ # **[Required]** The display name of the budget.
34
+ # @return [String]
35
+ attr_accessor :display_name
36
+
37
+ # The description of the budget.
38
+ # @return [String]
39
+ attr_accessor :description
40
+
41
+ # **[Required]** The amount of the budget expressed in the currency of the customer's rate card.
42
+ #
43
+ # @return [Float]
44
+ attr_accessor :amount
45
+
46
+ # **[Required]** The reset period for the budget.
47
+ #
48
+ # @return [String]
49
+ attr_reader :reset_period
50
+
51
+ # **[Required]** The current state of the budget.
52
+ # @return [String]
53
+ attr_reader :lifecycle_state
54
+
55
+ # **[Required]** Total number of alert rules in the budget
56
+ # @return [Integer]
57
+ attr_accessor :alert_rule_count
58
+
59
+ # Version of the budget. Starts from 1 and increments by 1.
60
+ # @return [Integer]
61
+ attr_accessor :version
62
+
63
+ # The actual spend in currency for the current budget cycle
64
+ # @return [Float]
65
+ attr_accessor :actual_spend
66
+
67
+ # The forecasted spend in currency by the end of the current budget cycle
68
+ # @return [Float]
69
+ attr_accessor :forecasted_spend
70
+
71
+ # The time that the budget spend was last computed
72
+ # @return [DateTime]
73
+ attr_accessor :time_spend_computed
74
+
75
+ # **[Required]** Time that budget was created
76
+ # @return [DateTime]
77
+ attr_accessor :time_created
78
+
79
+ # **[Required]** Time that budget was updated
80
+ # @return [DateTime]
81
+ attr_accessor :time_updated
82
+
83
+ # Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
84
+ # For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
85
+ #
86
+ # Example: `{\"Department\": \"Finance\"}`
87
+ #
88
+ # @return [Hash<String, String>]
89
+ attr_accessor :freeform_tags
90
+
91
+ # Defined tags for this resource. Each key is predefined and scoped to a namespace.
92
+ # For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
93
+ #
94
+ # Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
95
+ #
96
+ # @return [Hash<String, Hash<String, Object>>]
97
+ attr_accessor :defined_tags
98
+
99
+ # Attribute mapping from ruby-style variable name to JSON key.
100
+ def self.attribute_map
101
+ {
102
+ # rubocop:disable Style/SymbolLiteral
103
+ 'id': :'id',
104
+ 'compartment_id': :'compartmentId',
105
+ 'target_compartment_id': :'targetCompartmentId',
106
+ 'display_name': :'displayName',
107
+ 'description': :'description',
108
+ 'amount': :'amount',
109
+ 'reset_period': :'resetPeriod',
110
+ 'lifecycle_state': :'lifecycleState',
111
+ 'alert_rule_count': :'alertRuleCount',
112
+ 'version': :'version',
113
+ 'actual_spend': :'actualSpend',
114
+ 'forecasted_spend': :'forecastedSpend',
115
+ 'time_spend_computed': :'timeSpendComputed',
116
+ 'time_created': :'timeCreated',
117
+ 'time_updated': :'timeUpdated',
118
+ 'freeform_tags': :'freeformTags',
119
+ 'defined_tags': :'definedTags'
120
+ # rubocop:enable Style/SymbolLiteral
121
+ }
122
+ end
123
+
124
+ # Attribute type mapping.
125
+ def self.swagger_types
126
+ {
127
+ # rubocop:disable Style/SymbolLiteral
128
+ 'id': :'String',
129
+ 'compartment_id': :'String',
130
+ 'target_compartment_id': :'String',
131
+ 'display_name': :'String',
132
+ 'description': :'String',
133
+ 'amount': :'Float',
134
+ 'reset_period': :'String',
135
+ 'lifecycle_state': :'String',
136
+ 'alert_rule_count': :'Integer',
137
+ 'version': :'Integer',
138
+ 'actual_spend': :'Float',
139
+ 'forecasted_spend': :'Float',
140
+ 'time_spend_computed': :'DateTime',
141
+ 'time_created': :'DateTime',
142
+ 'time_updated': :'DateTime',
143
+ 'freeform_tags': :'Hash<String, String>',
144
+ 'defined_tags': :'Hash<String, Hash<String, Object>>'
145
+ # rubocop:enable Style/SymbolLiteral
146
+ }
147
+ end
148
+
149
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
150
+ # rubocop:disable Metrics/LineLength, Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
151
+
152
+
153
+ # Initializes the object
154
+ # @param [Hash] attributes Model attributes in the form of hash
155
+ # @option attributes [String] :id The value to assign to the {#id} property
156
+ # @option attributes [String] :compartment_id The value to assign to the {#compartment_id} property
157
+ # @option attributes [String] :target_compartment_id The value to assign to the {#target_compartment_id} property
158
+ # @option attributes [String] :display_name The value to assign to the {#display_name} property
159
+ # @option attributes [String] :description The value to assign to the {#description} property
160
+ # @option attributes [Float] :amount The value to assign to the {#amount} property
161
+ # @option attributes [String] :reset_period The value to assign to the {#reset_period} property
162
+ # @option attributes [String] :lifecycle_state The value to assign to the {#lifecycle_state} property
163
+ # @option attributes [Integer] :alert_rule_count The value to assign to the {#alert_rule_count} property
164
+ # @option attributes [Integer] :version The value to assign to the {#version} property
165
+ # @option attributes [Float] :actual_spend The value to assign to the {#actual_spend} property
166
+ # @option attributes [Float] :forecasted_spend The value to assign to the {#forecasted_spend} property
167
+ # @option attributes [DateTime] :time_spend_computed The value to assign to the {#time_spend_computed} property
168
+ # @option attributes [DateTime] :time_created The value to assign to the {#time_created} property
169
+ # @option attributes [DateTime] :time_updated The value to assign to the {#time_updated} property
170
+ # @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {#freeform_tags} property
171
+ # @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {#defined_tags} property
172
+ def initialize(attributes = {})
173
+ return unless attributes.is_a?(Hash)
174
+
175
+ # convert string to symbol for hash key
176
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
177
+
178
+ self.id = attributes[:'id'] if attributes[:'id']
179
+
180
+ self.compartment_id = attributes[:'compartmentId'] if attributes[:'compartmentId']
181
+
182
+ raise 'You cannot provide both :compartmentId and :compartment_id' if attributes.key?(:'compartmentId') && attributes.key?(:'compartment_id')
183
+
184
+ self.compartment_id = attributes[:'compartment_id'] if attributes[:'compartment_id']
185
+
186
+ self.target_compartment_id = attributes[:'targetCompartmentId'] if attributes[:'targetCompartmentId']
187
+
188
+ raise 'You cannot provide both :targetCompartmentId and :target_compartment_id' if attributes.key?(:'targetCompartmentId') && attributes.key?(:'target_compartment_id')
189
+
190
+ self.target_compartment_id = attributes[:'target_compartment_id'] if attributes[:'target_compartment_id']
191
+
192
+ self.display_name = attributes[:'displayName'] if attributes[:'displayName']
193
+
194
+ raise 'You cannot provide both :displayName and :display_name' if attributes.key?(:'displayName') && attributes.key?(:'display_name')
195
+
196
+ self.display_name = attributes[:'display_name'] if attributes[:'display_name']
197
+
198
+ self.description = attributes[:'description'] if attributes[:'description']
199
+
200
+ self.amount = attributes[:'amount'] if attributes[:'amount']
201
+
202
+ self.reset_period = attributes[:'resetPeriod'] if attributes[:'resetPeriod']
203
+
204
+ raise 'You cannot provide both :resetPeriod and :reset_period' if attributes.key?(:'resetPeriod') && attributes.key?(:'reset_period')
205
+
206
+ self.reset_period = attributes[:'reset_period'] if attributes[:'reset_period']
207
+
208
+ self.lifecycle_state = attributes[:'lifecycleState'] if attributes[:'lifecycleState']
209
+
210
+ raise 'You cannot provide both :lifecycleState and :lifecycle_state' if attributes.key?(:'lifecycleState') && attributes.key?(:'lifecycle_state')
211
+
212
+ self.lifecycle_state = attributes[:'lifecycle_state'] if attributes[:'lifecycle_state']
213
+
214
+ self.alert_rule_count = attributes[:'alertRuleCount'] if attributes[:'alertRuleCount']
215
+
216
+ raise 'You cannot provide both :alertRuleCount and :alert_rule_count' if attributes.key?(:'alertRuleCount') && attributes.key?(:'alert_rule_count')
217
+
218
+ self.alert_rule_count = attributes[:'alert_rule_count'] if attributes[:'alert_rule_count']
219
+
220
+ self.version = attributes[:'version'] if attributes[:'version']
221
+
222
+ self.actual_spend = attributes[:'actualSpend'] if attributes[:'actualSpend']
223
+
224
+ raise 'You cannot provide both :actualSpend and :actual_spend' if attributes.key?(:'actualSpend') && attributes.key?(:'actual_spend')
225
+
226
+ self.actual_spend = attributes[:'actual_spend'] if attributes[:'actual_spend']
227
+
228
+ self.forecasted_spend = attributes[:'forecastedSpend'] if attributes[:'forecastedSpend']
229
+
230
+ raise 'You cannot provide both :forecastedSpend and :forecasted_spend' if attributes.key?(:'forecastedSpend') && attributes.key?(:'forecasted_spend')
231
+
232
+ self.forecasted_spend = attributes[:'forecasted_spend'] if attributes[:'forecasted_spend']
233
+
234
+ self.time_spend_computed = attributes[:'timeSpendComputed'] if attributes[:'timeSpendComputed']
235
+
236
+ raise 'You cannot provide both :timeSpendComputed and :time_spend_computed' if attributes.key?(:'timeSpendComputed') && attributes.key?(:'time_spend_computed')
237
+
238
+ self.time_spend_computed = attributes[:'time_spend_computed'] if attributes[:'time_spend_computed']
239
+
240
+ self.time_created = attributes[:'timeCreated'] if attributes[:'timeCreated']
241
+
242
+ raise 'You cannot provide both :timeCreated and :time_created' if attributes.key?(:'timeCreated') && attributes.key?(:'time_created')
243
+
244
+ self.time_created = attributes[:'time_created'] if attributes[:'time_created']
245
+
246
+ self.time_updated = attributes[:'timeUpdated'] if attributes[:'timeUpdated']
247
+
248
+ raise 'You cannot provide both :timeUpdated and :time_updated' if attributes.key?(:'timeUpdated') && attributes.key?(:'time_updated')
249
+
250
+ self.time_updated = attributes[:'time_updated'] if attributes[:'time_updated']
251
+
252
+ self.freeform_tags = attributes[:'freeformTags'] if attributes[:'freeformTags']
253
+
254
+ raise 'You cannot provide both :freeformTags and :freeform_tags' if attributes.key?(:'freeformTags') && attributes.key?(:'freeform_tags')
255
+
256
+ self.freeform_tags = attributes[:'freeform_tags'] if attributes[:'freeform_tags']
257
+
258
+ self.defined_tags = attributes[:'definedTags'] if attributes[:'definedTags']
259
+
260
+ raise 'You cannot provide both :definedTags and :defined_tags' if attributes.key?(:'definedTags') && attributes.key?(:'defined_tags')
261
+
262
+ self.defined_tags = attributes[:'defined_tags'] if attributes[:'defined_tags']
263
+ end
264
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
265
+ # rubocop:enable Metrics/LineLength, Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
266
+
267
+ # Custom attribute writer method checking allowed values (enum).
268
+ # @param [Object] reset_period Object to be assigned
269
+ def reset_period=(reset_period)
270
+ # rubocop:disable Style/ConditionalAssignment
271
+ if reset_period && !RESET_PERIOD_ENUM.include?(reset_period)
272
+ # rubocop: disable Metrics/LineLength
273
+ OCI.logger.debug("Unknown value for 'reset_period' [" + reset_period + "]. Mapping to 'RESET_PERIOD_UNKNOWN_ENUM_VALUE'") if OCI.logger
274
+ # rubocop: enable Metrics/LineLength
275
+ @reset_period = RESET_PERIOD_UNKNOWN_ENUM_VALUE
276
+ else
277
+ @reset_period = reset_period
278
+ end
279
+ # rubocop:enable Style/ConditionalAssignment
280
+ end
281
+
282
+ # Custom attribute writer method checking allowed values (enum).
283
+ # @param [Object] lifecycle_state Object to be assigned
284
+ def lifecycle_state=(lifecycle_state)
285
+ # rubocop:disable Style/ConditionalAssignment
286
+ if lifecycle_state && !LIFECYCLE_STATE_ENUM.include?(lifecycle_state)
287
+ # rubocop: disable Metrics/LineLength
288
+ OCI.logger.debug("Unknown value for 'lifecycle_state' [" + lifecycle_state + "]. Mapping to 'LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE'") if OCI.logger
289
+ # rubocop: enable Metrics/LineLength
290
+ @lifecycle_state = LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE
291
+ else
292
+ @lifecycle_state = lifecycle_state
293
+ end
294
+ # rubocop:enable Style/ConditionalAssignment
295
+ end
296
+
297
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Metrics/LineLength, Layout/EmptyLines
298
+
299
+
300
+ # Checks equality by comparing each attribute.
301
+ # @param [Object] other the other object to be compared
302
+ def ==(other)
303
+ return true if equal?(other)
304
+
305
+ self.class == other.class &&
306
+ id == other.id &&
307
+ compartment_id == other.compartment_id &&
308
+ target_compartment_id == other.target_compartment_id &&
309
+ display_name == other.display_name &&
310
+ description == other.description &&
311
+ amount == other.amount &&
312
+ reset_period == other.reset_period &&
313
+ lifecycle_state == other.lifecycle_state &&
314
+ alert_rule_count == other.alert_rule_count &&
315
+ version == other.version &&
316
+ actual_spend == other.actual_spend &&
317
+ forecasted_spend == other.forecasted_spend &&
318
+ time_spend_computed == other.time_spend_computed &&
319
+ time_created == other.time_created &&
320
+ time_updated == other.time_updated &&
321
+ freeform_tags == other.freeform_tags &&
322
+ defined_tags == other.defined_tags
323
+ end
324
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Metrics/LineLength, Layout/EmptyLines
325
+
326
+ # @see the `==` method
327
+ # @param [Object] other the other object to be compared
328
+ def eql?(other)
329
+ self == other
330
+ end
331
+
332
+ # rubocop:disable Metrics/AbcSize, Metrics/LineLength, Layout/EmptyLines
333
+
334
+
335
+ # Calculates hash code according to all attributes.
336
+ # @return [Fixnum] Hash code
337
+ def hash
338
+ [id, compartment_id, target_compartment_id, display_name, description, amount, reset_period, lifecycle_state, alert_rule_count, version, actual_spend, forecasted_spend, time_spend_computed, time_created, time_updated, freeform_tags, defined_tags].hash
339
+ end
340
+ # rubocop:enable Metrics/AbcSize, Metrics/LineLength, Layout/EmptyLines
341
+
342
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
343
+
344
+
345
+ # Builds the object from hash
346
+ # @param [Hash] attributes Model attributes in the form of hash
347
+ # @return [Object] Returns the model itself
348
+ def build_from_hash(attributes)
349
+ return nil unless attributes.is_a?(Hash)
350
+
351
+ self.class.swagger_types.each_pair do |key, type|
352
+ if type =~ /^Array<(.*)>/i
353
+ # check to ensure the input is an array given that the the attribute
354
+ # is documented as an array but the input is not
355
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
356
+ public_method("#{key}=").call(
357
+ attributes[self.class.attribute_map[key]]
358
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
359
+ )
360
+ end
361
+ elsif !attributes[self.class.attribute_map[key]].nil?
362
+ public_method("#{key}=").call(
363
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
364
+ )
365
+ end
366
+ # or else data not found in attributes(hash), not an issue as the data can be optional
367
+ end
368
+
369
+ self
370
+ end
371
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
372
+
373
+ # Returns the string representation of the object
374
+ # @return [String] String presentation of the object
375
+ def to_s
376
+ to_hash.to_s
377
+ end
378
+
379
+ # Returns the object in the form of hash
380
+ # @return [Hash] Returns the object in the form of hash
381
+ def to_hash
382
+ hash = {}
383
+ self.class.attribute_map.each_pair do |attr, param|
384
+ value = public_method(attr).call
385
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
386
+
387
+ hash[param] = _to_hash(value)
388
+ end
389
+ hash
390
+ end
391
+
392
+ private
393
+
394
+ # Outputs non-array value in the form of hash
395
+ # For object, use to_hash. Otherwise, just return the value
396
+ # @param [Object] value Any valid value
397
+ # @return [Hash] Returns the value in the form of hash
398
+ def _to_hash(value)
399
+ if value.is_a?(Array)
400
+ value.compact.map { |v| _to_hash(v) }
401
+ elsif value.is_a?(Hash)
402
+ {}.tap do |hash|
403
+ value.each { |k, v| hash[k] = _to_hash(v) }
404
+ end
405
+ elsif value.respond_to? :to_hash
406
+ value.to_hash
407
+ else
408
+ value
409
+ end
410
+ end
411
+ end
412
+ end
413
+ # rubocop:enable Lint/UnneededCopDisableDirective