oraclebmc 1.2.1 → 1.2.2

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