oci 2.0.0

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 (217) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +82 -0
  3. data/README.md +262 -0
  4. data/lib/oci.rb +25 -0
  5. data/lib/oci/api_client.rb +389 -0
  6. data/lib/oci/config.rb +118 -0
  7. data/lib/oci/config_file_loader.rb +96 -0
  8. data/lib/oci/core/blockstorage_client.rb +462 -0
  9. data/lib/oci/core/compute_client.rb +1415 -0
  10. data/lib/oci/core/core.rb +114 -0
  11. data/lib/oci/core/models/attach_i_scsi_volume_details.rb +137 -0
  12. data/lib/oci/core/models/attach_vnic_details.rb +144 -0
  13. data/lib/oci/core/models/attach_volume_details.rb +165 -0
  14. data/lib/oci/core/models/capture_console_history_details.rb +120 -0
  15. data/lib/oci/core/models/console_history.rb +213 -0
  16. data/lib/oci/core/models/cpe.rb +169 -0
  17. data/lib/oci/core/models/create_cpe_details.rb +145 -0
  18. data/lib/oci/core/models/create_cross_connect_details.rb +204 -0
  19. data/lib/oci/core/models/create_cross_connect_group_details.rb +133 -0
  20. data/lib/oci/core/models/create_dhcp_details.rb +153 -0
  21. data/lib/oci/core/models/create_drg_attachment_details.rb +142 -0
  22. data/lib/oci/core/models/create_drg_details.rb +131 -0
  23. data/lib/oci/core/models/create_image_details.rb +159 -0
  24. data/lib/oci/core/models/create_instance_console_connection_details.rb +131 -0
  25. data/lib/oci/core/models/create_internet_gateway_details.rb +153 -0
  26. data/lib/oci/core/models/create_ip_sec_connection_details.rb +168 -0
  27. data/lib/oci/core/models/create_private_ip_details.rb +173 -0
  28. data/lib/oci/core/models/create_route_table_details.rb +153 -0
  29. data/lib/oci/core/models/create_security_list_details.rb +164 -0
  30. data/lib/oci/core/models/create_subnet_details.rb +257 -0
  31. data/lib/oci/core/models/create_vcn_details.rb +171 -0
  32. data/lib/oci/core/models/create_virtual_circuit_details.rb +260 -0
  33. data/lib/oci/core/models/create_vnic_details.rb +214 -0
  34. data/lib/oci/core/models/create_volume_backup_details.rb +133 -0
  35. data/lib/oci/core/models/create_volume_details.rb +170 -0
  36. data/lib/oci/core/models/cross_connect.rb +235 -0
  37. data/lib/oci/core/models/cross_connect_group.rb +187 -0
  38. data/lib/oci/core/models/cross_connect_location.rb +134 -0
  39. data/lib/oci/core/models/cross_connect_mapping.rb +190 -0
  40. data/lib/oci/core/models/cross_connect_port_speed_shape.rb +137 -0
  41. data/lib/oci/core/models/cross_connect_status.rb +200 -0
  42. data/lib/oci/core/models/dhcp_dns_option.rb +171 -0
  43. data/lib/oci/core/models/dhcp_option.rb +135 -0
  44. data/lib/oci/core/models/dhcp_options.rb +208 -0
  45. data/lib/oci/core/models/dhcp_search_domain_option.rb +141 -0
  46. data/lib/oci/core/models/drg.rb +186 -0
  47. data/lib/oci/core/models/drg_attachment.rb +208 -0
  48. data/lib/oci/core/models/egress_security_rule.rb +198 -0
  49. data/lib/oci/core/models/export_image_details.rb +134 -0
  50. data/lib/oci/core/models/export_image_via_object_storage_tuple_details.rb +150 -0
  51. data/lib/oci/core/models/export_image_via_object_storage_uri_details.rb +130 -0
  52. data/lib/oci/core/models/fast_connect_provider_service.rb +145 -0
  53. data/lib/oci/core/models/i_scsi_volume_attachment.rb +212 -0
  54. data/lib/oci/core/models/icmp_options.rb +131 -0
  55. data/lib/oci/core/models/image.rb +245 -0
  56. data/lib/oci/core/models/image_source_details.rb +134 -0
  57. data/lib/oci/core/models/image_source_via_object_storage_tuple_details.rb +150 -0
  58. data/lib/oci/core/models/image_source_via_object_storage_uri_details.rb +128 -0
  59. data/lib/oci/core/models/ingress_security_rule.rb +198 -0
  60. data/lib/oci/core/models/instance.rb +307 -0
  61. data/lib/oci/core/models/instance_console_connection.rb +193 -0
  62. data/lib/oci/core/models/instance_credentials.rb +131 -0
  63. data/lib/oci/core/models/internet_gateway.rb +210 -0
  64. data/lib/oci/core/models/ip_sec_connection.rb +223 -0
  65. data/lib/oci/core/models/ip_sec_connection_device_config.rb +153 -0
  66. data/lib/oci/core/models/ip_sec_connection_device_status.rb +156 -0
  67. data/lib/oci/core/models/launch_instance_details.rb +336 -0
  68. data/lib/oci/core/models/letter_of_authority.rb +194 -0
  69. data/lib/oci/core/models/port_range.rb +133 -0
  70. data/lib/oci/core/models/private_ip.rb +248 -0
  71. data/lib/oci/core/models/route_rule.rb +135 -0
  72. data/lib/oci/core/models/route_table.rb +208 -0
  73. data/lib/oci/core/models/security_list.rb +219 -0
  74. data/lib/oci/core/models/shape.rb +122 -0
  75. data/lib/oci/core/models/subnet.rb +351 -0
  76. data/lib/oci/core/models/tcp_options.rb +135 -0
  77. data/lib/oci/core/models/tunnel_config.rb +151 -0
  78. data/lib/oci/core/models/tunnel_status.rb +178 -0
  79. data/lib/oci/core/models/udp_options.rb +135 -0
  80. data/lib/oci/core/models/update_cpe_details.rb +122 -0
  81. data/lib/oci/core/models/update_cross_connect_details.rb +138 -0
  82. data/lib/oci/core/models/update_cross_connect_group_details.rb +122 -0
  83. data/lib/oci/core/models/update_dhcp_details.rb +132 -0
  84. data/lib/oci/core/models/update_drg_attachment_details.rb +122 -0
  85. data/lib/oci/core/models/update_drg_details.rb +122 -0
  86. data/lib/oci/core/models/update_image_details.rb +124 -0
  87. data/lib/oci/core/models/update_instance_details.rb +124 -0
  88. data/lib/oci/core/models/update_internet_gateway_details.rb +133 -0
  89. data/lib/oci/core/models/update_ip_sec_connection_details.rb +122 -0
  90. data/lib/oci/core/models/update_private_ip_details.rb +157 -0
  91. data/lib/oci/core/models/update_route_table_details.rb +133 -0
  92. data/lib/oci/core/models/update_security_list_details.rb +144 -0
  93. data/lib/oci/core/models/update_subnet_details.rb +122 -0
  94. data/lib/oci/core/models/update_vcn_details.rb +122 -0
  95. data/lib/oci/core/models/update_virtual_circuit_details.rb +240 -0
  96. data/lib/oci/core/models/update_vnic_details.rb +144 -0
  97. data/lib/oci/core/models/update_volume_backup_details.rb +122 -0
  98. data/lib/oci/core/models/update_volume_details.rb +122 -0
  99. data/lib/oci/core/models/vcn.rb +276 -0
  100. data/lib/oci/core/models/virtual_circuit.rb +395 -0
  101. data/lib/oci/core/models/virtual_circuit_bandwidth_shape.rb +137 -0
  102. data/lib/oci/core/models/vnic.rb +287 -0
  103. data/lib/oci/core/models/vnic_attachment.rb +250 -0
  104. data/lib/oci/core/models/volume.rb +210 -0
  105. data/lib/oci/core/models/volume_attachment.rb +246 -0
  106. data/lib/oci/core/models/volume_backup.rb +235 -0
  107. data/lib/oci/core/util.rb +1 -0
  108. data/lib/oci/core/virtual_network_client.rb +3421 -0
  109. data/lib/oci/errors.rb +78 -0
  110. data/lib/oci/global_context.rb +20 -0
  111. data/lib/oci/identity/identity.rb +55 -0
  112. data/lib/oci/identity/identity_client.rb +2148 -0
  113. data/lib/oci/identity/models/add_user_to_group_details.rb +131 -0
  114. data/lib/oci/identity/models/api_key.rb +211 -0
  115. data/lib/oci/identity/models/availability_domain.rb +131 -0
  116. data/lib/oci/identity/models/compartment.rb +211 -0
  117. data/lib/oci/identity/models/create_api_key_details.rb +120 -0
  118. data/lib/oci/identity/models/create_compartment_details.rb +145 -0
  119. data/lib/oci/identity/models/create_customer_secret_key_details.rb +121 -0
  120. data/lib/oci/identity/models/create_group_details.rb +144 -0
  121. data/lib/oci/identity/models/create_identity_provider_details.rb +215 -0
  122. data/lib/oci/identity/models/create_idp_group_mapping_details.rb +133 -0
  123. data/lib/oci/identity/models/create_policy_details.rb +173 -0
  124. data/lib/oci/identity/models/create_region_subscription_details.rb +128 -0
  125. data/lib/oci/identity/models/create_saml2_identity_provider_details.rb +154 -0
  126. data/lib/oci/identity/models/create_swift_password_details.rb +121 -0
  127. data/lib/oci/identity/models/create_user_details.rb +144 -0
  128. data/lib/oci/identity/models/customer_secret_key.rb +225 -0
  129. data/lib/oci/identity/models/customer_secret_key_summary.rb +213 -0
  130. data/lib/oci/identity/models/group.rb +211 -0
  131. data/lib/oci/identity/models/identity_provider.rb +261 -0
  132. data/lib/oci/identity/models/idp_group_mapping.rb +220 -0
  133. data/lib/oci/identity/models/policy.rb +237 -0
  134. data/lib/oci/identity/models/region.rb +143 -0
  135. data/lib/oci/identity/models/region_subscription.rb +180 -0
  136. data/lib/oci/identity/models/saml2_identity_provider.rb +180 -0
  137. data/lib/oci/identity/models/swift_password.rb +226 -0
  138. data/lib/oci/identity/models/tenancy.rb +159 -0
  139. data/lib/oci/identity/models/ui_password.rb +187 -0
  140. data/lib/oci/identity/models/update_compartment_details.rb +132 -0
  141. data/lib/oci/identity/models/update_customer_secret_key_details.rb +120 -0
  142. data/lib/oci/identity/models/update_group_details.rb +120 -0
  143. data/lib/oci/identity/models/update_identity_provider_details.rb +160 -0
  144. data/lib/oci/identity/models/update_idp_group_mapping_details.rb +131 -0
  145. data/lib/oci/identity/models/update_policy_details.rb +148 -0
  146. data/lib/oci/identity/models/update_saml2_identity_provider_details.rb +145 -0
  147. data/lib/oci/identity/models/update_state_details.rb +121 -0
  148. data/lib/oci/identity/models/update_swift_password_details.rb +120 -0
  149. data/lib/oci/identity/models/update_user_details.rb +120 -0
  150. data/lib/oci/identity/models/user.rb +217 -0
  151. data/lib/oci/identity/models/user_group_membership.rb +209 -0
  152. data/lib/oci/identity/util.rb +1 -0
  153. data/lib/oci/internal/internal.rb +10 -0
  154. data/lib/oci/internal/util.rb +69 -0
  155. data/lib/oci/load_balancer/load_balancer.rb +51 -0
  156. data/lib/oci/load_balancer/load_balancer_client.rb +1449 -0
  157. data/lib/oci/load_balancer/models/backend.rb +220 -0
  158. data/lib/oci/load_balancer/models/backend_details.rb +206 -0
  159. data/lib/oci/load_balancer/models/backend_health.rb +158 -0
  160. data/lib/oci/load_balancer/models/backend_set.rb +182 -0
  161. data/lib/oci/load_balancer/models/backend_set_details.rb +165 -0
  162. data/lib/oci/load_balancer/models/backend_set_health.rb +207 -0
  163. data/lib/oci/load_balancer/models/certificate.rb +169 -0
  164. data/lib/oci/load_balancer/models/certificate_details.rb +205 -0
  165. data/lib/oci/load_balancer/models/create_backend_details.rb +206 -0
  166. data/lib/oci/load_balancer/models/create_backend_set_details.rb +181 -0
  167. data/lib/oci/load_balancer/models/create_certificate_details.rb +205 -0
  168. data/lib/oci/load_balancer/models/create_listener_details.rb +175 -0
  169. data/lib/oci/load_balancer/models/create_load_balancer_details.rb +220 -0
  170. data/lib/oci/load_balancer/models/health_check_result.rb +183 -0
  171. data/lib/oci/load_balancer/models/health_checker.rb +224 -0
  172. data/lib/oci/load_balancer/models/health_checker_details.rb +223 -0
  173. data/lib/oci/load_balancer/models/ip_address.rb +139 -0
  174. data/lib/oci/load_balancer/models/listener.rb +174 -0
  175. data/lib/oci/load_balancer/models/listener_details.rb +160 -0
  176. data/lib/oci/load_balancer/models/load_balancer.rb +280 -0
  177. data/lib/oci/load_balancer/models/load_balancer_health.rb +215 -0
  178. data/lib/oci/load_balancer/models/load_balancer_health_summary.rb +168 -0
  179. data/lib/oci/load_balancer/models/load_balancer_policy.rb +120 -0
  180. data/lib/oci/load_balancer/models/load_balancer_protocol.rb +120 -0
  181. data/lib/oci/load_balancer/models/load_balancer_shape.rb +120 -0
  182. data/lib/oci/load_balancer/models/session_persistence_configuration_details.rb +141 -0
  183. data/lib/oci/load_balancer/models/ssl_configuration.rb +155 -0
  184. data/lib/oci/load_balancer/models/ssl_configuration_details.rb +155 -0
  185. data/lib/oci/load_balancer/models/update_backend_details.rb +178 -0
  186. data/lib/oci/load_balancer/models/update_backend_set_details.rb +165 -0
  187. data/lib/oci/load_balancer/models/update_health_checker_details.rb +222 -0
  188. data/lib/oci/load_balancer/models/update_listener_details.rb +160 -0
  189. data/lib/oci/load_balancer/models/update_load_balancer_details.rb +124 -0
  190. data/lib/oci/load_balancer/models/work_request.rb +229 -0
  191. data/lib/oci/load_balancer/models/work_request_error.rb +145 -0
  192. data/lib/oci/load_balancer/util.rb +58 -0
  193. data/lib/oci/object_storage/models/bucket.rb +216 -0
  194. data/lib/oci/object_storage/models/bucket_summary.rb +175 -0
  195. data/lib/oci/object_storage/models/commit_multipart_upload_details.rb +133 -0
  196. data/lib/oci/object_storage/models/commit_multipart_upload_part_details.rb +131 -0
  197. data/lib/oci/object_storage/models/create_bucket_details.rb +173 -0
  198. data/lib/oci/object_storage/models/create_multipart_upload_details.rb +166 -0
  199. data/lib/oci/object_storage/models/create_preauthenticated_request_details.rb +171 -0
  200. data/lib/oci/object_storage/models/list_objects.rb +146 -0
  201. data/lib/oci/object_storage/models/multipart_upload.rb +164 -0
  202. data/lib/oci/object_storage/models/multipart_upload_part_summary.rb +153 -0
  203. data/lib/oci/object_storage/models/object_summary.rb +153 -0
  204. data/lib/oci/object_storage/models/preauthenticated_request.rb +207 -0
  205. data/lib/oci/object_storage/models/preauthenticated_request_summary.rb +196 -0
  206. data/lib/oci/object_storage/models/update_bucket_details.rb +171 -0
  207. data/lib/oci/object_storage/object_storage.rb +30 -0
  208. data/lib/oci/object_storage/object_storage_client.rb +1185 -0
  209. data/lib/oci/object_storage/util.rb +1 -0
  210. data/lib/oci/regions.rb +43 -0
  211. data/lib/oci/response.rb +80 -0
  212. data/lib/oci/response_headers.rb +144 -0
  213. data/lib/oci/signer.rb +157 -0
  214. data/lib/oci/version.rb +5 -0
  215. data/lib/oci/waiter.rb +101 -0
  216. data/lib/oraclebmc.rb +3 -0
  217. metadata +375 -0
@@ -0,0 +1,235 @@
1
+ # Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require 'date'
4
+
5
+ module OCI
6
+ class Core::Models::VolumeBackup
7
+
8
+ LIFECYCLE_STATE_ENUM = [LIFECYCLE_STATE_CREATING = 'CREATING',
9
+ LIFECYCLE_STATE_AVAILABLE = 'AVAILABLE',
10
+ LIFECYCLE_STATE_TERMINATING = 'TERMINATING',
11
+ LIFECYCLE_STATE_TERMINATED = 'TERMINATED',
12
+ LIFECYCLE_STATE_FAULTY = 'FAULTY',
13
+ LIFECYCLE_STATE_REQUEST_RECEIVED = 'REQUEST_RECEIVED',
14
+ LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE']
15
+
16
+ # The OCID of the compartment that contains the volume backup.
17
+ # @return [String]
18
+ attr_accessor :compartment_id
19
+
20
+ # A user-friendly name for the volume backup. Does not have to be unique and it's changeable.
21
+ # Avoid entering confidential information.
22
+ #
23
+ # @return [String]
24
+ attr_accessor :display_name
25
+
26
+ # The OCID of the volume backup.
27
+ # @return [String]
28
+ attr_accessor :id
29
+
30
+ # The current state of a volume backup.
31
+ # @return [String]
32
+ attr_accessor :lifecycle_state
33
+
34
+ # The size of the volume, in MBs. The value must be a multiple of 1024.
35
+ #
36
+ # @return [Integer]
37
+ attr_accessor :size_in_mbs
38
+
39
+ # The date and time the volume backup was created. This is the time the actual point-in-time image
40
+ # of the volume data was taken. Format defined by RFC3339.
41
+ #
42
+ # @return [DateTime]
43
+ attr_accessor :time_created
44
+
45
+ # The date and time the request to create the volume backup was received. Format defined by RFC3339.
46
+ #
47
+ # @return [DateTime]
48
+ attr_accessor :time_request_received
49
+
50
+ # The size used by the backup, in MBs. It is typically smaller than sizeInMBs, depending on the space
51
+ # consumed on the volume and whether the backup is full or incremental.
52
+ #
53
+ # @return [Integer]
54
+ attr_accessor :unique_size_in_mbs
55
+
56
+ # The OCID of the volume.
57
+ # @return [String]
58
+ attr_accessor :volume_id
59
+
60
+
61
+ # Initializes the object
62
+ # @param [Hash] attributes Model attributes in the form of hash
63
+ def initialize(attributes = {})
64
+ return unless attributes.is_a?(Hash)
65
+
66
+ # convert string to symbol for hash key
67
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
68
+
69
+ if attributes[:'compartmentId']
70
+ self.compartment_id = attributes[:'compartmentId']
71
+ end
72
+
73
+ if attributes[:'displayName']
74
+ self.display_name = attributes[:'displayName']
75
+ end
76
+
77
+ if attributes[:'id']
78
+ self.id = attributes[:'id']
79
+ end
80
+
81
+ if attributes[:'lifecycleState']
82
+ self.lifecycle_state = attributes[:'lifecycleState']
83
+ end
84
+
85
+ if attributes[:'sizeInMBs']
86
+ self.size_in_mbs = attributes[:'sizeInMBs']
87
+ end
88
+
89
+ if attributes[:'timeCreated']
90
+ self.time_created = attributes[:'timeCreated']
91
+ end
92
+
93
+ if attributes[:'timeRequestReceived']
94
+ self.time_request_received = attributes[:'timeRequestReceived']
95
+ end
96
+
97
+ if attributes[:'uniqueSizeInMbs']
98
+ self.unique_size_in_mbs = attributes[:'uniqueSizeInMbs']
99
+ end
100
+
101
+ if attributes[:'volumeId']
102
+ self.volume_id = attributes[:'volumeId']
103
+ end
104
+
105
+ end
106
+
107
+ # Custom attribute writer method checking allowed values (enum).
108
+ # @param [Object] lifecycle_state Object to be assigned
109
+ def lifecycle_state=(lifecycle_state)
110
+ if lifecycle_state && !LIFECYCLE_STATE_ENUM.include?(lifecycle_state)
111
+ @lifecycle_state = LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE
112
+ else
113
+ @lifecycle_state = lifecycle_state
114
+ end
115
+ end
116
+
117
+ # Checks equality by comparing each attribute.
118
+ # @param [Object] other_object to be compared
119
+ def ==(other_object)
120
+ return true if self.equal?(other_object)
121
+ self.class == other_object.class &&
122
+ compartment_id == other_object.compartment_id &&
123
+ display_name == other_object.display_name &&
124
+ id == other_object.id &&
125
+ lifecycle_state == other_object.lifecycle_state &&
126
+ size_in_mbs == other_object.size_in_mbs &&
127
+ time_created == other_object.time_created &&
128
+ time_request_received == other_object.time_request_received &&
129
+ unique_size_in_mbs == other_object.unique_size_in_mbs &&
130
+ volume_id == other_object.volume_id
131
+ end
132
+
133
+ # @see the `==` method
134
+ # @param [Object] other_object to be compared
135
+ def eql?(other_object)
136
+ self == other_object
137
+ end
138
+
139
+ # Calculates hash code according to all attributes.
140
+ # @return [Fixnum] Hash code
141
+ def hash
142
+ [compartment_id, display_name, id, lifecycle_state, size_in_mbs, time_created, time_request_received, unique_size_in_mbs, volume_id].hash
143
+ end
144
+
145
+ # Builds the object from hash
146
+ # @param [Hash] attributes Model attributes in the form of hash
147
+ # @return [Object] Returns the model itself
148
+ def build_from_hash(attributes)
149
+ return nil unless attributes.is_a?(Hash)
150
+ self.class.swagger_types.each_pair do |key, type|
151
+ if type =~ /^Array<(.*)>/i
152
+ # check to ensure the input is an array given that the the attribute
153
+ # is documented as an array but the input is not
154
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
155
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
156
+ end
157
+ elsif !attributes[self.class.attribute_map[key]].nil?
158
+ self.send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
159
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
160
+ end
161
+
162
+ self
163
+ end
164
+
165
+ # Returns the string representation of the object
166
+ # @return [String] String presentation of the object
167
+ def to_s
168
+ to_hash.to_s
169
+ end
170
+
171
+ # Returns the object in the form of hash
172
+ # @return [Hash] Returns the object in the form of hash
173
+ def to_hash
174
+ hash = {}
175
+ self.class.attribute_map.each_pair do |attr, param|
176
+ value = self.send(attr)
177
+ next if value.nil?
178
+ hash[param] = _to_hash(value)
179
+ end
180
+ hash
181
+ end
182
+
183
+ private
184
+
185
+ # Outputs non-array value in the form of hash
186
+ # For object, use to_hash. Otherwise, just return the value
187
+ # @param [Object] value Any valid value
188
+ # @return [Hash] Returns the value in the form of hash
189
+ def _to_hash(value)
190
+ if value.is_a?(Array)
191
+ value.compact.map{ |v| _to_hash(v) }
192
+ elsif value.is_a?(Hash)
193
+ {}.tap do |hash|
194
+ value.each { |k, v| hash[k] = _to_hash(v) }
195
+ end
196
+ elsif value.respond_to? :to_hash
197
+ value.to_hash
198
+ else
199
+ value
200
+ end
201
+ end
202
+
203
+
204
+
205
+ # Attribute mapping from ruby-style variable name to JSON key.
206
+ def self.attribute_map
207
+ {
208
+ :'compartment_id' => :'compartmentId',
209
+ :'display_name' => :'displayName',
210
+ :'id' => :'id',
211
+ :'lifecycle_state' => :'lifecycleState',
212
+ :'size_in_mbs' => :'sizeInMBs',
213
+ :'time_created' => :'timeCreated',
214
+ :'time_request_received' => :'timeRequestReceived',
215
+ :'unique_size_in_mbs' => :'uniqueSizeInMbs',
216
+ :'volume_id' => :'volumeId'
217
+ }
218
+ end
219
+
220
+ # Attribute type mapping.
221
+ def self.swagger_types
222
+ {
223
+ :'compartment_id' => :'String',
224
+ :'display_name' => :'String',
225
+ :'id' => :'String',
226
+ :'lifecycle_state' => :'String',
227
+ :'size_in_mbs' => :'Integer',
228
+ :'time_created' => :'DateTime',
229
+ :'time_request_received' => :'DateTime',
230
+ :'unique_size_in_mbs' => :'Integer',
231
+ :'volume_id' => :'String'
232
+ }
233
+ end
234
+ end
235
+ end
@@ -0,0 +1 @@
1
+ # Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
@@ -0,0 +1,3421 @@
1
+ # Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require "uri"
4
+ require "logger"
5
+
6
+ module OCI
7
+
8
+ class Core::VirtualNetworkClient
9
+
10
+ # Client used to make HTTP requests.
11
+ # @return [OCI::ApiClient]
12
+ attr_reader :api_client
13
+
14
+ # Fully qualified endpoint URL
15
+ # @return [String]
16
+ attr_reader :endpoint
17
+
18
+ # The region, which will usually correspond to a value in {OCI::Regions::REGION_ENUM}.
19
+ # @return [String]
20
+ attr_accessor :region
21
+
22
+ # Creates a new VirtualNetworkClient.
23
+ # If a config is not specified, then the global OCI.config will be used.
24
+ #
25
+ # A region must be specified in either the config or the region parameter. If specified
26
+ # in both, then the region parameter will be used.
27
+ #
28
+ # @param [Config] config A Config object.
29
+ # @param [String] region A region used to determine the service endpoint. This will usually
30
+ # correspond to a value in {OCI::Regions::REGION_ENUM}, but may be an arbitrary string.
31
+ #
32
+ def initialize(config:nil, region:nil)
33
+ config ||= OCI.config
34
+ config.validate
35
+
36
+ signer = Signer.new(config.user, config.fingerprint, config.tenancy, config.key_file, pass_phrase: config.pass_phrase, private_key_content: config.key_content)
37
+ @api_client = ApiClient.new(config, signer)
38
+
39
+ region ||= config.region
40
+ self.region = region
41
+ end
42
+
43
+ # Set the region that will be used to determine the service endpoint.
44
+ # This will usually correspond to a value in {OCI::Regions::REGION_ENUM},
45
+ # but may be an arbitrary string.
46
+ def region=(r)
47
+ @region = r
48
+
49
+ fail 'A region must be specified.' unless @region
50
+
51
+ @endpoint = OCI::Regions.get_service_endpoint(@region, :VirtualNetworkClient) + '/20160918'
52
+ logger.info "VirtualNetworkClient endpoint set to '#{endpoint}'." if logger
53
+ end
54
+
55
+ # @return [Logger] The logger for this client. May be nil.
56
+ def logger
57
+ @api_client.config.logger
58
+ end
59
+
60
+
61
+ # Creates a new virtual Customer-Premises Equipment (CPE) object in the specified compartment. For
62
+ # more information, see [IPSec VPNs](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Tasks/managingIPsec.htm).
63
+ #
64
+ # For the purposes of access control, you must provide the OCID of the compartment where you want
65
+ # the CPE to reside. Notice that the CPE doesn't have to be in the same compartment as the IPSec
66
+ # connection or other Networking Service components. If you're not sure which compartment to
67
+ # use, put the CPE in the same compartment as the DRG. For more information about
68
+ # compartments and access control, see [Overview of the IAM Service](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/overview.htm).
69
+ # For information about OCIDs, see [Resource Identifiers](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
70
+ #
71
+ # You must provide the public IP address of your on-premises router. See
72
+ # [Configuring Your On-Premises Router for an IPSec VPN](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Tasks/configuringCPE.htm).
73
+ #
74
+ # You may optionally specify a *display name* for the CPE, otherwise a default is provided. It does not have to
75
+ # be unique, and you can change it. Avoid entering confidential information.
76
+ #
77
+ # @param [CreateCpeDetails] create_cpe_details Details for creating a CPE.
78
+ # @param [Hash] opts the optional parameters
79
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
80
+ # server error without risk of executing that same action again. Retry tokens expire after 24
81
+ # hours, but can be invalidated before then due to conflicting operations (for example, if a resource
82
+ # has been deleted and purged from the system, then a retry of the original creation request
83
+ # may be rejected).
84
+ #
85
+ # @return [Response] A Response object with data of type OCI::Core::Models::Cpe
86
+ def create_cpe(create_cpe_details, opts = {})
87
+ logger.debug "Calling operation VirtualNetworkClient#create_cpe." if logger
88
+
89
+ fail "Missing the required parameter 'create_cpe_details' when calling create_cpe." if create_cpe_details.nil?
90
+
91
+ path = "/cpes"
92
+
93
+ # Query Params
94
+ query_params = {}
95
+
96
+ # Header Params
97
+ header_params = {}
98
+ header_params['accept'] = 'application/json'
99
+ header_params['content-type'] = 'application/json'
100
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
101
+
102
+ post_body = @api_client.object_to_http_body(create_cpe_details)
103
+
104
+ return @api_client.call_api(
105
+ :POST,
106
+ path,
107
+ endpoint,
108
+ :header_params => header_params,
109
+ :query_params => query_params,
110
+ :body => post_body,
111
+ :return_type => 'OCI::Core::Models::Cpe')
112
+ end
113
+
114
+ # Creates a new cross-connect. Oracle recommends you create each cross-connect in a
115
+ # {CrossConnectGroup} so you can use link aggregation
116
+ # with the connection.
117
+ #
118
+ # After creating the `CrossConnect` object, you need to go the FastConnect location
119
+ # and request to have the physical cable installed. For more information, see
120
+ # [FastConnect Overview](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Concepts/fastconnect.htm).
121
+ #
122
+ # For the purposes of access control, you must provide the OCID of the
123
+ # compartment where you want the cross-connect to reside. If you're
124
+ # not sure which compartment to use, put the cross-connect in the
125
+ # same compartment with your VCN. For more information about
126
+ # compartments and access control, see
127
+ # [Overview of the IAM Service](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/overview.htm).
128
+ # For information about OCIDs, see
129
+ # [Resource Identifiers](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
130
+ #
131
+ # You may optionally specify a *display name* for the cross-connect.
132
+ # It does not have to be unique, and you can change it. Avoid entering confidential information.
133
+ #
134
+ # @param [CreateCrossConnectDetails] create_cross_connect_details Details to create a CrossConnect
135
+ # @param [Hash] opts the optional parameters
136
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
137
+ # server error without risk of executing that same action again. Retry tokens expire after 24
138
+ # hours, but can be invalidated before then due to conflicting operations (for example, if a resource
139
+ # has been deleted and purged from the system, then a retry of the original creation request
140
+ # may be rejected).
141
+ #
142
+ # @return [Response] A Response object with data of type OCI::Core::Models::CrossConnect
143
+ def create_cross_connect(create_cross_connect_details, opts = {})
144
+ logger.debug "Calling operation VirtualNetworkClient#create_cross_connect." if logger
145
+
146
+ fail "Missing the required parameter 'create_cross_connect_details' when calling create_cross_connect." if create_cross_connect_details.nil?
147
+
148
+ path = "/crossConnects"
149
+
150
+ # Query Params
151
+ query_params = {}
152
+
153
+ # Header Params
154
+ header_params = {}
155
+ header_params['accept'] = 'application/json'
156
+ header_params['content-type'] = 'application/json'
157
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
158
+
159
+ post_body = @api_client.object_to_http_body(create_cross_connect_details)
160
+
161
+ return @api_client.call_api(
162
+ :POST,
163
+ path,
164
+ endpoint,
165
+ :header_params => header_params,
166
+ :query_params => query_params,
167
+ :body => post_body,
168
+ :return_type => 'OCI::Core::Models::CrossConnect')
169
+ end
170
+
171
+ # Creates a new cross-connect group to use with Oracle Bare Metal Cloud Services
172
+ # FastConnect. For more information, see
173
+ # [FastConnect Overview](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Concepts/fastconnect.htm).
174
+ #
175
+ # For the purposes of access control, you must provide the OCID of the
176
+ # compartment where you want the cross-connect group to reside. If you're
177
+ # not sure which compartment to use, put the cross-connect group in the
178
+ # same compartment with your VCN. For more information about
179
+ # compartments and access control, see
180
+ # [Overview of the IAM Service](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/overview.htm).
181
+ # For information about OCIDs, see
182
+ # [Resource Identifiers](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
183
+ #
184
+ # You may optionally specify a *display name* for the cross-connect group.
185
+ # It does not have to be unique, and you can change it. Avoid entering confidential information.
186
+ #
187
+ # @param [CreateCrossConnectGroupDetails] create_cross_connect_group_details Details to create a CrossConnectGroup
188
+ # @param [Hash] opts the optional parameters
189
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
190
+ # server error without risk of executing that same action again. Retry tokens expire after 24
191
+ # hours, but can be invalidated before then due to conflicting operations (for example, if a resource
192
+ # has been deleted and purged from the system, then a retry of the original creation request
193
+ # may be rejected).
194
+ #
195
+ # @return [Response] A Response object with data of type OCI::Core::Models::CrossConnectGroup
196
+ def create_cross_connect_group(create_cross_connect_group_details, opts = {})
197
+ logger.debug "Calling operation VirtualNetworkClient#create_cross_connect_group." if logger
198
+
199
+ fail "Missing the required parameter 'create_cross_connect_group_details' when calling create_cross_connect_group." if create_cross_connect_group_details.nil?
200
+
201
+ path = "/crossConnectGroups"
202
+
203
+ # Query Params
204
+ query_params = {}
205
+
206
+ # Header Params
207
+ header_params = {}
208
+ header_params['accept'] = 'application/json'
209
+ header_params['content-type'] = 'application/json'
210
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
211
+
212
+ post_body = @api_client.object_to_http_body(create_cross_connect_group_details)
213
+
214
+ return @api_client.call_api(
215
+ :POST,
216
+ path,
217
+ endpoint,
218
+ :header_params => header_params,
219
+ :query_params => query_params,
220
+ :body => post_body,
221
+ :return_type => 'OCI::Core::Models::CrossConnectGroup')
222
+ end
223
+
224
+ # Creates a new set of DHCP options for the specified VCN. For more information, see
225
+ # {DhcpOptions}.
226
+ #
227
+ # For the purposes of access control, you must provide the OCID of the compartment where you want the set of
228
+ # DHCP options to reside. Notice that the set of options doesn't have to be in the same compartment as the VCN,
229
+ # subnets, or other Networking Service components. If you're not sure which compartment to use, put the set
230
+ # of DHCP options in the same compartment as the VCN. For more information about compartments and access control, see
231
+ # [Overview of the IAM Service](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/overview.htm). For information about OCIDs, see
232
+ # [Resource Identifiers](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
233
+ #
234
+ # You may optionally specify a *display name* for the set of DHCP options, otherwise a default is provided.
235
+ # It does not have to be unique, and you can change it. Avoid entering confidential information.
236
+ #
237
+ # @param [CreateDhcpDetails] create_dhcp_details Request object for creating a new set of DHCP options.
238
+ # @param [Hash] opts the optional parameters
239
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
240
+ # server error without risk of executing that same action again. Retry tokens expire after 24
241
+ # hours, but can be invalidated before then due to conflicting operations (for example, if a resource
242
+ # has been deleted and purged from the system, then a retry of the original creation request
243
+ # may be rejected).
244
+ #
245
+ # @return [Response] A Response object with data of type OCI::Core::Models::DhcpOptions
246
+ def create_dhcp_options(create_dhcp_details, opts = {})
247
+ logger.debug "Calling operation VirtualNetworkClient#create_dhcp_options." if logger
248
+
249
+ fail "Missing the required parameter 'create_dhcp_details' when calling create_dhcp_options." if create_dhcp_details.nil?
250
+
251
+ path = "/dhcps"
252
+
253
+ # Query Params
254
+ query_params = {}
255
+
256
+ # Header Params
257
+ header_params = {}
258
+ header_params['accept'] = 'application/json'
259
+ header_params['content-type'] = 'application/json'
260
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
261
+
262
+ post_body = @api_client.object_to_http_body(create_dhcp_details)
263
+
264
+ return @api_client.call_api(
265
+ :POST,
266
+ path,
267
+ endpoint,
268
+ :header_params => header_params,
269
+ :query_params => query_params,
270
+ :body => post_body,
271
+ :return_type => 'OCI::Core::Models::DhcpOptions')
272
+ end
273
+
274
+ # Creates a new Dynamic Routing Gateway (DRG) in the specified compartment. For more information,
275
+ # see [Dynamic Routing Gateways (DRGs)](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Tasks/managingDRGs.htm).
276
+ #
277
+ # For the purposes of access control, you must provide the OCID of the compartment where you want
278
+ # the DRG to reside. Notice that the DRG doesn't have to be in the same compartment as the VCN,
279
+ # the DRG attachment, or other Networking Service components. If you're not sure which compartment
280
+ # to use, put the DRG in the same compartment as the VCN. For more information about compartments
281
+ # and access control, see [Overview of the IAM Service](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/overview.htm).
282
+ # For information about OCIDs, see [Resource Identifiers](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
283
+ #
284
+ # You may optionally specify a *display name* for the DRG, otherwise a default is provided.
285
+ # It does not have to be unique, and you can change it. Avoid entering confidential information.
286
+ #
287
+ # @param [CreateDrgDetails] create_drg_details Details for creating a DRG.
288
+ # @param [Hash] opts the optional parameters
289
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
290
+ # server error without risk of executing that same action again. Retry tokens expire after 24
291
+ # hours, but can be invalidated before then due to conflicting operations (for example, if a resource
292
+ # has been deleted and purged from the system, then a retry of the original creation request
293
+ # may be rejected).
294
+ #
295
+ # @return [Response] A Response object with data of type OCI::Core::Models::Drg
296
+ def create_drg(create_drg_details, opts = {})
297
+ logger.debug "Calling operation VirtualNetworkClient#create_drg." if logger
298
+
299
+ fail "Missing the required parameter 'create_drg_details' when calling create_drg." if create_drg_details.nil?
300
+
301
+ path = "/drgs"
302
+
303
+ # Query Params
304
+ query_params = {}
305
+
306
+ # Header Params
307
+ header_params = {}
308
+ header_params['accept'] = 'application/json'
309
+ header_params['content-type'] = 'application/json'
310
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
311
+
312
+ post_body = @api_client.object_to_http_body(create_drg_details)
313
+
314
+ return @api_client.call_api(
315
+ :POST,
316
+ path,
317
+ endpoint,
318
+ :header_params => header_params,
319
+ :query_params => query_params,
320
+ :body => post_body,
321
+ :return_type => 'OCI::Core::Models::Drg')
322
+ end
323
+
324
+ # Attaches the specified DRG to the specified VCN. A VCN can be attached to only one DRG at a time,
325
+ # and vice versa. The response includes a `DrgAttachment` object with its own OCID. For more
326
+ # information about DRGs, see
327
+ # [Dynamic Routing Gateways (DRGs)](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Tasks/managingDRGs.htm).
328
+ #
329
+ # You may optionally specify a *display name* for the attachment, otherwise a default is provided.
330
+ # It does not have to be unique, and you can change it. Avoid entering confidential information.
331
+ #
332
+ # For the purposes of access control, the DRG attachment is automatically placed into the same compartment
333
+ # as the VCN. For more information about compartments and access control, see
334
+ # [Overview of the IAM Service](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/overview.htm).
335
+ #
336
+ # @param [CreateDrgAttachmentDetails] create_drg_attachment_details Details for creating a `DrgAttachment`.
337
+ # @param [Hash] opts the optional parameters
338
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
339
+ # server error without risk of executing that same action again. Retry tokens expire after 24
340
+ # hours, but can be invalidated before then due to conflicting operations (for example, if a resource
341
+ # has been deleted and purged from the system, then a retry of the original creation request
342
+ # may be rejected).
343
+ #
344
+ # @return [Response] A Response object with data of type OCI::Core::Models::DrgAttachment
345
+ def create_drg_attachment(create_drg_attachment_details, opts = {})
346
+ logger.debug "Calling operation VirtualNetworkClient#create_drg_attachment." if logger
347
+
348
+ fail "Missing the required parameter 'create_drg_attachment_details' when calling create_drg_attachment." if create_drg_attachment_details.nil?
349
+
350
+ path = "/drgAttachments"
351
+
352
+ # Query Params
353
+ query_params = {}
354
+
355
+ # Header Params
356
+ header_params = {}
357
+ header_params['accept'] = 'application/json'
358
+ header_params['content-type'] = 'application/json'
359
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
360
+
361
+ post_body = @api_client.object_to_http_body(create_drg_attachment_details)
362
+
363
+ return @api_client.call_api(
364
+ :POST,
365
+ path,
366
+ endpoint,
367
+ :header_params => header_params,
368
+ :query_params => query_params,
369
+ :body => post_body,
370
+ :return_type => 'OCI::Core::Models::DrgAttachment')
371
+ end
372
+
373
+ # Creates a new Internet Gateway for the specified VCN. For more information, see
374
+ # [Connectivity to the Internet](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Tasks/managingIGs.htm).
375
+ #
376
+ # For the purposes of access control, you must provide the OCID of the compartment where you want the Internet
377
+ # Gateway to reside. Notice that the Internet Gateway doesn't have to be in the same compartment as the VCN or
378
+ # other Networking Service components. If you're not sure which compartment to use, put the Internet
379
+ # Gateway in the same compartment with the VCN. For more information about compartments and access control, see
380
+ # [Overview of the IAM Service](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/overview.htm). For information about OCIDs, see
381
+ # [Resource Identifiers](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
382
+ #
383
+ # You may optionally specify a *display name* for the Internet Gateway, otherwise a default is provided. It
384
+ # does not have to be unique, and you can change it. Avoid entering confidential information.
385
+ #
386
+ # For traffic to flow between a subnet and an Internet Gateway, you must create a route rule accordingly in
387
+ # the subnet's route table (for example, 0.0.0.0/0 > Internet Gateway). See
388
+ # {#update_route_table update_route_table}.
389
+ #
390
+ # You must specify whether the Internet Gateway is enabled when you create it. If it's disabled, that means no
391
+ # traffic will flow to/from the internet even if there's a route rule that enables that traffic. You can later
392
+ # use {#update_internet_gateway update_internet_gateway} to easily disable/enable
393
+ # the gateway without changing the route rule.
394
+ #
395
+ # @param [CreateInternetGatewayDetails] create_internet_gateway_details Details for creating a new Internet Gateway.
396
+ # @param [Hash] opts the optional parameters
397
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
398
+ # server error without risk of executing that same action again. Retry tokens expire after 24
399
+ # hours, but can be invalidated before then due to conflicting operations (for example, if a resource
400
+ # has been deleted and purged from the system, then a retry of the original creation request
401
+ # may be rejected).
402
+ #
403
+ # @return [Response] A Response object with data of type OCI::Core::Models::InternetGateway
404
+ def create_internet_gateway(create_internet_gateway_details, opts = {})
405
+ logger.debug "Calling operation VirtualNetworkClient#create_internet_gateway." if logger
406
+
407
+ fail "Missing the required parameter 'create_internet_gateway_details' when calling create_internet_gateway." if create_internet_gateway_details.nil?
408
+
409
+ path = "/internetGateways"
410
+
411
+ # Query Params
412
+ query_params = {}
413
+
414
+ # Header Params
415
+ header_params = {}
416
+ header_params['accept'] = 'application/json'
417
+ header_params['content-type'] = 'application/json'
418
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
419
+
420
+ post_body = @api_client.object_to_http_body(create_internet_gateway_details)
421
+
422
+ return @api_client.call_api(
423
+ :POST,
424
+ path,
425
+ endpoint,
426
+ :header_params => header_params,
427
+ :query_params => query_params,
428
+ :body => post_body,
429
+ :return_type => 'OCI::Core::Models::InternetGateway')
430
+ end
431
+
432
+ # Creates a new IPSec connection between the specified DRG and CPE. For more information, see
433
+ # [IPSec VPNs](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Tasks/managingIPsec.htm).
434
+ #
435
+ # In the request, you must include at least one static route to the CPE object (you're allowed a maximum
436
+ # of 10). For example: 10.0.8.0/16.
437
+ #
438
+ # For the purposes of access control, you must provide the OCID of the compartment where you want the
439
+ # IPSec connection to reside. Notice that the IPSec connection doesn't have to be in the same compartment
440
+ # as the DRG, CPE, or other Networking Service components. If you're not sure which compartment to
441
+ # use, put the IPSec connection in the same compartment as the DRG. For more information about
442
+ # compartments and access control, see
443
+ # [Overview of the IAM Service](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/overview.htm).
444
+ # For information about OCIDs, see [Resource Identifiers](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
445
+ #
446
+ # You may optionally specify a *display name* for the IPSec connection, otherwise a default is provided.
447
+ # It does not have to be unique, and you can change it. Avoid entering confidential information.
448
+ #
449
+ # After creating the IPSec connection, you need to configure your on-premises router
450
+ # with tunnel-specific information returned by
451
+ # {#get_ip_sec_connection_device_config get_ip_sec_connection_device_config}.
452
+ # For each tunnel, that operation gives you the IP address of Oracle's VPN headend and the shared secret
453
+ # (that is, the pre-shared key). For more information, see
454
+ # [Configuring Your On-Premises Router for an IPSec VPN](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Tasks/configuringCPE.htm).
455
+ #
456
+ # To get the status of the tunnels (whether they're up or down), use
457
+ # {#get_ip_sec_connection_device_status get_ip_sec_connection_device_status}.
458
+ #
459
+ # @param [CreateIPSecConnectionDetails] create_ip_sec_connection_details Details for creating an `IPSecConnection`.
460
+ # @param [Hash] opts the optional parameters
461
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
462
+ # server error without risk of executing that same action again. Retry tokens expire after 24
463
+ # hours, but can be invalidated before then due to conflicting operations (for example, if a resource
464
+ # has been deleted and purged from the system, then a retry of the original creation request
465
+ # may be rejected).
466
+ #
467
+ # @return [Response] A Response object with data of type OCI::Core::Models::IPSecConnection
468
+ def create_ip_sec_connection(create_ip_sec_connection_details, opts = {})
469
+ logger.debug "Calling operation VirtualNetworkClient#create_ip_sec_connection." if logger
470
+
471
+ fail "Missing the required parameter 'create_ip_sec_connection_details' when calling create_ip_sec_connection." if create_ip_sec_connection_details.nil?
472
+
473
+ path = "/ipsecConnections"
474
+
475
+ # Query Params
476
+ query_params = {}
477
+
478
+ # Header Params
479
+ header_params = {}
480
+ header_params['accept'] = 'application/json'
481
+ header_params['content-type'] = 'application/json'
482
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
483
+
484
+ post_body = @api_client.object_to_http_body(create_ip_sec_connection_details)
485
+
486
+ return @api_client.call_api(
487
+ :POST,
488
+ path,
489
+ endpoint,
490
+ :header_params => header_params,
491
+ :query_params => query_params,
492
+ :body => post_body,
493
+ :return_type => 'OCI::Core::Models::IPSecConnection')
494
+ end
495
+
496
+ # Creates a secondary private IP for the specified VNIC.
497
+ # For more information about secondary private IPs, see
498
+ # [IP Addresses](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Tasks/managingIPaddresses.htm).
499
+ #
500
+ # @param [CreatePrivateIpDetails] create_private_ip_details Create private IP details.
501
+ # @param [Hash] opts the optional parameters
502
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
503
+ # server error without risk of executing that same action again. Retry tokens expire after 24
504
+ # hours, but can be invalidated before then due to conflicting operations (for example, if a resource
505
+ # has been deleted and purged from the system, then a retry of the original creation request
506
+ # may be rejected).
507
+ #
508
+ # @return [Response] A Response object with data of type OCI::Core::Models::PrivateIp
509
+ def create_private_ip(create_private_ip_details, opts = {})
510
+ logger.debug "Calling operation VirtualNetworkClient#create_private_ip." if logger
511
+
512
+ fail "Missing the required parameter 'create_private_ip_details' when calling create_private_ip." if create_private_ip_details.nil?
513
+
514
+ path = "/privateIps"
515
+
516
+ # Query Params
517
+ query_params = {}
518
+
519
+ # Header Params
520
+ header_params = {}
521
+ header_params['accept'] = 'application/json'
522
+ header_params['content-type'] = 'application/json'
523
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
524
+
525
+ post_body = @api_client.object_to_http_body(create_private_ip_details)
526
+
527
+ return @api_client.call_api(
528
+ :POST,
529
+ path,
530
+ endpoint,
531
+ :header_params => header_params,
532
+ :query_params => query_params,
533
+ :body => post_body,
534
+ :return_type => 'OCI::Core::Models::PrivateIp')
535
+ end
536
+
537
+ # Creates a new route table for the specified VCN. In the request you must also include at least one route
538
+ # rule for the new route table. For information on the number of rules you can have in a route table, see
539
+ # [Service Limits](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/servicelimits.htm). For general information about route
540
+ # tables in your VCN, see [Route Tables](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Tasks/managingroutetables.htm).
541
+ #
542
+ # For the purposes of access control, you must provide the OCID of the compartment where you want the route
543
+ # table to reside. Notice that the route table doesn't have to be in the same compartment as the VCN, subnets,
544
+ # or other Networking Service components. If you're not sure which compartment to use, put the route
545
+ # table in the same compartment as the VCN. For more information about compartments and access control, see
546
+ # [Overview of the IAM Service](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/overview.htm). For information about OCIDs, see
547
+ # [Resource Identifiers](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
548
+ #
549
+ # You may optionally specify a *display name* for the route table, otherwise a default is provided.
550
+ # It does not have to be unique, and you can change it. Avoid entering confidential information.
551
+ #
552
+ # @param [CreateRouteTableDetails] create_route_table_details Details for creating a new route table.
553
+ # @param [Hash] opts the optional parameters
554
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
555
+ # server error without risk of executing that same action again. Retry tokens expire after 24
556
+ # hours, but can be invalidated before then due to conflicting operations (for example, if a resource
557
+ # has been deleted and purged from the system, then a retry of the original creation request
558
+ # may be rejected).
559
+ #
560
+ # @return [Response] A Response object with data of type OCI::Core::Models::RouteTable
561
+ def create_route_table(create_route_table_details, opts = {})
562
+ logger.debug "Calling operation VirtualNetworkClient#create_route_table." if logger
563
+
564
+ fail "Missing the required parameter 'create_route_table_details' when calling create_route_table." if create_route_table_details.nil?
565
+
566
+ path = "/routeTables"
567
+
568
+ # Query Params
569
+ query_params = {}
570
+
571
+ # Header Params
572
+ header_params = {}
573
+ header_params['accept'] = 'application/json'
574
+ header_params['content-type'] = 'application/json'
575
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
576
+
577
+ post_body = @api_client.object_to_http_body(create_route_table_details)
578
+
579
+ return @api_client.call_api(
580
+ :POST,
581
+ path,
582
+ endpoint,
583
+ :header_params => header_params,
584
+ :query_params => query_params,
585
+ :body => post_body,
586
+ :return_type => 'OCI::Core::Models::RouteTable')
587
+ end
588
+
589
+ # Creates a new security list for the specified VCN. For more information
590
+ # about security lists, see [Security Lists](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Concepts/securitylists.htm).
591
+ # For information on the number of rules you can have in a security list, see
592
+ # [Service Limits](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/servicelimits.htm).
593
+ #
594
+ # For the purposes of access control, you must provide the OCID of the compartment where you want the security
595
+ # list to reside. Notice that the security list doesn't have to be in the same compartment as the VCN, subnets,
596
+ # or other Networking Service components. If you're not sure which compartment to use, put the security
597
+ # list in the same compartment as the VCN. For more information about compartments and access control, see
598
+ # [Overview of the IAM Service](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/overview.htm). For information about OCIDs, see
599
+ # [Resource Identifiers](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
600
+ #
601
+ # You may optionally specify a *display name* for the security list, otherwise a default is provided.
602
+ # It does not have to be unique, and you can change it. Avoid entering confidential information.
603
+ #
604
+ # @param [CreateSecurityListDetails] create_security_list_details Details regarding the security list to create.
605
+ # @param [Hash] opts the optional parameters
606
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
607
+ # server error without risk of executing that same action again. Retry tokens expire after 24
608
+ # hours, but can be invalidated before then due to conflicting operations (for example, if a resource
609
+ # has been deleted and purged from the system, then a retry of the original creation request
610
+ # may be rejected).
611
+ #
612
+ # @return [Response] A Response object with data of type OCI::Core::Models::SecurityList
613
+ def create_security_list(create_security_list_details, opts = {})
614
+ logger.debug "Calling operation VirtualNetworkClient#create_security_list." if logger
615
+
616
+ fail "Missing the required parameter 'create_security_list_details' when calling create_security_list." if create_security_list_details.nil?
617
+
618
+ path = "/securityLists"
619
+
620
+ # Query Params
621
+ query_params = {}
622
+
623
+ # Header Params
624
+ header_params = {}
625
+ header_params['accept'] = 'application/json'
626
+ header_params['content-type'] = 'application/json'
627
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
628
+
629
+ post_body = @api_client.object_to_http_body(create_security_list_details)
630
+
631
+ return @api_client.call_api(
632
+ :POST,
633
+ path,
634
+ endpoint,
635
+ :header_params => header_params,
636
+ :query_params => query_params,
637
+ :body => post_body,
638
+ :return_type => 'OCI::Core::Models::SecurityList')
639
+ end
640
+
641
+ # Creates a new subnet in the specified VCN. You can't change the size of the subnet after creation,
642
+ # so it's important to think about the size of subnets you need before creating them.
643
+ # For more information, see [VCNs and Subnets](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Tasks/managingVCNs.htm).
644
+ # For information on the number of subnets you can have in a VCN, see
645
+ # [Service Limits](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/servicelimits.htm).
646
+ #
647
+ # For the purposes of access control, you must provide the OCID of the compartment where you want the subnet
648
+ # to reside. Notice that the subnet doesn't have to be in the same compartment as the VCN, route tables, or
649
+ # other Networking Service components. If you're not sure which compartment to use, put the subnet in
650
+ # the same compartment as the VCN. For more information about compartments and access control, see
651
+ # [Overview of the IAM Service](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/overview.htm). For information about OCIDs,
652
+ # see [Resource Identifiers](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
653
+ #
654
+ # You may optionally associate a route table with the subnet. If you don't, the subnet will use the
655
+ # VCN's default route table. For more information about route tables, see
656
+ # [Route Tables](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Tasks/managingroutetables.htm).
657
+ #
658
+ # You may optionally associate a security list with the subnet. If you don't, the subnet will use the
659
+ # VCN's default security list. For more information about security lists, see
660
+ # [Security Lists](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Concepts/securitylists.htm).
661
+ #
662
+ # You may optionally associate a set of DHCP options with the subnet. If you don't, the subnet will use the
663
+ # VCN's default set. For more information about DHCP options, see
664
+ # [DHCP Options](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Tasks/managingDHCP.htm).
665
+ #
666
+ # You may optionally specify a *display name* for the subnet, otherwise a default is provided.
667
+ # It does not have to be unique, and you can change it. Avoid entering confidential information.
668
+ #
669
+ # You can also add a DNS label for the subnet, which is required if you want the Internet and
670
+ # VCN Resolver to resolve hostnames for instances in the subnet. For more information, see
671
+ # [DNS in Your Virtual Cloud Network](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Concepts/dns.htm).
672
+ #
673
+ # @param [CreateSubnetDetails] create_subnet_details Details for creating a subnet.
674
+ # @param [Hash] opts the optional parameters
675
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
676
+ # server error without risk of executing that same action again. Retry tokens expire after 24
677
+ # hours, but can be invalidated before then due to conflicting operations (for example, if a resource
678
+ # has been deleted and purged from the system, then a retry of the original creation request
679
+ # may be rejected).
680
+ #
681
+ # @return [Response] A Response object with data of type OCI::Core::Models::Subnet
682
+ def create_subnet(create_subnet_details, opts = {})
683
+ logger.debug "Calling operation VirtualNetworkClient#create_subnet." if logger
684
+
685
+ fail "Missing the required parameter 'create_subnet_details' when calling create_subnet." if create_subnet_details.nil?
686
+
687
+ path = "/subnets"
688
+
689
+ # Query Params
690
+ query_params = {}
691
+
692
+ # Header Params
693
+ header_params = {}
694
+ header_params['accept'] = 'application/json'
695
+ header_params['content-type'] = 'application/json'
696
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
697
+
698
+ post_body = @api_client.object_to_http_body(create_subnet_details)
699
+
700
+ return @api_client.call_api(
701
+ :POST,
702
+ path,
703
+ endpoint,
704
+ :header_params => header_params,
705
+ :query_params => query_params,
706
+ :body => post_body,
707
+ :return_type => 'OCI::Core::Models::Subnet')
708
+ end
709
+
710
+ # Creates a new Virtual Cloud Network (VCN). For more information, see
711
+ # [VCNs and Subnets](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Tasks/managingVCNs.htm).
712
+ #
713
+ # For the VCN you must specify a single, contiguous IPv4 CIDR block. Oracle recommends using one of the
714
+ # private IP address ranges specified in [RFC 1918](https://tools.ietf.org/html/rfc1918) (10.0.0.0/8,
715
+ # 172.16/12, and 192.168/16). Example: 172.16.0.0/16. The CIDR block can range from /16 to /30, and it
716
+ # must not overlap with your on-premises network. You can't change the size of the VCN after creation.
717
+ #
718
+ # For the purposes of access control, you must provide the OCID of the compartment where you want the VCN to
719
+ # reside. Consult an Oracle Bare Metal Cloud Services administrator in your organization if you're not sure which
720
+ # compartment to use. Notice that the VCN doesn't have to be in the same compartment as the subnets or other
721
+ # Networking Service components. For more information about compartments and access control, see
722
+ # [Overview of the IAM Service](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/overview.htm). For information about OCIDs, see
723
+ # [Resource Identifiers](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
724
+ #
725
+ # You may optionally specify a *display name* for the VCN, otherwise a default is provided. It does not have to
726
+ # be unique, and you can change it. Avoid entering confidential information.
727
+ #
728
+ # You can also add a DNS label for the VCN, which is required if you want the instances to use the
729
+ # Interent and VCN Resolver option for DNS in the VCN. For more information, see
730
+ # [DNS in Your Virtual Cloud Network](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Concepts/dns.htm).
731
+ #
732
+ # The VCN automatically comes with a default route table, default security list, and default set of DHCP options.
733
+ # The OCID for each is returned in the response. You can't delete these default objects, but you can change their
734
+ # contents (that is, change the route rules, security list rules, and so on).
735
+ #
736
+ # The VCN and subnets you create are not accessible until you attach an Internet Gateway or set up an IPSec VPN
737
+ # or FastConnect. For more information, see
738
+ # [Overview of the Networking Service](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Concepts/overview.htm).
739
+ #
740
+ # @param [CreateVcnDetails] create_vcn_details Details for creating a new VCN.
741
+ # @param [Hash] opts the optional parameters
742
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
743
+ # server error without risk of executing that same action again. Retry tokens expire after 24
744
+ # hours, but can be invalidated before then due to conflicting operations (for example, if a resource
745
+ # has been deleted and purged from the system, then a retry of the original creation request
746
+ # may be rejected).
747
+ #
748
+ # @return [Response] A Response object with data of type OCI::Core::Models::Vcn
749
+ def create_vcn(create_vcn_details, opts = {})
750
+ logger.debug "Calling operation VirtualNetworkClient#create_vcn." if logger
751
+
752
+ fail "Missing the required parameter 'create_vcn_details' when calling create_vcn." if create_vcn_details.nil?
753
+
754
+ path = "/vcns"
755
+
756
+ # Query Params
757
+ query_params = {}
758
+
759
+ # Header Params
760
+ header_params = {}
761
+ header_params['accept'] = 'application/json'
762
+ header_params['content-type'] = 'application/json'
763
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
764
+
765
+ post_body = @api_client.object_to_http_body(create_vcn_details)
766
+
767
+ return @api_client.call_api(
768
+ :POST,
769
+ path,
770
+ endpoint,
771
+ :header_params => header_params,
772
+ :query_params => query_params,
773
+ :body => post_body,
774
+ :return_type => 'OCI::Core::Models::Vcn')
775
+ end
776
+
777
+ # Creates a new virtual circuit to use with Oracle Bare Metal Cloud
778
+ # Services FastConnect. For more information, see
779
+ # [FastConnect Overview](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Concepts/fastconnect.htm).
780
+ #
781
+ # For the purposes of access control, you must provide the OCID of the
782
+ # compartment where you want the virtual circuit to reside. If you're
783
+ # not sure which compartment to use, put the virtual circuit in the
784
+ # same compartment with the DRG it's using. For more information about
785
+ # compartments and access control, see
786
+ # [Overview of the IAM Service](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/overview.htm).
787
+ # For information about OCIDs, see
788
+ # [Resource Identifiers](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
789
+ #
790
+ # You may optionally specify a *display name* for the virtual circuit.
791
+ # It does not have to be unique, and you can change it. Avoid entering confidential information.
792
+ #
793
+ # **Important:** When creating a virtual circuit, you specify a DRG for
794
+ # the traffic to flow through. Make sure you attach the DRG to your
795
+ # VCN and confirm the VCN's routing sends traffic to the DRG. Otherwise
796
+ # traffic will not flow. For more information, see
797
+ # [Route Tables](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Tasks/managingroutetables.htm).
798
+ #
799
+ # @param [CreateVirtualCircuitDetails] create_virtual_circuit_details Details to create a VirtualCircuit.
800
+ # @param [Hash] opts the optional parameters
801
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
802
+ # server error without risk of executing that same action again. Retry tokens expire after 24
803
+ # hours, but can be invalidated before then due to conflicting operations (for example, if a resource
804
+ # has been deleted and purged from the system, then a retry of the original creation request
805
+ # may be rejected).
806
+ #
807
+ # @return [Response] A Response object with data of type OCI::Core::Models::VirtualCircuit
808
+ def create_virtual_circuit(create_virtual_circuit_details, opts = {})
809
+ logger.debug "Calling operation VirtualNetworkClient#create_virtual_circuit." if logger
810
+
811
+ fail "Missing the required parameter 'create_virtual_circuit_details' when calling create_virtual_circuit." if create_virtual_circuit_details.nil?
812
+
813
+ path = "/virtualCircuits"
814
+
815
+ # Query Params
816
+ query_params = {}
817
+
818
+ # Header Params
819
+ header_params = {}
820
+ header_params['accept'] = 'application/json'
821
+ header_params['content-type'] = 'application/json'
822
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
823
+
824
+ post_body = @api_client.object_to_http_body(create_virtual_circuit_details)
825
+
826
+ return @api_client.call_api(
827
+ :POST,
828
+ path,
829
+ endpoint,
830
+ :header_params => header_params,
831
+ :query_params => query_params,
832
+ :body => post_body,
833
+ :return_type => 'OCI::Core::Models::VirtualCircuit')
834
+ end
835
+
836
+ # Deletes the specified CPE object. The CPE must not be connected to a DRG. This is an asynchronous
837
+ # operation. The CPE's `lifecycleState` will change to TERMINATING temporarily until the CPE is completely
838
+ # removed.
839
+ #
840
+ # @param [String] cpe_id The OCID of the CPE.
841
+ # @param [Hash] opts the optional parameters
842
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
843
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
844
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
845
+ #
846
+ # @return [Response] A Response object with data of type nil
847
+ def delete_cpe(cpe_id, opts = {})
848
+ logger.debug "Calling operation VirtualNetworkClient#delete_cpe." if logger
849
+
850
+ fail "Missing the required parameter 'cpe_id' when calling delete_cpe." if cpe_id.nil?
851
+
852
+ path = "/cpes/{cpeId}".sub('{cpeId}', cpe_id.to_s)
853
+
854
+ # Query Params
855
+ query_params = {}
856
+
857
+ # Header Params
858
+ header_params = {}
859
+ header_params['accept'] = 'application/json'
860
+ header_params['content-type'] = 'application/json'
861
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
862
+
863
+ post_body = nil
864
+
865
+ return @api_client.call_api(
866
+ :DELETE,
867
+ path,
868
+ endpoint,
869
+ :header_params => header_params,
870
+ :query_params => query_params,
871
+ :body => post_body)
872
+ end
873
+
874
+ # Deletes the specified cross-connect. It must not be mapped to a
875
+ # {VirtualCircuit}.
876
+ #
877
+ # @param [String] cross_connect_id The OCID of the cross-connect.
878
+ # @param [Hash] opts the optional parameters
879
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
880
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
881
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
882
+ #
883
+ # @return [Response] A Response object with data of type nil
884
+ def delete_cross_connect(cross_connect_id, opts = {})
885
+ logger.debug "Calling operation VirtualNetworkClient#delete_cross_connect." if logger
886
+
887
+ fail "Missing the required parameter 'cross_connect_id' when calling delete_cross_connect." if cross_connect_id.nil?
888
+
889
+ path = "/crossConnects/{crossConnectId}".sub('{crossConnectId}', cross_connect_id.to_s)
890
+
891
+ # Query Params
892
+ query_params = {}
893
+
894
+ # Header Params
895
+ header_params = {}
896
+ header_params['accept'] = 'application/json'
897
+ header_params['content-type'] = 'application/json'
898
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
899
+
900
+ post_body = nil
901
+
902
+ return @api_client.call_api(
903
+ :DELETE,
904
+ path,
905
+ endpoint,
906
+ :header_params => header_params,
907
+ :query_params => query_params,
908
+ :body => post_body)
909
+ end
910
+
911
+ # Deletes the specified cross-connect group. It must not contain any
912
+ # cross-connects, and it cannot be mapped to a
913
+ # {VirtualCircuit}.
914
+ #
915
+ # @param [String] cross_connect_group_id The OCID of the cross-connect group.
916
+ # @param [Hash] opts the optional parameters
917
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
918
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
919
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
920
+ #
921
+ # @return [Response] A Response object with data of type nil
922
+ def delete_cross_connect_group(cross_connect_group_id, opts = {})
923
+ logger.debug "Calling operation VirtualNetworkClient#delete_cross_connect_group." if logger
924
+
925
+ fail "Missing the required parameter 'cross_connect_group_id' when calling delete_cross_connect_group." if cross_connect_group_id.nil?
926
+
927
+ path = "/crossConnectGroups/{crossConnectGroupId}".sub('{crossConnectGroupId}', cross_connect_group_id.to_s)
928
+
929
+ # Query Params
930
+ query_params = {}
931
+
932
+ # Header Params
933
+ header_params = {}
934
+ header_params['accept'] = 'application/json'
935
+ header_params['content-type'] = 'application/json'
936
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
937
+
938
+ post_body = nil
939
+
940
+ return @api_client.call_api(
941
+ :DELETE,
942
+ path,
943
+ endpoint,
944
+ :header_params => header_params,
945
+ :query_params => query_params,
946
+ :body => post_body)
947
+ end
948
+
949
+ # Deletes the specified set of DHCP options, but only if it's not associated with a subnet. You can't delete a
950
+ # VCN's default set of DHCP options.
951
+ #
952
+ # This is an asynchronous operation. The state of the set of options will switch to TERMINATING temporarily
953
+ # until the set is completely removed.
954
+ #
955
+ # @param [String] dhcp_id The OCID for the set of DHCP options.
956
+ # @param [Hash] opts the optional parameters
957
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
958
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
959
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
960
+ #
961
+ # @return [Response] A Response object with data of type nil
962
+ def delete_dhcp_options(dhcp_id, opts = {})
963
+ logger.debug "Calling operation VirtualNetworkClient#delete_dhcp_options." if logger
964
+
965
+ fail "Missing the required parameter 'dhcp_id' when calling delete_dhcp_options." if dhcp_id.nil?
966
+
967
+ path = "/dhcps/{dhcpId}".sub('{dhcpId}', dhcp_id.to_s)
968
+
969
+ # Query Params
970
+ query_params = {}
971
+
972
+ # Header Params
973
+ header_params = {}
974
+ header_params['accept'] = 'application/json'
975
+ header_params['content-type'] = 'application/json'
976
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
977
+
978
+ post_body = nil
979
+
980
+ return @api_client.call_api(
981
+ :DELETE,
982
+ path,
983
+ endpoint,
984
+ :header_params => header_params,
985
+ :query_params => query_params,
986
+ :body => post_body)
987
+ end
988
+
989
+ # Deletes the specified DRG. The DRG must not be attached to a VCN or be connected to your on-premise
990
+ # network. Also, there must not be a route table that lists the DRG as a target. This is an asynchronous
991
+ # operation. The DRG's `lifecycleState` will change to TERMINATING temporarily until the DRG is completely
992
+ # removed.
993
+ #
994
+ # @param [String] drg_id The OCID of the DRG.
995
+ # @param [Hash] opts the optional parameters
996
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
997
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
998
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
999
+ #
1000
+ # @return [Response] A Response object with data of type nil
1001
+ def delete_drg(drg_id, opts = {})
1002
+ logger.debug "Calling operation VirtualNetworkClient#delete_drg." if logger
1003
+
1004
+ fail "Missing the required parameter 'drg_id' when calling delete_drg." if drg_id.nil?
1005
+
1006
+ path = "/drgs/{drgId}".sub('{drgId}', drg_id.to_s)
1007
+
1008
+ # Query Params
1009
+ query_params = {}
1010
+
1011
+ # Header Params
1012
+ header_params = {}
1013
+ header_params['accept'] = 'application/json'
1014
+ header_params['content-type'] = 'application/json'
1015
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
1016
+
1017
+ post_body = nil
1018
+
1019
+ return @api_client.call_api(
1020
+ :DELETE,
1021
+ path,
1022
+ endpoint,
1023
+ :header_params => header_params,
1024
+ :query_params => query_params,
1025
+ :body => post_body)
1026
+ end
1027
+
1028
+ # Detaches a DRG from a VCN by deleting the corresponding `DrgAttachment`. This is an asynchronous
1029
+ # operation. The attachment's `lifecycleState` will change to DETACHING temporarily until the attachment
1030
+ # is completely removed.
1031
+ #
1032
+ # @param [String] drg_attachment_id The OCID of the DRG attachment.
1033
+ # @param [Hash] opts the optional parameters
1034
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
1035
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
1036
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
1037
+ #
1038
+ # @return [Response] A Response object with data of type nil
1039
+ def delete_drg_attachment(drg_attachment_id, opts = {})
1040
+ logger.debug "Calling operation VirtualNetworkClient#delete_drg_attachment." if logger
1041
+
1042
+ fail "Missing the required parameter 'drg_attachment_id' when calling delete_drg_attachment." if drg_attachment_id.nil?
1043
+
1044
+ path = "/drgAttachments/{drgAttachmentId}".sub('{drgAttachmentId}', drg_attachment_id.to_s)
1045
+
1046
+ # Query Params
1047
+ query_params = {}
1048
+
1049
+ # Header Params
1050
+ header_params = {}
1051
+ header_params['accept'] = 'application/json'
1052
+ header_params['content-type'] = 'application/json'
1053
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
1054
+
1055
+ post_body = nil
1056
+
1057
+ return @api_client.call_api(
1058
+ :DELETE,
1059
+ path,
1060
+ endpoint,
1061
+ :header_params => header_params,
1062
+ :query_params => query_params,
1063
+ :body => post_body)
1064
+ end
1065
+
1066
+ # Deletes the specified Internet Gateway. The Internet Gateway does not have to be disabled, but
1067
+ # there must not be a route table that lists it as a target.
1068
+ #
1069
+ # This is an asynchronous operation. The gateway's `lifecycleState` will change to TERMINATING temporarily
1070
+ # until the gateway is completely removed.
1071
+ #
1072
+ # @param [String] ig_id The OCID of the Internet Gateway.
1073
+ # @param [Hash] opts the optional parameters
1074
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
1075
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
1076
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
1077
+ #
1078
+ # @return [Response] A Response object with data of type nil
1079
+ def delete_internet_gateway(ig_id, opts = {})
1080
+ logger.debug "Calling operation VirtualNetworkClient#delete_internet_gateway." if logger
1081
+
1082
+ fail "Missing the required parameter 'ig_id' when calling delete_internet_gateway." if ig_id.nil?
1083
+
1084
+ path = "/internetGateways/{igId}".sub('{igId}', ig_id.to_s)
1085
+
1086
+ # Query Params
1087
+ query_params = {}
1088
+
1089
+ # Header Params
1090
+ header_params = {}
1091
+ header_params['accept'] = 'application/json'
1092
+ header_params['content-type'] = 'application/json'
1093
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
1094
+
1095
+ post_body = nil
1096
+
1097
+ return @api_client.call_api(
1098
+ :DELETE,
1099
+ path,
1100
+ endpoint,
1101
+ :header_params => header_params,
1102
+ :query_params => query_params,
1103
+ :body => post_body)
1104
+ end
1105
+
1106
+ # Deletes the specified IPSec connection. If your goal is to disable the IPSec VPN between your VCN and
1107
+ # on-premises network, it's easiest to simply detach the DRG but keep all the IPSec VPN components intact.
1108
+ # If you were to delete all the components and then later need to create an IPSec VPN again, you would
1109
+ # need to configure your on-premises router again with the new information returned from
1110
+ # {#create_ip_sec_connection create_ip_sec_connection}.
1111
+ #
1112
+ # This is an asynchronous operation. The connection's `lifecycleState` will change to TERMINATING temporarily
1113
+ # until the connection is completely removed.
1114
+ #
1115
+ # @param [String] ipsc_id The OCID of the IPSec connection.
1116
+ # @param [Hash] opts the optional parameters
1117
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
1118
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
1119
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
1120
+ #
1121
+ # @return [Response] A Response object with data of type nil
1122
+ def delete_ip_sec_connection(ipsc_id, opts = {})
1123
+ logger.debug "Calling operation VirtualNetworkClient#delete_ip_sec_connection." if logger
1124
+
1125
+ fail "Missing the required parameter 'ipsc_id' when calling delete_ip_sec_connection." if ipsc_id.nil?
1126
+
1127
+ path = "/ipsecConnections/{ipscId}".sub('{ipscId}', ipsc_id.to_s)
1128
+
1129
+ # Query Params
1130
+ query_params = {}
1131
+
1132
+ # Header Params
1133
+ header_params = {}
1134
+ header_params['accept'] = 'application/json'
1135
+ header_params['content-type'] = 'application/json'
1136
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
1137
+
1138
+ post_body = nil
1139
+
1140
+ return @api_client.call_api(
1141
+ :DELETE,
1142
+ path,
1143
+ endpoint,
1144
+ :header_params => header_params,
1145
+ :query_params => query_params,
1146
+ :body => post_body)
1147
+ end
1148
+
1149
+ # Unassigns and deletes the specified private IP. You must
1150
+ # specify the object's OCID. The private IP address is returned to
1151
+ # the subnet's pool of available addresses.
1152
+ #
1153
+ # This operation cannot be used with primary private IPs, which are
1154
+ # automatically unassigned and deleted when the VNIC is terminated.
1155
+ #
1156
+ # @param [String] private_ip_id The private IP's OCID.
1157
+ # @param [Hash] opts the optional parameters
1158
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
1159
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
1160
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
1161
+ #
1162
+ # @return [Response] A Response object with data of type nil
1163
+ def delete_private_ip(private_ip_id, opts = {})
1164
+ logger.debug "Calling operation VirtualNetworkClient#delete_private_ip." if logger
1165
+
1166
+ fail "Missing the required parameter 'private_ip_id' when calling delete_private_ip." if private_ip_id.nil?
1167
+
1168
+ path = "/privateIps/{privateIpId}".sub('{privateIpId}', private_ip_id.to_s)
1169
+
1170
+ # Query Params
1171
+ query_params = {}
1172
+
1173
+ # Header Params
1174
+ header_params = {}
1175
+ header_params['accept'] = 'application/json'
1176
+ header_params['content-type'] = 'application/json'
1177
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
1178
+
1179
+ post_body = nil
1180
+
1181
+ return @api_client.call_api(
1182
+ :DELETE,
1183
+ path,
1184
+ endpoint,
1185
+ :header_params => header_params,
1186
+ :query_params => query_params,
1187
+ :body => post_body)
1188
+ end
1189
+
1190
+ # Deletes the specified route table, but only if it's not associated with a subnet. You can't delete a
1191
+ # VCN's default route table.
1192
+ #
1193
+ # This is an asynchronous operation. The route table's `lifecycleState` will change to TERMINATING temporarily
1194
+ # until the route table is completely removed.
1195
+ #
1196
+ # @param [String] rt_id The OCID of the route table.
1197
+ # @param [Hash] opts the optional parameters
1198
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
1199
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
1200
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
1201
+ #
1202
+ # @return [Response] A Response object with data of type nil
1203
+ def delete_route_table(rt_id, opts = {})
1204
+ logger.debug "Calling operation VirtualNetworkClient#delete_route_table." if logger
1205
+
1206
+ fail "Missing the required parameter 'rt_id' when calling delete_route_table." if rt_id.nil?
1207
+
1208
+ path = "/routeTables/{rtId}".sub('{rtId}', rt_id.to_s)
1209
+
1210
+ # Query Params
1211
+ query_params = {}
1212
+
1213
+ # Header Params
1214
+ header_params = {}
1215
+ header_params['accept'] = 'application/json'
1216
+ header_params['content-type'] = 'application/json'
1217
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
1218
+
1219
+ post_body = nil
1220
+
1221
+ return @api_client.call_api(
1222
+ :DELETE,
1223
+ path,
1224
+ endpoint,
1225
+ :header_params => header_params,
1226
+ :query_params => query_params,
1227
+ :body => post_body)
1228
+ end
1229
+
1230
+ # Deletes the specified security list, but only if it's not associated with a subnet. You can't delete
1231
+ # a VCN's default security list.
1232
+ #
1233
+ # This is an asynchronous operation. The security list's `lifecycleState` will change to TERMINATING temporarily
1234
+ # until the security list is completely removed.
1235
+ #
1236
+ # @param [String] security_list_id The OCID of the security list.
1237
+ # @param [Hash] opts the optional parameters
1238
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
1239
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
1240
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
1241
+ #
1242
+ # @return [Response] A Response object with data of type nil
1243
+ def delete_security_list(security_list_id, opts = {})
1244
+ logger.debug "Calling operation VirtualNetworkClient#delete_security_list." if logger
1245
+
1246
+ fail "Missing the required parameter 'security_list_id' when calling delete_security_list." if security_list_id.nil?
1247
+
1248
+ path = "/securityLists/{securityListId}".sub('{securityListId}', security_list_id.to_s)
1249
+
1250
+ # Query Params
1251
+ query_params = {}
1252
+
1253
+ # Header Params
1254
+ header_params = {}
1255
+ header_params['accept'] = 'application/json'
1256
+ header_params['content-type'] = 'application/json'
1257
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
1258
+
1259
+ post_body = nil
1260
+
1261
+ return @api_client.call_api(
1262
+ :DELETE,
1263
+ path,
1264
+ endpoint,
1265
+ :header_params => header_params,
1266
+ :query_params => query_params,
1267
+ :body => post_body)
1268
+ end
1269
+
1270
+ # Deletes the specified subnet, but only if there are no instances in the subnet. This is an asynchronous
1271
+ # operation. The subnet's `lifecycleState` will change to TERMINATING temporarily. If there are any
1272
+ # instances in the subnet, the state will instead change back to AVAILABLE.
1273
+ #
1274
+ # @param [String] subnet_id The OCID of the subnet.
1275
+ # @param [Hash] opts the optional parameters
1276
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
1277
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
1278
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
1279
+ #
1280
+ # @return [Response] A Response object with data of type nil
1281
+ def delete_subnet(subnet_id, opts = {})
1282
+ logger.debug "Calling operation VirtualNetworkClient#delete_subnet." if logger
1283
+
1284
+ fail "Missing the required parameter 'subnet_id' when calling delete_subnet." if subnet_id.nil?
1285
+
1286
+ path = "/subnets/{subnetId}".sub('{subnetId}', subnet_id.to_s)
1287
+
1288
+ # Query Params
1289
+ query_params = {}
1290
+
1291
+ # Header Params
1292
+ header_params = {}
1293
+ header_params['accept'] = 'application/json'
1294
+ header_params['content-type'] = 'application/json'
1295
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
1296
+
1297
+ post_body = nil
1298
+
1299
+ return @api_client.call_api(
1300
+ :DELETE,
1301
+ path,
1302
+ endpoint,
1303
+ :header_params => header_params,
1304
+ :query_params => query_params,
1305
+ :body => post_body)
1306
+ end
1307
+
1308
+ # Deletes the specified VCN. The VCN must be empty and have no attached gateways. This is an asynchronous
1309
+ # operation. The VCN's `lifecycleState` will change to TERMINATING temporarily until the VCN is completely
1310
+ # removed.
1311
+ #
1312
+ # @param [String] vcn_id The OCID of the VCN.
1313
+ # @param [Hash] opts the optional parameters
1314
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
1315
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
1316
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
1317
+ #
1318
+ # @return [Response] A Response object with data of type nil
1319
+ def delete_vcn(vcn_id, opts = {})
1320
+ logger.debug "Calling operation VirtualNetworkClient#delete_vcn." if logger
1321
+
1322
+ fail "Missing the required parameter 'vcn_id' when calling delete_vcn." if vcn_id.nil?
1323
+
1324
+ path = "/vcns/{vcnId}".sub('{vcnId}', vcn_id.to_s)
1325
+
1326
+ # Query Params
1327
+ query_params = {}
1328
+
1329
+ # Header Params
1330
+ header_params = {}
1331
+ header_params['accept'] = 'application/json'
1332
+ header_params['content-type'] = 'application/json'
1333
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
1334
+
1335
+ post_body = nil
1336
+
1337
+ return @api_client.call_api(
1338
+ :DELETE,
1339
+ path,
1340
+ endpoint,
1341
+ :header_params => header_params,
1342
+ :query_params => query_params,
1343
+ :body => post_body)
1344
+ end
1345
+
1346
+ # Deletes the specified virtual circuit.
1347
+ #
1348
+ # **Important:** If you're using FastConnect via a provider,
1349
+ # make sure to also terminate the connection with
1350
+ # the provider, or else the provider may continue to bill you.
1351
+ #
1352
+ # @param [String] virtual_circuit_id The OCID of the virtual circuit.
1353
+ # @param [Hash] opts the optional parameters
1354
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
1355
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
1356
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
1357
+ #
1358
+ # @return [Response] A Response object with data of type nil
1359
+ def delete_virtual_circuit(virtual_circuit_id, opts = {})
1360
+ logger.debug "Calling operation VirtualNetworkClient#delete_virtual_circuit." if logger
1361
+
1362
+ fail "Missing the required parameter 'virtual_circuit_id' when calling delete_virtual_circuit." if virtual_circuit_id.nil?
1363
+
1364
+ path = "/virtualCircuits/{virtualCircuitId}".sub('{virtualCircuitId}', virtual_circuit_id.to_s)
1365
+
1366
+ # Query Params
1367
+ query_params = {}
1368
+
1369
+ # Header Params
1370
+ header_params = {}
1371
+ header_params['accept'] = 'application/json'
1372
+ header_params['content-type'] = 'application/json'
1373
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
1374
+
1375
+ post_body = nil
1376
+
1377
+ return @api_client.call_api(
1378
+ :DELETE,
1379
+ path,
1380
+ endpoint,
1381
+ :header_params => header_params,
1382
+ :query_params => query_params,
1383
+ :body => post_body)
1384
+ end
1385
+
1386
+ # Gets the specified CPE's information.
1387
+ # @param [String] cpe_id The OCID of the CPE.
1388
+ # @param [Hash] opts the optional parameters
1389
+ # @return [Response] A Response object with data of type OCI::Core::Models::Cpe
1390
+ def get_cpe(cpe_id, opts = {})
1391
+ logger.debug "Calling operation VirtualNetworkClient#get_cpe." if logger
1392
+
1393
+ fail "Missing the required parameter 'cpe_id' when calling get_cpe." if cpe_id.nil?
1394
+
1395
+ path = "/cpes/{cpeId}".sub('{cpeId}', cpe_id.to_s)
1396
+
1397
+ # Query Params
1398
+ query_params = {}
1399
+
1400
+ # Header Params
1401
+ header_params = {}
1402
+ header_params['accept'] = 'application/json'
1403
+ header_params['content-type'] = 'application/json'
1404
+
1405
+ post_body = nil
1406
+
1407
+ return @api_client.call_api(
1408
+ :GET,
1409
+ path,
1410
+ endpoint,
1411
+ :header_params => header_params,
1412
+ :query_params => query_params,
1413
+ :body => post_body,
1414
+ :return_type => 'OCI::Core::Models::Cpe')
1415
+ end
1416
+
1417
+ # Gets the specified cross-connect's information.
1418
+ # @param [String] cross_connect_id The OCID of the cross-connect.
1419
+ # @param [Hash] opts the optional parameters
1420
+ # @return [Response] A Response object with data of type OCI::Core::Models::CrossConnect
1421
+ def get_cross_connect(cross_connect_id, opts = {})
1422
+ logger.debug "Calling operation VirtualNetworkClient#get_cross_connect." if logger
1423
+
1424
+ fail "Missing the required parameter 'cross_connect_id' when calling get_cross_connect." if cross_connect_id.nil?
1425
+
1426
+ path = "/crossConnects/{crossConnectId}".sub('{crossConnectId}', cross_connect_id.to_s)
1427
+
1428
+ # Query Params
1429
+ query_params = {}
1430
+
1431
+ # Header Params
1432
+ header_params = {}
1433
+ header_params['accept'] = 'application/json'
1434
+ header_params['content-type'] = 'application/json'
1435
+
1436
+ post_body = nil
1437
+
1438
+ return @api_client.call_api(
1439
+ :GET,
1440
+ path,
1441
+ endpoint,
1442
+ :header_params => header_params,
1443
+ :query_params => query_params,
1444
+ :body => post_body,
1445
+ :return_type => 'OCI::Core::Models::CrossConnect')
1446
+ end
1447
+
1448
+ # Gets the specified cross-connect group's information.
1449
+ # @param [String] cross_connect_group_id The OCID of the cross-connect group.
1450
+ # @param [Hash] opts the optional parameters
1451
+ # @return [Response] A Response object with data of type OCI::Core::Models::CrossConnectGroup
1452
+ def get_cross_connect_group(cross_connect_group_id, opts = {})
1453
+ logger.debug "Calling operation VirtualNetworkClient#get_cross_connect_group." if logger
1454
+
1455
+ fail "Missing the required parameter 'cross_connect_group_id' when calling get_cross_connect_group." if cross_connect_group_id.nil?
1456
+
1457
+ path = "/crossConnectGroups/{crossConnectGroupId}".sub('{crossConnectGroupId}', cross_connect_group_id.to_s)
1458
+
1459
+ # Query Params
1460
+ query_params = {}
1461
+
1462
+ # Header Params
1463
+ header_params = {}
1464
+ header_params['accept'] = 'application/json'
1465
+ header_params['content-type'] = 'application/json'
1466
+
1467
+ post_body = nil
1468
+
1469
+ return @api_client.call_api(
1470
+ :GET,
1471
+ path,
1472
+ endpoint,
1473
+ :header_params => header_params,
1474
+ :query_params => query_params,
1475
+ :body => post_body,
1476
+ :return_type => 'OCI::Core::Models::CrossConnectGroup')
1477
+ end
1478
+
1479
+ # Gets the Letter of Authority for the specified cross-connect.
1480
+ # @param [String] cross_connect_id The OCID of the cross-connect.
1481
+ # @param [Hash] opts the optional parameters
1482
+ # @return [Response] A Response object with data of type OCI::Core::Models::LetterOfAuthority
1483
+ def get_cross_connect_letter_of_authority(cross_connect_id, opts = {})
1484
+ logger.debug "Calling operation VirtualNetworkClient#get_cross_connect_letter_of_authority." if logger
1485
+
1486
+ fail "Missing the required parameter 'cross_connect_id' when calling get_cross_connect_letter_of_authority." if cross_connect_id.nil?
1487
+
1488
+ path = "/crossConnects/{crossConnectId}/letterOfAuthority".sub('{crossConnectId}', cross_connect_id.to_s)
1489
+
1490
+ # Query Params
1491
+ query_params = {}
1492
+
1493
+ # Header Params
1494
+ header_params = {}
1495
+ header_params['accept'] = 'application/json'
1496
+ header_params['content-type'] = 'application/json'
1497
+
1498
+ post_body = nil
1499
+
1500
+ return @api_client.call_api(
1501
+ :GET,
1502
+ path,
1503
+ endpoint,
1504
+ :header_params => header_params,
1505
+ :query_params => query_params,
1506
+ :body => post_body,
1507
+ :return_type => 'OCI::Core::Models::LetterOfAuthority')
1508
+ end
1509
+
1510
+ # Gets the status of the specified cross-connect.
1511
+ #
1512
+ # @param [String] cross_connect_id The OCID of the cross-connect.
1513
+ # @param [Hash] opts the optional parameters
1514
+ # @return [Response] A Response object with data of type OCI::Core::Models::CrossConnectStatus
1515
+ def get_cross_connect_status(cross_connect_id, opts = {})
1516
+ logger.debug "Calling operation VirtualNetworkClient#get_cross_connect_status." if logger
1517
+
1518
+ fail "Missing the required parameter 'cross_connect_id' when calling get_cross_connect_status." if cross_connect_id.nil?
1519
+
1520
+ path = "/crossConnects/{crossConnectId}/status".sub('{crossConnectId}', cross_connect_id.to_s)
1521
+
1522
+ # Query Params
1523
+ query_params = {}
1524
+
1525
+ # Header Params
1526
+ header_params = {}
1527
+ header_params['accept'] = 'application/json'
1528
+ header_params['content-type'] = 'application/json'
1529
+
1530
+ post_body = nil
1531
+
1532
+ return @api_client.call_api(
1533
+ :GET,
1534
+ path,
1535
+ endpoint,
1536
+ :header_params => header_params,
1537
+ :query_params => query_params,
1538
+ :body => post_body,
1539
+ :return_type => 'OCI::Core::Models::CrossConnectStatus')
1540
+ end
1541
+
1542
+ # Gets the specified set of DHCP options.
1543
+ # @param [String] dhcp_id The OCID for the set of DHCP options.
1544
+ # @param [Hash] opts the optional parameters
1545
+ # @return [Response] A Response object with data of type OCI::Core::Models::DhcpOptions
1546
+ def get_dhcp_options(dhcp_id, opts = {})
1547
+ logger.debug "Calling operation VirtualNetworkClient#get_dhcp_options." if logger
1548
+
1549
+ fail "Missing the required parameter 'dhcp_id' when calling get_dhcp_options." if dhcp_id.nil?
1550
+
1551
+ path = "/dhcps/{dhcpId}".sub('{dhcpId}', dhcp_id.to_s)
1552
+
1553
+ # Query Params
1554
+ query_params = {}
1555
+
1556
+ # Header Params
1557
+ header_params = {}
1558
+ header_params['accept'] = 'application/json'
1559
+ header_params['content-type'] = 'application/json'
1560
+
1561
+ post_body = nil
1562
+
1563
+ return @api_client.call_api(
1564
+ :GET,
1565
+ path,
1566
+ endpoint,
1567
+ :header_params => header_params,
1568
+ :query_params => query_params,
1569
+ :body => post_body,
1570
+ :return_type => 'OCI::Core::Models::DhcpOptions')
1571
+ end
1572
+
1573
+ # Gets the specified DRG's information.
1574
+ # @param [String] drg_id The OCID of the DRG.
1575
+ # @param [Hash] opts the optional parameters
1576
+ # @return [Response] A Response object with data of type OCI::Core::Models::Drg
1577
+ def get_drg(drg_id, opts = {})
1578
+ logger.debug "Calling operation VirtualNetworkClient#get_drg." if logger
1579
+
1580
+ fail "Missing the required parameter 'drg_id' when calling get_drg." if drg_id.nil?
1581
+
1582
+ path = "/drgs/{drgId}".sub('{drgId}', drg_id.to_s)
1583
+
1584
+ # Query Params
1585
+ query_params = {}
1586
+
1587
+ # Header Params
1588
+ header_params = {}
1589
+ header_params['accept'] = 'application/json'
1590
+ header_params['content-type'] = 'application/json'
1591
+
1592
+ post_body = nil
1593
+
1594
+ return @api_client.call_api(
1595
+ :GET,
1596
+ path,
1597
+ endpoint,
1598
+ :header_params => header_params,
1599
+ :query_params => query_params,
1600
+ :body => post_body,
1601
+ :return_type => 'OCI::Core::Models::Drg')
1602
+ end
1603
+
1604
+ # Gets the information for the specified `DrgAttachment`.
1605
+ # @param [String] drg_attachment_id The OCID of the DRG attachment.
1606
+ # @param [Hash] opts the optional parameters
1607
+ # @return [Response] A Response object with data of type OCI::Core::Models::DrgAttachment
1608
+ def get_drg_attachment(drg_attachment_id, opts = {})
1609
+ logger.debug "Calling operation VirtualNetworkClient#get_drg_attachment." if logger
1610
+
1611
+ fail "Missing the required parameter 'drg_attachment_id' when calling get_drg_attachment." if drg_attachment_id.nil?
1612
+
1613
+ path = "/drgAttachments/{drgAttachmentId}".sub('{drgAttachmentId}', drg_attachment_id.to_s)
1614
+
1615
+ # Query Params
1616
+ query_params = {}
1617
+
1618
+ # Header Params
1619
+ header_params = {}
1620
+ header_params['accept'] = 'application/json'
1621
+ header_params['content-type'] = 'application/json'
1622
+
1623
+ post_body = nil
1624
+
1625
+ return @api_client.call_api(
1626
+ :GET,
1627
+ path,
1628
+ endpoint,
1629
+ :header_params => header_params,
1630
+ :query_params => query_params,
1631
+ :body => post_body,
1632
+ :return_type => 'OCI::Core::Models::DrgAttachment')
1633
+ end
1634
+
1635
+ # Gets the specified Internet Gateway's information.
1636
+ # @param [String] ig_id The OCID of the Internet Gateway.
1637
+ # @param [Hash] opts the optional parameters
1638
+ # @return [Response] A Response object with data of type OCI::Core::Models::InternetGateway
1639
+ def get_internet_gateway(ig_id, opts = {})
1640
+ logger.debug "Calling operation VirtualNetworkClient#get_internet_gateway." if logger
1641
+
1642
+ fail "Missing the required parameter 'ig_id' when calling get_internet_gateway." if ig_id.nil?
1643
+
1644
+ path = "/internetGateways/{igId}".sub('{igId}', ig_id.to_s)
1645
+
1646
+ # Query Params
1647
+ query_params = {}
1648
+
1649
+ # Header Params
1650
+ header_params = {}
1651
+ header_params['accept'] = 'application/json'
1652
+ header_params['content-type'] = 'application/json'
1653
+
1654
+ post_body = nil
1655
+
1656
+ return @api_client.call_api(
1657
+ :GET,
1658
+ path,
1659
+ endpoint,
1660
+ :header_params => header_params,
1661
+ :query_params => query_params,
1662
+ :body => post_body,
1663
+ :return_type => 'OCI::Core::Models::InternetGateway')
1664
+ end
1665
+
1666
+ # Gets the specified IPSec connection's basic information, including the static routes for the
1667
+ # on-premises router. If you want the status of the connection (whether it's up or down), use
1668
+ # {#get_ip_sec_connection_device_status get_ip_sec_connection_device_status}.
1669
+ #
1670
+ # @param [String] ipsc_id The OCID of the IPSec connection.
1671
+ # @param [Hash] opts the optional parameters
1672
+ # @return [Response] A Response object with data of type OCI::Core::Models::IPSecConnection
1673
+ def get_ip_sec_connection(ipsc_id, opts = {})
1674
+ logger.debug "Calling operation VirtualNetworkClient#get_ip_sec_connection." if logger
1675
+
1676
+ fail "Missing the required parameter 'ipsc_id' when calling get_ip_sec_connection." if ipsc_id.nil?
1677
+
1678
+ path = "/ipsecConnections/{ipscId}".sub('{ipscId}', ipsc_id.to_s)
1679
+
1680
+ # Query Params
1681
+ query_params = {}
1682
+
1683
+ # Header Params
1684
+ header_params = {}
1685
+ header_params['accept'] = 'application/json'
1686
+ header_params['content-type'] = 'application/json'
1687
+
1688
+ post_body = nil
1689
+
1690
+ return @api_client.call_api(
1691
+ :GET,
1692
+ path,
1693
+ endpoint,
1694
+ :header_params => header_params,
1695
+ :query_params => query_params,
1696
+ :body => post_body,
1697
+ :return_type => 'OCI::Core::Models::IPSecConnection')
1698
+ end
1699
+
1700
+ # Gets the configuration information for the specified IPSec connection. For each tunnel, the
1701
+ # response includes the IP address of Oracle's VPN headend and the shared secret.
1702
+ #
1703
+ # @param [String] ipsc_id The OCID of the IPSec connection.
1704
+ # @param [Hash] opts the optional parameters
1705
+ # @return [Response] A Response object with data of type OCI::Core::Models::IPSecConnectionDeviceConfig
1706
+ def get_ip_sec_connection_device_config(ipsc_id, opts = {})
1707
+ logger.debug "Calling operation VirtualNetworkClient#get_ip_sec_connection_device_config." if logger
1708
+
1709
+ fail "Missing the required parameter 'ipsc_id' when calling get_ip_sec_connection_device_config." if ipsc_id.nil?
1710
+
1711
+ path = "/ipsecConnections/{ipscId}/deviceConfig".sub('{ipscId}', ipsc_id.to_s)
1712
+
1713
+ # Query Params
1714
+ query_params = {}
1715
+
1716
+ # Header Params
1717
+ header_params = {}
1718
+ header_params['accept'] = 'application/json'
1719
+ header_params['content-type'] = 'application/json'
1720
+
1721
+ post_body = nil
1722
+
1723
+ return @api_client.call_api(
1724
+ :GET,
1725
+ path,
1726
+ endpoint,
1727
+ :header_params => header_params,
1728
+ :query_params => query_params,
1729
+ :body => post_body,
1730
+ :return_type => 'OCI::Core::Models::IPSecConnectionDeviceConfig')
1731
+ end
1732
+
1733
+ # Gets the status of the specified IPSec connection (whether it's up or down).
1734
+ #
1735
+ # @param [String] ipsc_id The OCID of the IPSec connection.
1736
+ # @param [Hash] opts the optional parameters
1737
+ # @return [Response] A Response object with data of type OCI::Core::Models::IPSecConnectionDeviceStatus
1738
+ def get_ip_sec_connection_device_status(ipsc_id, opts = {})
1739
+ logger.debug "Calling operation VirtualNetworkClient#get_ip_sec_connection_device_status." if logger
1740
+
1741
+ fail "Missing the required parameter 'ipsc_id' when calling get_ip_sec_connection_device_status." if ipsc_id.nil?
1742
+
1743
+ path = "/ipsecConnections/{ipscId}/deviceStatus".sub('{ipscId}', ipsc_id.to_s)
1744
+
1745
+ # Query Params
1746
+ query_params = {}
1747
+
1748
+ # Header Params
1749
+ header_params = {}
1750
+ header_params['accept'] = 'application/json'
1751
+ header_params['content-type'] = 'application/json'
1752
+
1753
+ post_body = nil
1754
+
1755
+ return @api_client.call_api(
1756
+ :GET,
1757
+ path,
1758
+ endpoint,
1759
+ :header_params => header_params,
1760
+ :query_params => query_params,
1761
+ :body => post_body,
1762
+ :return_type => 'OCI::Core::Models::IPSecConnectionDeviceStatus')
1763
+ end
1764
+
1765
+ # Gets the specified private IP. You must specify the object's OCID.
1766
+ # Alternatively, you can get the object by using
1767
+ # {#list_private_ips list_private_ips}
1768
+ # with the private IP address (for example, 10.0.3.3) and subnet OCID.
1769
+ #
1770
+ # @param [String] private_ip_id The private IP's OCID.
1771
+ # @param [Hash] opts the optional parameters
1772
+ # @return [Response] A Response object with data of type OCI::Core::Models::PrivateIp
1773
+ def get_private_ip(private_ip_id, opts = {})
1774
+ logger.debug "Calling operation VirtualNetworkClient#get_private_ip." if logger
1775
+
1776
+ fail "Missing the required parameter 'private_ip_id' when calling get_private_ip." if private_ip_id.nil?
1777
+
1778
+ path = "/privateIps/{privateIpId}".sub('{privateIpId}', private_ip_id.to_s)
1779
+
1780
+ # Query Params
1781
+ query_params = {}
1782
+
1783
+ # Header Params
1784
+ header_params = {}
1785
+ header_params['accept'] = 'application/json'
1786
+ header_params['content-type'] = 'application/json'
1787
+
1788
+ post_body = nil
1789
+
1790
+ return @api_client.call_api(
1791
+ :GET,
1792
+ path,
1793
+ endpoint,
1794
+ :header_params => header_params,
1795
+ :query_params => query_params,
1796
+ :body => post_body,
1797
+ :return_type => 'OCI::Core::Models::PrivateIp')
1798
+ end
1799
+
1800
+ # Gets the specified route table's information.
1801
+ # @param [String] rt_id The OCID of the route table.
1802
+ # @param [Hash] opts the optional parameters
1803
+ # @return [Response] A Response object with data of type OCI::Core::Models::RouteTable
1804
+ def get_route_table(rt_id, opts = {})
1805
+ logger.debug "Calling operation VirtualNetworkClient#get_route_table." if logger
1806
+
1807
+ fail "Missing the required parameter 'rt_id' when calling get_route_table." if rt_id.nil?
1808
+
1809
+ path = "/routeTables/{rtId}".sub('{rtId}', rt_id.to_s)
1810
+
1811
+ # Query Params
1812
+ query_params = {}
1813
+
1814
+ # Header Params
1815
+ header_params = {}
1816
+ header_params['accept'] = 'application/json'
1817
+ header_params['content-type'] = 'application/json'
1818
+
1819
+ post_body = nil
1820
+
1821
+ return @api_client.call_api(
1822
+ :GET,
1823
+ path,
1824
+ endpoint,
1825
+ :header_params => header_params,
1826
+ :query_params => query_params,
1827
+ :body => post_body,
1828
+ :return_type => 'OCI::Core::Models::RouteTable')
1829
+ end
1830
+
1831
+ # Gets the specified security list's information.
1832
+ # @param [String] security_list_id The OCID of the security list.
1833
+ # @param [Hash] opts the optional parameters
1834
+ # @return [Response] A Response object with data of type OCI::Core::Models::SecurityList
1835
+ def get_security_list(security_list_id, opts = {})
1836
+ logger.debug "Calling operation VirtualNetworkClient#get_security_list." if logger
1837
+
1838
+ fail "Missing the required parameter 'security_list_id' when calling get_security_list." if security_list_id.nil?
1839
+
1840
+ path = "/securityLists/{securityListId}".sub('{securityListId}', security_list_id.to_s)
1841
+
1842
+ # Query Params
1843
+ query_params = {}
1844
+
1845
+ # Header Params
1846
+ header_params = {}
1847
+ header_params['accept'] = 'application/json'
1848
+ header_params['content-type'] = 'application/json'
1849
+
1850
+ post_body = nil
1851
+
1852
+ return @api_client.call_api(
1853
+ :GET,
1854
+ path,
1855
+ endpoint,
1856
+ :header_params => header_params,
1857
+ :query_params => query_params,
1858
+ :body => post_body,
1859
+ :return_type => 'OCI::Core::Models::SecurityList')
1860
+ end
1861
+
1862
+ # Gets the specified subnet's information.
1863
+ # @param [String] subnet_id The OCID of the subnet.
1864
+ # @param [Hash] opts the optional parameters
1865
+ # @return [Response] A Response object with data of type OCI::Core::Models::Subnet
1866
+ def get_subnet(subnet_id, opts = {})
1867
+ logger.debug "Calling operation VirtualNetworkClient#get_subnet." if logger
1868
+
1869
+ fail "Missing the required parameter 'subnet_id' when calling get_subnet." if subnet_id.nil?
1870
+
1871
+ path = "/subnets/{subnetId}".sub('{subnetId}', subnet_id.to_s)
1872
+
1873
+ # Query Params
1874
+ query_params = {}
1875
+
1876
+ # Header Params
1877
+ header_params = {}
1878
+ header_params['accept'] = 'application/json'
1879
+ header_params['content-type'] = 'application/json'
1880
+
1881
+ post_body = nil
1882
+
1883
+ return @api_client.call_api(
1884
+ :GET,
1885
+ path,
1886
+ endpoint,
1887
+ :header_params => header_params,
1888
+ :query_params => query_params,
1889
+ :body => post_body,
1890
+ :return_type => 'OCI::Core::Models::Subnet')
1891
+ end
1892
+
1893
+ # Gets the specified VCN's information.
1894
+ # @param [String] vcn_id The OCID of the VCN.
1895
+ # @param [Hash] opts the optional parameters
1896
+ # @return [Response] A Response object with data of type OCI::Core::Models::Vcn
1897
+ def get_vcn(vcn_id, opts = {})
1898
+ logger.debug "Calling operation VirtualNetworkClient#get_vcn." if logger
1899
+
1900
+ fail "Missing the required parameter 'vcn_id' when calling get_vcn." if vcn_id.nil?
1901
+
1902
+ path = "/vcns/{vcnId}".sub('{vcnId}', vcn_id.to_s)
1903
+
1904
+ # Query Params
1905
+ query_params = {}
1906
+
1907
+ # Header Params
1908
+ header_params = {}
1909
+ header_params['accept'] = 'application/json'
1910
+ header_params['content-type'] = 'application/json'
1911
+
1912
+ post_body = nil
1913
+
1914
+ return @api_client.call_api(
1915
+ :GET,
1916
+ path,
1917
+ endpoint,
1918
+ :header_params => header_params,
1919
+ :query_params => query_params,
1920
+ :body => post_body,
1921
+ :return_type => 'OCI::Core::Models::Vcn')
1922
+ end
1923
+
1924
+ # Gets the specified virtual circuit's information.
1925
+ # @param [String] virtual_circuit_id The OCID of the virtual circuit.
1926
+ # @param [Hash] opts the optional parameters
1927
+ # @return [Response] A Response object with data of type OCI::Core::Models::VirtualCircuit
1928
+ def get_virtual_circuit(virtual_circuit_id, opts = {})
1929
+ logger.debug "Calling operation VirtualNetworkClient#get_virtual_circuit." if logger
1930
+
1931
+ fail "Missing the required parameter 'virtual_circuit_id' when calling get_virtual_circuit." if virtual_circuit_id.nil?
1932
+
1933
+ path = "/virtualCircuits/{virtualCircuitId}".sub('{virtualCircuitId}', virtual_circuit_id.to_s)
1934
+
1935
+ # Query Params
1936
+ query_params = {}
1937
+
1938
+ # Header Params
1939
+ header_params = {}
1940
+ header_params['accept'] = 'application/json'
1941
+ header_params['content-type'] = 'application/json'
1942
+
1943
+ post_body = nil
1944
+
1945
+ return @api_client.call_api(
1946
+ :GET,
1947
+ path,
1948
+ endpoint,
1949
+ :header_params => header_params,
1950
+ :query_params => query_params,
1951
+ :body => post_body,
1952
+ :return_type => 'OCI::Core::Models::VirtualCircuit')
1953
+ end
1954
+
1955
+ # Gets the information for the specified virtual network interface card (VNIC).
1956
+ # You can get the VNIC OCID from the
1957
+ # {#list_vnic_attachments list_vnic_attachments}
1958
+ # operation.
1959
+ #
1960
+ # @param [String] vnic_id The OCID of the VNIC.
1961
+ # @param [Hash] opts the optional parameters
1962
+ # @return [Response] A Response object with data of type OCI::Core::Models::Vnic
1963
+ def get_vnic(vnic_id, opts = {})
1964
+ logger.debug "Calling operation VirtualNetworkClient#get_vnic." if logger
1965
+
1966
+ fail "Missing the required parameter 'vnic_id' when calling get_vnic." if vnic_id.nil?
1967
+
1968
+ path = "/vnics/{vnicId}".sub('{vnicId}', vnic_id.to_s)
1969
+
1970
+ # Query Params
1971
+ query_params = {}
1972
+
1973
+ # Header Params
1974
+ header_params = {}
1975
+ header_params['accept'] = 'application/json'
1976
+ header_params['content-type'] = 'application/json'
1977
+
1978
+ post_body = nil
1979
+
1980
+ return @api_client.call_api(
1981
+ :GET,
1982
+ path,
1983
+ endpoint,
1984
+ :header_params => header_params,
1985
+ :query_params => query_params,
1986
+ :body => post_body,
1987
+ :return_type => 'OCI::Core::Models::Vnic')
1988
+ end
1989
+
1990
+ # Lists the Customer-Premises Equipment objects (CPEs) in the specified compartment.
1991
+ #
1992
+ # @param [String] compartment_id The OCID of the compartment.
1993
+ # @param [Hash] opts the optional parameters
1994
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \"List\" call.
1995
+ #
1996
+ # Example: `500`
1997
+ #
1998
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \"List\" call.
1999
+ #
2000
+ # @return [Response] A Response object with data of type Array<OCI::Core::Models::Cpe>
2001
+ def list_cpes(compartment_id, opts = {})
2002
+ logger.debug "Calling operation VirtualNetworkClient#list_cpes." if logger
2003
+
2004
+ fail "Missing the required parameter 'compartment_id' when calling list_cpes." if compartment_id.nil?
2005
+
2006
+ path = "/cpes"
2007
+
2008
+ # Query Params
2009
+ query_params = {}
2010
+ query_params[:'compartmentId'] = compartment_id
2011
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
2012
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
2013
+
2014
+ # Header Params
2015
+ header_params = {}
2016
+ header_params['accept'] = 'application/json'
2017
+ header_params['content-type'] = 'application/json'
2018
+
2019
+ post_body = nil
2020
+
2021
+ return @api_client.call_api(
2022
+ :GET,
2023
+ path,
2024
+ endpoint,
2025
+ :header_params => header_params,
2026
+ :query_params => query_params,
2027
+ :body => post_body,
2028
+ :return_type => 'Array<OCI::Core::Models::Cpe>')
2029
+ end
2030
+
2031
+ # Lists the cross-connect groups in the specified compartment.
2032
+ #
2033
+ # @param [String] compartment_id The OCID of the compartment.
2034
+ # @param [Hash] opts the optional parameters
2035
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \"List\" call.
2036
+ #
2037
+ # Example: `500`
2038
+ #
2039
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \"List\" call.
2040
+ #
2041
+ # @return [Response] A Response object with data of type Array<OCI::Core::Models::CrossConnectGroup>
2042
+ def list_cross_connect_groups(compartment_id, opts = {})
2043
+ logger.debug "Calling operation VirtualNetworkClient#list_cross_connect_groups." if logger
2044
+
2045
+ fail "Missing the required parameter 'compartment_id' when calling list_cross_connect_groups." if compartment_id.nil?
2046
+
2047
+ path = "/crossConnectGroups"
2048
+
2049
+ # Query Params
2050
+ query_params = {}
2051
+ query_params[:'compartmentId'] = compartment_id
2052
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
2053
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
2054
+
2055
+ # Header Params
2056
+ header_params = {}
2057
+ header_params['accept'] = 'application/json'
2058
+ header_params['content-type'] = 'application/json'
2059
+
2060
+ post_body = nil
2061
+
2062
+ return @api_client.call_api(
2063
+ :GET,
2064
+ path,
2065
+ endpoint,
2066
+ :header_params => header_params,
2067
+ :query_params => query_params,
2068
+ :body => post_body,
2069
+ :return_type => 'Array<OCI::Core::Models::CrossConnectGroup>')
2070
+ end
2071
+
2072
+ # Lists the available FastConnect locations for cross-connect installation. You need
2073
+ # this information so you can specify your desired location when you create a cross-connect.
2074
+ #
2075
+ # @param [String] compartment_id The OCID of the compartment.
2076
+ # @param [Hash] opts the optional parameters
2077
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \"List\" call.
2078
+ #
2079
+ # Example: `500`
2080
+ #
2081
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \"List\" call.
2082
+ #
2083
+ # @return [Response] A Response object with data of type Array<OCI::Core::Models::CrossConnectLocation>
2084
+ def list_cross_connect_locations(compartment_id, opts = {})
2085
+ logger.debug "Calling operation VirtualNetworkClient#list_cross_connect_locations." if logger
2086
+
2087
+ fail "Missing the required parameter 'compartment_id' when calling list_cross_connect_locations." if compartment_id.nil?
2088
+
2089
+ path = "/crossConnectLocations"
2090
+
2091
+ # Query Params
2092
+ query_params = {}
2093
+ query_params[:'compartmentId'] = compartment_id
2094
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
2095
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
2096
+
2097
+ # Header Params
2098
+ header_params = {}
2099
+ header_params['accept'] = 'application/json'
2100
+ header_params['content-type'] = 'application/json'
2101
+
2102
+ post_body = nil
2103
+
2104
+ return @api_client.call_api(
2105
+ :GET,
2106
+ path,
2107
+ endpoint,
2108
+ :header_params => header_params,
2109
+ :query_params => query_params,
2110
+ :body => post_body,
2111
+ :return_type => 'Array<OCI::Core::Models::CrossConnectLocation>')
2112
+ end
2113
+
2114
+ # Lists the cross-connects in the specified compartment. You can filter the list
2115
+ # by specifying the OCID of a cross-connect group.
2116
+ #
2117
+ # @param [String] compartment_id The OCID of the compartment.
2118
+ # @param [Hash] opts the optional parameters
2119
+ # @option opts [String] :cross_connect_group_id The OCID of the cross-connect group.
2120
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \"List\" call.
2121
+ #
2122
+ # Example: `500`
2123
+ #
2124
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \"List\" call.
2125
+ #
2126
+ # @return [Response] A Response object with data of type Array<OCI::Core::Models::CrossConnect>
2127
+ def list_cross_connects(compartment_id, opts = {})
2128
+ logger.debug "Calling operation VirtualNetworkClient#list_cross_connects." if logger
2129
+
2130
+ fail "Missing the required parameter 'compartment_id' when calling list_cross_connects." if compartment_id.nil?
2131
+
2132
+ path = "/crossConnects"
2133
+
2134
+ # Query Params
2135
+ query_params = {}
2136
+ query_params[:'compartmentId'] = compartment_id
2137
+ query_params[:'crossConnectGroupId'] = opts[:'cross_connect_group_id'] if opts[:'cross_connect_group_id']
2138
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
2139
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
2140
+
2141
+ # Header Params
2142
+ header_params = {}
2143
+ header_params['accept'] = 'application/json'
2144
+ header_params['content-type'] = 'application/json'
2145
+
2146
+ post_body = nil
2147
+
2148
+ return @api_client.call_api(
2149
+ :GET,
2150
+ path,
2151
+ endpoint,
2152
+ :header_params => header_params,
2153
+ :query_params => query_params,
2154
+ :body => post_body,
2155
+ :return_type => 'Array<OCI::Core::Models::CrossConnect>')
2156
+ end
2157
+
2158
+ # Lists the available port speeds for cross-connects. You need this information
2159
+ # so you can specify your desired port speed (that is, shape) when you create a
2160
+ # cross-connect.
2161
+ #
2162
+ # @param [String] compartment_id The OCID of the compartment.
2163
+ # @param [Hash] opts the optional parameters
2164
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \"List\" call.
2165
+ #
2166
+ # Example: `500`
2167
+ #
2168
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \"List\" call.
2169
+ #
2170
+ # @return [Response] A Response object with data of type Array<OCI::Core::Models::CrossConnectPortSpeedShape>
2171
+ def list_crossconnect_port_speed_shapes(compartment_id, opts = {})
2172
+ logger.debug "Calling operation VirtualNetworkClient#list_crossconnect_port_speed_shapes." if logger
2173
+
2174
+ fail "Missing the required parameter 'compartment_id' when calling list_crossconnect_port_speed_shapes." if compartment_id.nil?
2175
+
2176
+ path = "/crossConnectPortSpeedShapes"
2177
+
2178
+ # Query Params
2179
+ query_params = {}
2180
+ query_params[:'compartmentId'] = compartment_id
2181
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
2182
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
2183
+
2184
+ # Header Params
2185
+ header_params = {}
2186
+ header_params['accept'] = 'application/json'
2187
+ header_params['content-type'] = 'application/json'
2188
+
2189
+ post_body = nil
2190
+
2191
+ return @api_client.call_api(
2192
+ :GET,
2193
+ path,
2194
+ endpoint,
2195
+ :header_params => header_params,
2196
+ :query_params => query_params,
2197
+ :body => post_body,
2198
+ :return_type => 'Array<OCI::Core::Models::CrossConnectPortSpeedShape>')
2199
+ end
2200
+
2201
+ # Lists the sets of DHCP options in the specified VCN and specified compartment.
2202
+ # The response includes the default set of options that automatically comes with each VCN,
2203
+ # plus any other sets you've created.
2204
+ #
2205
+ # @param [String] compartment_id The OCID of the compartment.
2206
+ # @param [String] vcn_id The OCID of the VCN.
2207
+ # @param [Hash] opts the optional parameters
2208
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \"List\" call.
2209
+ #
2210
+ # Example: `500`
2211
+ #
2212
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \"List\" call.
2213
+ #
2214
+ # @return [Response] A Response object with data of type Array<OCI::Core::Models::DhcpOptions>
2215
+ def list_dhcp_options(compartment_id, vcn_id, opts = {})
2216
+ logger.debug "Calling operation VirtualNetworkClient#list_dhcp_options." if logger
2217
+
2218
+ fail "Missing the required parameter 'compartment_id' when calling list_dhcp_options." if compartment_id.nil?
2219
+ fail "Missing the required parameter 'vcn_id' when calling list_dhcp_options." if vcn_id.nil?
2220
+
2221
+ path = "/dhcps"
2222
+
2223
+ # Query Params
2224
+ query_params = {}
2225
+ query_params[:'compartmentId'] = compartment_id
2226
+ query_params[:'vcnId'] = vcn_id
2227
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
2228
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
2229
+
2230
+ # Header Params
2231
+ header_params = {}
2232
+ header_params['accept'] = 'application/json'
2233
+ header_params['content-type'] = 'application/json'
2234
+
2235
+ post_body = nil
2236
+
2237
+ return @api_client.call_api(
2238
+ :GET,
2239
+ path,
2240
+ endpoint,
2241
+ :header_params => header_params,
2242
+ :query_params => query_params,
2243
+ :body => post_body,
2244
+ :return_type => 'Array<OCI::Core::Models::DhcpOptions>')
2245
+ end
2246
+
2247
+ # Lists the `DrgAttachment` objects for the specified compartment. You can filter the
2248
+ # results by VCN or DRG.
2249
+ #
2250
+ # @param [String] compartment_id The OCID of the compartment.
2251
+ # @param [Hash] opts the optional parameters
2252
+ # @option opts [String] :vcn_id The OCID of the VCN.
2253
+ # @option opts [String] :drg_id The OCID of the DRG.
2254
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \"List\" call.
2255
+ #
2256
+ # Example: `500`
2257
+ #
2258
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \"List\" call.
2259
+ #
2260
+ # @return [Response] A Response object with data of type Array<OCI::Core::Models::DrgAttachment>
2261
+ def list_drg_attachments(compartment_id, opts = {})
2262
+ logger.debug "Calling operation VirtualNetworkClient#list_drg_attachments." if logger
2263
+
2264
+ fail "Missing the required parameter 'compartment_id' when calling list_drg_attachments." if compartment_id.nil?
2265
+
2266
+ path = "/drgAttachments"
2267
+
2268
+ # Query Params
2269
+ query_params = {}
2270
+ query_params[:'compartmentId'] = compartment_id
2271
+ query_params[:'vcnId'] = opts[:'vcn_id'] if opts[:'vcn_id']
2272
+ query_params[:'drgId'] = opts[:'drg_id'] if opts[:'drg_id']
2273
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
2274
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
2275
+
2276
+ # Header Params
2277
+ header_params = {}
2278
+ header_params['accept'] = 'application/json'
2279
+ header_params['content-type'] = 'application/json'
2280
+
2281
+ post_body = nil
2282
+
2283
+ return @api_client.call_api(
2284
+ :GET,
2285
+ path,
2286
+ endpoint,
2287
+ :header_params => header_params,
2288
+ :query_params => query_params,
2289
+ :body => post_body,
2290
+ :return_type => 'Array<OCI::Core::Models::DrgAttachment>')
2291
+ end
2292
+
2293
+ # Lists the DRGs in the specified compartment.
2294
+ #
2295
+ # @param [String] compartment_id The OCID of the compartment.
2296
+ # @param [Hash] opts the optional parameters
2297
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \"List\" call.
2298
+ #
2299
+ # Example: `500`
2300
+ #
2301
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \"List\" call.
2302
+ #
2303
+ # @return [Response] A Response object with data of type Array<OCI::Core::Models::Drg>
2304
+ def list_drgs(compartment_id, opts = {})
2305
+ logger.debug "Calling operation VirtualNetworkClient#list_drgs." if logger
2306
+
2307
+ fail "Missing the required parameter 'compartment_id' when calling list_drgs." if compartment_id.nil?
2308
+
2309
+ path = "/drgs"
2310
+
2311
+ # Query Params
2312
+ query_params = {}
2313
+ query_params[:'compartmentId'] = compartment_id
2314
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
2315
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
2316
+
2317
+ # Header Params
2318
+ header_params = {}
2319
+ header_params['accept'] = 'application/json'
2320
+ header_params['content-type'] = 'application/json'
2321
+
2322
+ post_body = nil
2323
+
2324
+ return @api_client.call_api(
2325
+ :GET,
2326
+ path,
2327
+ endpoint,
2328
+ :header_params => header_params,
2329
+ :query_params => query_params,
2330
+ :body => post_body,
2331
+ :return_type => 'Array<OCI::Core::Models::Drg>')
2332
+ end
2333
+
2334
+ # Lists the service offerings from supported providers. You need this
2335
+ # information so you can specify your desired provider and service
2336
+ # offering when you create a virtual circuit.
2337
+ #
2338
+ # For the compartment ID, provide the OCID of your tenancy (the root compartment).
2339
+ #
2340
+ # For more information, see [FastConnect Overview](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Concepts/fastconnect.htm).
2341
+ #
2342
+ # @param [String] compartment_id The OCID of the compartment.
2343
+ # @param [Hash] opts the optional parameters
2344
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \"List\" call.
2345
+ #
2346
+ # Example: `500`
2347
+ #
2348
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \"List\" call.
2349
+ #
2350
+ # @return [Response] A Response object with data of type Array<OCI::Core::Models::FastConnectProviderService>
2351
+ def list_fast_connect_provider_services(compartment_id, opts = {})
2352
+ logger.debug "Calling operation VirtualNetworkClient#list_fast_connect_provider_services." if logger
2353
+
2354
+ fail "Missing the required parameter 'compartment_id' when calling list_fast_connect_provider_services." if compartment_id.nil?
2355
+
2356
+ path = "/fastConnectProviderServices"
2357
+
2358
+ # Query Params
2359
+ query_params = {}
2360
+ query_params[:'compartmentId'] = compartment_id
2361
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
2362
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
2363
+
2364
+ # Header Params
2365
+ header_params = {}
2366
+ header_params['accept'] = 'application/json'
2367
+ header_params['content-type'] = 'application/json'
2368
+
2369
+ post_body = nil
2370
+
2371
+ return @api_client.call_api(
2372
+ :GET,
2373
+ path,
2374
+ endpoint,
2375
+ :header_params => header_params,
2376
+ :query_params => query_params,
2377
+ :body => post_body,
2378
+ :return_type => 'Array<OCI::Core::Models::FastConnectProviderService>')
2379
+ end
2380
+
2381
+ # Lists the Internet Gateways in the specified VCN and the specified compartment.
2382
+ #
2383
+ # @param [String] compartment_id The OCID of the compartment.
2384
+ # @param [String] vcn_id The OCID of the VCN.
2385
+ # @param [Hash] opts the optional parameters
2386
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \"List\" call.
2387
+ #
2388
+ # Example: `500`
2389
+ #
2390
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \"List\" call.
2391
+ #
2392
+ # @return [Response] A Response object with data of type Array<OCI::Core::Models::InternetGateway>
2393
+ def list_internet_gateways(compartment_id, vcn_id, opts = {})
2394
+ logger.debug "Calling operation VirtualNetworkClient#list_internet_gateways." if logger
2395
+
2396
+ fail "Missing the required parameter 'compartment_id' when calling list_internet_gateways." if compartment_id.nil?
2397
+ fail "Missing the required parameter 'vcn_id' when calling list_internet_gateways." if vcn_id.nil?
2398
+
2399
+ path = "/internetGateways"
2400
+
2401
+ # Query Params
2402
+ query_params = {}
2403
+ query_params[:'compartmentId'] = compartment_id
2404
+ query_params[:'vcnId'] = vcn_id
2405
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
2406
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
2407
+
2408
+ # Header Params
2409
+ header_params = {}
2410
+ header_params['accept'] = 'application/json'
2411
+ header_params['content-type'] = 'application/json'
2412
+
2413
+ post_body = nil
2414
+
2415
+ return @api_client.call_api(
2416
+ :GET,
2417
+ path,
2418
+ endpoint,
2419
+ :header_params => header_params,
2420
+ :query_params => query_params,
2421
+ :body => post_body,
2422
+ :return_type => 'Array<OCI::Core::Models::InternetGateway>')
2423
+ end
2424
+
2425
+ # Lists the IPSec connections for the specified compartment. You can filter the
2426
+ # results by DRG or CPE.
2427
+ #
2428
+ # @param [String] compartment_id The OCID of the compartment.
2429
+ # @param [Hash] opts the optional parameters
2430
+ # @option opts [String] :drg_id The OCID of the DRG.
2431
+ # @option opts [String] :cpe_id The OCID of the CPE.
2432
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \"List\" call.
2433
+ #
2434
+ # Example: `500`
2435
+ #
2436
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \"List\" call.
2437
+ #
2438
+ # @return [Response] A Response object with data of type Array<OCI::Core::Models::IPSecConnection>
2439
+ def list_ip_sec_connections(compartment_id, opts = {})
2440
+ logger.debug "Calling operation VirtualNetworkClient#list_ip_sec_connections." if logger
2441
+
2442
+ fail "Missing the required parameter 'compartment_id' when calling list_ip_sec_connections." if compartment_id.nil?
2443
+
2444
+ path = "/ipsecConnections"
2445
+
2446
+ # Query Params
2447
+ query_params = {}
2448
+ query_params[:'compartmentId'] = compartment_id
2449
+ query_params[:'drgId'] = opts[:'drg_id'] if opts[:'drg_id']
2450
+ query_params[:'cpeId'] = opts[:'cpe_id'] if opts[:'cpe_id']
2451
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
2452
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
2453
+
2454
+ # Header Params
2455
+ header_params = {}
2456
+ header_params['accept'] = 'application/json'
2457
+ header_params['content-type'] = 'application/json'
2458
+
2459
+ post_body = nil
2460
+
2461
+ return @api_client.call_api(
2462
+ :GET,
2463
+ path,
2464
+ endpoint,
2465
+ :header_params => header_params,
2466
+ :query_params => query_params,
2467
+ :body => post_body,
2468
+ :return_type => 'Array<OCI::Core::Models::IPSecConnection>')
2469
+ end
2470
+
2471
+ # Lists the {PrivateIp} objects based
2472
+ # on one of these filters:
2473
+ #
2474
+ # - Subnet OCID.
2475
+ # - VNIC OCID.
2476
+ # - Both private IP address and subnet OCID: This lets
2477
+ # you get a `privateIP` object based on its private IP
2478
+ # address (for example, 10.0.3.3) and not its OCID. For comparison,
2479
+ # {#get_private_ip get_private_ip}
2480
+ # requires the OCID.
2481
+ #
2482
+ # If you're listing all the private IPs associated with a given subnet
2483
+ # or VNIC, the response includes both primary and secondary private IPs.
2484
+ #
2485
+ # @param [Hash] opts the optional parameters
2486
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \"List\" call.
2487
+ #
2488
+ # Example: `500`
2489
+ #
2490
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \"List\" call.
2491
+ #
2492
+ # @option opts [String] :ip_address The private IP address of the `privateIp` object.
2493
+ #
2494
+ # Example: `10.0.3.3`
2495
+ #
2496
+ # @option opts [String] :subnet_id The OCID of the subnet.
2497
+ # @option opts [String] :vnic_id The OCID of the VNIC.
2498
+ # @return [Response] A Response object with data of type Array<OCI::Core::Models::PrivateIp>
2499
+ def list_private_ips(opts = {})
2500
+ logger.debug "Calling operation VirtualNetworkClient#list_private_ips." if logger
2501
+
2502
+
2503
+ path = "/privateIps"
2504
+
2505
+ # Query Params
2506
+ query_params = {}
2507
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
2508
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
2509
+ query_params[:'ipAddress'] = opts[:'ip_address'] if opts[:'ip_address']
2510
+ query_params[:'subnetId'] = opts[:'subnet_id'] if opts[:'subnet_id']
2511
+ query_params[:'vnicId'] = opts[:'vnic_id'] if opts[:'vnic_id']
2512
+
2513
+ # Header Params
2514
+ header_params = {}
2515
+ header_params['accept'] = 'application/json'
2516
+ header_params['content-type'] = 'application/json'
2517
+
2518
+ post_body = nil
2519
+
2520
+ return @api_client.call_api(
2521
+ :GET,
2522
+ path,
2523
+ endpoint,
2524
+ :header_params => header_params,
2525
+ :query_params => query_params,
2526
+ :body => post_body,
2527
+ :return_type => 'Array<OCI::Core::Models::PrivateIp>')
2528
+ end
2529
+
2530
+ # Lists the route tables in the specified VCN and specified compartment. The response
2531
+ # includes the default route table that automatically comes with each VCN, plus any route tables
2532
+ # you've created.
2533
+ #
2534
+ # @param [String] compartment_id The OCID of the compartment.
2535
+ # @param [String] vcn_id The OCID of the VCN.
2536
+ # @param [Hash] opts the optional parameters
2537
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \"List\" call.
2538
+ #
2539
+ # Example: `500`
2540
+ #
2541
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \"List\" call.
2542
+ #
2543
+ # @return [Response] A Response object with data of type Array<OCI::Core::Models::RouteTable>
2544
+ def list_route_tables(compartment_id, vcn_id, opts = {})
2545
+ logger.debug "Calling operation VirtualNetworkClient#list_route_tables." if logger
2546
+
2547
+ fail "Missing the required parameter 'compartment_id' when calling list_route_tables." if compartment_id.nil?
2548
+ fail "Missing the required parameter 'vcn_id' when calling list_route_tables." if vcn_id.nil?
2549
+
2550
+ path = "/routeTables"
2551
+
2552
+ # Query Params
2553
+ query_params = {}
2554
+ query_params[:'compartmentId'] = compartment_id
2555
+ query_params[:'vcnId'] = vcn_id
2556
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
2557
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
2558
+
2559
+ # Header Params
2560
+ header_params = {}
2561
+ header_params['accept'] = 'application/json'
2562
+ header_params['content-type'] = 'application/json'
2563
+
2564
+ post_body = nil
2565
+
2566
+ return @api_client.call_api(
2567
+ :GET,
2568
+ path,
2569
+ endpoint,
2570
+ :header_params => header_params,
2571
+ :query_params => query_params,
2572
+ :body => post_body,
2573
+ :return_type => 'Array<OCI::Core::Models::RouteTable>')
2574
+ end
2575
+
2576
+ # Lists the security lists in the specified VCN and compartment.
2577
+ #
2578
+ # @param [String] compartment_id The OCID of the compartment.
2579
+ # @param [String] vcn_id The OCID of the VCN.
2580
+ # @param [Hash] opts the optional parameters
2581
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \"List\" call.
2582
+ #
2583
+ # Example: `500`
2584
+ #
2585
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \"List\" call.
2586
+ #
2587
+ # @return [Response] A Response object with data of type Array<OCI::Core::Models::SecurityList>
2588
+ def list_security_lists(compartment_id, vcn_id, opts = {})
2589
+ logger.debug "Calling operation VirtualNetworkClient#list_security_lists." if logger
2590
+
2591
+ fail "Missing the required parameter 'compartment_id' when calling list_security_lists." if compartment_id.nil?
2592
+ fail "Missing the required parameter 'vcn_id' when calling list_security_lists." if vcn_id.nil?
2593
+
2594
+ path = "/securityLists"
2595
+
2596
+ # Query Params
2597
+ query_params = {}
2598
+ query_params[:'compartmentId'] = compartment_id
2599
+ query_params[:'vcnId'] = vcn_id
2600
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
2601
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
2602
+
2603
+ # Header Params
2604
+ header_params = {}
2605
+ header_params['accept'] = 'application/json'
2606
+ header_params['content-type'] = 'application/json'
2607
+
2608
+ post_body = nil
2609
+
2610
+ return @api_client.call_api(
2611
+ :GET,
2612
+ path,
2613
+ endpoint,
2614
+ :header_params => header_params,
2615
+ :query_params => query_params,
2616
+ :body => post_body,
2617
+ :return_type => 'Array<OCI::Core::Models::SecurityList>')
2618
+ end
2619
+
2620
+ # Lists the subnets in the specified VCN and the specified compartment.
2621
+ #
2622
+ # @param [String] compartment_id The OCID of the compartment.
2623
+ # @param [String] vcn_id The OCID of the VCN.
2624
+ # @param [Hash] opts the optional parameters
2625
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \"List\" call.
2626
+ #
2627
+ # Example: `500`
2628
+ #
2629
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \"List\" call.
2630
+ #
2631
+ # @return [Response] A Response object with data of type Array<OCI::Core::Models::Subnet>
2632
+ def list_subnets(compartment_id, vcn_id, opts = {})
2633
+ logger.debug "Calling operation VirtualNetworkClient#list_subnets." if logger
2634
+
2635
+ fail "Missing the required parameter 'compartment_id' when calling list_subnets." if compartment_id.nil?
2636
+ fail "Missing the required parameter 'vcn_id' when calling list_subnets." if vcn_id.nil?
2637
+
2638
+ path = "/subnets"
2639
+
2640
+ # Query Params
2641
+ query_params = {}
2642
+ query_params[:'compartmentId'] = compartment_id
2643
+ query_params[:'vcnId'] = vcn_id
2644
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
2645
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
2646
+
2647
+ # Header Params
2648
+ header_params = {}
2649
+ header_params['accept'] = 'application/json'
2650
+ header_params['content-type'] = 'application/json'
2651
+
2652
+ post_body = nil
2653
+
2654
+ return @api_client.call_api(
2655
+ :GET,
2656
+ path,
2657
+ endpoint,
2658
+ :header_params => header_params,
2659
+ :query_params => query_params,
2660
+ :body => post_body,
2661
+ :return_type => 'Array<OCI::Core::Models::Subnet>')
2662
+ end
2663
+
2664
+ # Lists the Virtual Cloud Networks (VCNs) in the specified compartment.
2665
+ #
2666
+ # @param [String] compartment_id The OCID of the compartment.
2667
+ # @param [Hash] opts the optional parameters
2668
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \"List\" call.
2669
+ #
2670
+ # Example: `500`
2671
+ #
2672
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \"List\" call.
2673
+ #
2674
+ # @return [Response] A Response object with data of type Array<OCI::Core::Models::Vcn>
2675
+ def list_vcns(compartment_id, opts = {})
2676
+ logger.debug "Calling operation VirtualNetworkClient#list_vcns." if logger
2677
+
2678
+ fail "Missing the required parameter 'compartment_id' when calling list_vcns." if compartment_id.nil?
2679
+
2680
+ path = "/vcns"
2681
+
2682
+ # Query Params
2683
+ query_params = {}
2684
+ query_params[:'compartmentId'] = compartment_id
2685
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
2686
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
2687
+
2688
+ # Header Params
2689
+ header_params = {}
2690
+ header_params['accept'] = 'application/json'
2691
+ header_params['content-type'] = 'application/json'
2692
+
2693
+ post_body = nil
2694
+
2695
+ return @api_client.call_api(
2696
+ :GET,
2697
+ path,
2698
+ endpoint,
2699
+ :header_params => header_params,
2700
+ :query_params => query_params,
2701
+ :body => post_body,
2702
+ :return_type => 'Array<OCI::Core::Models::Vcn>')
2703
+ end
2704
+
2705
+ # Lists the available bandwidth levels for virtual circuits. You need this
2706
+ # information so you can specify your desired bandwidth level (that is, shape)
2707
+ # when you create a virtual circuit.
2708
+ #
2709
+ # For the compartment ID, provide the OCID of your tenancy (the root compartment).
2710
+ #
2711
+ # For more information about virtual circuits, see
2712
+ # [FastConnect Overview](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Concepts/fastconnect.htm).
2713
+ #
2714
+ # @param [String] compartment_id The OCID of the compartment.
2715
+ # @param [Hash] opts the optional parameters
2716
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \"List\" call.
2717
+ #
2718
+ # Example: `500`
2719
+ #
2720
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \"List\" call.
2721
+ #
2722
+ # @return [Response] A Response object with data of type Array<OCI::Core::Models::VirtualCircuitBandwidthShape>
2723
+ def list_virtual_circuit_bandwidth_shapes(compartment_id, opts = {})
2724
+ logger.debug "Calling operation VirtualNetworkClient#list_virtual_circuit_bandwidth_shapes." if logger
2725
+
2726
+ fail "Missing the required parameter 'compartment_id' when calling list_virtual_circuit_bandwidth_shapes." if compartment_id.nil?
2727
+
2728
+ path = "/virtualCircuitBandwidthShapes"
2729
+
2730
+ # Query Params
2731
+ query_params = {}
2732
+ query_params[:'compartmentId'] = compartment_id
2733
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
2734
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
2735
+
2736
+ # Header Params
2737
+ header_params = {}
2738
+ header_params['accept'] = 'application/json'
2739
+ header_params['content-type'] = 'application/json'
2740
+
2741
+ post_body = nil
2742
+
2743
+ return @api_client.call_api(
2744
+ :GET,
2745
+ path,
2746
+ endpoint,
2747
+ :header_params => header_params,
2748
+ :query_params => query_params,
2749
+ :body => post_body,
2750
+ :return_type => 'Array<OCI::Core::Models::VirtualCircuitBandwidthShape>')
2751
+ end
2752
+
2753
+ # Lists the virtual circuits in the specified compartment.
2754
+ #
2755
+ # @param [String] compartment_id The OCID of the compartment.
2756
+ # @param [Hash] opts the optional parameters
2757
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \"List\" call.
2758
+ #
2759
+ # Example: `500`
2760
+ #
2761
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \"List\" call.
2762
+ #
2763
+ # @return [Response] A Response object with data of type Array<OCI::Core::Models::VirtualCircuit>
2764
+ def list_virtual_circuits(compartment_id, opts = {})
2765
+ logger.debug "Calling operation VirtualNetworkClient#list_virtual_circuits." if logger
2766
+
2767
+ fail "Missing the required parameter 'compartment_id' when calling list_virtual_circuits." if compartment_id.nil?
2768
+
2769
+ path = "/virtualCircuits"
2770
+
2771
+ # Query Params
2772
+ query_params = {}
2773
+ query_params[:'compartmentId'] = compartment_id
2774
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
2775
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
2776
+
2777
+ # Header Params
2778
+ header_params = {}
2779
+ header_params['accept'] = 'application/json'
2780
+ header_params['content-type'] = 'application/json'
2781
+
2782
+ post_body = nil
2783
+
2784
+ return @api_client.call_api(
2785
+ :GET,
2786
+ path,
2787
+ endpoint,
2788
+ :header_params => header_params,
2789
+ :query_params => query_params,
2790
+ :body => post_body,
2791
+ :return_type => 'Array<OCI::Core::Models::VirtualCircuit>')
2792
+ end
2793
+
2794
+ # Updates the specified CPE's display name.
2795
+ # Avoid entering confidential information.
2796
+ #
2797
+ # @param [String] cpe_id The OCID of the CPE.
2798
+ # @param [UpdateCpeDetails] update_cpe_details Details object for updating a CPE.
2799
+ # @param [Hash] opts the optional parameters
2800
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
2801
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
2802
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
2803
+ #
2804
+ # @return [Response] A Response object with data of type OCI::Core::Models::Cpe
2805
+ def update_cpe(cpe_id, update_cpe_details, opts = {})
2806
+ logger.debug "Calling operation VirtualNetworkClient#update_cpe." if logger
2807
+
2808
+ fail "Missing the required parameter 'cpe_id' when calling update_cpe." if cpe_id.nil?
2809
+ fail "Missing the required parameter 'update_cpe_details' when calling update_cpe." if update_cpe_details.nil?
2810
+
2811
+ path = "/cpes/{cpeId}".sub('{cpeId}', cpe_id.to_s)
2812
+
2813
+ # Query Params
2814
+ query_params = {}
2815
+
2816
+ # Header Params
2817
+ header_params = {}
2818
+ header_params['accept'] = 'application/json'
2819
+ header_params['content-type'] = 'application/json'
2820
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
2821
+
2822
+ post_body = @api_client.object_to_http_body(update_cpe_details)
2823
+
2824
+ return @api_client.call_api(
2825
+ :PUT,
2826
+ path,
2827
+ endpoint,
2828
+ :header_params => header_params,
2829
+ :query_params => query_params,
2830
+ :body => post_body,
2831
+ :return_type => 'OCI::Core::Models::Cpe')
2832
+ end
2833
+
2834
+ # Updates the specified cross-connect.
2835
+ # @param [String] cross_connect_id The OCID of the cross-connect.
2836
+ # @param [UpdateCrossConnectDetails] update_cross_connect_details Update CrossConnect fields.
2837
+ # @param [Hash] opts the optional parameters
2838
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
2839
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
2840
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
2841
+ #
2842
+ # @return [Response] A Response object with data of type OCI::Core::Models::CrossConnect
2843
+ def update_cross_connect(cross_connect_id, update_cross_connect_details, opts = {})
2844
+ logger.debug "Calling operation VirtualNetworkClient#update_cross_connect." if logger
2845
+
2846
+ fail "Missing the required parameter 'cross_connect_id' when calling update_cross_connect." if cross_connect_id.nil?
2847
+ fail "Missing the required parameter 'update_cross_connect_details' when calling update_cross_connect." if update_cross_connect_details.nil?
2848
+
2849
+ path = "/crossConnects/{crossConnectId}".sub('{crossConnectId}', cross_connect_id.to_s)
2850
+
2851
+ # Query Params
2852
+ query_params = {}
2853
+
2854
+ # Header Params
2855
+ header_params = {}
2856
+ header_params['accept'] = 'application/json'
2857
+ header_params['content-type'] = 'application/json'
2858
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
2859
+
2860
+ post_body = @api_client.object_to_http_body(update_cross_connect_details)
2861
+
2862
+ return @api_client.call_api(
2863
+ :PUT,
2864
+ path,
2865
+ endpoint,
2866
+ :header_params => header_params,
2867
+ :query_params => query_params,
2868
+ :body => post_body,
2869
+ :return_type => 'OCI::Core::Models::CrossConnect')
2870
+ end
2871
+
2872
+ # Updates the specified cross-connect group's display name.
2873
+ # Avoid entering confidential information.
2874
+ #
2875
+ # @param [String] cross_connect_group_id The OCID of the cross-connect group.
2876
+ # @param [UpdateCrossConnectGroupDetails] update_cross_connect_group_details Update CrossConnectGroup fields
2877
+ # @param [Hash] opts the optional parameters
2878
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
2879
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
2880
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
2881
+ #
2882
+ # @return [Response] A Response object with data of type OCI::Core::Models::CrossConnectGroup
2883
+ def update_cross_connect_group(cross_connect_group_id, update_cross_connect_group_details, opts = {})
2884
+ logger.debug "Calling operation VirtualNetworkClient#update_cross_connect_group." if logger
2885
+
2886
+ fail "Missing the required parameter 'cross_connect_group_id' when calling update_cross_connect_group." if cross_connect_group_id.nil?
2887
+ fail "Missing the required parameter 'update_cross_connect_group_details' when calling update_cross_connect_group." if update_cross_connect_group_details.nil?
2888
+
2889
+ path = "/crossConnectGroups/{crossConnectGroupId}".sub('{crossConnectGroupId}', cross_connect_group_id.to_s)
2890
+
2891
+ # Query Params
2892
+ query_params = {}
2893
+
2894
+ # Header Params
2895
+ header_params = {}
2896
+ header_params['accept'] = 'application/json'
2897
+ header_params['content-type'] = 'application/json'
2898
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
2899
+
2900
+ post_body = @api_client.object_to_http_body(update_cross_connect_group_details)
2901
+
2902
+ return @api_client.call_api(
2903
+ :PUT,
2904
+ path,
2905
+ endpoint,
2906
+ :header_params => header_params,
2907
+ :query_params => query_params,
2908
+ :body => post_body,
2909
+ :return_type => 'OCI::Core::Models::CrossConnectGroup')
2910
+ end
2911
+
2912
+ # Updates the specified set of DHCP options. You can update the display name or the options
2913
+ # themselves. Avoid entering confidential information.
2914
+ #
2915
+ # Note that the `options` object you provide replaces the entire existing set of options.
2916
+ #
2917
+ # @param [String] dhcp_id The OCID for the set of DHCP options.
2918
+ # @param [UpdateDhcpDetails] update_dhcp_details Request object for updating a set of DHCP options.
2919
+ # @param [Hash] opts the optional parameters
2920
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
2921
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
2922
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
2923
+ #
2924
+ # @return [Response] A Response object with data of type OCI::Core::Models::DhcpOptions
2925
+ def update_dhcp_options(dhcp_id, update_dhcp_details, opts = {})
2926
+ logger.debug "Calling operation VirtualNetworkClient#update_dhcp_options." if logger
2927
+
2928
+ fail "Missing the required parameter 'dhcp_id' when calling update_dhcp_options." if dhcp_id.nil?
2929
+ fail "Missing the required parameter 'update_dhcp_details' when calling update_dhcp_options." if update_dhcp_details.nil?
2930
+
2931
+ path = "/dhcps/{dhcpId}".sub('{dhcpId}', dhcp_id.to_s)
2932
+
2933
+ # Query Params
2934
+ query_params = {}
2935
+
2936
+ # Header Params
2937
+ header_params = {}
2938
+ header_params['accept'] = 'application/json'
2939
+ header_params['content-type'] = 'application/json'
2940
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
2941
+
2942
+ post_body = @api_client.object_to_http_body(update_dhcp_details)
2943
+
2944
+ return @api_client.call_api(
2945
+ :PUT,
2946
+ path,
2947
+ endpoint,
2948
+ :header_params => header_params,
2949
+ :query_params => query_params,
2950
+ :body => post_body,
2951
+ :return_type => 'OCI::Core::Models::DhcpOptions')
2952
+ end
2953
+
2954
+ # Updates the specified DRG's display name. Avoid entering confidential information.
2955
+ #
2956
+ # @param [String] drg_id The OCID of the DRG.
2957
+ # @param [UpdateDrgDetails] update_drg_details Details object for updating a DRG.
2958
+ # @param [Hash] opts the optional parameters
2959
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
2960
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
2961
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
2962
+ #
2963
+ # @return [Response] A Response object with data of type OCI::Core::Models::Drg
2964
+ def update_drg(drg_id, update_drg_details, opts = {})
2965
+ logger.debug "Calling operation VirtualNetworkClient#update_drg." if logger
2966
+
2967
+ fail "Missing the required parameter 'drg_id' when calling update_drg." if drg_id.nil?
2968
+ fail "Missing the required parameter 'update_drg_details' when calling update_drg." if update_drg_details.nil?
2969
+
2970
+ path = "/drgs/{drgId}".sub('{drgId}', drg_id.to_s)
2971
+
2972
+ # Query Params
2973
+ query_params = {}
2974
+
2975
+ # Header Params
2976
+ header_params = {}
2977
+ header_params['accept'] = 'application/json'
2978
+ header_params['content-type'] = 'application/json'
2979
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
2980
+
2981
+ post_body = @api_client.object_to_http_body(update_drg_details)
2982
+
2983
+ return @api_client.call_api(
2984
+ :PUT,
2985
+ path,
2986
+ endpoint,
2987
+ :header_params => header_params,
2988
+ :query_params => query_params,
2989
+ :body => post_body,
2990
+ :return_type => 'OCI::Core::Models::Drg')
2991
+ end
2992
+
2993
+ # Updates the display name for the specified `DrgAttachment`.
2994
+ # Avoid entering confidential information.
2995
+ #
2996
+ # @param [String] drg_attachment_id The OCID of the DRG attachment.
2997
+ # @param [UpdateDrgAttachmentDetails] update_drg_attachment_details Details object for updating a `DrgAttachment`.
2998
+ # @param [Hash] opts the optional parameters
2999
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
3000
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
3001
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
3002
+ #
3003
+ # @return [Response] A Response object with data of type OCI::Core::Models::DrgAttachment
3004
+ def update_drg_attachment(drg_attachment_id, update_drg_attachment_details, opts = {})
3005
+ logger.debug "Calling operation VirtualNetworkClient#update_drg_attachment." if logger
3006
+
3007
+ fail "Missing the required parameter 'drg_attachment_id' when calling update_drg_attachment." if drg_attachment_id.nil?
3008
+ fail "Missing the required parameter 'update_drg_attachment_details' when calling update_drg_attachment." if update_drg_attachment_details.nil?
3009
+
3010
+ path = "/drgAttachments/{drgAttachmentId}".sub('{drgAttachmentId}', drg_attachment_id.to_s)
3011
+
3012
+ # Query Params
3013
+ query_params = {}
3014
+
3015
+ # Header Params
3016
+ header_params = {}
3017
+ header_params['accept'] = 'application/json'
3018
+ header_params['content-type'] = 'application/json'
3019
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
3020
+
3021
+ post_body = @api_client.object_to_http_body(update_drg_attachment_details)
3022
+
3023
+ return @api_client.call_api(
3024
+ :PUT,
3025
+ path,
3026
+ endpoint,
3027
+ :header_params => header_params,
3028
+ :query_params => query_params,
3029
+ :body => post_body,
3030
+ :return_type => 'OCI::Core::Models::DrgAttachment')
3031
+ end
3032
+
3033
+ # Updates the specified Internet Gateway. You can disable/enable it, or change its display name.
3034
+ # Avoid entering confidential information.
3035
+ #
3036
+ # If the gateway is disabled, that means no traffic will flow to/from the internet even if there's
3037
+ # a route rule that enables that traffic.
3038
+ #
3039
+ # @param [String] ig_id The OCID of the Internet Gateway.
3040
+ # @param [UpdateInternetGatewayDetails] update_internet_gateway_details Details for updating the Internet Gateway.
3041
+ # @param [Hash] opts the optional parameters
3042
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
3043
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
3044
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
3045
+ #
3046
+ # @return [Response] A Response object with data of type OCI::Core::Models::InternetGateway
3047
+ def update_internet_gateway(ig_id, update_internet_gateway_details, opts = {})
3048
+ logger.debug "Calling operation VirtualNetworkClient#update_internet_gateway." if logger
3049
+
3050
+ fail "Missing the required parameter 'ig_id' when calling update_internet_gateway." if ig_id.nil?
3051
+ fail "Missing the required parameter 'update_internet_gateway_details' when calling update_internet_gateway." if update_internet_gateway_details.nil?
3052
+
3053
+ path = "/internetGateways/{igId}".sub('{igId}', ig_id.to_s)
3054
+
3055
+ # Query Params
3056
+ query_params = {}
3057
+
3058
+ # Header Params
3059
+ header_params = {}
3060
+ header_params['accept'] = 'application/json'
3061
+ header_params['content-type'] = 'application/json'
3062
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
3063
+
3064
+ post_body = @api_client.object_to_http_body(update_internet_gateway_details)
3065
+
3066
+ return @api_client.call_api(
3067
+ :PUT,
3068
+ path,
3069
+ endpoint,
3070
+ :header_params => header_params,
3071
+ :query_params => query_params,
3072
+ :body => post_body,
3073
+ :return_type => 'OCI::Core::Models::InternetGateway')
3074
+ end
3075
+
3076
+ # Updates the display name for the specified IPSec connection.
3077
+ # Avoid entering confidential information.
3078
+ #
3079
+ # @param [String] ipsc_id The OCID of the IPSec connection.
3080
+ # @param [UpdateIPSecConnectionDetails] update_ip_sec_connection_details Details object for updating a IPSec connection.
3081
+ # @param [Hash] opts the optional parameters
3082
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
3083
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
3084
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
3085
+ #
3086
+ # @return [Response] A Response object with data of type OCI::Core::Models::IPSecConnection
3087
+ def update_ip_sec_connection(ipsc_id, update_ip_sec_connection_details, opts = {})
3088
+ logger.debug "Calling operation VirtualNetworkClient#update_ip_sec_connection." if logger
3089
+
3090
+ fail "Missing the required parameter 'ipsc_id' when calling update_ip_sec_connection." if ipsc_id.nil?
3091
+ fail "Missing the required parameter 'update_ip_sec_connection_details' when calling update_ip_sec_connection." if update_ip_sec_connection_details.nil?
3092
+
3093
+ path = "/ipsecConnections/{ipscId}".sub('{ipscId}', ipsc_id.to_s)
3094
+
3095
+ # Query Params
3096
+ query_params = {}
3097
+
3098
+ # Header Params
3099
+ header_params = {}
3100
+ header_params['accept'] = 'application/json'
3101
+ header_params['content-type'] = 'application/json'
3102
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
3103
+
3104
+ post_body = @api_client.object_to_http_body(update_ip_sec_connection_details)
3105
+
3106
+ return @api_client.call_api(
3107
+ :PUT,
3108
+ path,
3109
+ endpoint,
3110
+ :header_params => header_params,
3111
+ :query_params => query_params,
3112
+ :body => post_body,
3113
+ :return_type => 'OCI::Core::Models::IPSecConnection')
3114
+ end
3115
+
3116
+ # Updates the specified private IP. You must specify the object's OCID.
3117
+ # Use this operation if you want to:
3118
+ #
3119
+ # - Move a secondary private IP to a different VNIC in the same subnet.
3120
+ # - Change the display name for a secondary private IP.
3121
+ # - Change the hostname for a secondary private IP.
3122
+ #
3123
+ # This operation cannot be used with primary private IPs.
3124
+ # To update the hostname for the primary IP on a VNIC, use
3125
+ # {#update_vnic update_vnic}.
3126
+ #
3127
+ # @param [String] private_ip_id The private IP's OCID.
3128
+ # @param [UpdatePrivateIpDetails] update_private_ip_details Private IP details.
3129
+ # @param [Hash] opts the optional parameters
3130
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
3131
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
3132
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
3133
+ #
3134
+ # @return [Response] A Response object with data of type OCI::Core::Models::PrivateIp
3135
+ def update_private_ip(private_ip_id, update_private_ip_details, opts = {})
3136
+ logger.debug "Calling operation VirtualNetworkClient#update_private_ip." if logger
3137
+
3138
+ fail "Missing the required parameter 'private_ip_id' when calling update_private_ip." if private_ip_id.nil?
3139
+ fail "Missing the required parameter 'update_private_ip_details' when calling update_private_ip." if update_private_ip_details.nil?
3140
+
3141
+ path = "/privateIps/{privateIpId}".sub('{privateIpId}', private_ip_id.to_s)
3142
+
3143
+ # Query Params
3144
+ query_params = {}
3145
+
3146
+ # Header Params
3147
+ header_params = {}
3148
+ header_params['accept'] = 'application/json'
3149
+ header_params['content-type'] = 'application/json'
3150
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
3151
+
3152
+ post_body = @api_client.object_to_http_body(update_private_ip_details)
3153
+
3154
+ return @api_client.call_api(
3155
+ :PUT,
3156
+ path,
3157
+ endpoint,
3158
+ :header_params => header_params,
3159
+ :query_params => query_params,
3160
+ :body => post_body,
3161
+ :return_type => 'OCI::Core::Models::PrivateIp')
3162
+ end
3163
+
3164
+ # Updates the specified route table's display name or route rules.
3165
+ # Avoid entering confidential information.
3166
+ #
3167
+ # Note that the `routeRules` object you provide replaces the entire existing set of rules.
3168
+ #
3169
+ # @param [String] rt_id The OCID of the route table.
3170
+ # @param [UpdateRouteTableDetails] update_route_table_details Details object for updating a route table.
3171
+ # @param [Hash] opts the optional parameters
3172
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
3173
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
3174
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
3175
+ #
3176
+ # @return [Response] A Response object with data of type OCI::Core::Models::RouteTable
3177
+ def update_route_table(rt_id, update_route_table_details, opts = {})
3178
+ logger.debug "Calling operation VirtualNetworkClient#update_route_table." if logger
3179
+
3180
+ fail "Missing the required parameter 'rt_id' when calling update_route_table." if rt_id.nil?
3181
+ fail "Missing the required parameter 'update_route_table_details' when calling update_route_table." if update_route_table_details.nil?
3182
+
3183
+ path = "/routeTables/{rtId}".sub('{rtId}', rt_id.to_s)
3184
+
3185
+ # Query Params
3186
+ query_params = {}
3187
+
3188
+ # Header Params
3189
+ header_params = {}
3190
+ header_params['accept'] = 'application/json'
3191
+ header_params['content-type'] = 'application/json'
3192
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
3193
+
3194
+ post_body = @api_client.object_to_http_body(update_route_table_details)
3195
+
3196
+ return @api_client.call_api(
3197
+ :PUT,
3198
+ path,
3199
+ endpoint,
3200
+ :header_params => header_params,
3201
+ :query_params => query_params,
3202
+ :body => post_body,
3203
+ :return_type => 'OCI::Core::Models::RouteTable')
3204
+ end
3205
+
3206
+ # Updates the specified security list's display name or rules.
3207
+ # Avoid entering confidential information.
3208
+ #
3209
+ # Note that the `egressSecurityRules` or `ingressSecurityRules` objects you provide replace the entire
3210
+ # existing objects.
3211
+ #
3212
+ # @param [String] security_list_id The OCID of the security list.
3213
+ # @param [UpdateSecurityListDetails] update_security_list_details Updated details for the security list.
3214
+ # @param [Hash] opts the optional parameters
3215
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
3216
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
3217
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
3218
+ #
3219
+ # @return [Response] A Response object with data of type OCI::Core::Models::SecurityList
3220
+ def update_security_list(security_list_id, update_security_list_details, opts = {})
3221
+ logger.debug "Calling operation VirtualNetworkClient#update_security_list." if logger
3222
+
3223
+ fail "Missing the required parameter 'security_list_id' when calling update_security_list." if security_list_id.nil?
3224
+ fail "Missing the required parameter 'update_security_list_details' when calling update_security_list." if update_security_list_details.nil?
3225
+
3226
+ path = "/securityLists/{securityListId}".sub('{securityListId}', security_list_id.to_s)
3227
+
3228
+ # Query Params
3229
+ query_params = {}
3230
+
3231
+ # Header Params
3232
+ header_params = {}
3233
+ header_params['accept'] = 'application/json'
3234
+ header_params['content-type'] = 'application/json'
3235
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
3236
+
3237
+ post_body = @api_client.object_to_http_body(update_security_list_details)
3238
+
3239
+ return @api_client.call_api(
3240
+ :PUT,
3241
+ path,
3242
+ endpoint,
3243
+ :header_params => header_params,
3244
+ :query_params => query_params,
3245
+ :body => post_body,
3246
+ :return_type => 'OCI::Core::Models::SecurityList')
3247
+ end
3248
+
3249
+ # Updates the specified subnet's display name. Avoid entering confidential information.
3250
+ #
3251
+ # @param [String] subnet_id The OCID of the subnet.
3252
+ # @param [UpdateSubnetDetails] update_subnet_details Details object for updating a subnet.
3253
+ # @param [Hash] opts the optional parameters
3254
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
3255
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
3256
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
3257
+ #
3258
+ # @return [Response] A Response object with data of type OCI::Core::Models::Subnet
3259
+ def update_subnet(subnet_id, update_subnet_details, opts = {})
3260
+ logger.debug "Calling operation VirtualNetworkClient#update_subnet." if logger
3261
+
3262
+ fail "Missing the required parameter 'subnet_id' when calling update_subnet." if subnet_id.nil?
3263
+ fail "Missing the required parameter 'update_subnet_details' when calling update_subnet." if update_subnet_details.nil?
3264
+
3265
+ path = "/subnets/{subnetId}".sub('{subnetId}', subnet_id.to_s)
3266
+
3267
+ # Query Params
3268
+ query_params = {}
3269
+
3270
+ # Header Params
3271
+ header_params = {}
3272
+ header_params['accept'] = 'application/json'
3273
+ header_params['content-type'] = 'application/json'
3274
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
3275
+
3276
+ post_body = @api_client.object_to_http_body(update_subnet_details)
3277
+
3278
+ return @api_client.call_api(
3279
+ :PUT,
3280
+ path,
3281
+ endpoint,
3282
+ :header_params => header_params,
3283
+ :query_params => query_params,
3284
+ :body => post_body,
3285
+ :return_type => 'OCI::Core::Models::Subnet')
3286
+ end
3287
+
3288
+ # Updates the specified VCN's display name.
3289
+ # Avoid entering confidential information.
3290
+ #
3291
+ # @param [String] vcn_id The OCID of the VCN.
3292
+ # @param [UpdateVcnDetails] update_vcn_details Details object for updating a VCN.
3293
+ # @param [Hash] opts the optional parameters
3294
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
3295
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
3296
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
3297
+ #
3298
+ # @return [Response] A Response object with data of type OCI::Core::Models::Vcn
3299
+ def update_vcn(vcn_id, update_vcn_details, opts = {})
3300
+ logger.debug "Calling operation VirtualNetworkClient#update_vcn." if logger
3301
+
3302
+ fail "Missing the required parameter 'vcn_id' when calling update_vcn." if vcn_id.nil?
3303
+ fail "Missing the required parameter 'update_vcn_details' when calling update_vcn." if update_vcn_details.nil?
3304
+
3305
+ path = "/vcns/{vcnId}".sub('{vcnId}', vcn_id.to_s)
3306
+
3307
+ # Query Params
3308
+ query_params = {}
3309
+
3310
+ # Header Params
3311
+ header_params = {}
3312
+ header_params['accept'] = 'application/json'
3313
+ header_params['content-type'] = 'application/json'
3314
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
3315
+
3316
+ post_body = @api_client.object_to_http_body(update_vcn_details)
3317
+
3318
+ return @api_client.call_api(
3319
+ :PUT,
3320
+ path,
3321
+ endpoint,
3322
+ :header_params => header_params,
3323
+ :query_params => query_params,
3324
+ :body => post_body,
3325
+ :return_type => 'OCI::Core::Models::Vcn')
3326
+ end
3327
+
3328
+ # Updates the specified virtual circuit. This can be called by
3329
+ # either the customer who owns the virtual circuit, or the
3330
+ # provider (when provisioning or de-provisioning the virtual
3331
+ # circuit from their end). The documentation for
3332
+ # {#update_virtual_circuit_details update_virtual_circuit_details}
3333
+ # indicates who can update each property of the virtual circuit.
3334
+ #
3335
+ # **Important:** If the virtual circuit is working and in the
3336
+ # PROVISIONED state, updating any of the network-related properties
3337
+ # (such as the DRG being used, the BGP ASN, and so on) will cause the virtual
3338
+ # circuit's state to switch to PROVISIONING and the related BGP
3339
+ # session to go down. After Oracle re-provisions the virtual circuit,
3340
+ # its state will return to PROVISIONED. Make sure you confirm that
3341
+ # the associated BGP session is back up. For more information
3342
+ # about the various states and how to test connectivity, see
3343
+ # [FastConnect Overview](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Concepts/fastconnect.htm).
3344
+ #
3345
+ # @param [String] virtual_circuit_id The OCID of the virtual circuit.
3346
+ # @param [UpdateVirtualCircuitDetails] update_virtual_circuit_details Update VirtualCircuit fields.
3347
+ # @param [Hash] opts the optional parameters
3348
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
3349
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
3350
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
3351
+ #
3352
+ # @return [Response] A Response object with data of type OCI::Core::Models::VirtualCircuit
3353
+ def update_virtual_circuit(virtual_circuit_id, update_virtual_circuit_details, opts = {})
3354
+ logger.debug "Calling operation VirtualNetworkClient#update_virtual_circuit." if logger
3355
+
3356
+ fail "Missing the required parameter 'virtual_circuit_id' when calling update_virtual_circuit." if virtual_circuit_id.nil?
3357
+ fail "Missing the required parameter 'update_virtual_circuit_details' when calling update_virtual_circuit." if update_virtual_circuit_details.nil?
3358
+
3359
+ path = "/virtualCircuits/{virtualCircuitId}".sub('{virtualCircuitId}', virtual_circuit_id.to_s)
3360
+
3361
+ # Query Params
3362
+ query_params = {}
3363
+
3364
+ # Header Params
3365
+ header_params = {}
3366
+ header_params['accept'] = 'application/json'
3367
+ header_params['content-type'] = 'application/json'
3368
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
3369
+
3370
+ post_body = @api_client.object_to_http_body(update_virtual_circuit_details)
3371
+
3372
+ return @api_client.call_api(
3373
+ :PUT,
3374
+ path,
3375
+ endpoint,
3376
+ :header_params => header_params,
3377
+ :query_params => query_params,
3378
+ :body => post_body,
3379
+ :return_type => 'OCI::Core::Models::VirtualCircuit')
3380
+ end
3381
+
3382
+ # Updates the specified VNIC.
3383
+ #
3384
+ # @param [String] vnic_id The OCID of the VNIC.
3385
+ # @param [UpdateVnicDetails] update_vnic_details Details object for updating a VNIC.
3386
+ # @param [Hash] opts the optional parameters
3387
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
3388
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
3389
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
3390
+ #
3391
+ # @return [Response] A Response object with data of type OCI::Core::Models::Vnic
3392
+ def update_vnic(vnic_id, update_vnic_details, opts = {})
3393
+ logger.debug "Calling operation VirtualNetworkClient#update_vnic." if logger
3394
+
3395
+ fail "Missing the required parameter 'vnic_id' when calling update_vnic." if vnic_id.nil?
3396
+ fail "Missing the required parameter 'update_vnic_details' when calling update_vnic." if update_vnic_details.nil?
3397
+
3398
+ path = "/vnics/{vnicId}".sub('{vnicId}', vnic_id.to_s)
3399
+
3400
+ # Query Params
3401
+ query_params = {}
3402
+
3403
+ # Header Params
3404
+ header_params = {}
3405
+ header_params['accept'] = 'application/json'
3406
+ header_params['content-type'] = 'application/json'
3407
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
3408
+
3409
+ post_body = @api_client.object_to_http_body(update_vnic_details)
3410
+
3411
+ return @api_client.call_api(
3412
+ :PUT,
3413
+ path,
3414
+ endpoint,
3415
+ :header_params => header_params,
3416
+ :query_params => query_params,
3417
+ :body => post_body,
3418
+ :return_type => 'OCI::Core::Models::Vnic')
3419
+ end
3420
+ end
3421
+ end