oraclebmc 1.2.1 → 1.2.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +6 -2
  3. data/lib/oraclebmc/core/blockstorage_client.rb +2 -2
  4. data/lib/oraclebmc/core/compute_client.rb +8 -7
  5. data/lib/oraclebmc/core/core.rb +17 -0
  6. data/lib/oraclebmc/core/models/create_cross_connect_details.rb +203 -0
  7. data/lib/oraclebmc/core/models/create_cross_connect_group_details.rb +132 -0
  8. data/lib/oraclebmc/core/models/create_subnet_details.rb +24 -3
  9. data/lib/oraclebmc/core/models/create_vcn_details.rb +2 -2
  10. data/lib/oraclebmc/core/models/create_virtual_circuit_details.rb +261 -0
  11. data/lib/oraclebmc/core/models/create_vnic_details.rb +202 -0
  12. data/lib/oraclebmc/core/models/cross_connect.rb +234 -0
  13. data/lib/oraclebmc/core/models/cross_connect_group.rb +187 -0
  14. data/lib/oraclebmc/core/models/cross_connect_location.rb +135 -0
  15. data/lib/oraclebmc/core/models/cross_connect_mapping.rb +191 -0
  16. data/lib/oraclebmc/core/models/cross_connect_port_speed_shape.rb +138 -0
  17. data/lib/oraclebmc/core/models/cross_connect_status.rb +201 -0
  18. data/lib/oraclebmc/core/models/dhcp_dns_option.rb +7 -7
  19. data/lib/oraclebmc/core/models/dhcp_option.rb +1 -1
  20. data/lib/oraclebmc/core/models/dhcp_search_domain_option.rb +6 -7
  21. data/lib/oraclebmc/core/models/fast_connect_provider_service.rb +146 -0
  22. data/lib/oraclebmc/core/models/image.rb +1 -1
  23. data/lib/oraclebmc/core/models/instance.rb +6 -7
  24. data/lib/oraclebmc/core/models/launch_instance_details.rb +22 -19
  25. data/lib/oraclebmc/core/models/letter_of_authority.rb +195 -0
  26. data/lib/oraclebmc/core/models/subnet.rb +26 -5
  27. data/lib/oraclebmc/core/models/update_cross_connect_details.rb +137 -0
  28. data/lib/oraclebmc/core/models/update_cross_connect_group_details.rb +121 -0
  29. data/lib/oraclebmc/core/models/update_virtual_circuit_details.rb +240 -0
  30. data/lib/oraclebmc/core/models/vcn.rb +4 -4
  31. data/lib/oraclebmc/core/models/virtual_circuit.rb +395 -0
  32. data/lib/oraclebmc/core/models/virtual_circuit_bandwidth_shape.rb +138 -0
  33. data/lib/oraclebmc/core/models/vnic.rb +4 -4
  34. data/lib/oraclebmc/core/virtual_network_client.rb +962 -85
  35. data/lib/oraclebmc/identity/identity.rb +13 -0
  36. data/lib/oraclebmc/identity/identity_client.rb +533 -8
  37. data/lib/oraclebmc/identity/models/create_identity_provider_details.rb +213 -0
  38. data/lib/oraclebmc/identity/models/create_idp_group_mapping_details.rb +134 -0
  39. data/lib/oraclebmc/identity/models/create_region_subscription_details.rb +128 -0
  40. data/lib/oraclebmc/identity/models/create_saml2_identity_provider_details.rb +155 -0
  41. data/lib/oraclebmc/identity/models/create_user_details.rb +1 -1
  42. data/lib/oraclebmc/identity/models/identity_provider.rb +257 -0
  43. data/lib/oraclebmc/identity/models/idp_group_mapping.rb +221 -0
  44. data/lib/oraclebmc/identity/models/region.rb +142 -0
  45. data/lib/oraclebmc/identity/models/region_subscription.rb +179 -0
  46. data/lib/oraclebmc/identity/models/saml2_identity_provider.rb +181 -0
  47. data/lib/oraclebmc/identity/models/tenancy.rb +159 -0
  48. data/lib/oraclebmc/identity/models/update_identity_provider_details.rb +161 -0
  49. data/lib/oraclebmc/identity/models/update_idp_group_mapping_details.rb +132 -0
  50. data/lib/oraclebmc/identity/models/update_saml2_identity_provider_details.rb +146 -0
  51. data/lib/oraclebmc/regions.rb +1 -1
  52. data/lib/oraclebmc/version.rb +1 -1
  53. metadata +32 -2
@@ -28,14 +28,14 @@ module OracleBMC
28
28
 
29
29
  # The hostname for the VNIC that is created during instance launch.
30
30
  # Used for DNS. The value is the hostname portion of the instance's
31
- # fully qualified domain name (FQDN) (e.g., `bminstance-1` in FQDN
31
+ # fully qualified domain name (FQDN) (e.g., `bminstance-1` in FQDN
32
32
  # `bminstance-1.subnet123.vcn1.oraclevcn.com`).
33
33
  # Must be unique across all VNICs in the subnet and comply with
34
- # [RFC 952](https://tools.ietf.org/html/rfc952) and
34
+ # [RFC 952](https://tools.ietf.org/html/rfc952) and
35
35
  # [RFC 1123](https://tools.ietf.org/html/rfc1123).
36
36
  # The value cannot be changed.
37
37
  #
38
- # For more information, see
38
+ # For more information, see
39
39
  # [DNS in Your Virtual Cloud Network](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Concepts/dns.htm).
40
40
  #
41
41
  # Example: `bminstance-1`
@@ -57,7 +57,7 @@ module OracleBMC
57
57
  # @return [String]
58
58
  attr_accessor :private_ip
59
59
 
60
- # The public IP address of the VNIC.
60
+ # The public IP address of the VNIC, if one is assigned.
61
61
  #
62
62
  # @return [String]
63
63
  attr_accessor :public_ip
@@ -56,20 +56,20 @@ module OracleBMC
56
56
  end
57
57
 
58
58
 
59
- # Creates a new virtual Customer-Premise Equipment (CPE) object in the specified compartment. For
60
- # more information, see [Managing Customer-Premise Equipment (CPE)](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Tasks/managingCPEs.htm).
59
+ # Creates a new virtual Customer-Premises Equipment (CPE) object in the specified compartment. For
60
+ # more information, see [Managing IPSec VPNs](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Tasks/managingIPsec.htm).
61
61
  #
62
62
  # For the purposes of access control, you must provide the OCID of the compartment where you want
63
63
  # the CPE to reside. Notice that the CPE doesn't have to be in the same compartment as the IPSec
64
64
  # connection or other Networking Service components. If you're not sure which compartment to
65
- # use, put the CPE in the same compartment as the IPSec connection. For more information about
65
+ # use, put the CPE in the same compartment as the DRG. For more information about
66
66
  # compartments and access control, see [Overview of the IAM Service](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/overview.htm).
67
67
  # For information about OCIDs, see [Resource Identifiers](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
68
68
  #
69
69
  # You must provide the public IP address of your on-premise router. See
70
70
  # [Configuring Your On-Premise Router](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Tasks/configuringCPE.htm).
71
71
  #
72
- # You may optionally specify a *display name* for the CPE, otherwise a default is provided. It does not have to
72
+ # You may optionally specify a *display name* for the CPE, otherwise a default is provided. It does not have to
73
73
  # be unique, and you can change it.
74
74
  #
75
75
  # @param [CreateCpeDetails] create_cpe_details Details for creating a CPE.
@@ -109,6 +109,116 @@ module OracleBMC
109
109
  :return_type => 'OracleBMC::Core::Models::Cpe')
110
110
  end
111
111
 
112
+ # Creates a new cross-connect. Oracle recommends you create each cross-connect in a
113
+ # {CrossConnectGroup} so you can use link aggregation
114
+ # with the connection.
115
+ #
116
+ # After creating the `CrossConnect` object, you need to go the FastConnect location
117
+ # and request to have the physical cable installed. For more information, see
118
+ # [FastConnect Overview](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Concepts/fastconnect.htm).
119
+ #
120
+ # For the purposes of access control, you must provide the OCID of the
121
+ # compartment where you want the cross-connect to reside. If you're
122
+ # not sure which compartment to use, put the cross-connect in the
123
+ # same compartment with your VCN. For more information about
124
+ # compartments and access control, see
125
+ # [Overview of the IAM Service](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/overview.htm).
126
+ # For information about OCIDs, see
127
+ # [Resource Identifiers](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
128
+ #
129
+ # You may optionally specify a *display name* for the cross-connect.
130
+ # It does not have to be unique, and you can change it.
131
+ #
132
+ # @param [CreateCrossConnectDetails] create_cross_connect_details Details to create a CrossConnect
133
+ # @param [Hash] opts the optional parameters
134
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
135
+ # server error without risk of executing that same action again. Retry tokens expire after 24
136
+ # hours, but can be invalidated before then due to conflicting operations (e.g., if a resource
137
+ # has been deleted and purged from the system, then a retry of the original creation request
138
+ # may be rejected).
139
+ #
140
+ # @return [Response] A Response object with data of type OracleBMC::Core::Models::CrossConnect
141
+ def create_cross_connect(create_cross_connect_details, opts = {})
142
+ logger.debug "Calling operation VirtualNetworkClient#create_cross_connect." if logger
143
+
144
+ fail "Missing the required parameter 'create_cross_connect_details' when calling create_cross_connect." if create_cross_connect_details.nil?
145
+
146
+ path = "/crossConnects"
147
+
148
+ # Query Params
149
+ query_params = {}
150
+
151
+ # Header Params
152
+ header_params = {}
153
+ header_params['accept'] = 'application/json'
154
+ header_params['content-type'] = 'application/json'
155
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
156
+
157
+ post_body = @api_client.object_to_http_body(create_cross_connect_details)
158
+
159
+ return @api_client.call_api(
160
+ :POST,
161
+ path,
162
+ endpoint,
163
+ :header_params => header_params,
164
+ :query_params => query_params,
165
+ :body => post_body,
166
+ :return_type => 'OracleBMC::Core::Models::CrossConnect')
167
+ end
168
+
169
+ # Creates a new cross-connect group to use with Oracle Bare Metal Cloud Services
170
+ # FastConnect. For more information, see
171
+ # [FastConnect Overview](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Concepts/fastconnect.htm).
172
+ #
173
+ # For the purposes of access control, you must provide the OCID of the
174
+ # compartment where you want the cross-connect group to reside. If you're
175
+ # not sure which compartment to use, put the cross-connect group in the
176
+ # same compartment with your VCN. For more information about
177
+ # compartments and access control, see
178
+ # [Overview of the IAM Service](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/overview.htm).
179
+ # For information about OCIDs, see
180
+ # [Resource Identifiers](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
181
+ #
182
+ # You may optionally specify a *display name* for the cross-connect group.
183
+ # It does not have to be unique, and you can change it.
184
+ #
185
+ # @param [CreateCrossConnectGroupDetails] create_cross_connect_group_details Details to create a CrossConnectGroup
186
+ # @param [Hash] opts the optional parameters
187
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
188
+ # server error without risk of executing that same action again. Retry tokens expire after 24
189
+ # hours, but can be invalidated before then due to conflicting operations (e.g., if a resource
190
+ # has been deleted and purged from the system, then a retry of the original creation request
191
+ # may be rejected).
192
+ #
193
+ # @return [Response] A Response object with data of type OracleBMC::Core::Models::CrossConnectGroup
194
+ def create_cross_connect_group(create_cross_connect_group_details, opts = {})
195
+ logger.debug "Calling operation VirtualNetworkClient#create_cross_connect_group." if logger
196
+
197
+ fail "Missing the required parameter 'create_cross_connect_group_details' when calling create_cross_connect_group." if create_cross_connect_group_details.nil?
198
+
199
+ path = "/crossConnectGroups"
200
+
201
+ # Query Params
202
+ query_params = {}
203
+
204
+ # Header Params
205
+ header_params = {}
206
+ header_params['accept'] = 'application/json'
207
+ header_params['content-type'] = 'application/json'
208
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
209
+
210
+ post_body = @api_client.object_to_http_body(create_cross_connect_group_details)
211
+
212
+ return @api_client.call_api(
213
+ :POST,
214
+ path,
215
+ endpoint,
216
+ :header_params => header_params,
217
+ :query_params => query_params,
218
+ :body => post_body,
219
+ :return_type => 'OracleBMC::Core::Models::CrossConnectGroup')
220
+ end
221
+
112
222
  # Creates a new set of DHCP options for the specified VCN. For more information, see
113
223
  # {DhcpOptions}.
114
224
  #
@@ -119,7 +229,7 @@ module OracleBMC
119
229
  # [Overview of the IAM Service](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/overview.htm). For information about OCIDs, see
120
230
  # [Resource Identifiers](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
121
231
  #
122
- # You may optionally specify a *display name* for the set of DHCP options, otherwise a default is provided.
232
+ # You may optionally specify a *display name* for the set of DHCP options, otherwise a default is provided.
123
233
  # It does not have to be unique, and you can change it.
124
234
  #
125
235
  # @param [CreateDhcpDetails] create_dhcp_details Request object for creating a new set of DHCP options.
@@ -169,7 +279,7 @@ module OracleBMC
169
279
  # and access control, see [Overview of the IAM Service](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/overview.htm).
170
280
  # For information about OCIDs, see [Resource Identifiers](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
171
281
  #
172
- # You may optionally specify a *display name* for the DRG, otherwise a default is provided.
282
+ # You may optionally specify a *display name* for the DRG, otherwise a default is provided.
173
283
  # It does not have to be unique, and you can change it.
174
284
  #
175
285
  # @param [CreateDrgDetails] create_drg_details Details for creating a DRG.
@@ -209,11 +319,12 @@ module OracleBMC
209
319
  :return_type => 'OracleBMC::Core::Models::Drg')
210
320
  end
211
321
 
212
- # Attaches the specified DRG to the specified VCN. A VCN can be attached to only one DRG at a time.
213
- # The response includes a `DrgAttachment` object with its own OCID. For more information about DRGs, see
322
+ # Attaches the specified DRG to the specified VCN. A VCN can be attached to only one DRG at a time,
323
+ # and vice versa. The response includes a `DrgAttachment` object with its own OCID. For more
324
+ # information about DRGs, see
214
325
  # [Managing Dynamic Routing Gateways (DRGs)](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Tasks/managingDRGs.htm).
215
326
  #
216
- # You may optionally specify a *display name* for the attachment, otherwise a default is provided.
327
+ # You may optionally specify a *display name* for the attachment, otherwise a default is provided.
217
328
  # It does not have to be unique, and you can change it.
218
329
  #
219
330
  # For the purposes of access control, the DRG attachment is automatically placed into the same compartment
@@ -257,7 +368,7 @@ module OracleBMC
257
368
  :return_type => 'OracleBMC::Core::Models::DrgAttachment')
258
369
  end
259
370
 
260
- # Creates a new Internet Gateway for the specified VCN. For more information, see
371
+ # Creates a new Internet Gateway for the specified VCN. For more information, see
261
372
  # [Managing Internet Gateways](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Tasks/managingIGs.htm).
262
373
  #
263
374
  # For the purposes of access control, you must provide the OCID of the compartment where you want the Internet
@@ -267,7 +378,7 @@ module OracleBMC
267
378
  # [Overview of the IAM Service](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/overview.htm). For information about OCIDs, see
268
379
  # [Resource Identifiers](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
269
380
  #
270
- # You may optionally specify a *display name* for the Internet Gateway, otherwise a default is provided. It
381
+ # You may optionally specify a *display name* for the Internet Gateway, otherwise a default is provided. It
271
382
  # does not have to be unique, and you can change it.
272
383
  #
273
384
  # For traffic to flow between a subnet and an Internet Gateway, you must create a route rule accordingly in
@@ -276,7 +387,7 @@ module OracleBMC
276
387
  #
277
388
  # You must specify whether the Internet Gateway is enabled when you create it. If it's disabled, that means no
278
389
  # traffic will flow to/from the internet even if there's a route rule that enables that traffic. You can later
279
- # use {#update_internet_gateway update_internet_gateway} to easily disable/enable
390
+ # use {#update_internet_gateway update_internet_gateway} to easily disable/enable
280
391
  # the gateway without changing the route rule.
281
392
  #
282
393
  # @param [CreateInternetGatewayDetails] create_internet_gateway_details Details for creating a new Internet Gateway.
@@ -325,19 +436,19 @@ module OracleBMC
325
436
  # For the purposes of access control, you must provide the OCID of the compartment where you want the
326
437
  # IPSec connection to reside. Notice that the IPSec connection doesn't have to be in the same compartment
327
438
  # as the DRG, CPE, or other Networking Service components. If you're not sure which compartment to
328
- # use, put the IPSec connection in the same compartment as the CPE. For more information about
439
+ # use, put the IPSec connection in the same compartment as the DRG. For more information about
329
440
  # compartments and access control, see
330
441
  # [Overview of the IAM Service](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/overview.htm).
331
442
  # For information about OCIDs, see [Resource Identifiers](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
332
443
  #
333
- # You may optionally specify a *display name* for the IPSec connection, otherwise a default is provided.
444
+ # You may optionally specify a *display name* for the IPSec connection, otherwise a default is provided.
334
445
  # It does not have to be unique, and you can change it.
335
446
  #
336
447
  # After creating the IPSec connection, you need to configure your on-premise router
337
448
  # with tunnel-specific information returned by
338
- # {#get_ip_sec_connection_device_config get_ip_sec_connection_device_config}.
339
- # For each tunnel, that operation gives you the IP address of Oracle's VPN headend and the shared secret
340
- # (i.e., the pre-shared key). For more information, see
449
+ # {#get_ip_sec_connection_device_config get_ip_sec_connection_device_config}.
450
+ # For each tunnel, that operation gives you the IP address of Oracle's VPN headend and the shared secret
451
+ # (i.e., the pre-shared key). For more information, see
341
452
  # [Configuring Your On-Premise Router](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Tasks/configuringCPE.htm).
342
453
  #
343
454
  # To get the status of the tunnels (whether they're up or down), use
@@ -392,7 +503,7 @@ module OracleBMC
392
503
  # [Overview of the IAM Service](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/overview.htm). For information about OCIDs, see
393
504
  # [Resource Identifiers](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
394
505
  #
395
- # You may optionally specify a *display name* for the route table, otherwise a default is provided.
506
+ # You may optionally specify a *display name* for the route table, otherwise a default is provided.
396
507
  # It does not have to be unique, and you can change it.
397
508
  #
398
509
  # @param [CreateRouteTableDetails] create_route_table_details Details for creating a new route table.
@@ -444,7 +555,7 @@ module OracleBMC
444
555
  # [Overview of the IAM Service](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/overview.htm). For information about OCIDs, see
445
556
  # [Resource Identifiers](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
446
557
  #
447
- # You may optionally specify a *display name* for the security list, otherwise a default is provided.
558
+ # You may optionally specify a *display name* for the security list, otherwise a default is provided.
448
559
  # It does not have to be unique, and you can change it.
449
560
  #
450
561
  # @param [CreateSecurityListDetails] create_security_list_details Details regarding the security list to create.
@@ -485,9 +596,9 @@ module OracleBMC
485
596
  end
486
597
 
487
598
  # Creates a new subnet in the specified VCN. You can't change the size of the subnet after creation,
488
- # so it's important to think about the size of subnets you need before creating them.
489
- # For more information, see [Managing Subnets](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Tasks/managingsubnets.htm).
490
- # For information on the number of subnets you can have in a VCN, see
599
+ # so it's important to think about the size of subnets you need before creating them.
600
+ # For more information, see [Managing Subnets](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Tasks/managingsubnets.htm).
601
+ # For information on the number of subnets you can have in a VCN, see
491
602
  # [Service Limits](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/servicelimits.htm).
492
603
  #
493
604
  # For the purposes of access control, you must provide the OCID of the compartment where you want the subnet
@@ -509,10 +620,10 @@ module OracleBMC
509
620
  # VCN's default set. For more information about DHCP options, see
510
621
  # [Managing DHCP Options](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Tasks/managingDHCP.htm).
511
622
  #
512
- # You may optionally specify a *display name* for the subnet, otherwise a default is provided.
623
+ # You may optionally specify a *display name* for the subnet, otherwise a default is provided.
513
624
  # It does not have to be unique, and you can change it.
514
625
  #
515
- # You can also add a DNS label for the subnet, which is required if you want the Internet and
626
+ # You can also add a DNS label for the subnet, which is required if you want the Internet and
516
627
  # VCN Resolver to resolve hostnames for instances in the subnet. For more information, see
517
628
  # [DNS in Your Virtual Cloud Network](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Concepts/dns.htm).
518
629
  #
@@ -553,7 +664,7 @@ module OracleBMC
553
664
  :return_type => 'OracleBMC::Core::Models::Subnet')
554
665
  end
555
666
 
556
- # Creates a new Virtual Cloud Network (VCN). For more information, see
667
+ # Creates a new Virtual Cloud Network (VCN). For more information, see
557
668
  # [Managing Virtual Cloud Networks (VCNs)](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Tasks/managingVCNs.htm).
558
669
  #
559
670
  # For the VCN you must specify a single, contiguous IPv4 CIDR block in the private IP address ranges specified in
@@ -568,10 +679,10 @@ module OracleBMC
568
679
  # [Overview of the IAM Service](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/overview.htm). For information about OCIDs, see
569
680
  # [Resource Identifiers](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
570
681
  #
571
- # You may optionally specify a *display name* for the VCN, otherwise a default is provided. It does not have to
572
- # be unique, and you can change it.
682
+ # You may optionally specify a *display name* for the VCN, otherwise a default is provided. It does not have to
683
+ # be unique, and you can change it.
573
684
  #
574
- # You can also add a DNS label for the VCN, which is required if you want the instances to use the
685
+ # You can also add a DNS label for the VCN, which is required if you want the instances to use the
575
686
  # Interent and VCN Resolver option for DNS in the VCN. For more information, see
576
687
  # [DNS in Your Virtual Cloud Network](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Concepts/dns.htm).
577
688
  #
@@ -579,9 +690,9 @@ module OracleBMC
579
690
  # The OCID for each is returned in the response. You can't delete these default objects, but you can change their
580
691
  # contents (i.e., route rules, etc.)
581
692
  #
582
- # The VCN and subnets you create are not accessible until you attach an Internet Gateway or set up a VPN.
583
- # For more information, see
584
- # [Typical Networking Service Scenarios](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Concepts/overview.htm#three).
693
+ # The VCN and subnets you create are not accessible until you attach an Internet Gateway or set up an IPSec VPN
694
+ # or FastConnect. For more information, see
695
+ # [Overview of the Networking Service](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Concepts/overview.htm).
585
696
  #
586
697
  # @param [CreateVcnDetails] create_vcn_details Details for creating a new VCN.
587
698
  # @param [Hash] opts the optional parameters
@@ -620,6 +731,65 @@ module OracleBMC
620
731
  :return_type => 'OracleBMC::Core::Models::Vcn')
621
732
  end
622
733
 
734
+ # Creates a new virtual circuit to use with Oracle Bare Metal Cloud
735
+ # Services FastConnect. For more information, see
736
+ # [FastConnect Overview](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Concepts/fastconnect.htm).
737
+ #
738
+ # For the purposes of access control, you must provide the OCID of the
739
+ # compartment where you want the virtual circuit to reside. If you're
740
+ # not sure which compartment to use, put the virtual circuit in the
741
+ # same compartment with the DRG it's using. For more information about
742
+ # compartments and access control, see
743
+ # [Overview of the IAM Service](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/overview.htm).
744
+ # For information about OCIDs, see
745
+ # [Resource Identifiers](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
746
+ #
747
+ # You may optionally specify a *display name* for the virtual circuit.
748
+ # It does not have to be unique, and you can change it.
749
+ #
750
+ # **Important:** When creating a virtual circuit, you specify a DRG for
751
+ # the traffic to flow through. Make sure you attach the DRG to your
752
+ # VCN and confirm the VCN's routing sends traffic to the DRG. Otherwise
753
+ # traffic will not flow. For more information, see
754
+ # [Managing Route Tables](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Tasks/managingroutetables.htm).
755
+ #
756
+ # @param [CreateVirtualCircuitDetails] create_virtual_circuit_details Details to create a VirtualCircuit.
757
+ # @param [Hash] opts the optional parameters
758
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
759
+ # server error without risk of executing that same action again. Retry tokens expire after 24
760
+ # hours, but can be invalidated before then due to conflicting operations (e.g., if a resource
761
+ # has been deleted and purged from the system, then a retry of the original creation request
762
+ # may be rejected).
763
+ #
764
+ # @return [Response] A Response object with data of type OracleBMC::Core::Models::VirtualCircuit
765
+ def create_virtual_circuit(create_virtual_circuit_details, opts = {})
766
+ logger.debug "Calling operation VirtualNetworkClient#create_virtual_circuit." if logger
767
+
768
+ fail "Missing the required parameter 'create_virtual_circuit_details' when calling create_virtual_circuit." if create_virtual_circuit_details.nil?
769
+
770
+ path = "/virtualCircuits"
771
+
772
+ # Query Params
773
+ query_params = {}
774
+
775
+ # Header Params
776
+ header_params = {}
777
+ header_params['accept'] = 'application/json'
778
+ header_params['content-type'] = 'application/json'
779
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
780
+
781
+ post_body = @api_client.object_to_http_body(create_virtual_circuit_details)
782
+
783
+ return @api_client.call_api(
784
+ :POST,
785
+ path,
786
+ endpoint,
787
+ :header_params => header_params,
788
+ :query_params => query_params,
789
+ :body => post_body,
790
+ :return_type => 'OracleBMC::Core::Models::VirtualCircuit')
791
+ end
792
+
623
793
  # Deletes the specified CPE object. The CPE must not be connected to a DRG. This is an asynchronous
624
794
  # operation; the CPE's `lifecycleState` will change to TERMINATING temporarily until the CPE is completely
625
795
  # removed.
@@ -658,6 +828,81 @@ module OracleBMC
658
828
  :body => post_body)
659
829
  end
660
830
 
831
+ # Deletes the specified cross-connect. It must not be mapped to a
832
+ # {VirtualCircuit}.
833
+ #
834
+ # @param [String] cross_connect_id The OCID of the cross-connect.
835
+ # @param [Hash] opts the optional parameters
836
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
837
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
838
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
839
+ #
840
+ # @return [Response] A Response object with data of type nil
841
+ def delete_cross_connect(cross_connect_id, opts = {})
842
+ logger.debug "Calling operation VirtualNetworkClient#delete_cross_connect." if logger
843
+
844
+ fail "Missing the required parameter 'cross_connect_id' when calling delete_cross_connect." if cross_connect_id.nil?
845
+
846
+ path = "/crossConnects/{crossConnectId}".sub('{crossConnectId}', cross_connect_id.to_s)
847
+
848
+ # Query Params
849
+ query_params = {}
850
+
851
+ # Header Params
852
+ header_params = {}
853
+ header_params['accept'] = 'application/json'
854
+ header_params['content-type'] = 'application/json'
855
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
856
+
857
+ post_body = nil
858
+
859
+ return @api_client.call_api(
860
+ :DELETE,
861
+ path,
862
+ endpoint,
863
+ :header_params => header_params,
864
+ :query_params => query_params,
865
+ :body => post_body)
866
+ end
867
+
868
+ # Deletes the specified cross-connect group. It must not contain any
869
+ # cross-connects, and it cannot be mapped to a
870
+ # {VirtualCircuit}.
871
+ #
872
+ # @param [String] cross_connect_group_id The OCID of the cross-connect group.
873
+ # @param [Hash] opts the optional parameters
874
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
875
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
876
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
877
+ #
878
+ # @return [Response] A Response object with data of type nil
879
+ def delete_cross_connect_group(cross_connect_group_id, opts = {})
880
+ logger.debug "Calling operation VirtualNetworkClient#delete_cross_connect_group." if logger
881
+
882
+ fail "Missing the required parameter 'cross_connect_group_id' when calling delete_cross_connect_group." if cross_connect_group_id.nil?
883
+
884
+ path = "/crossConnectGroups/{crossConnectGroupId}".sub('{crossConnectGroupId}', cross_connect_group_id.to_s)
885
+
886
+ # Query Params
887
+ query_params = {}
888
+
889
+ # Header Params
890
+ header_params = {}
891
+ header_params['accept'] = 'application/json'
892
+ header_params['content-type'] = 'application/json'
893
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
894
+
895
+ post_body = nil
896
+
897
+ return @api_client.call_api(
898
+ :DELETE,
899
+ path,
900
+ endpoint,
901
+ :header_params => header_params,
902
+ :query_params => query_params,
903
+ :body => post_body)
904
+ end
905
+
661
906
  # Deletes the specified set of DHCP options, but only if it's not associated with a subnet. You can't delete a
662
907
  # VCN's default set of DHCP options.
663
908
  #
@@ -815,9 +1060,9 @@ module OracleBMC
815
1060
  :body => post_body)
816
1061
  end
817
1062
 
818
- # Deletes the specified IPSec connection. If your goal is to disable the VPN between your VCN and
819
- # on-premise network, it's easiest to simply detach the DRG but keep all the VPN components intact.
820
- # If you were to delete all the components and then later need to create a VPN again, you would
1063
+ # Deletes the specified IPSec connection. If your goal is to disable the IPSec VPN between your VCN and
1064
+ # on-premise network, it's easiest to simply detach the DRG but keep all the IPSec VPN components intact.
1065
+ # If you were to delete all the components and then later need to create an IPSec VPN again, you would
821
1066
  # need to configure your on-premise router again with the new information returned from
822
1067
  # {#create_ip_sec_connection create_ip_sec_connection}.
823
1068
  #
@@ -1014,6 +1259,46 @@ module OracleBMC
1014
1259
  :body => post_body)
1015
1260
  end
1016
1261
 
1262
+ # Deletes the specified virtual circuit.
1263
+ #
1264
+ # **Important:** If you're using FastConnect via a provider,
1265
+ # make sure to also terminate the connection with
1266
+ # the provider, or else the provider may continue to bill you.
1267
+ #
1268
+ # @param [String] virtual_circuit_id The OCID of the virtual circuit.
1269
+ # @param [Hash] opts the optional parameters
1270
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
1271
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
1272
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
1273
+ #
1274
+ # @return [Response] A Response object with data of type nil
1275
+ def delete_virtual_circuit(virtual_circuit_id, opts = {})
1276
+ logger.debug "Calling operation VirtualNetworkClient#delete_virtual_circuit." if logger
1277
+
1278
+ fail "Missing the required parameter 'virtual_circuit_id' when calling delete_virtual_circuit." if virtual_circuit_id.nil?
1279
+
1280
+ path = "/virtualCircuits/{virtualCircuitId}".sub('{virtualCircuitId}', virtual_circuit_id.to_s)
1281
+
1282
+ # Query Params
1283
+ query_params = {}
1284
+
1285
+ # Header Params
1286
+ header_params = {}
1287
+ header_params['accept'] = 'application/json'
1288
+ header_params['content-type'] = 'application/json'
1289
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
1290
+
1291
+ post_body = nil
1292
+
1293
+ return @api_client.call_api(
1294
+ :DELETE,
1295
+ path,
1296
+ endpoint,
1297
+ :header_params => header_params,
1298
+ :query_params => query_params,
1299
+ :body => post_body)
1300
+ end
1301
+
1017
1302
  # Gets the specified CPE's information.
1018
1303
  # @param [String] cpe_id The OCID of the CPE.
1019
1304
  # @param [Hash] opts the optional parameters
@@ -1045,16 +1330,16 @@ module OracleBMC
1045
1330
  :return_type => 'OracleBMC::Core::Models::Cpe')
1046
1331
  end
1047
1332
 
1048
- # Gets the specified set of DHCP options.
1049
- # @param [String] dhcp_id The OCID for the set of DHCP options.
1333
+ # Gets the specified cross-connect's information.
1334
+ # @param [String] cross_connect_id The OCID of the cross-connect.
1050
1335
  # @param [Hash] opts the optional parameters
1051
- # @return [Response] A Response object with data of type OracleBMC::Core::Models::DhcpOptions
1052
- def get_dhcp_options(dhcp_id, opts = {})
1053
- logger.debug "Calling operation VirtualNetworkClient#get_dhcp_options." if logger
1336
+ # @return [Response] A Response object with data of type OracleBMC::Core::Models::CrossConnect
1337
+ def get_cross_connect(cross_connect_id, opts = {})
1338
+ logger.debug "Calling operation VirtualNetworkClient#get_cross_connect." if logger
1054
1339
 
1055
- fail "Missing the required parameter 'dhcp_id' when calling get_dhcp_options." if dhcp_id.nil?
1340
+ fail "Missing the required parameter 'cross_connect_id' when calling get_cross_connect." if cross_connect_id.nil?
1056
1341
 
1057
- path = "/dhcps/{dhcpId}".sub('{dhcpId}', dhcp_id.to_s)
1342
+ path = "/crossConnects/{crossConnectId}".sub('{crossConnectId}', cross_connect_id.to_s)
1058
1343
 
1059
1344
  # Query Params
1060
1345
  query_params = {}
@@ -1073,19 +1358,19 @@ module OracleBMC
1073
1358
  :header_params => header_params,
1074
1359
  :query_params => query_params,
1075
1360
  :body => post_body,
1076
- :return_type => 'OracleBMC::Core::Models::DhcpOptions')
1361
+ :return_type => 'OracleBMC::Core::Models::CrossConnect')
1077
1362
  end
1078
1363
 
1079
- # Gets the specified DRG's information.
1080
- # @param [String] drg_id The OCID of the DRG.
1364
+ # Gets the specified cross-connect group's information.
1365
+ # @param [String] cross_connect_group_id The OCID of the cross-connect group.
1081
1366
  # @param [Hash] opts the optional parameters
1082
- # @return [Response] A Response object with data of type OracleBMC::Core::Models::Drg
1083
- def get_drg(drg_id, opts = {})
1084
- logger.debug "Calling operation VirtualNetworkClient#get_drg." if logger
1367
+ # @return [Response] A Response object with data of type OracleBMC::Core::Models::CrossConnectGroup
1368
+ def get_cross_connect_group(cross_connect_group_id, opts = {})
1369
+ logger.debug "Calling operation VirtualNetworkClient#get_cross_connect_group." if logger
1085
1370
 
1086
- fail "Missing the required parameter 'drg_id' when calling get_drg." if drg_id.nil?
1371
+ fail "Missing the required parameter 'cross_connect_group_id' when calling get_cross_connect_group." if cross_connect_group_id.nil?
1087
1372
 
1088
- path = "/drgs/{drgId}".sub('{drgId}', drg_id.to_s)
1373
+ path = "/crossConnectGroups/{crossConnectGroupId}".sub('{crossConnectGroupId}', cross_connect_group_id.to_s)
1089
1374
 
1090
1375
  # Query Params
1091
1376
  query_params = {}
@@ -1104,19 +1389,19 @@ module OracleBMC
1104
1389
  :header_params => header_params,
1105
1390
  :query_params => query_params,
1106
1391
  :body => post_body,
1107
- :return_type => 'OracleBMC::Core::Models::Drg')
1392
+ :return_type => 'OracleBMC::Core::Models::CrossConnectGroup')
1108
1393
  end
1109
1394
 
1110
- # Gets the information for the specified `DrgAttachment`.
1111
- # @param [String] drg_attachment_id The OCID of the DRG attachment.
1395
+ # Gets the Letter of Authority for the specified cross-connect.
1396
+ # @param [String] cross_connect_id The OCID of the cross-connect.
1112
1397
  # @param [Hash] opts the optional parameters
1113
- # @return [Response] A Response object with data of type OracleBMC::Core::Models::DrgAttachment
1114
- def get_drg_attachment(drg_attachment_id, opts = {})
1115
- logger.debug "Calling operation VirtualNetworkClient#get_drg_attachment." if logger
1398
+ # @return [Response] A Response object with data of type OracleBMC::Core::Models::LetterOfAuthority
1399
+ def get_cross_connect_letter_of_authority(cross_connect_id, opts = {})
1400
+ logger.debug "Calling operation VirtualNetworkClient#get_cross_connect_letter_of_authority." if logger
1116
1401
 
1117
- fail "Missing the required parameter 'drg_attachment_id' when calling get_drg_attachment." if drg_attachment_id.nil?
1402
+ fail "Missing the required parameter 'cross_connect_id' when calling get_cross_connect_letter_of_authority." if cross_connect_id.nil?
1118
1403
 
1119
- path = "/drgAttachments/{drgAttachmentId}".sub('{drgAttachmentId}', drg_attachment_id.to_s)
1404
+ path = "/crossConnects/{crossConnectId}/letterOfAuthority".sub('{crossConnectId}', cross_connect_id.to_s)
1120
1405
 
1121
1406
  # Query Params
1122
1407
  query_params = {}
@@ -1135,19 +1420,20 @@ module OracleBMC
1135
1420
  :header_params => header_params,
1136
1421
  :query_params => query_params,
1137
1422
  :body => post_body,
1138
- :return_type => 'OracleBMC::Core::Models::DrgAttachment')
1423
+ :return_type => 'OracleBMC::Core::Models::LetterOfAuthority')
1139
1424
  end
1140
1425
 
1141
- # Gets the specified Internet Gateway's information.
1142
- # @param [String] ig_id The OCID of the Internet Gateway.
1426
+ # Gets the status of the specified cross-connect.
1427
+ #
1428
+ # @param [String] cross_connect_id The OCID of the cross-connect.
1143
1429
  # @param [Hash] opts the optional parameters
1144
- # @return [Response] A Response object with data of type OracleBMC::Core::Models::InternetGateway
1145
- def get_internet_gateway(ig_id, opts = {})
1146
- logger.debug "Calling operation VirtualNetworkClient#get_internet_gateway." if logger
1430
+ # @return [Response] A Response object with data of type OracleBMC::Core::Models::CrossConnectStatus
1431
+ def get_cross_connect_status(cross_connect_id, opts = {})
1432
+ logger.debug "Calling operation VirtualNetworkClient#get_cross_connect_status." if logger
1147
1433
 
1148
- fail "Missing the required parameter 'ig_id' when calling get_internet_gateway." if ig_id.nil?
1434
+ fail "Missing the required parameter 'cross_connect_id' when calling get_cross_connect_status." if cross_connect_id.nil?
1149
1435
 
1150
- path = "/internetGateways/{igId}".sub('{igId}', ig_id.to_s)
1436
+ path = "/crossConnects/{crossConnectId}/status".sub('{crossConnectId}', cross_connect_id.to_s)
1151
1437
 
1152
1438
  # Query Params
1153
1439
  query_params = {}
@@ -1166,22 +1452,19 @@ module OracleBMC
1166
1452
  :header_params => header_params,
1167
1453
  :query_params => query_params,
1168
1454
  :body => post_body,
1169
- :return_type => 'OracleBMC::Core::Models::InternetGateway')
1455
+ :return_type => 'OracleBMC::Core::Models::CrossConnectStatus')
1170
1456
  end
1171
1457
 
1172
- # Gets the specified IPSec connection's basic information, including the static routes for the
1173
- # on-premise router. If you want the status of the connection (whether it's up or down), use
1174
- # {#get_ip_sec_connection_device_status get_ip_sec_connection_device_status}.
1175
- #
1176
- # @param [String] ipsc_id The OCID of the IPSec connection.
1458
+ # Gets the specified set of DHCP options.
1459
+ # @param [String] dhcp_id The OCID for the set of DHCP options.
1177
1460
  # @param [Hash] opts the optional parameters
1178
- # @return [Response] A Response object with data of type OracleBMC::Core::Models::IPSecConnection
1179
- def get_ip_sec_connection(ipsc_id, opts = {})
1180
- logger.debug "Calling operation VirtualNetworkClient#get_ip_sec_connection." if logger
1461
+ # @return [Response] A Response object with data of type OracleBMC::Core::Models::DhcpOptions
1462
+ def get_dhcp_options(dhcp_id, opts = {})
1463
+ logger.debug "Calling operation VirtualNetworkClient#get_dhcp_options." if logger
1181
1464
 
1182
- fail "Missing the required parameter 'ipsc_id' when calling get_ip_sec_connection." if ipsc_id.nil?
1465
+ fail "Missing the required parameter 'dhcp_id' when calling get_dhcp_options." if dhcp_id.nil?
1183
1466
 
1184
- path = "/ipsecConnections/{ipscId}".sub('{ipscId}', ipsc_id.to_s)
1467
+ path = "/dhcps/{dhcpId}".sub('{dhcpId}', dhcp_id.to_s)
1185
1468
 
1186
1469
  # Query Params
1187
1470
  query_params = {}
@@ -1200,10 +1483,137 @@ module OracleBMC
1200
1483
  :header_params => header_params,
1201
1484
  :query_params => query_params,
1202
1485
  :body => post_body,
1203
- :return_type => 'OracleBMC::Core::Models::IPSecConnection')
1486
+ :return_type => 'OracleBMC::Core::Models::DhcpOptions')
1204
1487
  end
1205
1488
 
1206
- # Gets the configuration information for the specified IPSec connection. For each tunnel, the
1489
+ # Gets the specified DRG's information.
1490
+ # @param [String] drg_id The OCID of the DRG.
1491
+ # @param [Hash] opts the optional parameters
1492
+ # @return [Response] A Response object with data of type OracleBMC::Core::Models::Drg
1493
+ def get_drg(drg_id, opts = {})
1494
+ logger.debug "Calling operation VirtualNetworkClient#get_drg." if logger
1495
+
1496
+ fail "Missing the required parameter 'drg_id' when calling get_drg." if drg_id.nil?
1497
+
1498
+ path = "/drgs/{drgId}".sub('{drgId}', drg_id.to_s)
1499
+
1500
+ # Query Params
1501
+ query_params = {}
1502
+
1503
+ # Header Params
1504
+ header_params = {}
1505
+ header_params['accept'] = 'application/json'
1506
+ header_params['content-type'] = 'application/json'
1507
+
1508
+ post_body = nil
1509
+
1510
+ return @api_client.call_api(
1511
+ :GET,
1512
+ path,
1513
+ endpoint,
1514
+ :header_params => header_params,
1515
+ :query_params => query_params,
1516
+ :body => post_body,
1517
+ :return_type => 'OracleBMC::Core::Models::Drg')
1518
+ end
1519
+
1520
+ # Gets the information for the specified `DrgAttachment`.
1521
+ # @param [String] drg_attachment_id The OCID of the DRG attachment.
1522
+ # @param [Hash] opts the optional parameters
1523
+ # @return [Response] A Response object with data of type OracleBMC::Core::Models::DrgAttachment
1524
+ def get_drg_attachment(drg_attachment_id, opts = {})
1525
+ logger.debug "Calling operation VirtualNetworkClient#get_drg_attachment." if logger
1526
+
1527
+ fail "Missing the required parameter 'drg_attachment_id' when calling get_drg_attachment." if drg_attachment_id.nil?
1528
+
1529
+ path = "/drgAttachments/{drgAttachmentId}".sub('{drgAttachmentId}', drg_attachment_id.to_s)
1530
+
1531
+ # Query Params
1532
+ query_params = {}
1533
+
1534
+ # Header Params
1535
+ header_params = {}
1536
+ header_params['accept'] = 'application/json'
1537
+ header_params['content-type'] = 'application/json'
1538
+
1539
+ post_body = nil
1540
+
1541
+ return @api_client.call_api(
1542
+ :GET,
1543
+ path,
1544
+ endpoint,
1545
+ :header_params => header_params,
1546
+ :query_params => query_params,
1547
+ :body => post_body,
1548
+ :return_type => 'OracleBMC::Core::Models::DrgAttachment')
1549
+ end
1550
+
1551
+ # Gets the specified Internet Gateway's information.
1552
+ # @param [String] ig_id The OCID of the Internet Gateway.
1553
+ # @param [Hash] opts the optional parameters
1554
+ # @return [Response] A Response object with data of type OracleBMC::Core::Models::InternetGateway
1555
+ def get_internet_gateway(ig_id, opts = {})
1556
+ logger.debug "Calling operation VirtualNetworkClient#get_internet_gateway." if logger
1557
+
1558
+ fail "Missing the required parameter 'ig_id' when calling get_internet_gateway." if ig_id.nil?
1559
+
1560
+ path = "/internetGateways/{igId}".sub('{igId}', ig_id.to_s)
1561
+
1562
+ # Query Params
1563
+ query_params = {}
1564
+
1565
+ # Header Params
1566
+ header_params = {}
1567
+ header_params['accept'] = 'application/json'
1568
+ header_params['content-type'] = 'application/json'
1569
+
1570
+ post_body = nil
1571
+
1572
+ return @api_client.call_api(
1573
+ :GET,
1574
+ path,
1575
+ endpoint,
1576
+ :header_params => header_params,
1577
+ :query_params => query_params,
1578
+ :body => post_body,
1579
+ :return_type => 'OracleBMC::Core::Models::InternetGateway')
1580
+ end
1581
+
1582
+ # Gets the specified IPSec connection's basic information, including the static routes for the
1583
+ # on-premise router. If you want the status of the connection (whether it's up or down), use
1584
+ # {#get_ip_sec_connection_device_status get_ip_sec_connection_device_status}.
1585
+ #
1586
+ # @param [String] ipsc_id The OCID of the IPSec connection.
1587
+ # @param [Hash] opts the optional parameters
1588
+ # @return [Response] A Response object with data of type OracleBMC::Core::Models::IPSecConnection
1589
+ def get_ip_sec_connection(ipsc_id, opts = {})
1590
+ logger.debug "Calling operation VirtualNetworkClient#get_ip_sec_connection." if logger
1591
+
1592
+ fail "Missing the required parameter 'ipsc_id' when calling get_ip_sec_connection." if ipsc_id.nil?
1593
+
1594
+ path = "/ipsecConnections/{ipscId}".sub('{ipscId}', ipsc_id.to_s)
1595
+
1596
+ # Query Params
1597
+ query_params = {}
1598
+
1599
+ # Header Params
1600
+ header_params = {}
1601
+ header_params['accept'] = 'application/json'
1602
+ header_params['content-type'] = 'application/json'
1603
+
1604
+ post_body = nil
1605
+
1606
+ return @api_client.call_api(
1607
+ :GET,
1608
+ path,
1609
+ endpoint,
1610
+ :header_params => header_params,
1611
+ :query_params => query_params,
1612
+ :body => post_body,
1613
+ :return_type => 'OracleBMC::Core::Models::IPSecConnection')
1614
+ end
1615
+
1616
+ # Gets the configuration information for the specified IPSec connection. For each tunnel, the
1207
1617
  # response includes the IP address of Oracle's VPN headend and the shared secret.
1208
1618
  #
1209
1619
  # @param [String] ipsc_id The OCID of the IPSec connection.
@@ -1392,9 +1802,40 @@ module OracleBMC
1392
1802
  :return_type => 'OracleBMC::Core::Models::Vcn')
1393
1803
  end
1394
1804
 
1395
- # Gets the information for the specified Virtual Network Interface Card (VNIC), including the attached
1396
- # instance's public and private IP addresses. You can get the instance's VNIC OCID from the
1397
- # Cloud Compute Service's {#list_vnic_attachments list_vnic_attachments} operation.
1805
+ # Gets the specified virtual circuit's information.
1806
+ # @param [String] virtual_circuit_id The OCID of the virtual circuit.
1807
+ # @param [Hash] opts the optional parameters
1808
+ # @return [Response] A Response object with data of type OracleBMC::Core::Models::VirtualCircuit
1809
+ def get_virtual_circuit(virtual_circuit_id, opts = {})
1810
+ logger.debug "Calling operation VirtualNetworkClient#get_virtual_circuit." if logger
1811
+
1812
+ fail "Missing the required parameter 'virtual_circuit_id' when calling get_virtual_circuit." if virtual_circuit_id.nil?
1813
+
1814
+ path = "/virtualCircuits/{virtualCircuitId}".sub('{virtualCircuitId}', virtual_circuit_id.to_s)
1815
+
1816
+ # Query Params
1817
+ query_params = {}
1818
+
1819
+ # Header Params
1820
+ header_params = {}
1821
+ header_params['accept'] = 'application/json'
1822
+ header_params['content-type'] = 'application/json'
1823
+
1824
+ post_body = nil
1825
+
1826
+ return @api_client.call_api(
1827
+ :GET,
1828
+ path,
1829
+ endpoint,
1830
+ :header_params => header_params,
1831
+ :query_params => query_params,
1832
+ :body => post_body,
1833
+ :return_type => 'OracleBMC::Core::Models::VirtualCircuit')
1834
+ end
1835
+
1836
+ # Gets the information for the specified Virtual Network Interface Card (VNIC), including
1837
+ # the IP addresses. You can get the instance's VNIC OCID from the
1838
+ # {#list_vnic_attachments list_vnic_attachments} operation.
1398
1839
  #
1399
1840
  # @param [String] vnic_id The OCID of the VNIC.
1400
1841
  # @param [Hash] opts the optional parameters
@@ -1426,7 +1867,7 @@ module OracleBMC
1426
1867
  :return_type => 'OracleBMC::Core::Models::Vnic')
1427
1868
  end
1428
1869
 
1429
- # Lists the Customer-Premise Equipment objects (CPEs) in the specified compartment.
1870
+ # Lists the Customer-Premises Equipment objects (CPEs) in the specified compartment.
1430
1871
  #
1431
1872
  # @param [String] compartment_id The OCID of the compartment.
1432
1873
  # @param [Hash] opts the optional parameters
@@ -1467,6 +1908,176 @@ module OracleBMC
1467
1908
  :return_type => 'Array<OracleBMC::Core::Models::Cpe>')
1468
1909
  end
1469
1910
 
1911
+ # Lists the cross-connect groups in the specified compartment.
1912
+ #
1913
+ # @param [String] compartment_id The OCID of the compartment.
1914
+ # @param [Hash] opts the optional parameters
1915
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \&quot;List\&quot; call.
1916
+ #
1917
+ # Example: `500`
1918
+ #
1919
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \&quot;List\&quot; call.
1920
+ #
1921
+ # @return [Response] A Response object with data of type Array<OracleBMC::Core::Models::CrossConnectGroup>
1922
+ def list_cross_connect_groups(compartment_id, opts = {})
1923
+ logger.debug "Calling operation VirtualNetworkClient#list_cross_connect_groups." if logger
1924
+
1925
+ fail "Missing the required parameter 'compartment_id' when calling list_cross_connect_groups." if compartment_id.nil?
1926
+
1927
+ path = "/crossConnectGroups"
1928
+
1929
+ # Query Params
1930
+ query_params = {}
1931
+ query_params[:'compartmentId'] = compartment_id
1932
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
1933
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
1934
+
1935
+ # Header Params
1936
+ header_params = {}
1937
+ header_params['accept'] = 'application/json'
1938
+ header_params['content-type'] = 'application/json'
1939
+
1940
+ post_body = nil
1941
+
1942
+ return @api_client.call_api(
1943
+ :GET,
1944
+ path,
1945
+ endpoint,
1946
+ :header_params => header_params,
1947
+ :query_params => query_params,
1948
+ :body => post_body,
1949
+ :return_type => 'Array<OracleBMC::Core::Models::CrossConnectGroup>')
1950
+ end
1951
+
1952
+ # Lists the available FastConnect locations for cross-connect installation. You need
1953
+ # this information so you can specify your desired location when you create a cross-connect.
1954
+ #
1955
+ # @param [String] compartment_id The OCID of the compartment.
1956
+ # @param [Hash] opts the optional parameters
1957
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \&quot;List\&quot; call.
1958
+ #
1959
+ # Example: `500`
1960
+ #
1961
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \&quot;List\&quot; call.
1962
+ #
1963
+ # @return [Response] A Response object with data of type Array<OracleBMC::Core::Models::CrossConnectLocation>
1964
+ def list_cross_connect_locations(compartment_id, opts = {})
1965
+ logger.debug "Calling operation VirtualNetworkClient#list_cross_connect_locations." if logger
1966
+
1967
+ fail "Missing the required parameter 'compartment_id' when calling list_cross_connect_locations." if compartment_id.nil?
1968
+
1969
+ path = "/crossConnectLocations"
1970
+
1971
+ # Query Params
1972
+ query_params = {}
1973
+ query_params[:'compartmentId'] = compartment_id
1974
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
1975
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
1976
+
1977
+ # Header Params
1978
+ header_params = {}
1979
+ header_params['accept'] = 'application/json'
1980
+ header_params['content-type'] = 'application/json'
1981
+
1982
+ post_body = nil
1983
+
1984
+ return @api_client.call_api(
1985
+ :GET,
1986
+ path,
1987
+ endpoint,
1988
+ :header_params => header_params,
1989
+ :query_params => query_params,
1990
+ :body => post_body,
1991
+ :return_type => 'Array<OracleBMC::Core::Models::CrossConnectLocation>')
1992
+ end
1993
+
1994
+ # Lists the cross-connects in the specified compartment. You can filter the list
1995
+ # by specifying the OCID of a cross-connect group.
1996
+ #
1997
+ # @param [String] compartment_id The OCID of the compartment.
1998
+ # @param [Hash] opts the optional parameters
1999
+ # @option opts [String] :cross_connect_group_id The OCID of the cross-connect group.
2000
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \&quot;List\&quot; call.
2001
+ #
2002
+ # Example: `500`
2003
+ #
2004
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \&quot;List\&quot; call.
2005
+ #
2006
+ # @return [Response] A Response object with data of type Array<OracleBMC::Core::Models::CrossConnect>
2007
+ def list_cross_connects(compartment_id, opts = {})
2008
+ logger.debug "Calling operation VirtualNetworkClient#list_cross_connects." if logger
2009
+
2010
+ fail "Missing the required parameter 'compartment_id' when calling list_cross_connects." if compartment_id.nil?
2011
+
2012
+ path = "/crossConnects"
2013
+
2014
+ # Query Params
2015
+ query_params = {}
2016
+ query_params[:'compartmentId'] = compartment_id
2017
+ query_params[:'crossConnectGroupId'] = opts[:'cross_connect_group_id'] if opts[:'cross_connect_group_id']
2018
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
2019
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
2020
+
2021
+ # Header Params
2022
+ header_params = {}
2023
+ header_params['accept'] = 'application/json'
2024
+ header_params['content-type'] = 'application/json'
2025
+
2026
+ post_body = nil
2027
+
2028
+ return @api_client.call_api(
2029
+ :GET,
2030
+ path,
2031
+ endpoint,
2032
+ :header_params => header_params,
2033
+ :query_params => query_params,
2034
+ :body => post_body,
2035
+ :return_type => 'Array<OracleBMC::Core::Models::CrossConnect>')
2036
+ end
2037
+
2038
+ # Lists the available port speeds for cross-connects. You need this information
2039
+ # so you can specify your desired port speed (i.e., shape) when you create a
2040
+ # cross-connect.
2041
+ #
2042
+ # @param [String] compartment_id The OCID of the compartment.
2043
+ # @param [Hash] opts the optional parameters
2044
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \&quot;List\&quot; call.
2045
+ #
2046
+ # Example: `500`
2047
+ #
2048
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \&quot;List\&quot; call.
2049
+ #
2050
+ # @return [Response] A Response object with data of type Array<OracleBMC::Core::Models::CrossConnectPortSpeedShape>
2051
+ def list_crossconnect_port_speed_shapes(compartment_id, opts = {})
2052
+ logger.debug "Calling operation VirtualNetworkClient#list_crossconnect_port_speed_shapes." if logger
2053
+
2054
+ fail "Missing the required parameter 'compartment_id' when calling list_crossconnect_port_speed_shapes." if compartment_id.nil?
2055
+
2056
+ path = "/crossConnectPortSpeedShapes"
2057
+
2058
+ # Query Params
2059
+ query_params = {}
2060
+ query_params[:'compartmentId'] = compartment_id
2061
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
2062
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
2063
+
2064
+ # Header Params
2065
+ header_params = {}
2066
+ header_params['accept'] = 'application/json'
2067
+ header_params['content-type'] = 'application/json'
2068
+
2069
+ post_body = nil
2070
+
2071
+ return @api_client.call_api(
2072
+ :GET,
2073
+ path,
2074
+ endpoint,
2075
+ :header_params => header_params,
2076
+ :query_params => query_params,
2077
+ :body => post_body,
2078
+ :return_type => 'Array<OracleBMC::Core::Models::CrossConnectPortSpeedShape>')
2079
+ end
2080
+
1470
2081
  # Lists the sets of DHCP options in the specified VCN and specified compartment.
1471
2082
  # The response includes the default set of options that automatically comes with each VCN,
1472
2083
  # plus any other sets you've created.
@@ -1600,6 +2211,53 @@ module OracleBMC
1600
2211
  :return_type => 'Array<OracleBMC::Core::Models::Drg>')
1601
2212
  end
1602
2213
 
2214
+ # Lists the service offerings from supported providers. You need this
2215
+ # information so you can specify your desired provider and service
2216
+ # offering when you create a virtual circuit.
2217
+ #
2218
+ # For the compartment ID, provide the OCID of your tenancy (the root compartment).
2219
+ #
2220
+ # For more information, see [FastConnect Overview](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Concepts/fastconnect.htm).
2221
+ #
2222
+ # @param [String] compartment_id The OCID of the compartment.
2223
+ # @param [Hash] opts the optional parameters
2224
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \&quot;List\&quot; call.
2225
+ #
2226
+ # Example: `500`
2227
+ #
2228
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \&quot;List\&quot; call.
2229
+ #
2230
+ # @return [Response] A Response object with data of type Array<OracleBMC::Core::Models::FastConnectProviderService>
2231
+ def list_fast_connect_provider_services(compartment_id, opts = {})
2232
+ logger.debug "Calling operation VirtualNetworkClient#list_fast_connect_provider_services." if logger
2233
+
2234
+ fail "Missing the required parameter 'compartment_id' when calling list_fast_connect_provider_services." if compartment_id.nil?
2235
+
2236
+ path = "/fastConnectProviderServices"
2237
+
2238
+ # Query Params
2239
+ query_params = {}
2240
+ query_params[:'compartmentId'] = compartment_id
2241
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
2242
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
2243
+
2244
+ # Header Params
2245
+ header_params = {}
2246
+ header_params['accept'] = 'application/json'
2247
+ header_params['content-type'] = 'application/json'
2248
+
2249
+ post_body = nil
2250
+
2251
+ return @api_client.call_api(
2252
+ :GET,
2253
+ path,
2254
+ endpoint,
2255
+ :header_params => header_params,
2256
+ :query_params => query_params,
2257
+ :body => post_body,
2258
+ :return_type => 'Array<OracleBMC::Core::Models::FastConnectProviderService>')
2259
+ end
2260
+
1603
2261
  # Lists the Internet Gateways in the specified VCN and the specified compartment.
1604
2262
  #
1605
2263
  # @param [String] compartment_id The OCID of the compartment.
@@ -1865,6 +2523,95 @@ module OracleBMC
1865
2523
  :return_type => 'Array<OracleBMC::Core::Models::Vcn>')
1866
2524
  end
1867
2525
 
2526
+ # Lists the available bandwidth levels for virtual circuits. You need this
2527
+ # information so you can specify your desired bandwidth level (i.e., shape)
2528
+ # when you create a virtual circuit.
2529
+ #
2530
+ # For the compartment ID, provide the OCID of your tenancy (the root compartment).
2531
+ #
2532
+ # For more information about virtual circuits, see
2533
+ # [FastConnect Overview](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Concepts/fastconnect.htm).
2534
+ #
2535
+ # @param [String] compartment_id The OCID of the compartment.
2536
+ # @param [Hash] opts the optional parameters
2537
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \&quot;List\&quot; call.
2538
+ #
2539
+ # Example: `500`
2540
+ #
2541
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \&quot;List\&quot; call.
2542
+ #
2543
+ # @return [Response] A Response object with data of type Array<OracleBMC::Core::Models::VirtualCircuitBandwidthShape>
2544
+ def list_virtual_circuit_bandwidth_shapes(compartment_id, opts = {})
2545
+ logger.debug "Calling operation VirtualNetworkClient#list_virtual_circuit_bandwidth_shapes." if logger
2546
+
2547
+ fail "Missing the required parameter 'compartment_id' when calling list_virtual_circuit_bandwidth_shapes." if compartment_id.nil?
2548
+
2549
+ path = "/virtualCircuitBandwidthShapes"
2550
+
2551
+ # Query Params
2552
+ query_params = {}
2553
+ query_params[:'compartmentId'] = compartment_id
2554
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
2555
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
2556
+
2557
+ # Header Params
2558
+ header_params = {}
2559
+ header_params['accept'] = 'application/json'
2560
+ header_params['content-type'] = 'application/json'
2561
+
2562
+ post_body = nil
2563
+
2564
+ return @api_client.call_api(
2565
+ :GET,
2566
+ path,
2567
+ endpoint,
2568
+ :header_params => header_params,
2569
+ :query_params => query_params,
2570
+ :body => post_body,
2571
+ :return_type => 'Array<OracleBMC::Core::Models::VirtualCircuitBandwidthShape>')
2572
+ end
2573
+
2574
+ # Lists the virtual circuits in the specified compartment.
2575
+ #
2576
+ # @param [String] compartment_id The OCID of the compartment.
2577
+ # @param [Hash] opts the optional parameters
2578
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \&quot;List\&quot; call.
2579
+ #
2580
+ # Example: `500`
2581
+ #
2582
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \&quot;List\&quot; call.
2583
+ #
2584
+ # @return [Response] A Response object with data of type Array<OracleBMC::Core::Models::VirtualCircuit>
2585
+ def list_virtual_circuits(compartment_id, opts = {})
2586
+ logger.debug "Calling operation VirtualNetworkClient#list_virtual_circuits." if logger
2587
+
2588
+ fail "Missing the required parameter 'compartment_id' when calling list_virtual_circuits." if compartment_id.nil?
2589
+
2590
+ path = "/virtualCircuits"
2591
+
2592
+ # Query Params
2593
+ query_params = {}
2594
+ query_params[:'compartmentId'] = compartment_id
2595
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
2596
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
2597
+
2598
+ # Header Params
2599
+ header_params = {}
2600
+ header_params['accept'] = 'application/json'
2601
+ header_params['content-type'] = 'application/json'
2602
+
2603
+ post_body = nil
2604
+
2605
+ return @api_client.call_api(
2606
+ :GET,
2607
+ path,
2608
+ endpoint,
2609
+ :header_params => header_params,
2610
+ :query_params => query_params,
2611
+ :body => post_body,
2612
+ :return_type => 'Array<OracleBMC::Core::Models::VirtualCircuit>')
2613
+ end
2614
+
1868
2615
  # Updates the specified CPE's display name.
1869
2616
  #
1870
2617
  # @param [String] cpe_id The OCID of the CPE.
@@ -1904,6 +2651,82 @@ module OracleBMC
1904
2651
  :return_type => 'OracleBMC::Core::Models::Cpe')
1905
2652
  end
1906
2653
 
2654
+ # Updates the specified cross-connect.
2655
+ # @param [String] cross_connect_id The OCID of the cross-connect.
2656
+ # @param [UpdateCrossConnectDetails] update_cross_connect_details Update CrossConnect fields.
2657
+ # @param [Hash] opts the optional parameters
2658
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
2659
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
2660
+ # will be updated or deleted only if the etag you provide matches the resource&#39;s current etag value.
2661
+ #
2662
+ # @return [Response] A Response object with data of type OracleBMC::Core::Models::CrossConnect
2663
+ def update_cross_connect(cross_connect_id, update_cross_connect_details, opts = {})
2664
+ logger.debug "Calling operation VirtualNetworkClient#update_cross_connect." if logger
2665
+
2666
+ fail "Missing the required parameter 'cross_connect_id' when calling update_cross_connect." if cross_connect_id.nil?
2667
+ fail "Missing the required parameter 'update_cross_connect_details' when calling update_cross_connect." if update_cross_connect_details.nil?
2668
+
2669
+ path = "/crossConnects/{crossConnectId}".sub('{crossConnectId}', cross_connect_id.to_s)
2670
+
2671
+ # Query Params
2672
+ query_params = {}
2673
+
2674
+ # Header Params
2675
+ header_params = {}
2676
+ header_params['accept'] = 'application/json'
2677
+ header_params['content-type'] = 'application/json'
2678
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
2679
+
2680
+ post_body = @api_client.object_to_http_body(update_cross_connect_details)
2681
+
2682
+ return @api_client.call_api(
2683
+ :PUT,
2684
+ path,
2685
+ endpoint,
2686
+ :header_params => header_params,
2687
+ :query_params => query_params,
2688
+ :body => post_body,
2689
+ :return_type => 'OracleBMC::Core::Models::CrossConnect')
2690
+ end
2691
+
2692
+ # Updates the specified cross-connect group's display name.
2693
+ # @param [String] cross_connect_group_id The OCID of the cross-connect group.
2694
+ # @param [UpdateCrossConnectGroupDetails] update_cross_connect_group_details Update CrossConnectGroup fields
2695
+ # @param [Hash] opts the optional parameters
2696
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
2697
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
2698
+ # will be updated or deleted only if the etag you provide matches the resource&#39;s current etag value.
2699
+ #
2700
+ # @return [Response] A Response object with data of type OracleBMC::Core::Models::CrossConnectGroup
2701
+ def update_cross_connect_group(cross_connect_group_id, update_cross_connect_group_details, opts = {})
2702
+ logger.debug "Calling operation VirtualNetworkClient#update_cross_connect_group." if logger
2703
+
2704
+ fail "Missing the required parameter 'cross_connect_group_id' when calling update_cross_connect_group." if cross_connect_group_id.nil?
2705
+ fail "Missing the required parameter 'update_cross_connect_group_details' when calling update_cross_connect_group." if update_cross_connect_group_details.nil?
2706
+
2707
+ path = "/crossConnectGroups/{crossConnectGroupId}".sub('{crossConnectGroupId}', cross_connect_group_id.to_s)
2708
+
2709
+ # Query Params
2710
+ query_params = {}
2711
+
2712
+ # Header Params
2713
+ header_params = {}
2714
+ header_params['accept'] = 'application/json'
2715
+ header_params['content-type'] = 'application/json'
2716
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
2717
+
2718
+ post_body = @api_client.object_to_http_body(update_cross_connect_group_details)
2719
+
2720
+ return @api_client.call_api(
2721
+ :PUT,
2722
+ path,
2723
+ endpoint,
2724
+ :header_params => header_params,
2725
+ :query_params => query_params,
2726
+ :body => post_body,
2727
+ :return_type => 'OracleBMC::Core::Models::CrossConnectGroup')
2728
+ end
2729
+
1907
2730
  # Updates the specified set of DHCP options. You can update the display name or the options
1908
2731
  # themselves. Note that the `options` object you provide replaces the entire existing set of options.
1909
2732
  #
@@ -2103,7 +2926,7 @@ module OracleBMC
2103
2926
  :return_type => 'OracleBMC::Core::Models::IPSecConnection')
2104
2927
  end
2105
2928
 
2106
- # Updates the specified route table's display name or route rules. Note that the
2929
+ # Updates the specified route table's display name or route rules. Note that the
2107
2930
  # `routeRules` object you provide replaces the entire existing set of rules.
2108
2931
  #
2109
2932
  # @param [String] rt_id The OCID of the route table.
@@ -2143,8 +2966,8 @@ module OracleBMC
2143
2966
  :return_type => 'OracleBMC::Core::Models::RouteTable')
2144
2967
  end
2145
2968
 
2146
- # Updates the specified security list's display name or rules. Note that the
2147
- # `egressSecurityRules` or `ingressSecurityRules` objects you provide replace the entire
2969
+ # Updates the specified security list's display name or rules. Note that the
2970
+ # `egressSecurityRules` or `ingressSecurityRules` objects you provide replace the entire
2148
2971
  # existing objects.
2149
2972
  #
2150
2973
  # @param [String] security_list_id The OCID of the security list.
@@ -2261,5 +3084,59 @@ module OracleBMC
2261
3084
  :body => post_body,
2262
3085
  :return_type => 'OracleBMC::Core::Models::Vcn')
2263
3086
  end
3087
+
3088
+ # Updates the specified virtual circuit. This can be called by
3089
+ # either the customer who owns the virtual circuit, or the
3090
+ # provider (when provisioning or de-provisioning the virtual
3091
+ # circuit from their end). The documentation for
3092
+ # {#update_virtual_circuit_details update_virtual_circuit_details}
3093
+ # indicates who can update each property of the virtual circuit.
3094
+ #
3095
+ # **Important:** If the virtual circuit is working and in the
3096
+ # PROVISIONED state, updating any of the network-related properties
3097
+ # (such as the DRG being used, the BGP ASN, etc.) will cause the virtual
3098
+ # circuit's state to switch to PROVISIONING and the related BGP
3099
+ # session to go down. After Oracle re-provisions the virtual circuit,
3100
+ # its state will return to PROVISIONED. Make sure you confirm that
3101
+ # the associated BGP session is back up. For more information
3102
+ # about the various states and how to test connectivity, see
3103
+ # [FastConnect Overview](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Concepts/fastconnect.htm).
3104
+ #
3105
+ # @param [String] virtual_circuit_id The OCID of the virtual circuit.
3106
+ # @param [UpdateVirtualCircuitDetails] update_virtual_circuit_details Update VirtualCircuit fields.
3107
+ # @param [Hash] opts the optional parameters
3108
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
3109
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
3110
+ # will be updated or deleted only if the etag you provide matches the resource&#39;s current etag value.
3111
+ #
3112
+ # @return [Response] A Response object with data of type OracleBMC::Core::Models::VirtualCircuit
3113
+ def update_virtual_circuit(virtual_circuit_id, update_virtual_circuit_details, opts = {})
3114
+ logger.debug "Calling operation VirtualNetworkClient#update_virtual_circuit." if logger
3115
+
3116
+ fail "Missing the required parameter 'virtual_circuit_id' when calling update_virtual_circuit." if virtual_circuit_id.nil?
3117
+ fail "Missing the required parameter 'update_virtual_circuit_details' when calling update_virtual_circuit." if update_virtual_circuit_details.nil?
3118
+
3119
+ path = "/virtualCircuits/{virtualCircuitId}".sub('{virtualCircuitId}', virtual_circuit_id.to_s)
3120
+
3121
+ # Query Params
3122
+ query_params = {}
3123
+
3124
+ # Header Params
3125
+ header_params = {}
3126
+ header_params['accept'] = 'application/json'
3127
+ header_params['content-type'] = 'application/json'
3128
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
3129
+
3130
+ post_body = @api_client.object_to_http_body(update_virtual_circuit_details)
3131
+
3132
+ return @api_client.call_api(
3133
+ :PUT,
3134
+ path,
3135
+ endpoint,
3136
+ :header_params => header_params,
3137
+ :query_params => query_params,
3138
+ :body => post_body,
3139
+ :return_type => 'OracleBMC::Core::Models::VirtualCircuit')
3140
+ end
2264
3141
  end
2265
3142
  end