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
@@ -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