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
@@ -10,6 +10,14 @@ module OCI
10
10
  # @return [String]
11
11
  attr_accessor :compartment_id
12
12
 
13
+ # Defined tags for this resource. Each key is predefined and scoped to a
14
+ # namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
15
+ #
16
+ # Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
17
+ #
18
+ # @return [Hash<String, Hash<String, Object>>]
19
+ attr_accessor :defined_tags
20
+
13
21
  # A user-friendly name. Does not have to be unique, and it's changeable.
14
22
  # Avoid entering confidential information.
15
23
  #
@@ -20,13 +28,23 @@ module OCI
20
28
  # @return [String]
21
29
  attr_accessor :drg_id
22
30
 
31
+ # Free-form tags for this resource. Each tag is a simple key-value pair with no
32
+ # predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
33
+ #
34
+ # Example: `{\"Department\": \"Finance\"}`
35
+ #
36
+ # @return [Hash<String, String>]
37
+ attr_accessor :freeform_tags
38
+
23
39
  # Attribute mapping from ruby-style variable name to JSON key.
24
40
  def self.attribute_map
25
41
  {
26
42
  # rubocop:disable Style/SymbolLiteral
27
43
  'compartment_id': :'compartmentId',
44
+ 'defined_tags': :'definedTags',
28
45
  'display_name': :'displayName',
29
- 'drg_id': :'drgId'
46
+ 'drg_id': :'drgId',
47
+ 'freeform_tags': :'freeformTags'
30
48
  # rubocop:enable Style/SymbolLiteral
31
49
  }
32
50
  end
@@ -36,8 +54,10 @@ module OCI
36
54
  {
37
55
  # rubocop:disable Style/SymbolLiteral
38
56
  'compartment_id': :'String',
57
+ 'defined_tags': :'Hash<String, Hash<String, Object>>',
39
58
  'display_name': :'String',
40
- 'drg_id': :'String'
59
+ 'drg_id': :'String',
60
+ 'freeform_tags': :'Hash<String, String>'
41
61
  # rubocop:enable Style/SymbolLiteral
42
62
  }
43
63
  end
@@ -49,8 +69,10 @@ module OCI
49
69
  # Initializes the object
50
70
  # @param [Hash] attributes Model attributes in the form of hash
51
71
  # @option attributes [String] :compartment_id The value to assign to the {#compartment_id} property
72
+ # @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {#defined_tags} property
52
73
  # @option attributes [String] :display_name The value to assign to the {#display_name} property
53
74
  # @option attributes [String] :drg_id The value to assign to the {#drg_id} property
75
+ # @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {#freeform_tags} property
54
76
  def initialize(attributes = {})
55
77
  return unless attributes.is_a?(Hash)
56
78
 
@@ -63,6 +85,12 @@ module OCI
63
85
 
64
86
  self.compartment_id = attributes[:'compartment_id'] if attributes[:'compartment_id']
65
87
 
88
+ self.defined_tags = attributes[:'definedTags'] if attributes[:'definedTags']
89
+
90
+ raise 'You cannot provide both :definedTags and :defined_tags' if attributes.key?(:'definedTags') && attributes.key?(:'defined_tags')
91
+
92
+ self.defined_tags = attributes[:'defined_tags'] if attributes[:'defined_tags']
93
+
66
94
  self.display_name = attributes[:'displayName'] if attributes[:'displayName']
67
95
 
68
96
  raise 'You cannot provide both :displayName and :display_name' if attributes.key?(:'displayName') && attributes.key?(:'display_name')
@@ -74,6 +102,12 @@ module OCI
74
102
  raise 'You cannot provide both :drgId and :drg_id' if attributes.key?(:'drgId') && attributes.key?(:'drg_id')
75
103
 
76
104
  self.drg_id = attributes[:'drg_id'] if attributes[:'drg_id']
105
+
106
+ self.freeform_tags = attributes[:'freeformTags'] if attributes[:'freeformTags']
107
+
108
+ raise 'You cannot provide both :freeformTags and :freeform_tags' if attributes.key?(:'freeformTags') && attributes.key?(:'freeform_tags')
109
+
110
+ self.freeform_tags = attributes[:'freeform_tags'] if attributes[:'freeform_tags']
77
111
  end
78
112
  # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
79
113
  # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
@@ -88,8 +122,10 @@ module OCI
88
122
 
89
123
  self.class == other.class &&
90
124
  compartment_id == other.compartment_id &&
125
+ defined_tags == other.defined_tags &&
91
126
  display_name == other.display_name &&
92
- drg_id == other.drg_id
127
+ drg_id == other.drg_id &&
128
+ freeform_tags == other.freeform_tags
93
129
  end
94
130
  # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
95
131
 
@@ -105,7 +141,7 @@ module OCI
105
141
  # Calculates hash code according to all attributes.
106
142
  # @return [Fixnum] Hash code
107
143
  def hash
108
- [compartment_id, display_name, drg_id].hash
144
+ [compartment_id, defined_tags, display_name, drg_id, freeform_tags].hash
109
145
  end
110
146
  # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
111
147
 
@@ -33,6 +33,18 @@ module OCI
33
33
  # @return [Hash<String, String>]
34
34
  attr_accessor :freeform_tags
35
35
 
36
+ # The OCID of the route table the service gateway will use.
37
+ #
38
+ # If you don't specify a route table here, the service gateway is created without an associated route
39
+ # table. The Networking service does NOT automatically associate the attached VCN's default route table
40
+ # with the service gateway.
41
+ #
42
+ # For information about why you would associate a route table with a service gateway, see
43
+ # [Transit Routing: Private Access to Oracle Services Network](https://docs.cloud.oracle.com/Content/Network/Tasks/transitroutingoracleservices.htm).
44
+ #
45
+ # @return [String]
46
+ attr_accessor :route_table_id
47
+
36
48
  # **[Required]** List of the OCIDs of the {Service} objects to
37
49
  # enable for the service gateway. This list can be empty if you don't want to enable any
38
50
  # `Service` objects when you create the gateway. You can enable a `Service`
@@ -58,6 +70,7 @@ module OCI
58
70
  'defined_tags': :'definedTags',
59
71
  'display_name': :'displayName',
60
72
  'freeform_tags': :'freeformTags',
73
+ 'route_table_id': :'routeTableId',
61
74
  'services': :'services',
62
75
  'vcn_id': :'vcnId'
63
76
  # rubocop:enable Style/SymbolLiteral
@@ -72,6 +85,7 @@ module OCI
72
85
  'defined_tags': :'Hash<String, Hash<String, Object>>',
73
86
  'display_name': :'String',
74
87
  'freeform_tags': :'Hash<String, String>',
88
+ 'route_table_id': :'String',
75
89
  'services': :'Array<OCI::Core::Models::ServiceIdRequestDetails>',
76
90
  'vcn_id': :'String'
77
91
  # rubocop:enable Style/SymbolLiteral
@@ -88,6 +102,7 @@ module OCI
88
102
  # @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {#defined_tags} property
89
103
  # @option attributes [String] :display_name The value to assign to the {#display_name} property
90
104
  # @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {#freeform_tags} property
105
+ # @option attributes [String] :route_table_id The value to assign to the {#route_table_id} property
91
106
  # @option attributes [Array<OCI::Core::Models::ServiceIdRequestDetails>] :services The value to assign to the {#services} property
92
107
  # @option attributes [String] :vcn_id The value to assign to the {#vcn_id} property
93
108
  def initialize(attributes = {})
@@ -120,6 +135,12 @@ module OCI
120
135
 
121
136
  self.freeform_tags = attributes[:'freeform_tags'] if attributes[:'freeform_tags']
122
137
 
138
+ self.route_table_id = attributes[:'routeTableId'] if attributes[:'routeTableId']
139
+
140
+ raise 'You cannot provide both :routeTableId and :route_table_id' if attributes.key?(:'routeTableId') && attributes.key?(:'route_table_id')
141
+
142
+ self.route_table_id = attributes[:'route_table_id'] if attributes[:'route_table_id']
143
+
123
144
  self.services = attributes[:'services'] if attributes[:'services']
124
145
 
125
146
  self.vcn_id = attributes[:'vcnId'] if attributes[:'vcnId']
@@ -144,6 +165,7 @@ module OCI
144
165
  defined_tags == other.defined_tags &&
145
166
  display_name == other.display_name &&
146
167
  freeform_tags == other.freeform_tags &&
168
+ route_table_id == other.route_table_id &&
147
169
  services == other.services &&
148
170
  vcn_id == other.vcn_id
149
171
  end
@@ -161,7 +183,7 @@ module OCI
161
183
  # Calculates hash code according to all attributes.
162
184
  # @return [Fixnum] Hash code
163
185
  def hash
164
- [compartment_id, defined_tags, display_name, freeform_tags, services, vcn_id].hash
186
+ [compartment_id, defined_tags, display_name, freeform_tags, route_table_id, services, vcn_id].hash
165
187
  end
166
188
  # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
167
189
 
@@ -78,6 +78,17 @@ module OCI
78
78
  # @return [Hash<String, String>]
79
79
  attr_accessor :freeform_tags
80
80
 
81
+ # Use this to enable IPv6 addressing for this subnet. The VCN must be enabled for IPv6.
82
+ # You can't change this subnet characteristic later. All subnets are /64 in size. The subnet
83
+ # portion of the IPv6 address is the fourth hextet from the left (1111 in the following example).
84
+ #
85
+ # For important details about IPv6 addressing in a VCN, see [IPv6 Addresses](https://docs.cloud.oracle.com/Content/Network/Concepts/ipv6.htm).
86
+ #
87
+ # Example: `2001:0db8:0123:1111::/64`
88
+ #
89
+ # @return [String]
90
+ attr_accessor :ipv6_cidr_block
91
+
81
92
  # Whether VNICs within this subnet can have public IP addresses.
82
93
  # Defaults to false, which means VNICs created in this subnet will
83
94
  # automatically be assigned public IP addresses unless specified
@@ -87,6 +98,8 @@ module OCI
87
98
  # subnet cannot have public IP addresses (that is, it's a private
88
99
  # subnet).
89
100
  #
101
+ # For IPv6, if `prohibitPublicIpOnVnic` is set to `true`, internet access is not allowed for any
102
+ # IPv6s assigned to VNICs in the subnet.
90
103
  #
91
104
  # Example: `true`
92
105
  #
@@ -123,6 +136,7 @@ module OCI
123
136
  'display_name': :'displayName',
124
137
  'dns_label': :'dnsLabel',
125
138
  'freeform_tags': :'freeformTags',
139
+ 'ipv6_cidr_block': :'ipv6CidrBlock',
126
140
  'prohibit_public_ip_on_vnic': :'prohibitPublicIpOnVnic',
127
141
  'route_table_id': :'routeTableId',
128
142
  'security_list_ids': :'securityListIds',
@@ -143,6 +157,7 @@ module OCI
143
157
  'display_name': :'String',
144
158
  'dns_label': :'String',
145
159
  'freeform_tags': :'Hash<String, String>',
160
+ 'ipv6_cidr_block': :'String',
146
161
  'prohibit_public_ip_on_vnic': :'BOOLEAN',
147
162
  'route_table_id': :'String',
148
163
  'security_list_ids': :'Array<String>',
@@ -165,6 +180,7 @@ module OCI
165
180
  # @option attributes [String] :display_name The value to assign to the {#display_name} property
166
181
  # @option attributes [String] :dns_label The value to assign to the {#dns_label} property
167
182
  # @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {#freeform_tags} property
183
+ # @option attributes [String] :ipv6_cidr_block The value to assign to the {#ipv6_cidr_block} property
168
184
  # @option attributes [BOOLEAN] :prohibit_public_ip_on_vnic The value to assign to the {#prohibit_public_ip_on_vnic} property
169
185
  # @option attributes [String] :route_table_id The value to assign to the {#route_table_id} property
170
186
  # @option attributes [Array<String>] :security_list_ids The value to assign to the {#security_list_ids} property
@@ -223,6 +239,12 @@ module OCI
223
239
 
224
240
  self.freeform_tags = attributes[:'freeform_tags'] if attributes[:'freeform_tags']
225
241
 
242
+ self.ipv6_cidr_block = attributes[:'ipv6CidrBlock'] if attributes[:'ipv6CidrBlock']
243
+
244
+ raise 'You cannot provide both :ipv6CidrBlock and :ipv6_cidr_block' if attributes.key?(:'ipv6CidrBlock') && attributes.key?(:'ipv6_cidr_block')
245
+
246
+ self.ipv6_cidr_block = attributes[:'ipv6_cidr_block'] if attributes[:'ipv6_cidr_block']
247
+
226
248
  self.prohibit_public_ip_on_vnic = attributes[:'prohibitPublicIpOnVnic'] unless attributes[:'prohibitPublicIpOnVnic'].nil?
227
249
 
228
250
  raise 'You cannot provide both :prohibitPublicIpOnVnic and :prohibit_public_ip_on_vnic' if attributes.key?(:'prohibitPublicIpOnVnic') && attributes.key?(:'prohibit_public_ip_on_vnic')
@@ -267,6 +289,7 @@ module OCI
267
289
  display_name == other.display_name &&
268
290
  dns_label == other.dns_label &&
269
291
  freeform_tags == other.freeform_tags &&
292
+ ipv6_cidr_block == other.ipv6_cidr_block &&
270
293
  prohibit_public_ip_on_vnic == other.prohibit_public_ip_on_vnic &&
271
294
  route_table_id == other.route_table_id &&
272
295
  security_list_ids == other.security_list_ids &&
@@ -286,7 +309,7 @@ module OCI
286
309
  # Calculates hash code according to all attributes.
287
310
  # @return [Fixnum] Hash code
288
311
  def hash
289
- [availability_domain, cidr_block, compartment_id, defined_tags, dhcp_options_id, display_name, dns_label, freeform_tags, prohibit_public_ip_on_vnic, route_table_id, security_list_ids, vcn_id].hash
312
+ [availability_domain, cidr_block, compartment_id, defined_tags, dhcp_options_id, display_name, dns_label, freeform_tags, ipv6_cidr_block, prohibit_public_ip_on_vnic, route_table_id, security_list_ids, vcn_id].hash
290
313
  end
291
314
  # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
292
315
 
@@ -17,6 +17,30 @@ module OCI
17
17
  # @return [String]
18
18
  attr_accessor :compartment_id
19
19
 
20
+ # If you enable IPv6 for the VCN (see `isIpv6Enabled`), you may optionally provide an IPv6
21
+ # /48 CIDR block from the supported ranges (see [IPv6 Addresses](https://docs.cloud.oracle.com/Content/Network/Concepts/ipv6.htm).
22
+ # The addresses in this block will be considered private and cannot be accessed
23
+ # from the internet. The documentation refers to this as a *custom CIDR* for the VCN.
24
+ #
25
+ # If you don't provide a custom CIDR for the VCN, Oracle assigns the VCN's IPv6 /48 CIDR block.
26
+ #
27
+ # Regardless of whether you or Oracle assigns the `ipv6CidrBlock`,
28
+ # Oracle *also* assigns the VCN an IPv6 CIDR block for the VCN's public IP address space
29
+ # (see the `ipv6PublicCidrBlock` of the {Vcn} object). If you do
30
+ # not assign a custom CIDR, Oracle uses the *same* Oracle-assigned CIDR for both the private
31
+ # IP address space (`ipv6CidrBlock` in the `Vcn` object) and the public IP addreses space
32
+ # (`ipv6PublicCidrBlock` in the `Vcn` object). This means that a given VNIC might use the same
33
+ # IPv6 IP address for both private and public (internet) communication. You control whether
34
+ # an IPv6 address can be used for internet communication by using the `isInternetAccessAllowed`
35
+ # attribute in the {Ipv6} object.
36
+ #
37
+ # For important details about IPv6 addressing in a VCN, see [IPv6 Addresses](https://docs.cloud.oracle.com/Content/Network/Concepts/ipv6.htm).
38
+ #
39
+ # Example: `2001:0db8:0123::/48`
40
+ #
41
+ # @return [String]
42
+ attr_accessor :ipv6_cidr_block
43
+
20
44
  # Defined tags for this resource. Each key is predefined and scoped to a
21
45
  # namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
22
46
  #
@@ -56,16 +80,26 @@ module OCI
56
80
  # @return [Hash<String, String>]
57
81
  attr_accessor :freeform_tags
58
82
 
83
+ # Whether IPv6 is enabled for the VCN. Default is `false`. You cannot change this later.
84
+ # For important details about IPv6 addressing in a VCN, see [IPv6 Addresses](https://docs.cloud.oracle.com/Content/Network/Concepts/ipv6.htm).
85
+ #
86
+ # Example: `true`
87
+ #
88
+ # @return [BOOLEAN]
89
+ attr_accessor :is_ipv6_enabled
90
+
59
91
  # Attribute mapping from ruby-style variable name to JSON key.
60
92
  def self.attribute_map
61
93
  {
62
94
  # rubocop:disable Style/SymbolLiteral
63
95
  'cidr_block': :'cidrBlock',
64
96
  'compartment_id': :'compartmentId',
97
+ 'ipv6_cidr_block': :'ipv6CidrBlock',
65
98
  'defined_tags': :'definedTags',
66
99
  'display_name': :'displayName',
67
100
  'dns_label': :'dnsLabel',
68
- 'freeform_tags': :'freeformTags'
101
+ 'freeform_tags': :'freeformTags',
102
+ 'is_ipv6_enabled': :'isIpv6Enabled'
69
103
  # rubocop:enable Style/SymbolLiteral
70
104
  }
71
105
  end
@@ -76,10 +110,12 @@ module OCI
76
110
  # rubocop:disable Style/SymbolLiteral
77
111
  'cidr_block': :'String',
78
112
  'compartment_id': :'String',
113
+ 'ipv6_cidr_block': :'String',
79
114
  'defined_tags': :'Hash<String, Hash<String, Object>>',
80
115
  'display_name': :'String',
81
116
  'dns_label': :'String',
82
- 'freeform_tags': :'Hash<String, String>'
117
+ 'freeform_tags': :'Hash<String, String>',
118
+ 'is_ipv6_enabled': :'BOOLEAN'
83
119
  # rubocop:enable Style/SymbolLiteral
84
120
  }
85
121
  end
@@ -92,10 +128,12 @@ module OCI
92
128
  # @param [Hash] attributes Model attributes in the form of hash
93
129
  # @option attributes [String] :cidr_block The value to assign to the {#cidr_block} property
94
130
  # @option attributes [String] :compartment_id The value to assign to the {#compartment_id} property
131
+ # @option attributes [String] :ipv6_cidr_block The value to assign to the {#ipv6_cidr_block} property
95
132
  # @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {#defined_tags} property
96
133
  # @option attributes [String] :display_name The value to assign to the {#display_name} property
97
134
  # @option attributes [String] :dns_label The value to assign to the {#dns_label} property
98
135
  # @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {#freeform_tags} property
136
+ # @option attributes [BOOLEAN] :is_ipv6_enabled The value to assign to the {#is_ipv6_enabled} property
99
137
  def initialize(attributes = {})
100
138
  return unless attributes.is_a?(Hash)
101
139
 
@@ -114,6 +152,12 @@ module OCI
114
152
 
115
153
  self.compartment_id = attributes[:'compartment_id'] if attributes[:'compartment_id']
116
154
 
155
+ self.ipv6_cidr_block = attributes[:'ipv6CidrBlock'] if attributes[:'ipv6CidrBlock']
156
+
157
+ raise 'You cannot provide both :ipv6CidrBlock and :ipv6_cidr_block' if attributes.key?(:'ipv6CidrBlock') && attributes.key?(:'ipv6_cidr_block')
158
+
159
+ self.ipv6_cidr_block = attributes[:'ipv6_cidr_block'] if attributes[:'ipv6_cidr_block']
160
+
117
161
  self.defined_tags = attributes[:'definedTags'] if attributes[:'definedTags']
118
162
 
119
163
  raise 'You cannot provide both :definedTags and :defined_tags' if attributes.key?(:'definedTags') && attributes.key?(:'defined_tags')
@@ -137,6 +181,12 @@ module OCI
137
181
  raise 'You cannot provide both :freeformTags and :freeform_tags' if attributes.key?(:'freeformTags') && attributes.key?(:'freeform_tags')
138
182
 
139
183
  self.freeform_tags = attributes[:'freeform_tags'] if attributes[:'freeform_tags']
184
+
185
+ self.is_ipv6_enabled = attributes[:'isIpv6Enabled'] unless attributes[:'isIpv6Enabled'].nil?
186
+
187
+ raise 'You cannot provide both :isIpv6Enabled and :is_ipv6_enabled' if attributes.key?(:'isIpv6Enabled') && attributes.key?(:'is_ipv6_enabled')
188
+
189
+ self.is_ipv6_enabled = attributes[:'is_ipv6_enabled'] unless attributes[:'is_ipv6_enabled'].nil?
140
190
  end
141
191
  # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
142
192
  # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
@@ -152,10 +202,12 @@ module OCI
152
202
  self.class == other.class &&
153
203
  cidr_block == other.cidr_block &&
154
204
  compartment_id == other.compartment_id &&
205
+ ipv6_cidr_block == other.ipv6_cidr_block &&
155
206
  defined_tags == other.defined_tags &&
156
207
  display_name == other.display_name &&
157
208
  dns_label == other.dns_label &&
158
- freeform_tags == other.freeform_tags
209
+ freeform_tags == other.freeform_tags &&
210
+ is_ipv6_enabled == other.is_ipv6_enabled
159
211
  end
160
212
  # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
161
213
 
@@ -171,7 +223,7 @@ module OCI
171
223
  # Calculates hash code according to all attributes.
172
224
  # @return [Fixnum] Hash code
173
225
  def hash
174
- [cidr_block, compartment_id, defined_tags, display_name, dns_label, freeform_tags].hash
226
+ [cidr_block, compartment_id, ipv6_cidr_block, defined_tags, display_name, dns_label, freeform_tags, is_ipv6_enabled].hash
175
227
  end
176
228
  # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
177
229
 
@@ -38,11 +38,27 @@ module OCI
38
38
  # @return [Integer]
39
39
  attr_accessor :customer_bgp_asn
40
40
 
41
+ # Defined tags for this resource. Each key is predefined and scoped to a
42
+ # namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
43
+ #
44
+ # Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
45
+ #
46
+ # @return [Hash<String, Hash<String, Object>>]
47
+ attr_accessor :defined_tags
48
+
41
49
  # A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
42
50
  #
43
51
  # @return [String]
44
52
  attr_accessor :display_name
45
53
 
54
+ # Free-form tags for this resource. Each tag is a simple key-value pair with no
55
+ # predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
56
+ #
57
+ # Example: `{\"Department\": \"Finance\"}`
58
+ #
59
+ # @return [Hash<String, String>]
60
+ attr_accessor :freeform_tags
61
+
46
62
  # For private virtual circuits only. The OCID of the {Drg}
47
63
  # that this virtual circuit uses.
48
64
  #
@@ -90,7 +106,7 @@ module OCI
90
106
 
91
107
  # **[Required]** The type of IP addresses used in this virtual circuit. PRIVATE
92
108
  # means [RFC 1918](https://tools.ietf.org/html/rfc1918) addresses
93
- # (10.0.0.0/8, 172.16/12, and 192.168/16). Only PRIVATE is supported.
109
+ # (10.0.0.0/8, 172.16/12, and 192.168/16).
94
110
  #
95
111
  # @return [String]
96
112
  attr_reader :type
@@ -103,7 +119,9 @@ module OCI
103
119
  'compartment_id': :'compartmentId',
104
120
  'cross_connect_mappings': :'crossConnectMappings',
105
121
  'customer_bgp_asn': :'customerBgpAsn',
122
+ 'defined_tags': :'definedTags',
106
123
  'display_name': :'displayName',
124
+ 'freeform_tags': :'freeformTags',
107
125
  'gateway_id': :'gatewayId',
108
126
  'provider_name': :'providerName',
109
127
  'provider_service_id': :'providerServiceId',
@@ -124,7 +142,9 @@ module OCI
124
142
  'compartment_id': :'String',
125
143
  'cross_connect_mappings': :'Array<OCI::Core::Models::CrossConnectMapping>',
126
144
  'customer_bgp_asn': :'Integer',
145
+ 'defined_tags': :'Hash<String, Hash<String, Object>>',
127
146
  'display_name': :'String',
147
+ 'freeform_tags': :'Hash<String, String>',
128
148
  'gateway_id': :'String',
129
149
  'provider_name': :'String',
130
150
  'provider_service_id': :'String',
@@ -147,7 +167,9 @@ module OCI
147
167
  # @option attributes [String] :compartment_id The value to assign to the {#compartment_id} property
148
168
  # @option attributes [Array<OCI::Core::Models::CrossConnectMapping>] :cross_connect_mappings The value to assign to the {#cross_connect_mappings} property
149
169
  # @option attributes [Integer] :customer_bgp_asn The value to assign to the {#customer_bgp_asn} property
170
+ # @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {#defined_tags} property
150
171
  # @option attributes [String] :display_name The value to assign to the {#display_name} property
172
+ # @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {#freeform_tags} property
151
173
  # @option attributes [String] :gateway_id The value to assign to the {#gateway_id} property
152
174
  # @option attributes [String] :provider_name The value to assign to the {#provider_name} property
153
175
  # @option attributes [String] :provider_service_id The value to assign to the {#provider_service_id} property
@@ -186,12 +208,24 @@ module OCI
186
208
 
187
209
  self.customer_bgp_asn = attributes[:'customer_bgp_asn'] if attributes[:'customer_bgp_asn']
188
210
 
211
+ self.defined_tags = attributes[:'definedTags'] if attributes[:'definedTags']
212
+
213
+ raise 'You cannot provide both :definedTags and :defined_tags' if attributes.key?(:'definedTags') && attributes.key?(:'defined_tags')
214
+
215
+ self.defined_tags = attributes[:'defined_tags'] if attributes[:'defined_tags']
216
+
189
217
  self.display_name = attributes[:'displayName'] if attributes[:'displayName']
190
218
 
191
219
  raise 'You cannot provide both :displayName and :display_name' if attributes.key?(:'displayName') && attributes.key?(:'display_name')
192
220
 
193
221
  self.display_name = attributes[:'display_name'] if attributes[:'display_name']
194
222
 
223
+ self.freeform_tags = attributes[:'freeformTags'] if attributes[:'freeformTags']
224
+
225
+ raise 'You cannot provide both :freeformTags and :freeform_tags' if attributes.key?(:'freeformTags') && attributes.key?(:'freeform_tags')
226
+
227
+ self.freeform_tags = attributes[:'freeform_tags'] if attributes[:'freeform_tags']
228
+
195
229
  self.gateway_id = attributes[:'gatewayId'] if attributes[:'gatewayId']
196
230
 
197
231
  raise 'You cannot provide both :gatewayId and :gateway_id' if attributes.key?(:'gatewayId') && attributes.key?(:'gateway_id')
@@ -256,7 +290,9 @@ module OCI
256
290
  compartment_id == other.compartment_id &&
257
291
  cross_connect_mappings == other.cross_connect_mappings &&
258
292
  customer_bgp_asn == other.customer_bgp_asn &&
293
+ defined_tags == other.defined_tags &&
259
294
  display_name == other.display_name &&
295
+ freeform_tags == other.freeform_tags &&
260
296
  gateway_id == other.gateway_id &&
261
297
  provider_name == other.provider_name &&
262
298
  provider_service_id == other.provider_service_id &&
@@ -280,7 +316,7 @@ module OCI
280
316
  # Calculates hash code according to all attributes.
281
317
  # @return [Fixnum] Hash code
282
318
  def hash
283
- [bandwidth_shape_name, compartment_id, cross_connect_mappings, customer_bgp_asn, display_name, gateway_id, provider_name, provider_service_id, provider_service_key_name, provider_service_name, public_prefixes, region, type].hash
319
+ [bandwidth_shape_name, compartment_id, cross_connect_mappings, customer_bgp_asn, defined_tags, display_name, freeform_tags, gateway_id, provider_name, provider_service_id, provider_service_key_name, provider_service_name, public_prefixes, region, type].hash
284
320
  end
285
321
  # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
286
322