oci 2.5.10 → 2.5.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (225) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -1
  3. data/lib/oci.rb +3 -0
  4. data/lib/oci/budget/budget.rb +1 -0
  5. data/lib/oci/budget/budget_client.rb +21 -1
  6. data/lib/oci/budget/models/budget.rb +52 -2
  7. data/lib/oci/budget/models/budget_summary.rb +52 -2
  8. data/lib/oci/budget/models/create_budget_details.rb +55 -2
  9. data/lib/oci/budget/models/target_type.rb +10 -0
  10. data/lib/oci/core/blockstorage_client.rb +18 -6
  11. data/lib/oci/core/compute_client.rb +75 -0
  12. data/lib/oci/core/compute_management_client.rb +4 -1
  13. data/lib/oci/core/core.rb +12 -0
  14. data/lib/oci/core/models/add_security_rule_details.rb +2 -2
  15. data/lib/oci/core/models/boot_volume_backup.rb +19 -1
  16. data/lib/oci/core/models/change_boot_volume_backup_compartment_details.rb +2 -2
  17. data/lib/oci/core/models/change_boot_volume_compartment_details.rb +2 -2
  18. data/lib/oci/core/models/change_cpe_compartment_details.rb +155 -0
  19. data/lib/oci/core/models/change_cross_connect_compartment_details.rb +155 -0
  20. data/lib/oci/core/models/change_cross_connect_group_compartment_details.rb +155 -0
  21. data/lib/oci/core/models/change_instance_compartment_details.rb +154 -0
  22. data/lib/oci/core/models/change_ip_sec_connection_compartment_details.rb +155 -0
  23. data/lib/oci/core/models/change_remote_peering_connection_compartment_details.rb +155 -0
  24. data/lib/oci/core/models/change_virtual_circuit_compartment_details.rb +155 -0
  25. data/lib/oci/core/models/change_volume_backup_compartment_details.rb +2 -2
  26. data/lib/oci/core/models/change_volume_compartment_details.rb +2 -2
  27. data/lib/oci/core/models/change_volume_group_backup_compartment_details.rb +2 -2
  28. data/lib/oci/core/models/change_volume_group_compartment_details.rb +2 -2
  29. data/lib/oci/core/models/copy_volume_backup_details.rb +27 -4
  30. data/lib/oci/core/models/create_cross_connect_details.rb +37 -1
  31. data/lib/oci/core/models/create_cross_connect_group_details.rb +40 -4
  32. data/lib/oci/core/models/create_instance_configuration_base.rb +250 -0
  33. data/lib/oci/core/models/create_instance_configuration_details.rb +15 -57
  34. data/lib/oci/core/models/create_instance_configuration_from_instance_details.rb +179 -0
  35. data/lib/oci/core/models/create_ipv6_details.rb +249 -0
  36. data/lib/oci/core/models/create_remote_peering_connection_details.rb +40 -4
  37. data/lib/oci/core/models/create_service_gateway_details.rb +23 -1
  38. data/lib/oci/core/models/create_subnet_details.rb +24 -1
  39. data/lib/oci/core/models/create_vcn_details.rb +56 -4
  40. data/lib/oci/core/models/create_virtual_circuit_details.rb +38 -2
  41. data/lib/oci/core/models/cross_connect.rb +37 -1
  42. data/lib/oci/core/models/cross_connect_group.rb +37 -1
  43. data/lib/oci/core/models/cross_connect_mapping.rb +50 -1
  44. data/lib/oci/core/models/egress_security_rule.rb +10 -7
  45. data/lib/oci/core/models/ingress_security_rule.rb +10 -7
  46. data/lib/oci/core/models/instance.rb +1 -0
  47. data/lib/oci/core/models/ipv6.rb +375 -0
  48. data/lib/oci/core/models/private_ip.rb +1 -0
  49. data/lib/oci/core/models/remote_peering_connection.rb +37 -1
  50. data/lib/oci/core/models/route_rule.rb +4 -1
  51. data/lib/oci/core/models/security_rule.rb +2 -2
  52. data/lib/oci/core/models/service_gateway.rb +18 -1
  53. data/lib/oci/core/models/subnet.rb +56 -1
  54. data/lib/oci/core/models/update_cross_connect_details.rb +37 -1
  55. data/lib/oci/core/models/update_cross_connect_group_details.rb +40 -4
  56. data/lib/oci/core/models/update_ipv6_details.rb +229 -0
  57. data/lib/oci/core/models/update_remote_peering_connection_details.rb +40 -4
  58. data/lib/oci/core/models/update_security_rule_details.rb +2 -2
  59. data/lib/oci/core/models/update_service_gateway_details.rb +18 -1
  60. data/lib/oci/core/models/update_virtual_circuit_details.rb +37 -1
  61. data/lib/oci/core/models/vcn.rb +42 -1
  62. data/lib/oci/core/models/virtual_circuit.rb +37 -1
  63. data/lib/oci/core/models/volume_backup.rb +19 -1
  64. data/lib/oci/core/virtual_network_client.rb +744 -10
  65. data/lib/oci/core/virtual_network_client_composite_operations.rb +119 -0
  66. data/lib/oci/database/database.rb +3 -0
  67. data/lib/oci/database/database_client.rb +320 -36
  68. data/lib/oci/database/models/autonomous_data_warehouse.rb +1 -0
  69. data/lib/oci/database/models/autonomous_data_warehouse_console_token_details.rb +164 -0
  70. data/lib/oci/database/models/autonomous_data_warehouse_summary.rb +1 -0
  71. data/lib/oci/database/models/autonomous_database.rb +5 -3
  72. data/lib/oci/database/models/autonomous_database_connection_urls.rb +1 -1
  73. data/lib/oci/database/models/autonomous_database_console_token_details.rb +163 -0
  74. data/lib/oci/database/models/autonomous_database_summary.rb +5 -3
  75. data/lib/oci/database/models/autonomous_db_preview_version_summary.rb +1 -3
  76. data/lib/oci/database/models/change_compartment_details.rb +155 -0
  77. data/lib/oci/database/models/create_autonomous_database_base.rb +5 -4
  78. data/lib/oci/database/models/create_data_guard_association_with_new_db_system_details.rb +2 -5
  79. data/lib/oci/database/models/create_database_details.rb +1 -1
  80. data/lib/oci/database/models/create_db_home_with_db_system_id_details.rb +2 -1
  81. data/lib/oci/database/models/create_db_home_with_db_system_id_from_backup_details.rb +2 -1
  82. data/lib/oci/database/models/db_system.rb +2 -5
  83. data/lib/oci/database/models/db_system_summary.rb +2 -5
  84. data/lib/oci/database/models/launch_db_system_base.rb +3 -5
  85. data/lib/oci/database/models/maintenance_window.rb +2 -1
  86. data/lib/oci/database/models/update_autonomous_database_details.rb +5 -3
  87. data/lib/oci/database/models/update_db_system_details.rb +2 -5
  88. data/lib/oci/dns/dns.rb +2 -0
  89. data/lib/oci/dns/dns_client.rb +138 -1
  90. data/lib/oci/dns/models/change_steering_policy_compartment_details.rb +155 -0
  91. data/lib/oci/dns/models/change_zone_compartment_details.rb +155 -0
  92. data/lib/oci/events/events.rb +34 -0
  93. data/lib/oci/events/events_client.rb +537 -0
  94. data/lib/oci/events/events_client_composite_operations.rb +145 -0
  95. data/lib/oci/events/models/action.rb +275 -0
  96. data/lib/oci/events/models/action_details.rb +222 -0
  97. data/lib/oci/events/models/action_details_list.rb +150 -0
  98. data/lib/oci/events/models/action_list.rb +151 -0
  99. data/lib/oci/events/models/change_rule_compartment_details.rb +156 -0
  100. data/lib/oci/events/models/create_faa_s_action_details.rb +170 -0
  101. data/lib/oci/events/models/create_notification_service_action_details.rb +170 -0
  102. data/lib/oci/events/models/create_rule_details.rb +284 -0
  103. data/lib/oci/events/models/create_streaming_service_action_details.rb +170 -0
  104. data/lib/oci/events/models/faa_s_action.rb +178 -0
  105. data/lib/oci/events/models/notification_service_action.rb +179 -0
  106. data/lib/oci/events/models/rule.rb +372 -0
  107. data/lib/oci/events/models/rule_summary.rb +321 -0
  108. data/lib/oci/events/models/streaming_service_action.rb +178 -0
  109. data/lib/oci/events/models/update_rule_details.rb +266 -0
  110. data/lib/oci/events/util.rb +2 -0
  111. data/lib/oci/functions/functions.rb +29 -0
  112. data/lib/oci/functions/functions_invoke_client.rb +237 -0
  113. data/lib/oci/functions/functions_invoke_client_composite_operations.rb +24 -0
  114. data/lib/oci/functions/functions_management_client.rb +851 -0
  115. data/lib/oci/functions/functions_management_client_composite_operations.rb +266 -0
  116. data/lib/oci/functions/models/application.rb +322 -0
  117. data/lib/oci/functions/models/application_summary.rb +281 -0
  118. data/lib/oci/functions/models/change_application_compartment_details.rb +156 -0
  119. data/lib/oci/functions/models/create_application_details.rb +236 -0
  120. data/lib/oci/functions/models/create_function_details.rb +280 -0
  121. data/lib/oci/functions/models/function.rb +397 -0
  122. data/lib/oci/functions/models/function_summary.rb +381 -0
  123. data/lib/oci/functions/models/update_application_details.rb +191 -0
  124. data/lib/oci/functions/models/update_function_details.rb +250 -0
  125. data/lib/oci/functions/util.rb +2 -0
  126. data/lib/oci/healthchecks/health_checks_client.rb +147 -1
  127. data/lib/oci/healthchecks/healthchecks.rb +2 -0
  128. data/lib/oci/healthchecks/models/change_http_monitor_compartment_details.rb +155 -0
  129. data/lib/oci/healthchecks/models/change_ping_monitor_compartment_details.rb +155 -0
  130. data/lib/oci/healthchecks/models/create_http_monitor_details.rb +2 -1
  131. data/lib/oci/healthchecks/models/create_on_demand_http_probe_details.rb +2 -1
  132. data/lib/oci/healthchecks/models/create_on_demand_ping_probe_details.rb +2 -1
  133. data/lib/oci/healthchecks/models/create_ping_monitor_details.rb +2 -1
  134. data/lib/oci/healthchecks/models/http_monitor.rb +2 -0
  135. data/lib/oci/healthchecks/models/http_probe.rb +2 -0
  136. data/lib/oci/healthchecks/models/ping_monitor.rb +2 -0
  137. data/lib/oci/healthchecks/models/ping_probe.rb +2 -0
  138. data/lib/oci/healthchecks/models/update_http_monitor_details.rb +2 -0
  139. data/lib/oci/healthchecks/models/update_ping_monitor_details.rb +2 -0
  140. data/lib/oci/identity/identity.rb +1 -0
  141. data/lib/oci/identity/identity_client.rb +70 -0
  142. data/lib/oci/identity/identity_client_composite_operations.rb +50 -0
  143. data/lib/oci/identity/models/move_compartment_details.rb +155 -0
  144. data/lib/oci/key_management/key_management.rb +2 -0
  145. data/lib/oci/key_management/kms_management_client.rb +73 -0
  146. data/lib/oci/key_management/kms_vault_client.rb +73 -0
  147. data/lib/oci/key_management/models/change_key_compartment_details.rb +153 -0
  148. data/lib/oci/key_management/models/change_vault_compartment_details.rb +153 -0
  149. data/lib/oci/key_management/models/key.rb +1 -0
  150. data/lib/oci/key_management/models/key_summary.rb +1 -0
  151. data/lib/oci/key_management/models/vault.rb +1 -0
  152. data/lib/oci/key_management/models/vault_summary.rb +1 -0
  153. data/lib/oci/limits/limits.rb +23 -0
  154. data/lib/oci/limits/models/create_quota_details.rb +220 -0
  155. data/lib/oci/limits/models/quota.rb +287 -0
  156. data/lib/oci/limits/models/quota_summary.rb +273 -0
  157. data/lib/oci/limits/models/update_quota_details.rb +194 -0
  158. data/lib/oci/limits/quotas_client.rb +439 -0
  159. data/lib/oci/limits/quotas_client_composite_operations.rb +143 -0
  160. data/lib/oci/limits/util.rb +2 -0
  161. data/lib/oci/load_balancer/load_balancer.rb +9 -0
  162. data/lib/oci/load_balancer/load_balancer_client.rb +139 -0
  163. data/lib/oci/load_balancer/load_balancer_client_composite_operations.rb +50 -0
  164. data/lib/oci/load_balancer/models/allow_rule.rb +181 -0
  165. data/lib/oci/load_balancer/models/backend_set.rb +21 -4
  166. data/lib/oci/load_balancer/models/backend_set_details.rb +21 -4
  167. data/lib/oci/load_balancer/models/change_load_balancer_compartment_details.rb +156 -0
  168. data/lib/oci/load_balancer/models/control_access_using_http_methods_rule.rb +205 -0
  169. data/lib/oci/load_balancer/models/create_backend_set_details.rb +21 -4
  170. data/lib/oci/load_balancer/models/create_load_balancer_details.rb +37 -1
  171. data/lib/oci/load_balancer/models/lb_cookie_session_persistence_configuration_details.rb +334 -0
  172. data/lib/oci/load_balancer/models/listener_rule_summary.rb +166 -0
  173. data/lib/oci/load_balancer/models/rule.rb +4 -0
  174. data/lib/oci/load_balancer/models/rule_condition.rb +192 -0
  175. data/lib/oci/load_balancer/models/session_persistence_configuration_details.rb +6 -0
  176. data/lib/oci/load_balancer/models/source_ip_address_condition.rb +167 -0
  177. data/lib/oci/load_balancer/models/source_vcn_id_condition.rb +169 -0
  178. data/lib/oci/load_balancer/models/source_vcn_ip_address_condition.rb +171 -0
  179. data/lib/oci/load_balancer/models/update_backend_set_details.rb +21 -4
  180. data/lib/oci/monitoring/models/alarm.rb +4 -3
  181. data/lib/oci/monitoring/models/alarm_summary.rb +4 -3
  182. data/lib/oci/monitoring/models/change_alarm_compartment_details.rb +155 -0
  183. data/lib/oci/monitoring/models/create_alarm_details.rb +4 -3
  184. data/lib/oci/monitoring/models/datapoint.rb +1 -1
  185. data/lib/oci/monitoring/models/list_metrics_details.rb +4 -4
  186. data/lib/oci/monitoring/models/metric_data.rb +14 -0
  187. data/lib/oci/monitoring/models/metric_data_details.rb +6 -4
  188. data/lib/oci/monitoring/models/summarize_metrics_data_details.rb +3 -0
  189. data/lib/oci/monitoring/models/update_alarm_details.rb +4 -3
  190. data/lib/oci/monitoring/monitoring.rb +1 -0
  191. data/lib/oci/monitoring/monitoring_client.rb +140 -5
  192. data/lib/oci/ons/models/backoff_retry_policy.rb +2 -2
  193. data/lib/oci/ons/models/change_compartment_details.rb +156 -0
  194. data/lib/oci/ons/models/confirmation_result.rb +5 -6
  195. data/lib/oci/ons/models/create_topic_details.rb +1 -1
  196. data/lib/oci/ons/models/notification_topic.rb +2 -2
  197. data/lib/oci/ons/models/notification_topic_summary.rb +2 -2
  198. data/lib/oci/ons/models/subscription.rb +47 -4
  199. data/lib/oci/ons/models/subscription_summary.rb +19 -3
  200. data/lib/oci/ons/notification_control_plane_client.rb +95 -8
  201. data/lib/oci/ons/notification_data_plane_client.rb +109 -8
  202. data/lib/oci/ons/ons.rb +1 -0
  203. data/lib/oci/regions.rb +3 -0
  204. data/lib/oci/streaming/models/change_stream_compartment_details.rb +155 -0
  205. data/lib/oci/streaming/stream_admin_client.rb +58 -0
  206. data/lib/oci/streaming/streaming.rb +1 -0
  207. data/lib/oci/version.rb +1 -1
  208. data/lib/oci/waas/models/access_rule_criteria.rb +14 -2
  209. data/lib/oci/waas/models/change_certificate_compartment_details.rb +154 -0
  210. data/lib/oci/waas/models/change_waas_policy_compartment_details.rb +154 -0
  211. data/lib/oci/waas/models/create_certificate_details.rb +2 -2
  212. data/lib/oci/waas/models/protection_rule_exclusion.rb +16 -1
  213. data/lib/oci/waas/models/protection_settings.rb +9 -5
  214. data/lib/oci/waas/models/waas_policy.rb +1 -1
  215. data/lib/oci/waas/models/waf_config_details.rb +8 -8
  216. data/lib/oci/waas/models/waf_log.rb +40 -19
  217. data/lib/oci/waas/waas.rb +2 -0
  218. data/lib/oci/waas/waas_client.rb +155 -27
  219. data/lib/oci/work_requests/models/work_request.rb +14 -8
  220. data/lib/oci/work_requests/models/work_request_error.rb +3 -3
  221. data/lib/oci/work_requests/models/work_request_log_entry.rb +2 -2
  222. data/lib/oci/work_requests/models/work_request_resource.rb +9 -7
  223. data/lib/oci/work_requests/models/work_request_summary.rb +12 -6
  224. data/lib/oci/work_requests/work_request_client.rb +33 -16
  225. metadata +81 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c54fdb25b1a3d13fd3271efa59e0ed14c1534ef0bd2a8352d4507450204c096d
4
- data.tar.gz: decef31275181e4583c2c92485ed6568c56c2b716a7aeb4696bc9ce5af7a99fe
3
+ metadata.gz: 309392a77b1b140a17f30cfb53ddbd3fcc0e15d16ecdd27864334c58caa0385e
4
+ data.tar.gz: ad37096861a388a1c0f312373580cb3dbb6366a70247d79016edfa123c90b444
5
5
  SHA512:
6
- metadata.gz: a15ef44d07a8e9f7b041f7f4c15cc008a2ffca53344f95180600c7f25d6ad5befb8394ee6c46d681bb416f0e5ec5c733fa00bcd6dd73cd0db6b9e3ec88c9049f
7
- data.tar.gz: a1770aabd9def62af1694fbba3848d0ddee1de76a6fce6f3a3040f2b523e0d1eb23385cb188e6c6ccfa42efe09db9fec22feb85c7ae975db29445649c69ec44d
6
+ metadata.gz: 36fefacc1b53cb90cd198180ae86ac27ee74908e48b722972c7d7b715cf6160766b2b30d7e601e5cad40359672bf9ba1d7dd8fe6d9135f7dc24fa956b43d90f0
7
+ data.tar.gz: cb07353bc36b2318505c34e0ff239b1ea999339d5fff28398628e8d1e3c825099358e418b8f6f24227c0db5175c7d730eeca5448ebe1f26182ad5e2eab1776b0
data/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  # Oracle Cloud Infrastructure Ruby SDK
2
- **Version 2.5.10**
2
+ **Version 2.5.11**
3
3
 
4
4
  This topic describes how to install, configure, and use the Oracle Cloud Infrastructure Ruby SDK.
5
5
 
@@ -16,7 +16,9 @@ The Ruby SDK supports the following services:
16
16
  * Database
17
17
  * Domain Name System
18
18
  * Email
19
+ * Events
19
20
  * File Storage
21
+ * Functions
20
22
  * Health Checks
21
23
  * Identity and Access Management
22
24
  * Key Management
@@ -24,6 +26,7 @@ The Ruby SDK supports the following services:
24
26
  * Monitoring
25
27
  * Notification
26
28
  * Object Storage
29
+ * Quotas
27
30
  * Resource Manager
28
31
  * Search
29
32
  * Streaming
data/lib/oci.rb CHANGED
@@ -40,6 +40,9 @@ require 'oci/autoscaling/autoscaling'
40
40
  require 'oci/ons/ons'
41
41
  require 'oci/budget/budget'
42
42
  require 'oci/work_requests/work_requests'
43
+ require 'oci/limits/limits'
44
+ require 'oci/functions/functions'
45
+ require 'oci/events/events'
43
46
 
44
47
  # Top level module for the Oracle Cloud Infrastructure SDK
45
48
  module OCI
@@ -21,6 +21,7 @@ require 'oci/budget/models/lifecycle_state'
21
21
  require 'oci/budget/models/reset_period'
22
22
  require 'oci/budget/models/sort_by'
23
23
  require 'oci/budget/models/sort_order'
24
+ require 'oci/budget/models/target_type'
24
25
  require 'oci/budget/models/threshold_type'
25
26
  require 'oci/budget/models/update_alert_rule_details'
26
27
  require 'oci/budget/models/update_budget_details'
@@ -548,7 +548,16 @@ module OCI
548
548
  # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
549
549
 
550
550
 
551
- # Gets a list of all Budgets in a compartment.
551
+ # Gets a list of Budgets in a compartment.
552
+ #
553
+ # By default, ListBudgets returns budgets of 'COMPARTMENT' target type and the budget records with only ONE target compartment OCID.
554
+ #
555
+ # To list ALL budgets, set the targetType query parameter to ALL.
556
+ # Example:
557
+ # 'targetType=ALL'
558
+ #
559
+ # Additional targetTypes would be available in future releases. Clients should ignore new targetType
560
+ # or upgrade to latest version of client SDK to handle new targetType.
552
561
  #
553
562
  # @param [String] compartment_id The ID of the compartment in which to list resources.
554
563
  # @param [Hash] opts the optional parameters
@@ -567,6 +576,12 @@ module OCI
567
576
  #
568
577
  # Example: `My new resource`
569
578
  #
579
+ # @option opts [String] :target_type The type of target to filter by.
580
+ # * ALL - List all budgets
581
+ # * COMPARTMENT - List all budgets with targetType == \"COMPARTMENT\"
582
+ # * TAG - List all budgets with targetType == \"TAG\"
583
+ # (default to )
584
+ # Allowed values are: ALL, COMPARTMENT, TAG
570
585
  # @option opts [String] :opc_request_id The client request ID for tracing.
571
586
  # @return [Response] A Response object with data of type Array<{OCI::Budget::Models::BudgetSummary BudgetSummary}>
572
587
  def list_budgets(compartment_id, opts = {})
@@ -586,6 +601,10 @@ module OCI
586
601
  raise 'Invalid value for "lifecycle_state", must be one of the values in OCI::Budget::Models::LIFECYCLE_STATE_ENUM.'
587
602
  end
588
603
 
604
+ if opts[:target_type] && !%w[ALL COMPARTMENT TAG].include?(opts[:target_type])
605
+ raise 'Invalid value for "target_type", must be one of ALL, COMPARTMENT, TAG.'
606
+ end
607
+
589
608
  path = '/budgets'
590
609
  operation_signing_strategy = :standard
591
610
 
@@ -599,6 +618,7 @@ module OCI
599
618
  query_params[:sortBy] = opts[:sort_by] if opts[:sort_by]
600
619
  query_params[:lifecycleState] = opts[:lifecycle_state] if opts[:lifecycle_state]
601
620
  query_params[:displayName] = opts[:display_name] if opts[:display_name]
621
+ query_params[:targetType] = opts[:target_type] if opts[:target_type]
602
622
 
603
623
  # Header Params
604
624
  header_params = {}
@@ -12,6 +12,12 @@ module OCI
12
12
  RESET_PERIOD_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
13
13
  ].freeze
14
14
 
15
+ TARGET_TYPE_ENUM = [
16
+ TARGET_TYPE_COMPARTMENT = 'COMPARTMENT'.freeze,
17
+ TARGET_TYPE_TAG = 'TAG'.freeze,
18
+ TARGET_TYPE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
19
+ ].freeze
20
+
15
21
  LIFECYCLE_STATE_ENUM = [
16
22
  LIFECYCLE_STATE_ACTIVE = 'ACTIVE'.freeze,
17
23
  LIFECYCLE_STATE_INACTIVE = 'INACTIVE'.freeze,
@@ -26,7 +32,10 @@ module OCI
26
32
  # @return [String]
27
33
  attr_accessor :compartment_id
28
34
 
29
- # **[Required]** The OCID of the compartment on which budget is applied
35
+ # This is DEPRECATED. For backwards compatability, the property will be populated when
36
+ # targetType is \"COMPARTMENT\" AND targets contains EXACT ONE target compartment ocid.
37
+ # For all other scenarios, this property will be left empty.
38
+ #
30
39
  # @return [String]
31
40
  attr_accessor :target_compartment_id
32
41
 
@@ -48,6 +57,18 @@ module OCI
48
57
  # @return [String]
49
58
  attr_reader :reset_period
50
59
 
60
+ # The type of target on which the budget is applied.
61
+ #
62
+ # @return [String]
63
+ attr_reader :target_type
64
+
65
+ # The list of targets on which the budget is applied.
66
+ # If targetType is \"COMPARTMENT\", targets contains list of compartment OCIDs.
67
+ # If targetType is \"TAG\", targets contains list of tag identifiers in the form of \"{tagNamespace}.{tagKey}.{tagValue}\".
68
+ #
69
+ # @return [Array<String>]
70
+ attr_accessor :targets
71
+
51
72
  # **[Required]** The current state of the budget.
52
73
  # @return [String]
53
74
  attr_reader :lifecycle_state
@@ -107,6 +128,8 @@ module OCI
107
128
  'description': :'description',
108
129
  'amount': :'amount',
109
130
  'reset_period': :'resetPeriod',
131
+ 'target_type': :'targetType',
132
+ 'targets': :'targets',
110
133
  'lifecycle_state': :'lifecycleState',
111
134
  'alert_rule_count': :'alertRuleCount',
112
135
  'version': :'version',
@@ -132,6 +155,8 @@ module OCI
132
155
  'description': :'String',
133
156
  'amount': :'Float',
134
157
  'reset_period': :'String',
158
+ 'target_type': :'String',
159
+ 'targets': :'Array<String>',
135
160
  'lifecycle_state': :'String',
136
161
  'alert_rule_count': :'Integer',
137
162
  'version': :'Integer',
@@ -159,6 +184,8 @@ module OCI
159
184
  # @option attributes [String] :description The value to assign to the {#description} property
160
185
  # @option attributes [Float] :amount The value to assign to the {#amount} property
161
186
  # @option attributes [String] :reset_period The value to assign to the {#reset_period} property
187
+ # @option attributes [String] :target_type The value to assign to the {#target_type} property
188
+ # @option attributes [Array<String>] :targets The value to assign to the {#targets} property
162
189
  # @option attributes [String] :lifecycle_state The value to assign to the {#lifecycle_state} property
163
190
  # @option attributes [Integer] :alert_rule_count The value to assign to the {#alert_rule_count} property
164
191
  # @option attributes [Integer] :version The value to assign to the {#version} property
@@ -205,6 +232,14 @@ module OCI
205
232
 
206
233
  self.reset_period = attributes[:'reset_period'] if attributes[:'reset_period']
207
234
 
235
+ self.target_type = attributes[:'targetType'] if attributes[:'targetType']
236
+
237
+ raise 'You cannot provide both :targetType and :target_type' if attributes.key?(:'targetType') && attributes.key?(:'target_type')
238
+
239
+ self.target_type = attributes[:'target_type'] if attributes[:'target_type']
240
+
241
+ self.targets = attributes[:'targets'] if attributes[:'targets']
242
+
208
243
  self.lifecycle_state = attributes[:'lifecycleState'] if attributes[:'lifecycleState']
209
244
 
210
245
  raise 'You cannot provide both :lifecycleState and :lifecycle_state' if attributes.key?(:'lifecycleState') && attributes.key?(:'lifecycle_state')
@@ -277,6 +312,19 @@ module OCI
277
312
  # rubocop:enable Style/ConditionalAssignment
278
313
  end
279
314
 
315
+ # Custom attribute writer method checking allowed values (enum).
316
+ # @param [Object] target_type Object to be assigned
317
+ def target_type=(target_type)
318
+ # rubocop:disable Style/ConditionalAssignment
319
+ if target_type && !TARGET_TYPE_ENUM.include?(target_type)
320
+ OCI.logger.debug("Unknown value for 'target_type' [" + target_type + "]. Mapping to 'TARGET_TYPE_UNKNOWN_ENUM_VALUE'") if OCI.logger
321
+ @target_type = TARGET_TYPE_UNKNOWN_ENUM_VALUE
322
+ else
323
+ @target_type = target_type
324
+ end
325
+ # rubocop:enable Style/ConditionalAssignment
326
+ end
327
+
280
328
  # Custom attribute writer method checking allowed values (enum).
281
329
  # @param [Object] lifecycle_state Object to be assigned
282
330
  def lifecycle_state=(lifecycle_state)
@@ -306,6 +354,8 @@ module OCI
306
354
  description == other.description &&
307
355
  amount == other.amount &&
308
356
  reset_period == other.reset_period &&
357
+ target_type == other.target_type &&
358
+ targets == other.targets &&
309
359
  lifecycle_state == other.lifecycle_state &&
310
360
  alert_rule_count == other.alert_rule_count &&
311
361
  version == other.version &&
@@ -331,7 +381,7 @@ module OCI
331
381
  # Calculates hash code according to all attributes.
332
382
  # @return [Fixnum] Hash code
333
383
  def hash
334
- [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
384
+ [id, compartment_id, target_compartment_id, display_name, description, amount, reset_period, target_type, targets, lifecycle_state, alert_rule_count, version, actual_spend, forecasted_spend, time_spend_computed, time_created, time_updated, freeform_tags, defined_tags].hash
335
385
  end
336
386
  # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
337
387
 
@@ -12,6 +12,12 @@ module OCI
12
12
  RESET_PERIOD_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
13
13
  ].freeze
14
14
 
15
+ TARGET_TYPE_ENUM = [
16
+ TARGET_TYPE_COMPARTMENT = 'COMPARTMENT'.freeze,
17
+ TARGET_TYPE_TAG = 'TAG'.freeze,
18
+ TARGET_TYPE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
19
+ ].freeze
20
+
15
21
  LIFECYCLE_STATE_ENUM = [
16
22
  LIFECYCLE_STATE_ACTIVE = 'ACTIVE'.freeze,
17
23
  LIFECYCLE_STATE_INACTIVE = 'INACTIVE'.freeze,
@@ -26,7 +32,10 @@ module OCI
26
32
  # @return [String]
27
33
  attr_accessor :compartment_id
28
34
 
29
- # **[Required]** The OCID of the compartment on which budget is applied
35
+ # This is DEPRECATED. For backwards compatability, the property will be populated when
36
+ # targetType is \"COMPARTMENT\" AND targets contains EXACT ONE target compartment ocid.
37
+ # For all other scenarios, this property will be left empty.
38
+ #
30
39
  # @return [String]
31
40
  attr_accessor :target_compartment_id
32
41
 
@@ -48,6 +57,18 @@ module OCI
48
57
  # @return [String]
49
58
  attr_reader :reset_period
50
59
 
60
+ # The type of target on which the budget is applied.
61
+ #
62
+ # @return [String]
63
+ attr_reader :target_type
64
+
65
+ # The list of targets on which the budget is applied.
66
+ # If targetType is \"COMPARTMENT\", targets contains list of compartment OCIDs.
67
+ # If targetType is \"TAG\", targets contains list of tag identifiers in the form of \"{tagNamespace}.{tagKey}.{tagValue}\".
68
+ #
69
+ # @return [Array<String>]
70
+ attr_accessor :targets
71
+
51
72
  # **[Required]** The current state of the budget.
52
73
  # @return [String]
53
74
  attr_reader :lifecycle_state
@@ -107,6 +128,8 @@ module OCI
107
128
  'description': :'description',
108
129
  'amount': :'amount',
109
130
  'reset_period': :'resetPeriod',
131
+ 'target_type': :'targetType',
132
+ 'targets': :'targets',
110
133
  'lifecycle_state': :'lifecycleState',
111
134
  'alert_rule_count': :'alertRuleCount',
112
135
  'version': :'version',
@@ -132,6 +155,8 @@ module OCI
132
155
  'description': :'String',
133
156
  'amount': :'Float',
134
157
  'reset_period': :'String',
158
+ 'target_type': :'String',
159
+ 'targets': :'Array<String>',
135
160
  'lifecycle_state': :'String',
136
161
  'alert_rule_count': :'Integer',
137
162
  'version': :'Integer',
@@ -159,6 +184,8 @@ module OCI
159
184
  # @option attributes [String] :description The value to assign to the {#description} property
160
185
  # @option attributes [Float] :amount The value to assign to the {#amount} property
161
186
  # @option attributes [String] :reset_period The value to assign to the {#reset_period} property
187
+ # @option attributes [String] :target_type The value to assign to the {#target_type} property
188
+ # @option attributes [Array<String>] :targets The value to assign to the {#targets} property
162
189
  # @option attributes [String] :lifecycle_state The value to assign to the {#lifecycle_state} property
163
190
  # @option attributes [Integer] :alert_rule_count The value to assign to the {#alert_rule_count} property
164
191
  # @option attributes [Integer] :version The value to assign to the {#version} property
@@ -205,6 +232,14 @@ module OCI
205
232
 
206
233
  self.reset_period = attributes[:'reset_period'] if attributes[:'reset_period']
207
234
 
235
+ self.target_type = attributes[:'targetType'] if attributes[:'targetType']
236
+
237
+ raise 'You cannot provide both :targetType and :target_type' if attributes.key?(:'targetType') && attributes.key?(:'target_type')
238
+
239
+ self.target_type = attributes[:'target_type'] if attributes[:'target_type']
240
+
241
+ self.targets = attributes[:'targets'] if attributes[:'targets']
242
+
208
243
  self.lifecycle_state = attributes[:'lifecycleState'] if attributes[:'lifecycleState']
209
244
 
210
245
  raise 'You cannot provide both :lifecycleState and :lifecycle_state' if attributes.key?(:'lifecycleState') && attributes.key?(:'lifecycle_state')
@@ -277,6 +312,19 @@ module OCI
277
312
  # rubocop:enable Style/ConditionalAssignment
278
313
  end
279
314
 
315
+ # Custom attribute writer method checking allowed values (enum).
316
+ # @param [Object] target_type Object to be assigned
317
+ def target_type=(target_type)
318
+ # rubocop:disable Style/ConditionalAssignment
319
+ if target_type && !TARGET_TYPE_ENUM.include?(target_type)
320
+ OCI.logger.debug("Unknown value for 'target_type' [" + target_type + "]. Mapping to 'TARGET_TYPE_UNKNOWN_ENUM_VALUE'") if OCI.logger
321
+ @target_type = TARGET_TYPE_UNKNOWN_ENUM_VALUE
322
+ else
323
+ @target_type = target_type
324
+ end
325
+ # rubocop:enable Style/ConditionalAssignment
326
+ end
327
+
280
328
  # Custom attribute writer method checking allowed values (enum).
281
329
  # @param [Object] lifecycle_state Object to be assigned
282
330
  def lifecycle_state=(lifecycle_state)
@@ -306,6 +354,8 @@ module OCI
306
354
  description == other.description &&
307
355
  amount == other.amount &&
308
356
  reset_period == other.reset_period &&
357
+ target_type == other.target_type &&
358
+ targets == other.targets &&
309
359
  lifecycle_state == other.lifecycle_state &&
310
360
  alert_rule_count == other.alert_rule_count &&
311
361
  version == other.version &&
@@ -331,7 +381,7 @@ module OCI
331
381
  # Calculates hash code according to all attributes.
332
382
  # @return [Fixnum] Hash code
333
383
  def hash
334
- [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
384
+ [id, compartment_id, target_compartment_id, display_name, description, amount, reset_period, target_type, targets, lifecycle_state, alert_rule_count, version, actual_spend, forecasted_spend, time_spend_computed, time_created, time_updated, freeform_tags, defined_tags].hash
335
385
  end
336
386
  # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
337
387
 
@@ -5,16 +5,30 @@ require 'date'
5
5
  # rubocop:disable Lint/UnneededCopDisableDirective, Metrics/LineLength
6
6
  module OCI
7
7
  # The create budget details.
8
+ #
9
+ # Client should use 'targetType' & 'targets' to specify the target type and list of targets on which the budget is applied.
10
+ #
11
+ # For backwards compatibility, 'targetCompartmentId' will still be supported for all existing clients.
12
+ # However, this is considered deprecreated and all clients be upgraded to use 'targetType' & 'targets'.
13
+ #
14
+ # Specifying both 'targetCompartmentId' and 'targets' will cause a Bad Request.
15
+ #
8
16
  class Budget::Models::CreateBudgetDetails
9
17
  RESET_PERIOD_ENUM = [
10
18
  RESET_PERIOD_MONTHLY = 'MONTHLY'.freeze
11
19
  ].freeze
12
20
 
21
+ TARGET_TYPE_ENUM = [
22
+ TARGET_TYPE_COMPARTMENT = 'COMPARTMENT'.freeze,
23
+ TARGET_TYPE_TAG = 'TAG'.freeze
24
+ ].freeze
25
+
13
26
  # **[Required]** The OCID of the compartment
14
27
  # @return [String]
15
28
  attr_accessor :compartment_id
16
29
 
17
- # **[Required]** The OCID of the compartment on which budget is applied
30
+ # This is DEPRECTAED. Set the target compartment id in targets instead.
31
+ #
18
32
  # @return [String]
19
33
  attr_accessor :target_compartment_id
20
34
 
@@ -36,6 +50,19 @@ module OCI
36
50
  # @return [String]
37
51
  attr_reader :reset_period
38
52
 
53
+ # The type of target on which the budget is applied.
54
+ #
55
+ # @return [String]
56
+ attr_reader :target_type
57
+
58
+ # The list of targets on which the budget is applied.
59
+ # If targetType is \"COMPARTMENT\", targets contains list of compartment OCIDs.
60
+ # If targetType is \"TAG\", targets contains list of tag identifiers in the form of \"{tagNamespace}.{tagKey}.{tagValue}\".
61
+ # Curerntly, the array should contain EXACT ONE item.
62
+ #
63
+ # @return [Array<String>]
64
+ attr_accessor :targets
65
+
39
66
  # Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
40
67
  # For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
41
68
  #
@@ -62,6 +89,8 @@ module OCI
62
89
  'description': :'description',
63
90
  'amount': :'amount',
64
91
  'reset_period': :'resetPeriod',
92
+ 'target_type': :'targetType',
93
+ 'targets': :'targets',
65
94
  'freeform_tags': :'freeformTags',
66
95
  'defined_tags': :'definedTags'
67
96
  # rubocop:enable Style/SymbolLiteral
@@ -78,6 +107,8 @@ module OCI
78
107
  'description': :'String',
79
108
  'amount': :'Float',
80
109
  'reset_period': :'String',
110
+ 'target_type': :'String',
111
+ 'targets': :'Array<String>',
81
112
  'freeform_tags': :'Hash<String, String>',
82
113
  'defined_tags': :'Hash<String, Hash<String, Object>>'
83
114
  # rubocop:enable Style/SymbolLiteral
@@ -96,6 +127,8 @@ module OCI
96
127
  # @option attributes [String] :description The value to assign to the {#description} property
97
128
  # @option attributes [Float] :amount The value to assign to the {#amount} property
98
129
  # @option attributes [String] :reset_period The value to assign to the {#reset_period} property
130
+ # @option attributes [String] :target_type The value to assign to the {#target_type} property
131
+ # @option attributes [Array<String>] :targets The value to assign to the {#targets} property
99
132
  # @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {#freeform_tags} property
100
133
  # @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {#defined_tags} property
101
134
  def initialize(attributes = {})
@@ -132,6 +165,16 @@ module OCI
132
165
 
133
166
  self.reset_period = attributes[:'reset_period'] if attributes[:'reset_period']
134
167
 
168
+ self.target_type = attributes[:'targetType'] if attributes[:'targetType']
169
+ self.target_type = "COMPARTMENT" if target_type.nil? && !attributes.key?(:'targetType') # rubocop:disable Style/StringLiterals
170
+
171
+ raise 'You cannot provide both :targetType and :target_type' if attributes.key?(:'targetType') && attributes.key?(:'target_type')
172
+
173
+ self.target_type = attributes[:'target_type'] if attributes[:'target_type']
174
+ self.target_type = "COMPARTMENT" if target_type.nil? && !attributes.key?(:'targetType') && !attributes.key?(:'target_type') # rubocop:disable Style/StringLiterals
175
+
176
+ self.targets = attributes[:'targets'] if attributes[:'targets']
177
+
135
178
  self.freeform_tags = attributes[:'freeformTags'] if attributes[:'freeformTags']
136
179
 
137
180
  raise 'You cannot provide both :freeformTags and :freeform_tags' if attributes.key?(:'freeformTags') && attributes.key?(:'freeform_tags')
@@ -155,6 +198,14 @@ module OCI
155
198
  @reset_period = reset_period
156
199
  end
157
200
 
201
+ # Custom attribute writer method checking allowed values (enum).
202
+ # @param [Object] target_type Object to be assigned
203
+ def target_type=(target_type)
204
+ raise "Invalid value for 'target_type': this must be one of the values in TARGET_TYPE_ENUM." if target_type && !TARGET_TYPE_ENUM.include?(target_type)
205
+
206
+ @target_type = target_type
207
+ end
208
+
158
209
  # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
159
210
 
160
211
 
@@ -170,6 +221,8 @@ module OCI
170
221
  description == other.description &&
171
222
  amount == other.amount &&
172
223
  reset_period == other.reset_period &&
224
+ target_type == other.target_type &&
225
+ targets == other.targets &&
173
226
  freeform_tags == other.freeform_tags &&
174
227
  defined_tags == other.defined_tags
175
228
  end
@@ -187,7 +240,7 @@ module OCI
187
240
  # Calculates hash code according to all attributes.
188
241
  # @return [Fixnum] Hash code
189
242
  def hash
190
- [compartment_id, target_compartment_id, display_name, description, amount, reset_period, freeform_tags, defined_tags].hash
243
+ [compartment_id, target_compartment_id, display_name, description, amount, reset_period, target_type, targets, freeform_tags, defined_tags].hash
191
244
  end
192
245
  # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
193
246