oci 2.5.10 → 2.5.11

Sign up to get free protection for your applications and to get access to all the features.
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