oraclebmc 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (141) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +82 -0
  3. data/README.md +220 -0
  4. data/lib/oraclebmc/api_client.rb +349 -0
  5. data/lib/oraclebmc/config.rb +80 -0
  6. data/lib/oraclebmc/config_file_loader.rb +85 -0
  7. data/lib/oraclebmc/core/blockstorage_client.rb +459 -0
  8. data/lib/oraclebmc/core/compute_client.rb +1053 -0
  9. data/lib/oraclebmc/core/core.rb +82 -0
  10. data/lib/oraclebmc/core/models/attach_i_scsi_volume_details.rb +179 -0
  11. data/lib/oraclebmc/core/models/attach_volume_details.rb +206 -0
  12. data/lib/oraclebmc/core/models/capture_console_history_details.rb +162 -0
  13. data/lib/oraclebmc/core/models/console_history.rb +252 -0
  14. data/lib/oraclebmc/core/models/cpe.rb +209 -0
  15. data/lib/oraclebmc/core/models/create_cpe_details.rb +187 -0
  16. data/lib/oraclebmc/core/models/create_dhcp_details.rb +195 -0
  17. data/lib/oraclebmc/core/models/create_drg_attachment_details.rb +184 -0
  18. data/lib/oraclebmc/core/models/create_drg_details.rb +173 -0
  19. data/lib/oraclebmc/core/models/create_image_details.rb +188 -0
  20. data/lib/oraclebmc/core/models/create_internet_gateway_details.rb +195 -0
  21. data/lib/oraclebmc/core/models/create_ip_sec_connection_details.rb +210 -0
  22. data/lib/oraclebmc/core/models/create_route_table_details.rb +195 -0
  23. data/lib/oraclebmc/core/models/create_security_list_details.rb +206 -0
  24. data/lib/oraclebmc/core/models/create_subnet_details.rb +253 -0
  25. data/lib/oraclebmc/core/models/create_vcn_details.rb +187 -0
  26. data/lib/oraclebmc/core/models/create_volume_backup_details.rb +173 -0
  27. data/lib/oraclebmc/core/models/create_volume_details.rb +211 -0
  28. data/lib/oraclebmc/core/models/dhcp_dns_option.rb +203 -0
  29. data/lib/oraclebmc/core/models/dhcp_option.rb +171 -0
  30. data/lib/oraclebmc/core/models/dhcp_options.rb +246 -0
  31. data/lib/oraclebmc/core/models/drg.rb +224 -0
  32. data/lib/oraclebmc/core/models/drg_attachment.rb +246 -0
  33. data/lib/oraclebmc/core/models/egress_security_rule.rb +240 -0
  34. data/lib/oraclebmc/core/models/i_scsi_volume_attachment.rb +254 -0
  35. data/lib/oraclebmc/core/models/icmp_options.rb +173 -0
  36. data/lib/oraclebmc/core/models/image.rb +282 -0
  37. data/lib/oraclebmc/core/models/ingress_security_rule.rb +240 -0
  38. data/lib/oraclebmc/core/models/instance.rb +326 -0
  39. data/lib/oraclebmc/core/models/internet_gateway.rb +248 -0
  40. data/lib/oraclebmc/core/models/ip_sec_connection.rb +261 -0
  41. data/lib/oraclebmc/core/models/ip_sec_connection_device_config.rb +195 -0
  42. data/lib/oraclebmc/core/models/ip_sec_connection_device_status.rb +198 -0
  43. data/lib/oraclebmc/core/models/launch_instance_details.rb +327 -0
  44. data/lib/oraclebmc/core/models/port_range.rb +175 -0
  45. data/lib/oraclebmc/core/models/route_rule.rb +177 -0
  46. data/lib/oraclebmc/core/models/route_table.rb +246 -0
  47. data/lib/oraclebmc/core/models/security_list.rb +257 -0
  48. data/lib/oraclebmc/core/models/shape.rb +164 -0
  49. data/lib/oraclebmc/core/models/subnet.rb +325 -0
  50. data/lib/oraclebmc/core/models/tcp_options.rb +177 -0
  51. data/lib/oraclebmc/core/models/tunnel_config.rb +193 -0
  52. data/lib/oraclebmc/core/models/tunnel_status.rb +218 -0
  53. data/lib/oraclebmc/core/models/udp_options.rb +177 -0
  54. data/lib/oraclebmc/core/models/update_cpe_details.rb +162 -0
  55. data/lib/oraclebmc/core/models/update_dhcp_details.rb +172 -0
  56. data/lib/oraclebmc/core/models/update_drg_attachment_details.rb +162 -0
  57. data/lib/oraclebmc/core/models/update_drg_details.rb +162 -0
  58. data/lib/oraclebmc/core/models/update_image_details.rb +165 -0
  59. data/lib/oraclebmc/core/models/update_instance_details.rb +165 -0
  60. data/lib/oraclebmc/core/models/update_internet_gateway_details.rb +173 -0
  61. data/lib/oraclebmc/core/models/update_ip_sec_connection_details.rb +162 -0
  62. data/lib/oraclebmc/core/models/update_route_table_details.rb +173 -0
  63. data/lib/oraclebmc/core/models/update_security_list_details.rb +184 -0
  64. data/lib/oraclebmc/core/models/update_subnet_details.rb +162 -0
  65. data/lib/oraclebmc/core/models/update_vcn_details.rb +162 -0
  66. data/lib/oraclebmc/core/models/update_volume_backup_details.rb +162 -0
  67. data/lib/oraclebmc/core/models/update_volume_details.rb +163 -0
  68. data/lib/oraclebmc/core/models/vcn.rb +272 -0
  69. data/lib/oraclebmc/core/models/vnic.rb +274 -0
  70. data/lib/oraclebmc/core/models/vnic_attachment.rb +271 -0
  71. data/lib/oraclebmc/core/models/volume.rb +249 -0
  72. data/lib/oraclebmc/core/models/volume_attachment.rb +284 -0
  73. data/lib/oraclebmc/core/models/volume_backup.rb +273 -0
  74. data/lib/oraclebmc/core/util.rb +1 -0
  75. data/lib/oraclebmc/core/virtual_network_client.rb +2263 -0
  76. data/lib/oraclebmc/errors.rb +62 -0
  77. data/lib/oraclebmc/global_context.rb +21 -0
  78. data/lib/oraclebmc/identity/identity.rb +38 -0
  79. data/lib/oraclebmc/identity/identity_client.rb +1462 -0
  80. data/lib/oraclebmc/identity/models/add_user_to_group_details.rb +173 -0
  81. data/lib/oraclebmc/identity/models/api_key.rb +251 -0
  82. data/lib/oraclebmc/identity/models/availability_domain.rb +173 -0
  83. data/lib/oraclebmc/identity/models/compartment.rb +251 -0
  84. data/lib/oraclebmc/identity/models/create_api_key_details.rb +162 -0
  85. data/lib/oraclebmc/identity/models/create_compartment_details.rb +187 -0
  86. data/lib/oraclebmc/identity/models/create_group_details.rb +186 -0
  87. data/lib/oraclebmc/identity/models/create_policy_details.rb +215 -0
  88. data/lib/oraclebmc/identity/models/create_swift_password_details.rb +163 -0
  89. data/lib/oraclebmc/identity/models/create_user_details.rb +186 -0
  90. data/lib/oraclebmc/identity/models/group.rb +251 -0
  91. data/lib/oraclebmc/identity/models/policy.rb +277 -0
  92. data/lib/oraclebmc/identity/models/swift_password.rb +266 -0
  93. data/lib/oraclebmc/identity/models/ui_password.rb +227 -0
  94. data/lib/oraclebmc/identity/models/update_compartment_details.rb +162 -0
  95. data/lib/oraclebmc/identity/models/update_group_details.rb +162 -0
  96. data/lib/oraclebmc/identity/models/update_policy_details.rb +190 -0
  97. data/lib/oraclebmc/identity/models/update_state_details.rb +163 -0
  98. data/lib/oraclebmc/identity/models/update_swift_password_details.rb +162 -0
  99. data/lib/oraclebmc/identity/models/update_user_details.rb +162 -0
  100. data/lib/oraclebmc/identity/models/user.rb +257 -0
  101. data/lib/oraclebmc/identity/models/user_group_membership.rb +249 -0
  102. data/lib/oraclebmc/identity/util.rb +1 -0
  103. data/lib/oraclebmc/load_balancer/load_balancer.rb +45 -0
  104. data/lib/oraclebmc/load_balancer/load_balancer_client.rb +1218 -0
  105. data/lib/oraclebmc/load_balancer/models/backend.rb +262 -0
  106. data/lib/oraclebmc/load_balancer/models/backend_details.rb +248 -0
  107. data/lib/oraclebmc/load_balancer/models/backend_set.rb +211 -0
  108. data/lib/oraclebmc/load_balancer/models/backend_set_details.rb +197 -0
  109. data/lib/oraclebmc/load_balancer/models/certificate.rb +209 -0
  110. data/lib/oraclebmc/load_balancer/models/certificate_details.rb +245 -0
  111. data/lib/oraclebmc/load_balancer/models/create_backend_details.rb +248 -0
  112. data/lib/oraclebmc/load_balancer/models/create_backend_set_details.rb +210 -0
  113. data/lib/oraclebmc/load_balancer/models/create_certificate_details.rb +245 -0
  114. data/lib/oraclebmc/load_balancer/models/create_listener_details.rb +216 -0
  115. data/lib/oraclebmc/load_balancer/models/create_load_balancer_details.rb +233 -0
  116. data/lib/oraclebmc/load_balancer/models/health_checker.rb +265 -0
  117. data/lib/oraclebmc/load_balancer/models/health_checker_details.rb +264 -0
  118. data/lib/oraclebmc/load_balancer/models/ip_address.rb +165 -0
  119. data/lib/oraclebmc/load_balancer/models/listener.rb +216 -0
  120. data/lib/oraclebmc/load_balancer/models/listener_details.rb +202 -0
  121. data/lib/oraclebmc/load_balancer/models/load_balancer.rb +296 -0
  122. data/lib/oraclebmc/load_balancer/models/load_balancer_policy.rb +162 -0
  123. data/lib/oraclebmc/load_balancer/models/load_balancer_protocol.rb +162 -0
  124. data/lib/oraclebmc/load_balancer/models/load_balancer_shape.rb +162 -0
  125. data/lib/oraclebmc/load_balancer/models/ssl_configuration.rb +195 -0
  126. data/lib/oraclebmc/load_balancer/models/ssl_configuration_details.rb +195 -0
  127. data/lib/oraclebmc/load_balancer/models/update_backend_details.rb +220 -0
  128. data/lib/oraclebmc/load_balancer/models/update_backend_set_details.rb +197 -0
  129. data/lib/oraclebmc/load_balancer/models/update_health_checker_details.rb +263 -0
  130. data/lib/oraclebmc/load_balancer/models/update_listener_details.rb +202 -0
  131. data/lib/oraclebmc/load_balancer/models/update_load_balancer_details.rb +165 -0
  132. data/lib/oraclebmc/load_balancer/models/work_request.rb +269 -0
  133. data/lib/oraclebmc/load_balancer/models/work_request_error.rb +185 -0
  134. data/lib/oraclebmc/load_balancer/util.rb +55 -0
  135. data/lib/oraclebmc/regions.rb +41 -0
  136. data/lib/oraclebmc/response.rb +86 -0
  137. data/lib/oraclebmc/signer.rb +119 -0
  138. data/lib/oraclebmc/version.rb +5 -0
  139. data/lib/oraclebmc/waiter.rb +111 -0
  140. data/lib/oraclebmc.rb +20 -0
  141. metadata +265 -0
@@ -0,0 +1,2263 @@
1
+ # Copyright (c) 2016 Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require "uri"
4
+ require "logger"
5
+
6
+ module OracleBMC
7
+
8
+ class Core::VirtualNetworkClient
9
+
10
+ # Client used to make HTTP requests.
11
+ # @return [OracleBMC::ApiClient]
12
+ attr_reader :api_client
13
+
14
+ # Fully qualified endpoint URL
15
+ # @return [String]
16
+ attr_reader :endpoint
17
+
18
+ # The region, which will usually correspond to a value in {OracleBMC::Regions::REGION_ENUM}.
19
+ # @return [String]
20
+ attr_accessor :region
21
+
22
+ # Creates a new VirtualNetworkClient.
23
+ # If a config is not specified, then the global OracleBMC.config will be used.
24
+ #
25
+ # A region must be specified in either the config or the region parameter. If specified
26
+ # in both, then the region parameter will be used.
27
+ #
28
+ # @param [Config] config A Config object.
29
+ # @param [String] region A region used to determine the service endpoint. This will usually
30
+ # correspond to a value in {OracleBMC::Regions::REGION_ENUM}, but may be an arbitrary string.
31
+ #
32
+ def initialize(config:nil, region:nil)
33
+ config ||= OracleBMC.config
34
+ signer = Signer.new(config.user, config.fingerprint, config.tenancy, config.key_file, pass_phrase: config.pass_phrase)
35
+ @api_client = ApiClient.new(config, signer)
36
+
37
+ region ||= config.region
38
+ self.region = region
39
+ end
40
+
41
+ # Set the region that will be used to determine the service endpoint.
42
+ # This will usually correspond to a value in {OracleBMC::Regions::REGION_ENUM},
43
+ # but may be an arbitrary string.
44
+ def region=(r)
45
+ @region = r
46
+
47
+ fail 'A region must be specified.' unless @region
48
+
49
+ if not OracleBMC::Regions.valid_region? region
50
+ logger.info "Unknown region '#{@region}', falling back to default endpoint format." if logger
51
+ end
52
+
53
+ @endpoint = OracleBMC::Regions.get_service_endpoint(@region, :VirtualNetworkClient) + '/20160918'
54
+ logger.info "VirtualNetworkClient endpoint set to '#{endpoint}'." if logger
55
+ end
56
+
57
+ # @return [Logger] The logger for this client. May be nil.
58
+ def logger
59
+ @api_client.config.logger
60
+ end
61
+
62
+
63
+ # Creates a new virtual Customer-Premise Equipment (CPE) object in the specified compartment. For
64
+ # more information, see [Managing Customer-Premise Equipment (CPE)](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Tasks/managingCPEs.htm).
65
+ #
66
+ # For the purposes of access control, you must provide the OCID of the compartment where you want
67
+ # the CPE to reside. Notice that the CPE doesn't have to be in the same compartment as the IPSec
68
+ # connection or other Networking Service components. If you're not sure which compartment to
69
+ # use, put the CPE in the same compartment as the IPSec connection. For more information about
70
+ # compartments and access control, see [Overview of the IAM Service](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/overview.htm).
71
+ # For information about OCIDs, see [Resource Identifiers](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
72
+ #
73
+ # You must provide the public IP address of your on-premise router. See
74
+ # [Configuring Your On-Premise Router](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Tasks/configuringCPE.htm).
75
+ #
76
+ # You may optionally specify a *display name* for the CPE, otherwise a default is provided. It does not have to
77
+ # be unique, and you can change it.
78
+ #
79
+ # @param [CreateCpeDetails] create_cpe_details Details for creating a CPE.
80
+ # @param [Hash] opts the optional parameters
81
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
82
+ # server error without risk of executing that same action again. Retry tokens expire after 24
83
+ # hours, but can be invalidated before then due to conflicting operations (e.g., if a resource
84
+ # has been deleted and purged from the system, then a retry of the original creation request
85
+ # may be rejected).
86
+ #
87
+ # @return [Response] A Response object with data of type OracleBMC::Core::Models::Cpe
88
+ def create_cpe(create_cpe_details, opts = {})
89
+ logger.debug "Calling operation VirtualNetworkClient#create_cpe." if logger
90
+
91
+ fail "Missing the required parameter 'create_cpe_details' when calling create_cpe." if create_cpe_details.nil?
92
+
93
+ path = "/cpes"
94
+
95
+ # Query Params
96
+ query_params = {}
97
+
98
+ # Header Params
99
+ header_params = {}
100
+ header_params['accept'] = 'application/json'
101
+ header_params['content-type'] = 'application/json'
102
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
103
+
104
+ post_body = @api_client.object_to_http_body(create_cpe_details)
105
+
106
+ return @api_client.call_api(
107
+ :POST,
108
+ path,
109
+ endpoint,
110
+ :header_params => header_params,
111
+ :query_params => query_params,
112
+ :body => post_body,
113
+ :return_type => 'OracleBMC::Core::Models::Cpe')
114
+ end
115
+
116
+ # Creates a new set of DHCP options for the specified VCN. The only option available to use is
117
+ # {DhcpDnsOption}, which lets you specify how DNS (host name resolution) is
118
+ # handled in the subnets in your VCN. For more information, see
119
+ # [Managing DHCP Options](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Tasks/managingDHCP.htm).
120
+ #
121
+ # For the purposes of access control, you must provide the OCID of the compartment where you want the set of
122
+ # DHCP options to reside. Notice that the set of options doesn't have to be in the same compartment as the VCN,
123
+ # subnets, or other Networking Service components. If you're not sure which compartment to use, put the set
124
+ # of DHCP options in the same compartment as the VCN. For more information about compartments and access control, see
125
+ # [Overview of the IAM Service](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/overview.htm). For information about OCIDs, see
126
+ # [Resource Identifiers](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
127
+ #
128
+ # You may optionally specify a *display name* for the set of DHCP options, otherwise a default is provided.
129
+ # It does not have to be unique, and you can change it.
130
+ #
131
+ # @param [CreateDhcpDetails] create_dhcp_details Request object for creating a new set of DHCP options.
132
+ # @param [Hash] opts the optional parameters
133
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
134
+ # server error without risk of executing that same action again. Retry tokens expire after 24
135
+ # hours, but can be invalidated before then due to conflicting operations (e.g., if a resource
136
+ # has been deleted and purged from the system, then a retry of the original creation request
137
+ # may be rejected).
138
+ #
139
+ # @return [Response] A Response object with data of type OracleBMC::Core::Models::DhcpOptions
140
+ def create_dhcp_options(create_dhcp_details, opts = {})
141
+ logger.debug "Calling operation VirtualNetworkClient#create_dhcp_options." if logger
142
+
143
+ fail "Missing the required parameter 'create_dhcp_details' when calling create_dhcp_options." if create_dhcp_details.nil?
144
+
145
+ path = "/dhcps"
146
+
147
+ # Query Params
148
+ query_params = {}
149
+
150
+ # Header Params
151
+ header_params = {}
152
+ header_params['accept'] = 'application/json'
153
+ header_params['content-type'] = 'application/json'
154
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
155
+
156
+ post_body = @api_client.object_to_http_body(create_dhcp_details)
157
+
158
+ return @api_client.call_api(
159
+ :POST,
160
+ path,
161
+ endpoint,
162
+ :header_params => header_params,
163
+ :query_params => query_params,
164
+ :body => post_body,
165
+ :return_type => 'OracleBMC::Core::Models::DhcpOptions')
166
+ end
167
+
168
+ # Creates a new Dynamic Routing Gateway (DRG) in the specified compartment. For more information,
169
+ # see [Managing Dynamic Routing Gateways (DRGs)](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Tasks/managingDRGs.htm).
170
+ #
171
+ # For the purposes of access control, you must provide the OCID of the compartment where you want
172
+ # the DRG to reside. Notice that the DRG doesn't have to be in the same compartment as the VCN,
173
+ # the DRG attachment, or other Networking Service components. If you're not sure which compartment
174
+ # to use, put the DRG in the same compartment as the VCN. For more information about compartments
175
+ # and access control, see [Overview of the IAM Service](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/overview.htm).
176
+ # For information about OCIDs, see [Resource Identifiers](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
177
+ #
178
+ # You may optionally specify a *display name* for the DRG, otherwise a default is provided.
179
+ # It does not have to be unique, and you can change it.
180
+ #
181
+ # @param [CreateDrgDetails] create_drg_details Details for creating a DRG.
182
+ # @param [Hash] opts the optional parameters
183
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
184
+ # server error without risk of executing that same action again. Retry tokens expire after 24
185
+ # hours, but can be invalidated before then due to conflicting operations (e.g., if a resource
186
+ # has been deleted and purged from the system, then a retry of the original creation request
187
+ # may be rejected).
188
+ #
189
+ # @return [Response] A Response object with data of type OracleBMC::Core::Models::Drg
190
+ def create_drg(create_drg_details, opts = {})
191
+ logger.debug "Calling operation VirtualNetworkClient#create_drg." if logger
192
+
193
+ fail "Missing the required parameter 'create_drg_details' when calling create_drg." if create_drg_details.nil?
194
+
195
+ path = "/drgs"
196
+
197
+ # Query Params
198
+ query_params = {}
199
+
200
+ # Header Params
201
+ header_params = {}
202
+ header_params['accept'] = 'application/json'
203
+ header_params['content-type'] = 'application/json'
204
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
205
+
206
+ post_body = @api_client.object_to_http_body(create_drg_details)
207
+
208
+ return @api_client.call_api(
209
+ :POST,
210
+ path,
211
+ endpoint,
212
+ :header_params => header_params,
213
+ :query_params => query_params,
214
+ :body => post_body,
215
+ :return_type => 'OracleBMC::Core::Models::Drg')
216
+ end
217
+
218
+ # Attaches the specified DRG to the specified VCN. A VCN can be attached to only one DRG at a time.
219
+ # The response includes a `DrgAttachment` object with its own OCID. For more information about DRGs, see
220
+ # [Managing Dynamic Routing Gateways (DRGs)](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Tasks/managingDRGs.htm).
221
+ #
222
+ # You may optionally specify a *display name* for the attachment, otherwise a default is provided.
223
+ # It does not have to be unique, and you can change it.
224
+ #
225
+ # For the purposes of access control, the DRG attachment is automatically placed into the same compartment
226
+ # as the VCN. For more information about compartments and access control, see
227
+ # [Overview of the IAM Service](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/overview.htm).
228
+ #
229
+ # @param [CreateDrgAttachmentDetails] create_drg_attachment_details Details for creating a `DrgAttachment`.
230
+ # @param [Hash] opts the optional parameters
231
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
232
+ # server error without risk of executing that same action again. Retry tokens expire after 24
233
+ # hours, but can be invalidated before then due to conflicting operations (e.g., if a resource
234
+ # has been deleted and purged from the system, then a retry of the original creation request
235
+ # may be rejected).
236
+ #
237
+ # @return [Response] A Response object with data of type OracleBMC::Core::Models::DrgAttachment
238
+ def create_drg_attachment(create_drg_attachment_details, opts = {})
239
+ logger.debug "Calling operation VirtualNetworkClient#create_drg_attachment." if logger
240
+
241
+ fail "Missing the required parameter 'create_drg_attachment_details' when calling create_drg_attachment." if create_drg_attachment_details.nil?
242
+
243
+ path = "/drgAttachments"
244
+
245
+ # Query Params
246
+ query_params = {}
247
+
248
+ # Header Params
249
+ header_params = {}
250
+ header_params['accept'] = 'application/json'
251
+ header_params['content-type'] = 'application/json'
252
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
253
+
254
+ post_body = @api_client.object_to_http_body(create_drg_attachment_details)
255
+
256
+ return @api_client.call_api(
257
+ :POST,
258
+ path,
259
+ endpoint,
260
+ :header_params => header_params,
261
+ :query_params => query_params,
262
+ :body => post_body,
263
+ :return_type => 'OracleBMC::Core::Models::DrgAttachment')
264
+ end
265
+
266
+ # Creates a new Internet Gateway for the specified VCN. For more information, see
267
+ # [Managing Internet Gateways](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Tasks/managingIGs.htm).
268
+ #
269
+ # For the purposes of access control, you must provide the OCID of the compartment where you want the Internet
270
+ # Gateway to reside. Notice that the Internet Gateway doesn't have to be in the same compartment as the VCN or
271
+ # other Networking Service components. If you're not sure which compartment to use, put the Internet
272
+ # Gateway in the same compartment with the VCN. For more information about compartments and access control, see
273
+ # [Overview of the IAM Service](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/overview.htm). For information about OCIDs, see
274
+ # [Resource Identifiers](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
275
+ #
276
+ # You may optionally specify a *display name* for the Internet Gateway, otherwise a default is provided. It
277
+ # does not have to be unique, and you can change it.
278
+ #
279
+ # For traffic to flow between a subnet and an Internet Gateway, you must create a route rule accordingly in
280
+ # the subnet's route table (e.g., 0.0.0.0/0 > Internet Gateway). See
281
+ # {#update_route_table update_route_table}.
282
+ #
283
+ # You must specify whether the Internet Gateway is enabled when you create it. If it's disabled, that means no
284
+ # traffic will flow to/from the internet even if there's a route rule that enables that traffic. You can later
285
+ # use {#update_internet_gateway update_internet_gateway} to easily disable/enable
286
+ # the gateway without changing the route rule.
287
+ #
288
+ # @param [CreateInternetGatewayDetails] create_internet_gateway_details Details for creating a new Internet Gateway.
289
+ # @param [Hash] opts the optional parameters
290
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
291
+ # server error without risk of executing that same action again. Retry tokens expire after 24
292
+ # hours, but can be invalidated before then due to conflicting operations (e.g., if a resource
293
+ # has been deleted and purged from the system, then a retry of the original creation request
294
+ # may be rejected).
295
+ #
296
+ # @return [Response] A Response object with data of type OracleBMC::Core::Models::InternetGateway
297
+ def create_internet_gateway(create_internet_gateway_details, opts = {})
298
+ logger.debug "Calling operation VirtualNetworkClient#create_internet_gateway." if logger
299
+
300
+ fail "Missing the required parameter 'create_internet_gateway_details' when calling create_internet_gateway." if create_internet_gateway_details.nil?
301
+
302
+ path = "/internetGateways"
303
+
304
+ # Query Params
305
+ query_params = {}
306
+
307
+ # Header Params
308
+ header_params = {}
309
+ header_params['accept'] = 'application/json'
310
+ header_params['content-type'] = 'application/json'
311
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
312
+
313
+ post_body = @api_client.object_to_http_body(create_internet_gateway_details)
314
+
315
+ return @api_client.call_api(
316
+ :POST,
317
+ path,
318
+ endpoint,
319
+ :header_params => header_params,
320
+ :query_params => query_params,
321
+ :body => post_body,
322
+ :return_type => 'OracleBMC::Core::Models::InternetGateway')
323
+ end
324
+
325
+ # Creates a new IPSec connection between the specified DRG and CPE. For more information, see
326
+ # [Managing IPSec Connections](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Tasks/managingIPsec.htm).
327
+ #
328
+ # In the request, you must include at least one static route to the CPE object (you're allowed a maximum
329
+ # of 10). For example: 10.0.8.0/16.
330
+ #
331
+ # For the purposes of access control, you must provide the OCID of the compartment where you want the
332
+ # IPSec connection to reside. Notice that the IPSec connection doesn't have to be in the same compartment
333
+ # as the DRG, CPE, or other Networking Service components. If you're not sure which compartment to
334
+ # use, put the IPSec connection in the same compartment as the CPE. For more information about
335
+ # compartments and access control, see
336
+ # [Overview of the IAM Service](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/overview.htm).
337
+ # For information about OCIDs, see [Resource Identifiers](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
338
+ #
339
+ # You may optionally specify a *display name* for the IPSec connection, otherwise a default is provided.
340
+ # It does not have to be unique, and you can change it.
341
+ #
342
+ # After creating the IPSec connection, you need to configure your on-premise router
343
+ # with tunnel-specific information returned by
344
+ # {#get_ip_sec_connection_device_config get_ip_sec_connection_device_config}.
345
+ # For each tunnel, that operation gives you the IP address of Oracle's VPN headend and the shared secret
346
+ # (i.e., the pre-shared key). For more information, see
347
+ # [Configuring Your On-Premise Router](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Tasks/configuringCPE.htm).
348
+ #
349
+ # To get the status of the tunnels (whether they're up or down), use
350
+ # {#get_ip_sec_connection_device_status get_ip_sec_connection_device_status}.
351
+ #
352
+ # @param [CreateIPSecConnectionDetails] create_ip_sec_connection_details Details for creating an `IPSecConnection`.
353
+ # @param [Hash] opts the optional parameters
354
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
355
+ # server error without risk of executing that same action again. Retry tokens expire after 24
356
+ # hours, but can be invalidated before then due to conflicting operations (e.g., if a resource
357
+ # has been deleted and purged from the system, then a retry of the original creation request
358
+ # may be rejected).
359
+ #
360
+ # @return [Response] A Response object with data of type OracleBMC::Core::Models::IPSecConnection
361
+ def create_ip_sec_connection(create_ip_sec_connection_details, opts = {})
362
+ logger.debug "Calling operation VirtualNetworkClient#create_ip_sec_connection." if logger
363
+
364
+ fail "Missing the required parameter 'create_ip_sec_connection_details' when calling create_ip_sec_connection." if create_ip_sec_connection_details.nil?
365
+
366
+ path = "/ipsecConnections"
367
+
368
+ # Query Params
369
+ query_params = {}
370
+
371
+ # Header Params
372
+ header_params = {}
373
+ header_params['accept'] = 'application/json'
374
+ header_params['content-type'] = 'application/json'
375
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
376
+
377
+ post_body = @api_client.object_to_http_body(create_ip_sec_connection_details)
378
+
379
+ return @api_client.call_api(
380
+ :POST,
381
+ path,
382
+ endpoint,
383
+ :header_params => header_params,
384
+ :query_params => query_params,
385
+ :body => post_body,
386
+ :return_type => 'OracleBMC::Core::Models::IPSecConnection')
387
+ end
388
+
389
+ # Creates a new route table for the specified VCN. In the request you must also include at least one route
390
+ # rule for the new route table. For information on the number of rules you can have in a route table, see
391
+ # [Service Limits](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/servicelimits.htm). For general information about route
392
+ # tables in your VCN, see [Managing Route Tables](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Tasks/managingroutetables.htm).
393
+ #
394
+ # For the purposes of access control, you must provide the OCID of the compartment where you want the route
395
+ # table to reside. Notice that the route table doesn't have to be in the same compartment as the VCN, subnets,
396
+ # or other Networking Service components. If you're not sure which compartment to use, put the route
397
+ # table in the same compartment as the VCN. For more information about compartments and access control, see
398
+ # [Overview of the IAM Service](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/overview.htm). For information about OCIDs, see
399
+ # [Resource Identifiers](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
400
+ #
401
+ # You may optionally specify a *display name* for the route table, otherwise a default is provided.
402
+ # It does not have to be unique, and you can change it.
403
+ #
404
+ # @param [CreateRouteTableDetails] create_route_table_details Details for creating a new route table.
405
+ # @param [Hash] opts the optional parameters
406
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
407
+ # server error without risk of executing that same action again. Retry tokens expire after 24
408
+ # hours, but can be invalidated before then due to conflicting operations (e.g., if a resource
409
+ # has been deleted and purged from the system, then a retry of the original creation request
410
+ # may be rejected).
411
+ #
412
+ # @return [Response] A Response object with data of type OracleBMC::Core::Models::RouteTable
413
+ def create_route_table(create_route_table_details, opts = {})
414
+ logger.debug "Calling operation VirtualNetworkClient#create_route_table." if logger
415
+
416
+ fail "Missing the required parameter 'create_route_table_details' when calling create_route_table." if create_route_table_details.nil?
417
+
418
+ path = "/routeTables"
419
+
420
+ # Query Params
421
+ query_params = {}
422
+
423
+ # Header Params
424
+ header_params = {}
425
+ header_params['accept'] = 'application/json'
426
+ header_params['content-type'] = 'application/json'
427
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
428
+
429
+ post_body = @api_client.object_to_http_body(create_route_table_details)
430
+
431
+ return @api_client.call_api(
432
+ :POST,
433
+ path,
434
+ endpoint,
435
+ :header_params => header_params,
436
+ :query_params => query_params,
437
+ :body => post_body,
438
+ :return_type => 'OracleBMC::Core::Models::RouteTable')
439
+ end
440
+
441
+ # Creates a new security list for the specified VCN. For more information
442
+ # about security lists, see [Security Lists](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Concepts/securitylists.htm).
443
+ # For information on the number of rules you can have in a security list, see
444
+ # [Service Limits](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/servicelimits.htm).
445
+ #
446
+ # For the purposes of access control, you must provide the OCID of the compartment where you want the security
447
+ # list to reside. Notice that the security list doesn't have to be in the same compartment as the VCN, subnets,
448
+ # or other Networking Service components. If you're not sure which compartment to use, put the security
449
+ # list in the same compartment as the VCN. For more information about compartments and access control, see
450
+ # [Overview of the IAM Service](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/overview.htm). For information about OCIDs, see
451
+ # [Resource Identifiers](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
452
+ #
453
+ # You may optionally specify a *display name* for the security list, otherwise a default is provided.
454
+ # It does not have to be unique, and you can change it.
455
+ #
456
+ # @param [CreateSecurityListDetails] create_security_list_details Details regarding the security list to create.
457
+ # @param [Hash] opts the optional parameters
458
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
459
+ # server error without risk of executing that same action again. Retry tokens expire after 24
460
+ # hours, but can be invalidated before then due to conflicting operations (e.g., if a resource
461
+ # has been deleted and purged from the system, then a retry of the original creation request
462
+ # may be rejected).
463
+ #
464
+ # @return [Response] A Response object with data of type OracleBMC::Core::Models::SecurityList
465
+ def create_security_list(create_security_list_details, opts = {})
466
+ logger.debug "Calling operation VirtualNetworkClient#create_security_list." if logger
467
+
468
+ fail "Missing the required parameter 'create_security_list_details' when calling create_security_list." if create_security_list_details.nil?
469
+
470
+ path = "/securityLists"
471
+
472
+ # Query Params
473
+ query_params = {}
474
+
475
+ # Header Params
476
+ header_params = {}
477
+ header_params['accept'] = 'application/json'
478
+ header_params['content-type'] = 'application/json'
479
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
480
+
481
+ post_body = @api_client.object_to_http_body(create_security_list_details)
482
+
483
+ return @api_client.call_api(
484
+ :POST,
485
+ path,
486
+ endpoint,
487
+ :header_params => header_params,
488
+ :query_params => query_params,
489
+ :body => post_body,
490
+ :return_type => 'OracleBMC::Core::Models::SecurityList')
491
+ end
492
+
493
+ # Creates a new subnet in the specified VCN. You can't change the size of the subnet after creation,
494
+ # so it's important to think about the size of subnets you need before creating them.
495
+ # For more information, see [Managing Subnets](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Tasks/managingsubnets.htm).
496
+ # For information on the number of subnets you can have in a VCN, see
497
+ # [Service Limits](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/servicelimits.htm).
498
+ #
499
+ # For the purposes of access control, you must provide the OCID of the compartment where you want the subnet
500
+ # to reside. Notice that the subnet doesn't have to be in the same compartment as the VCN, route tables, or
501
+ # other Networking Service components. If you're not sure which compartment to use, put the subnet in
502
+ # the same compartment as the VCN. For more information about compartments and access control, see
503
+ # [Overview of the IAM Service](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/overview.htm). For information about OCIDs,
504
+ # see [Resource Identifiers](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
505
+ #
506
+ # You may optionally associate a route table with the subnet. If you don't, the subnet will use the
507
+ # VCN's default route table. For more information about route tables, see
508
+ # [Managing Route Tables](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Tasks/managingroutetables.htm).
509
+ #
510
+ # You may optionally associate a security list with the subnet. If you don't, the subnet will use the
511
+ # VCN's default security list. For more information about security lists, see
512
+ # [Security Lists](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Concepts/securitylists.htm).
513
+ #
514
+ # You may optionally associate a set of DHCP options with the subnet. If you don't, the subnet will use the
515
+ # VCN's default set. For more information about DHCP options, see
516
+ # [Managing DHCP Options](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Tasks/managingDHCP.htm).
517
+ #
518
+ # You may optionally specify a *display name* for the subnet, otherwise a default is provided.
519
+ # It does not have to be unique, and you can change it.
520
+ #
521
+ # @param [CreateSubnetDetails] create_subnet_details Details for creating a subnet.
522
+ # @param [Hash] opts the optional parameters
523
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
524
+ # server error without risk of executing that same action again. Retry tokens expire after 24
525
+ # hours, but can be invalidated before then due to conflicting operations (e.g., if a resource
526
+ # has been deleted and purged from the system, then a retry of the original creation request
527
+ # may be rejected).
528
+ #
529
+ # @return [Response] A Response object with data of type OracleBMC::Core::Models::Subnet
530
+ def create_subnet(create_subnet_details, opts = {})
531
+ logger.debug "Calling operation VirtualNetworkClient#create_subnet." if logger
532
+
533
+ fail "Missing the required parameter 'create_subnet_details' when calling create_subnet." if create_subnet_details.nil?
534
+
535
+ path = "/subnets"
536
+
537
+ # Query Params
538
+ query_params = {}
539
+
540
+ # Header Params
541
+ header_params = {}
542
+ header_params['accept'] = 'application/json'
543
+ header_params['content-type'] = 'application/json'
544
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
545
+
546
+ post_body = @api_client.object_to_http_body(create_subnet_details)
547
+
548
+ return @api_client.call_api(
549
+ :POST,
550
+ path,
551
+ endpoint,
552
+ :header_params => header_params,
553
+ :query_params => query_params,
554
+ :body => post_body,
555
+ :return_type => 'OracleBMC::Core::Models::Subnet')
556
+ end
557
+
558
+ # Creates a new Virtual Cloud Network (VCN). For more information, see
559
+ # [Managing Virtual Cloud Networks (VCNs)](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Tasks/managingVCNs.htm).
560
+ #
561
+ # For the VCN you must specify a single, contiguous IPv4 CIDR block in the private IP address ranges specified in
562
+ # [RFC 1918](https://tools.ietf.org/html/rfc1918) (10.0.0.0/8, 172.16/12, and 192.168/16). Example: 172.16.0.0/16.
563
+ # The CIDR block can range from /16 to /30, and it must not overlap with your on-premise network. You can't
564
+ # change the size of the VCN after creation.
565
+ #
566
+ # For the purposes of access control, you must provide the OCID of the compartment where you want the VCN to
567
+ # reside. Consult an Oracle Bare Metal Cloud Services administrator in your organization if you're not sure which
568
+ # compartment to use. Notice that the VCN doesn't have to be in the same compartment as the subnets or other
569
+ # Networking Service components. For more information about compartments and access control, see
570
+ # [Overview of the IAM Service](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/overview.htm). For information about OCIDs, see
571
+ # [Resource Identifiers](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
572
+ #
573
+ # You may optionally specify a *display name* for the VCN, otherwise a default is provided. It does not have to
574
+ # be unique, and you can change it.
575
+ #
576
+ # The VCN automatically comes with a default route table, default security list, and default set of DHCP options.
577
+ # The OCID for each is returned in the response. You can't delete these default objects, but you can change their
578
+ # contents (i.e., route rules, etc.)
579
+ #
580
+ # The VCN and subnets you create are not accessible until you attach an Internet Gateway or set up a VPN.
581
+ # For more information, see
582
+ # [Typical Networking Service Scenarios](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Concepts/overview.htm#three).
583
+ #
584
+ # @param [CreateVcnDetails] create_vcn_details Details for creating a new VCN.
585
+ # @param [Hash] opts the optional parameters
586
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
587
+ # server error without risk of executing that same action again. Retry tokens expire after 24
588
+ # hours, but can be invalidated before then due to conflicting operations (e.g., if a resource
589
+ # has been deleted and purged from the system, then a retry of the original creation request
590
+ # may be rejected).
591
+ #
592
+ # @return [Response] A Response object with data of type OracleBMC::Core::Models::Vcn
593
+ def create_vcn(create_vcn_details, opts = {})
594
+ logger.debug "Calling operation VirtualNetworkClient#create_vcn." if logger
595
+
596
+ fail "Missing the required parameter 'create_vcn_details' when calling create_vcn." if create_vcn_details.nil?
597
+
598
+ path = "/vcns"
599
+
600
+ # Query Params
601
+ query_params = {}
602
+
603
+ # Header Params
604
+ header_params = {}
605
+ header_params['accept'] = 'application/json'
606
+ header_params['content-type'] = 'application/json'
607
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
608
+
609
+ post_body = @api_client.object_to_http_body(create_vcn_details)
610
+
611
+ return @api_client.call_api(
612
+ :POST,
613
+ path,
614
+ endpoint,
615
+ :header_params => header_params,
616
+ :query_params => query_params,
617
+ :body => post_body,
618
+ :return_type => 'OracleBMC::Core::Models::Vcn')
619
+ end
620
+
621
+ # Deletes the specified CPE object. The CPE must not be connected to a DRG. This is an asynchronous
622
+ # operation; the CPE's `lifecycleState` will change to TERMINATING temporarily until the CPE is completely
623
+ # removed.
624
+ #
625
+ # @param [String] cpe_id The OCID of the CPE.
626
+ # @param [Hash] opts the optional parameters
627
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
628
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
629
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
630
+ #
631
+ # @return [Response] A Response object with data of type nil
632
+ def delete_cpe(cpe_id, opts = {})
633
+ logger.debug "Calling operation VirtualNetworkClient#delete_cpe." if logger
634
+
635
+ fail "Missing the required parameter 'cpe_id' when calling delete_cpe." if cpe_id.nil?
636
+
637
+ path = "/cpes/{cpeId}".sub('{cpeId}', cpe_id.to_s)
638
+
639
+ # Query Params
640
+ query_params = {}
641
+
642
+ # Header Params
643
+ header_params = {}
644
+ header_params['accept'] = 'application/json'
645
+ header_params['content-type'] = 'application/json'
646
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
647
+
648
+ post_body = nil
649
+
650
+ return @api_client.call_api(
651
+ :DELETE,
652
+ path,
653
+ endpoint,
654
+ :header_params => header_params,
655
+ :query_params => query_params,
656
+ :body => post_body)
657
+ end
658
+
659
+ # Deletes the specified set of DHCP options, but only if it's not associated with a subnet. You can't delete a
660
+ # VCN's default set of DHCP options.
661
+ #
662
+ # This is an asynchronous operation; the state of the set of options will switch to TERMINATING temporarily
663
+ # until the set is completely removed.
664
+ #
665
+ # @param [String] dhcp_id The OCID for the set of DHCP options.
666
+ # @param [Hash] opts the optional parameters
667
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
668
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
669
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
670
+ #
671
+ # @return [Response] A Response object with data of type nil
672
+ def delete_dhcp_options(dhcp_id, opts = {})
673
+ logger.debug "Calling operation VirtualNetworkClient#delete_dhcp_options." if logger
674
+
675
+ fail "Missing the required parameter 'dhcp_id' when calling delete_dhcp_options." if dhcp_id.nil?
676
+
677
+ path = "/dhcps/{dhcpId}".sub('{dhcpId}', dhcp_id.to_s)
678
+
679
+ # Query Params
680
+ query_params = {}
681
+
682
+ # Header Params
683
+ header_params = {}
684
+ header_params['accept'] = 'application/json'
685
+ header_params['content-type'] = 'application/json'
686
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
687
+
688
+ post_body = nil
689
+
690
+ return @api_client.call_api(
691
+ :DELETE,
692
+ path,
693
+ endpoint,
694
+ :header_params => header_params,
695
+ :query_params => query_params,
696
+ :body => post_body)
697
+ end
698
+
699
+ # Deletes the specified DRG. The DRG must not be attached to a VCN or be connected to your on-premise
700
+ # network. Also, there must not be a route table that lists the DRG as a target. This is an asynchronous
701
+ # operation; the DRG's `lifecycleState` will change to TERMINATING temporarily until the DRG is completely
702
+ # removed.
703
+ #
704
+ # @param [String] drg_id The OCID of the DRG.
705
+ # @param [Hash] opts the optional parameters
706
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
707
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
708
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
709
+ #
710
+ # @return [Response] A Response object with data of type nil
711
+ def delete_drg(drg_id, opts = {})
712
+ logger.debug "Calling operation VirtualNetworkClient#delete_drg." if logger
713
+
714
+ fail "Missing the required parameter 'drg_id' when calling delete_drg." if drg_id.nil?
715
+
716
+ path = "/drgs/{drgId}".sub('{drgId}', drg_id.to_s)
717
+
718
+ # Query Params
719
+ query_params = {}
720
+
721
+ # Header Params
722
+ header_params = {}
723
+ header_params['accept'] = 'application/json'
724
+ header_params['content-type'] = 'application/json'
725
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
726
+
727
+ post_body = nil
728
+
729
+ return @api_client.call_api(
730
+ :DELETE,
731
+ path,
732
+ endpoint,
733
+ :header_params => header_params,
734
+ :query_params => query_params,
735
+ :body => post_body)
736
+ end
737
+
738
+ # Detaches a DRG from a VCN by deleting the corresponding `DrgAttachment`. This is an asynchronous
739
+ # operation; the attachment's `lifecycleState` will change to DETACHING temporarily until the attachment
740
+ # is completely removed.
741
+ #
742
+ # @param [String] drg_attachment_id The OCID of the DRG attachment.
743
+ # @param [Hash] opts the optional parameters
744
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
745
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
746
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
747
+ #
748
+ # @return [Response] A Response object with data of type nil
749
+ def delete_drg_attachment(drg_attachment_id, opts = {})
750
+ logger.debug "Calling operation VirtualNetworkClient#delete_drg_attachment." if logger
751
+
752
+ fail "Missing the required parameter 'drg_attachment_id' when calling delete_drg_attachment." if drg_attachment_id.nil?
753
+
754
+ path = "/drgAttachments/{drgAttachmentId}".sub('{drgAttachmentId}', drg_attachment_id.to_s)
755
+
756
+ # Query Params
757
+ query_params = {}
758
+
759
+ # Header Params
760
+ header_params = {}
761
+ header_params['accept'] = 'application/json'
762
+ header_params['content-type'] = 'application/json'
763
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
764
+
765
+ post_body = nil
766
+
767
+ return @api_client.call_api(
768
+ :DELETE,
769
+ path,
770
+ endpoint,
771
+ :header_params => header_params,
772
+ :query_params => query_params,
773
+ :body => post_body)
774
+ end
775
+
776
+ # Deletes the specified Internet Gateway. The Internet Gateway does not have to be disabled, but
777
+ # there must not be a route table that lists it as a target.
778
+ #
779
+ # This is an asynchronous operation; the gateway's `lifecycleState` will change to TERMINATING temporarily
780
+ # until the gateway is completely removed.
781
+ #
782
+ # @param [String] ig_id The OCID of the Internet Gateway.
783
+ # @param [Hash] opts the optional parameters
784
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
785
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
786
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
787
+ #
788
+ # @return [Response] A Response object with data of type nil
789
+ def delete_internet_gateway(ig_id, opts = {})
790
+ logger.debug "Calling operation VirtualNetworkClient#delete_internet_gateway." if logger
791
+
792
+ fail "Missing the required parameter 'ig_id' when calling delete_internet_gateway." if ig_id.nil?
793
+
794
+ path = "/internetGateways/{igId}".sub('{igId}', ig_id.to_s)
795
+
796
+ # Query Params
797
+ query_params = {}
798
+
799
+ # Header Params
800
+ header_params = {}
801
+ header_params['accept'] = 'application/json'
802
+ header_params['content-type'] = 'application/json'
803
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
804
+
805
+ post_body = nil
806
+
807
+ return @api_client.call_api(
808
+ :DELETE,
809
+ path,
810
+ endpoint,
811
+ :header_params => header_params,
812
+ :query_params => query_params,
813
+ :body => post_body)
814
+ end
815
+
816
+ # Deletes the specified IPSec connection. If your goal is to disable the VPN between your VCN and
817
+ # on-premise network, it's easiest to simply detach the DRG but keep all the VPN components intact.
818
+ # If you were to delete all the components and then later need to create a VPN again, you would
819
+ # need to configure your on-premise router again with the new information returned from
820
+ # {#create_ip_sec_connection create_ip_sec_connection}.
821
+ #
822
+ # This is an asynchronous operation; the connection's `lifecycleState` will change to TERMINATING temporarily
823
+ # until the connection is completely removed.
824
+ #
825
+ # @param [String] ipsc_id The OCID of the IPSec connection.
826
+ # @param [Hash] opts the optional parameters
827
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
828
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
829
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
830
+ #
831
+ # @return [Response] A Response object with data of type nil
832
+ def delete_ip_sec_connection(ipsc_id, opts = {})
833
+ logger.debug "Calling operation VirtualNetworkClient#delete_ip_sec_connection." if logger
834
+
835
+ fail "Missing the required parameter 'ipsc_id' when calling delete_ip_sec_connection." if ipsc_id.nil?
836
+
837
+ path = "/ipsecConnections/{ipscId}".sub('{ipscId}', ipsc_id.to_s)
838
+
839
+ # Query Params
840
+ query_params = {}
841
+
842
+ # Header Params
843
+ header_params = {}
844
+ header_params['accept'] = 'application/json'
845
+ header_params['content-type'] = 'application/json'
846
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
847
+
848
+ post_body = nil
849
+
850
+ return @api_client.call_api(
851
+ :DELETE,
852
+ path,
853
+ endpoint,
854
+ :header_params => header_params,
855
+ :query_params => query_params,
856
+ :body => post_body)
857
+ end
858
+
859
+ # Deletes the specified route table, but only if it's not associated with a subnet. You can't delete a
860
+ # VCN's default route table.
861
+ #
862
+ # This is an asynchronous operation; the route table's `lifecycleState` will change to TERMINATING temporarily
863
+ # until the route table is completely removed.
864
+ #
865
+ # @param [String] rt_id The OCID of the route table.
866
+ # @param [Hash] opts the optional parameters
867
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
868
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
869
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
870
+ #
871
+ # @return [Response] A Response object with data of type nil
872
+ def delete_route_table(rt_id, opts = {})
873
+ logger.debug "Calling operation VirtualNetworkClient#delete_route_table." if logger
874
+
875
+ fail "Missing the required parameter 'rt_id' when calling delete_route_table." if rt_id.nil?
876
+
877
+ path = "/routeTables/{rtId}".sub('{rtId}', rt_id.to_s)
878
+
879
+ # Query Params
880
+ query_params = {}
881
+
882
+ # Header Params
883
+ header_params = {}
884
+ header_params['accept'] = 'application/json'
885
+ header_params['content-type'] = 'application/json'
886
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
887
+
888
+ post_body = nil
889
+
890
+ return @api_client.call_api(
891
+ :DELETE,
892
+ path,
893
+ endpoint,
894
+ :header_params => header_params,
895
+ :query_params => query_params,
896
+ :body => post_body)
897
+ end
898
+
899
+ # Deletes the specified security list, but only if it's not associated with a subnet. You can't delete
900
+ # a VCN's default security list.
901
+ #
902
+ # This is an asynchronous operation; the security list's `lifecycleState` will change to TERMINATING temporarily
903
+ # until the security list is completely removed.
904
+ #
905
+ # @param [String] security_list_id The OCID of the security list.
906
+ # @param [Hash] opts the optional parameters
907
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
908
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
909
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
910
+ #
911
+ # @return [Response] A Response object with data of type nil
912
+ def delete_security_list(security_list_id, opts = {})
913
+ logger.debug "Calling operation VirtualNetworkClient#delete_security_list." if logger
914
+
915
+ fail "Missing the required parameter 'security_list_id' when calling delete_security_list." if security_list_id.nil?
916
+
917
+ path = "/securityLists/{securityListId}".sub('{securityListId}', security_list_id.to_s)
918
+
919
+ # Query Params
920
+ query_params = {}
921
+
922
+ # Header Params
923
+ header_params = {}
924
+ header_params['accept'] = 'application/json'
925
+ header_params['content-type'] = 'application/json'
926
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
927
+
928
+ post_body = nil
929
+
930
+ return @api_client.call_api(
931
+ :DELETE,
932
+ path,
933
+ endpoint,
934
+ :header_params => header_params,
935
+ :query_params => query_params,
936
+ :body => post_body)
937
+ end
938
+
939
+ # Deletes the specified subnet, but only if there are no instances in the subnet. This is an asynchronous
940
+ # operation; the subnet's `lifecycleState` will change to TERMINATING temporarily. If there are any
941
+ # instances in the subnet, the state will instead change back to AVAILABLE.
942
+ #
943
+ # @param [String] subnet_id The OCID of the subnet.
944
+ # @param [Hash] opts the optional parameters
945
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
946
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
947
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
948
+ #
949
+ # @return [Response] A Response object with data of type nil
950
+ def delete_subnet(subnet_id, opts = {})
951
+ logger.debug "Calling operation VirtualNetworkClient#delete_subnet." if logger
952
+
953
+ fail "Missing the required parameter 'subnet_id' when calling delete_subnet." if subnet_id.nil?
954
+
955
+ path = "/subnets/{subnetId}".sub('{subnetId}', subnet_id.to_s)
956
+
957
+ # Query Params
958
+ query_params = {}
959
+
960
+ # Header Params
961
+ header_params = {}
962
+ header_params['accept'] = 'application/json'
963
+ header_params['content-type'] = 'application/json'
964
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
965
+
966
+ post_body = nil
967
+
968
+ return @api_client.call_api(
969
+ :DELETE,
970
+ path,
971
+ endpoint,
972
+ :header_params => header_params,
973
+ :query_params => query_params,
974
+ :body => post_body)
975
+ end
976
+
977
+ # Deletes the specified VCN. The VCN must be empty and have no attached gateways. This is an asynchronous
978
+ # operation; the VCN's `lifecycleState` will change to TERMINATING temporarily until the VCN is completely
979
+ # removed.
980
+ #
981
+ # @param [String] vcn_id The OCID of the VCN.
982
+ # @param [Hash] opts the optional parameters
983
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
984
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
985
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
986
+ #
987
+ # @return [Response] A Response object with data of type nil
988
+ def delete_vcn(vcn_id, opts = {})
989
+ logger.debug "Calling operation VirtualNetworkClient#delete_vcn." if logger
990
+
991
+ fail "Missing the required parameter 'vcn_id' when calling delete_vcn." if vcn_id.nil?
992
+
993
+ path = "/vcns/{vcnId}".sub('{vcnId}', vcn_id.to_s)
994
+
995
+ # Query Params
996
+ query_params = {}
997
+
998
+ # Header Params
999
+ header_params = {}
1000
+ header_params['accept'] = 'application/json'
1001
+ header_params['content-type'] = 'application/json'
1002
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
1003
+
1004
+ post_body = nil
1005
+
1006
+ return @api_client.call_api(
1007
+ :DELETE,
1008
+ path,
1009
+ endpoint,
1010
+ :header_params => header_params,
1011
+ :query_params => query_params,
1012
+ :body => post_body)
1013
+ end
1014
+
1015
+ # Gets the specified CPE's information.
1016
+ # @param [String] cpe_id The OCID of the CPE.
1017
+ # @param [Hash] opts the optional parameters
1018
+ # @return [Response] A Response object with data of type OracleBMC::Core::Models::Cpe
1019
+ def get_cpe(cpe_id, opts = {})
1020
+ logger.debug "Calling operation VirtualNetworkClient#get_cpe." if logger
1021
+
1022
+ fail "Missing the required parameter 'cpe_id' when calling get_cpe." if cpe_id.nil?
1023
+
1024
+ path = "/cpes/{cpeId}".sub('{cpeId}', cpe_id.to_s)
1025
+
1026
+ # Query Params
1027
+ query_params = {}
1028
+
1029
+ # Header Params
1030
+ header_params = {}
1031
+ header_params['accept'] = 'application/json'
1032
+ header_params['content-type'] = 'application/json'
1033
+
1034
+ post_body = nil
1035
+
1036
+ return @api_client.call_api(
1037
+ :GET,
1038
+ path,
1039
+ endpoint,
1040
+ :header_params => header_params,
1041
+ :query_params => query_params,
1042
+ :body => post_body,
1043
+ :return_type => 'OracleBMC::Core::Models::Cpe')
1044
+ end
1045
+
1046
+ # Gets the specified set of DHCP options.
1047
+ # @param [String] dhcp_id The OCID for the set of DHCP options.
1048
+ # @param [Hash] opts the optional parameters
1049
+ # @return [Response] A Response object with data of type OracleBMC::Core::Models::DhcpOptions
1050
+ def get_dhcp_options(dhcp_id, opts = {})
1051
+ logger.debug "Calling operation VirtualNetworkClient#get_dhcp_options." if logger
1052
+
1053
+ fail "Missing the required parameter 'dhcp_id' when calling get_dhcp_options." if dhcp_id.nil?
1054
+
1055
+ path = "/dhcps/{dhcpId}".sub('{dhcpId}', dhcp_id.to_s)
1056
+
1057
+ # Query Params
1058
+ query_params = {}
1059
+
1060
+ # Header Params
1061
+ header_params = {}
1062
+ header_params['accept'] = 'application/json'
1063
+ header_params['content-type'] = 'application/json'
1064
+
1065
+ post_body = nil
1066
+
1067
+ return @api_client.call_api(
1068
+ :GET,
1069
+ path,
1070
+ endpoint,
1071
+ :header_params => header_params,
1072
+ :query_params => query_params,
1073
+ :body => post_body,
1074
+ :return_type => 'OracleBMC::Core::Models::DhcpOptions')
1075
+ end
1076
+
1077
+ # Gets the specified DRG's information.
1078
+ # @param [String] drg_id The OCID of the DRG.
1079
+ # @param [Hash] opts the optional parameters
1080
+ # @return [Response] A Response object with data of type OracleBMC::Core::Models::Drg
1081
+ def get_drg(drg_id, opts = {})
1082
+ logger.debug "Calling operation VirtualNetworkClient#get_drg." if logger
1083
+
1084
+ fail "Missing the required parameter 'drg_id' when calling get_drg." if drg_id.nil?
1085
+
1086
+ path = "/drgs/{drgId}".sub('{drgId}', drg_id.to_s)
1087
+
1088
+ # Query Params
1089
+ query_params = {}
1090
+
1091
+ # Header Params
1092
+ header_params = {}
1093
+ header_params['accept'] = 'application/json'
1094
+ header_params['content-type'] = 'application/json'
1095
+
1096
+ post_body = nil
1097
+
1098
+ return @api_client.call_api(
1099
+ :GET,
1100
+ path,
1101
+ endpoint,
1102
+ :header_params => header_params,
1103
+ :query_params => query_params,
1104
+ :body => post_body,
1105
+ :return_type => 'OracleBMC::Core::Models::Drg')
1106
+ end
1107
+
1108
+ # Gets the information for the specified `DrgAttachment`.
1109
+ # @param [String] drg_attachment_id The OCID of the DRG attachment.
1110
+ # @param [Hash] opts the optional parameters
1111
+ # @return [Response] A Response object with data of type OracleBMC::Core::Models::DrgAttachment
1112
+ def get_drg_attachment(drg_attachment_id, opts = {})
1113
+ logger.debug "Calling operation VirtualNetworkClient#get_drg_attachment." if logger
1114
+
1115
+ fail "Missing the required parameter 'drg_attachment_id' when calling get_drg_attachment." if drg_attachment_id.nil?
1116
+
1117
+ path = "/drgAttachments/{drgAttachmentId}".sub('{drgAttachmentId}', drg_attachment_id.to_s)
1118
+
1119
+ # Query Params
1120
+ query_params = {}
1121
+
1122
+ # Header Params
1123
+ header_params = {}
1124
+ header_params['accept'] = 'application/json'
1125
+ header_params['content-type'] = 'application/json'
1126
+
1127
+ post_body = nil
1128
+
1129
+ return @api_client.call_api(
1130
+ :GET,
1131
+ path,
1132
+ endpoint,
1133
+ :header_params => header_params,
1134
+ :query_params => query_params,
1135
+ :body => post_body,
1136
+ :return_type => 'OracleBMC::Core::Models::DrgAttachment')
1137
+ end
1138
+
1139
+ # Gets the specified Internet Gateway's information.
1140
+ # @param [String] ig_id The OCID of the Internet Gateway.
1141
+ # @param [Hash] opts the optional parameters
1142
+ # @return [Response] A Response object with data of type OracleBMC::Core::Models::InternetGateway
1143
+ def get_internet_gateway(ig_id, opts = {})
1144
+ logger.debug "Calling operation VirtualNetworkClient#get_internet_gateway." if logger
1145
+
1146
+ fail "Missing the required parameter 'ig_id' when calling get_internet_gateway." if ig_id.nil?
1147
+
1148
+ path = "/internetGateways/{igId}".sub('{igId}', ig_id.to_s)
1149
+
1150
+ # Query Params
1151
+ query_params = {}
1152
+
1153
+ # Header Params
1154
+ header_params = {}
1155
+ header_params['accept'] = 'application/json'
1156
+ header_params['content-type'] = 'application/json'
1157
+
1158
+ post_body = nil
1159
+
1160
+ return @api_client.call_api(
1161
+ :GET,
1162
+ path,
1163
+ endpoint,
1164
+ :header_params => header_params,
1165
+ :query_params => query_params,
1166
+ :body => post_body,
1167
+ :return_type => 'OracleBMC::Core::Models::InternetGateway')
1168
+ end
1169
+
1170
+ # Gets the specified IPSec connection's basic information, including the static routes for the
1171
+ # on-premise router. If you want the status of the connection (whether it's up or down), use
1172
+ # {#get_ip_sec_connection_device_status get_ip_sec_connection_device_status}.
1173
+ #
1174
+ # @param [String] ipsc_id The OCID of the IPSec connection.
1175
+ # @param [Hash] opts the optional parameters
1176
+ # @return [Response] A Response object with data of type OracleBMC::Core::Models::IPSecConnection
1177
+ def get_ip_sec_connection(ipsc_id, opts = {})
1178
+ logger.debug "Calling operation VirtualNetworkClient#get_ip_sec_connection." if logger
1179
+
1180
+ fail "Missing the required parameter 'ipsc_id' when calling get_ip_sec_connection." if ipsc_id.nil?
1181
+
1182
+ path = "/ipsecConnections/{ipscId}".sub('{ipscId}', ipsc_id.to_s)
1183
+
1184
+ # Query Params
1185
+ query_params = {}
1186
+
1187
+ # Header Params
1188
+ header_params = {}
1189
+ header_params['accept'] = 'application/json'
1190
+ header_params['content-type'] = 'application/json'
1191
+
1192
+ post_body = nil
1193
+
1194
+ return @api_client.call_api(
1195
+ :GET,
1196
+ path,
1197
+ endpoint,
1198
+ :header_params => header_params,
1199
+ :query_params => query_params,
1200
+ :body => post_body,
1201
+ :return_type => 'OracleBMC::Core::Models::IPSecConnection')
1202
+ end
1203
+
1204
+ # Gets the configuration information for the specified IPSec connection. For each tunnel, the
1205
+ # response includes the IP address of Oracle's VPN headend and the shared secret.
1206
+ #
1207
+ # @param [String] ipsc_id The OCID of the IPSec connection.
1208
+ # @param [Hash] opts the optional parameters
1209
+ # @return [Response] A Response object with data of type OracleBMC::Core::Models::IPSecConnectionDeviceConfig
1210
+ def get_ip_sec_connection_device_config(ipsc_id, opts = {})
1211
+ logger.debug "Calling operation VirtualNetworkClient#get_ip_sec_connection_device_config." if logger
1212
+
1213
+ fail "Missing the required parameter 'ipsc_id' when calling get_ip_sec_connection_device_config." if ipsc_id.nil?
1214
+
1215
+ path = "/ipsecConnections/{ipscId}/deviceConfig".sub('{ipscId}', ipsc_id.to_s)
1216
+
1217
+ # Query Params
1218
+ query_params = {}
1219
+
1220
+ # Header Params
1221
+ header_params = {}
1222
+ header_params['accept'] = 'application/json'
1223
+ header_params['content-type'] = 'application/json'
1224
+
1225
+ post_body = nil
1226
+
1227
+ return @api_client.call_api(
1228
+ :GET,
1229
+ path,
1230
+ endpoint,
1231
+ :header_params => header_params,
1232
+ :query_params => query_params,
1233
+ :body => post_body,
1234
+ :return_type => 'OracleBMC::Core::Models::IPSecConnectionDeviceConfig')
1235
+ end
1236
+
1237
+ # Gets the status of the specified IPSec connection (whether it's up or down).
1238
+ #
1239
+ # @param [String] ipsc_id The OCID of the IPSec connection.
1240
+ # @param [Hash] opts the optional parameters
1241
+ # @return [Response] A Response object with data of type OracleBMC::Core::Models::IPSecConnectionDeviceStatus
1242
+ def get_ip_sec_connection_device_status(ipsc_id, opts = {})
1243
+ logger.debug "Calling operation VirtualNetworkClient#get_ip_sec_connection_device_status." if logger
1244
+
1245
+ fail "Missing the required parameter 'ipsc_id' when calling get_ip_sec_connection_device_status." if ipsc_id.nil?
1246
+
1247
+ path = "/ipsecConnections/{ipscId}/deviceStatus".sub('{ipscId}', ipsc_id.to_s)
1248
+
1249
+ # Query Params
1250
+ query_params = {}
1251
+
1252
+ # Header Params
1253
+ header_params = {}
1254
+ header_params['accept'] = 'application/json'
1255
+ header_params['content-type'] = 'application/json'
1256
+
1257
+ post_body = nil
1258
+
1259
+ return @api_client.call_api(
1260
+ :GET,
1261
+ path,
1262
+ endpoint,
1263
+ :header_params => header_params,
1264
+ :query_params => query_params,
1265
+ :body => post_body,
1266
+ :return_type => 'OracleBMC::Core::Models::IPSecConnectionDeviceStatus')
1267
+ end
1268
+
1269
+ # Gets the specified route table's information.
1270
+ # @param [String] rt_id The OCID of the route table.
1271
+ # @param [Hash] opts the optional parameters
1272
+ # @return [Response] A Response object with data of type OracleBMC::Core::Models::RouteTable
1273
+ def get_route_table(rt_id, opts = {})
1274
+ logger.debug "Calling operation VirtualNetworkClient#get_route_table." if logger
1275
+
1276
+ fail "Missing the required parameter 'rt_id' when calling get_route_table." if rt_id.nil?
1277
+
1278
+ path = "/routeTables/{rtId}".sub('{rtId}', rt_id.to_s)
1279
+
1280
+ # Query Params
1281
+ query_params = {}
1282
+
1283
+ # Header Params
1284
+ header_params = {}
1285
+ header_params['accept'] = 'application/json'
1286
+ header_params['content-type'] = 'application/json'
1287
+
1288
+ post_body = nil
1289
+
1290
+ return @api_client.call_api(
1291
+ :GET,
1292
+ path,
1293
+ endpoint,
1294
+ :header_params => header_params,
1295
+ :query_params => query_params,
1296
+ :body => post_body,
1297
+ :return_type => 'OracleBMC::Core::Models::RouteTable')
1298
+ end
1299
+
1300
+ # Gets the specified security list's information.
1301
+ # @param [String] security_list_id The OCID of the security list.
1302
+ # @param [Hash] opts the optional parameters
1303
+ # @return [Response] A Response object with data of type OracleBMC::Core::Models::SecurityList
1304
+ def get_security_list(security_list_id, opts = {})
1305
+ logger.debug "Calling operation VirtualNetworkClient#get_security_list." if logger
1306
+
1307
+ fail "Missing the required parameter 'security_list_id' when calling get_security_list." if security_list_id.nil?
1308
+
1309
+ path = "/securityLists/{securityListId}".sub('{securityListId}', security_list_id.to_s)
1310
+
1311
+ # Query Params
1312
+ query_params = {}
1313
+
1314
+ # Header Params
1315
+ header_params = {}
1316
+ header_params['accept'] = 'application/json'
1317
+ header_params['content-type'] = 'application/json'
1318
+
1319
+ post_body = nil
1320
+
1321
+ return @api_client.call_api(
1322
+ :GET,
1323
+ path,
1324
+ endpoint,
1325
+ :header_params => header_params,
1326
+ :query_params => query_params,
1327
+ :body => post_body,
1328
+ :return_type => 'OracleBMC::Core::Models::SecurityList')
1329
+ end
1330
+
1331
+ # Gets the specified subnet's information.
1332
+ # @param [String] subnet_id The OCID of the subnet.
1333
+ # @param [Hash] opts the optional parameters
1334
+ # @return [Response] A Response object with data of type OracleBMC::Core::Models::Subnet
1335
+ def get_subnet(subnet_id, opts = {})
1336
+ logger.debug "Calling operation VirtualNetworkClient#get_subnet." if logger
1337
+
1338
+ fail "Missing the required parameter 'subnet_id' when calling get_subnet." if subnet_id.nil?
1339
+
1340
+ path = "/subnets/{subnetId}".sub('{subnetId}', subnet_id.to_s)
1341
+
1342
+ # Query Params
1343
+ query_params = {}
1344
+
1345
+ # Header Params
1346
+ header_params = {}
1347
+ header_params['accept'] = 'application/json'
1348
+ header_params['content-type'] = 'application/json'
1349
+
1350
+ post_body = nil
1351
+
1352
+ return @api_client.call_api(
1353
+ :GET,
1354
+ path,
1355
+ endpoint,
1356
+ :header_params => header_params,
1357
+ :query_params => query_params,
1358
+ :body => post_body,
1359
+ :return_type => 'OracleBMC::Core::Models::Subnet')
1360
+ end
1361
+
1362
+ # Gets the specified VCN's information.
1363
+ # @param [String] vcn_id The OCID of the VCN.
1364
+ # @param [Hash] opts the optional parameters
1365
+ # @return [Response] A Response object with data of type OracleBMC::Core::Models::Vcn
1366
+ def get_vcn(vcn_id, opts = {})
1367
+ logger.debug "Calling operation VirtualNetworkClient#get_vcn." if logger
1368
+
1369
+ fail "Missing the required parameter 'vcn_id' when calling get_vcn." if vcn_id.nil?
1370
+
1371
+ path = "/vcns/{vcnId}".sub('{vcnId}', vcn_id.to_s)
1372
+
1373
+ # Query Params
1374
+ query_params = {}
1375
+
1376
+ # Header Params
1377
+ header_params = {}
1378
+ header_params['accept'] = 'application/json'
1379
+ header_params['content-type'] = 'application/json'
1380
+
1381
+ post_body = nil
1382
+
1383
+ return @api_client.call_api(
1384
+ :GET,
1385
+ path,
1386
+ endpoint,
1387
+ :header_params => header_params,
1388
+ :query_params => query_params,
1389
+ :body => post_body,
1390
+ :return_type => 'OracleBMC::Core::Models::Vcn')
1391
+ end
1392
+
1393
+ # Gets the information for the specified Virtual Network Interface Card (VNIC), including the attached
1394
+ # instance's public and private IP addresses. You can get the instance's VNIC OCID from the
1395
+ # Cloud Compute Service's {#list_vnic_attachments list_vnic_attachments} operation.
1396
+ #
1397
+ # @param [String] vnic_id The OCID of the VNIC.
1398
+ # @param [Hash] opts the optional parameters
1399
+ # @return [Response] A Response object with data of type OracleBMC::Core::Models::Vnic
1400
+ def get_vnic(vnic_id, opts = {})
1401
+ logger.debug "Calling operation VirtualNetworkClient#get_vnic." if logger
1402
+
1403
+ fail "Missing the required parameter 'vnic_id' when calling get_vnic." if vnic_id.nil?
1404
+
1405
+ path = "/vnics/{vnicId}".sub('{vnicId}', vnic_id.to_s)
1406
+
1407
+ # Query Params
1408
+ query_params = {}
1409
+
1410
+ # Header Params
1411
+ header_params = {}
1412
+ header_params['accept'] = 'application/json'
1413
+ header_params['content-type'] = 'application/json'
1414
+
1415
+ post_body = nil
1416
+
1417
+ return @api_client.call_api(
1418
+ :GET,
1419
+ path,
1420
+ endpoint,
1421
+ :header_params => header_params,
1422
+ :query_params => query_params,
1423
+ :body => post_body,
1424
+ :return_type => 'OracleBMC::Core::Models::Vnic')
1425
+ end
1426
+
1427
+ # Lists the Customer-Premise Equipment objects (CPEs) in the specified compartment.
1428
+ #
1429
+ # @param [String] compartment_id The OCID of the compartment.
1430
+ # @param [Hash] opts the optional parameters
1431
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \"List\" call.
1432
+ #
1433
+ # Example: `500`
1434
+ #
1435
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \"List\" call.
1436
+ #
1437
+ # @return [Response] A Response object with data of type Array<OracleBMC::Core::Models::Cpe>
1438
+ def list_cpes(compartment_id, opts = {})
1439
+ logger.debug "Calling operation VirtualNetworkClient#list_cpes." if logger
1440
+
1441
+ fail "Missing the required parameter 'compartment_id' when calling list_cpes." if compartment_id.nil?
1442
+
1443
+ path = "/cpes"
1444
+
1445
+ # Query Params
1446
+ query_params = {}
1447
+ query_params[:'compartmentId'] = compartment_id
1448
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
1449
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
1450
+
1451
+ # Header Params
1452
+ header_params = {}
1453
+ header_params['accept'] = 'application/json'
1454
+ header_params['content-type'] = 'application/json'
1455
+
1456
+ post_body = nil
1457
+
1458
+ return @api_client.call_api(
1459
+ :GET,
1460
+ path,
1461
+ endpoint,
1462
+ :header_params => header_params,
1463
+ :query_params => query_params,
1464
+ :body => post_body,
1465
+ :return_type => 'Array<OracleBMC::Core::Models::Cpe>')
1466
+ end
1467
+
1468
+ # Lists the sets of DHCP options in the specified VCN and specified compartment.
1469
+ # The response includes the default set of options that automatically comes with each VCN,
1470
+ # plus any other sets you've created.
1471
+ #
1472
+ # @param [String] compartment_id The OCID of the compartment.
1473
+ # @param [String] vcn_id The OCID of the VCN.
1474
+ # @param [Hash] opts the optional parameters
1475
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \&quot;List\&quot; call.
1476
+ #
1477
+ # Example: `500`
1478
+ #
1479
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \&quot;List\&quot; call.
1480
+ #
1481
+ # @return [Response] A Response object with data of type Array<OracleBMC::Core::Models::DhcpOptions>
1482
+ def list_dhcp_options(compartment_id, vcn_id, opts = {})
1483
+ logger.debug "Calling operation VirtualNetworkClient#list_dhcp_options." if logger
1484
+
1485
+ fail "Missing the required parameter 'compartment_id' when calling list_dhcp_options." if compartment_id.nil?
1486
+ fail "Missing the required parameter 'vcn_id' when calling list_dhcp_options." if vcn_id.nil?
1487
+
1488
+ path = "/dhcps"
1489
+
1490
+ # Query Params
1491
+ query_params = {}
1492
+ query_params[:'compartmentId'] = compartment_id
1493
+ query_params[:'vcnId'] = vcn_id
1494
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
1495
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
1496
+
1497
+ # Header Params
1498
+ header_params = {}
1499
+ header_params['accept'] = 'application/json'
1500
+ header_params['content-type'] = 'application/json'
1501
+
1502
+ post_body = nil
1503
+
1504
+ return @api_client.call_api(
1505
+ :GET,
1506
+ path,
1507
+ endpoint,
1508
+ :header_params => header_params,
1509
+ :query_params => query_params,
1510
+ :body => post_body,
1511
+ :return_type => 'Array<OracleBMC::Core::Models::DhcpOptions>')
1512
+ end
1513
+
1514
+ # Lists the `DrgAttachment` objects for the specified compartment. You can filter the
1515
+ # results by VCN or DRG.
1516
+ #
1517
+ # @param [String] compartment_id The OCID of the compartment.
1518
+ # @param [Hash] opts the optional parameters
1519
+ # @option opts [String] :vcn_id The OCID of the VCN.
1520
+ # @option opts [String] :drg_id The OCID of the DRG.
1521
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \&quot;List\&quot; call.
1522
+ #
1523
+ # Example: `500`
1524
+ #
1525
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \&quot;List\&quot; call.
1526
+ #
1527
+ # @return [Response] A Response object with data of type Array<OracleBMC::Core::Models::DrgAttachment>
1528
+ def list_drg_attachments(compartment_id, opts = {})
1529
+ logger.debug "Calling operation VirtualNetworkClient#list_drg_attachments." if logger
1530
+
1531
+ fail "Missing the required parameter 'compartment_id' when calling list_drg_attachments." if compartment_id.nil?
1532
+
1533
+ path = "/drgAttachments"
1534
+
1535
+ # Query Params
1536
+ query_params = {}
1537
+ query_params[:'compartmentId'] = compartment_id
1538
+ query_params[:'vcnId'] = opts[:'vcn_id'] if opts[:'vcn_id']
1539
+ query_params[:'drgId'] = opts[:'drg_id'] if opts[:'drg_id']
1540
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
1541
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
1542
+
1543
+ # Header Params
1544
+ header_params = {}
1545
+ header_params['accept'] = 'application/json'
1546
+ header_params['content-type'] = 'application/json'
1547
+
1548
+ post_body = nil
1549
+
1550
+ return @api_client.call_api(
1551
+ :GET,
1552
+ path,
1553
+ endpoint,
1554
+ :header_params => header_params,
1555
+ :query_params => query_params,
1556
+ :body => post_body,
1557
+ :return_type => 'Array<OracleBMC::Core::Models::DrgAttachment>')
1558
+ end
1559
+
1560
+ # Lists the DRGs in the specified compartment.
1561
+ #
1562
+ # @param [String] compartment_id The OCID of the compartment.
1563
+ # @param [Hash] opts the optional parameters
1564
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \&quot;List\&quot; call.
1565
+ #
1566
+ # Example: `500`
1567
+ #
1568
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \&quot;List\&quot; call.
1569
+ #
1570
+ # @return [Response] A Response object with data of type Array<OracleBMC::Core::Models::Drg>
1571
+ def list_drgs(compartment_id, opts = {})
1572
+ logger.debug "Calling operation VirtualNetworkClient#list_drgs." if logger
1573
+
1574
+ fail "Missing the required parameter 'compartment_id' when calling list_drgs." if compartment_id.nil?
1575
+
1576
+ path = "/drgs"
1577
+
1578
+ # Query Params
1579
+ query_params = {}
1580
+ query_params[:'compartmentId'] = compartment_id
1581
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
1582
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
1583
+
1584
+ # Header Params
1585
+ header_params = {}
1586
+ header_params['accept'] = 'application/json'
1587
+ header_params['content-type'] = 'application/json'
1588
+
1589
+ post_body = nil
1590
+
1591
+ return @api_client.call_api(
1592
+ :GET,
1593
+ path,
1594
+ endpoint,
1595
+ :header_params => header_params,
1596
+ :query_params => query_params,
1597
+ :body => post_body,
1598
+ :return_type => 'Array<OracleBMC::Core::Models::Drg>')
1599
+ end
1600
+
1601
+ # Lists the Internet Gateways in the specified VCN and the specified compartment.
1602
+ #
1603
+ # @param [String] compartment_id The OCID of the compartment.
1604
+ # @param [String] vcn_id The OCID of the VCN.
1605
+ # @param [Hash] opts the optional parameters
1606
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \&quot;List\&quot; call.
1607
+ #
1608
+ # Example: `500`
1609
+ #
1610
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \&quot;List\&quot; call.
1611
+ #
1612
+ # @return [Response] A Response object with data of type Array<OracleBMC::Core::Models::InternetGateway>
1613
+ def list_internet_gateways(compartment_id, vcn_id, opts = {})
1614
+ logger.debug "Calling operation VirtualNetworkClient#list_internet_gateways." if logger
1615
+
1616
+ fail "Missing the required parameter 'compartment_id' when calling list_internet_gateways." if compartment_id.nil?
1617
+ fail "Missing the required parameter 'vcn_id' when calling list_internet_gateways." if vcn_id.nil?
1618
+
1619
+ path = "/internetGateways"
1620
+
1621
+ # Query Params
1622
+ query_params = {}
1623
+ query_params[:'compartmentId'] = compartment_id
1624
+ query_params[:'vcnId'] = vcn_id
1625
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
1626
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
1627
+
1628
+ # Header Params
1629
+ header_params = {}
1630
+ header_params['accept'] = 'application/json'
1631
+ header_params['content-type'] = 'application/json'
1632
+
1633
+ post_body = nil
1634
+
1635
+ return @api_client.call_api(
1636
+ :GET,
1637
+ path,
1638
+ endpoint,
1639
+ :header_params => header_params,
1640
+ :query_params => query_params,
1641
+ :body => post_body,
1642
+ :return_type => 'Array<OracleBMC::Core::Models::InternetGateway>')
1643
+ end
1644
+
1645
+ # Lists the IPSec connections for the specified compartment. You can filter the
1646
+ # results by DRG or CPE.
1647
+ #
1648
+ # @param [String] compartment_id The OCID of the compartment.
1649
+ # @param [Hash] opts the optional parameters
1650
+ # @option opts [String] :drg_id The OCID of the DRG.
1651
+ # @option opts [String] :cpe_id The OCID of the CPE.
1652
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \&quot;List\&quot; call.
1653
+ #
1654
+ # Example: `500`
1655
+ #
1656
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \&quot;List\&quot; call.
1657
+ #
1658
+ # @return [Response] A Response object with data of type Array<OracleBMC::Core::Models::IPSecConnection>
1659
+ def list_ip_sec_connections(compartment_id, opts = {})
1660
+ logger.debug "Calling operation VirtualNetworkClient#list_ip_sec_connections." if logger
1661
+
1662
+ fail "Missing the required parameter 'compartment_id' when calling list_ip_sec_connections." if compartment_id.nil?
1663
+
1664
+ path = "/ipsecConnections"
1665
+
1666
+ # Query Params
1667
+ query_params = {}
1668
+ query_params[:'compartmentId'] = compartment_id
1669
+ query_params[:'drgId'] = opts[:'drg_id'] if opts[:'drg_id']
1670
+ query_params[:'cpeId'] = opts[:'cpe_id'] if opts[:'cpe_id']
1671
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
1672
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
1673
+
1674
+ # Header Params
1675
+ header_params = {}
1676
+ header_params['accept'] = 'application/json'
1677
+ header_params['content-type'] = 'application/json'
1678
+
1679
+ post_body = nil
1680
+
1681
+ return @api_client.call_api(
1682
+ :GET,
1683
+ path,
1684
+ endpoint,
1685
+ :header_params => header_params,
1686
+ :query_params => query_params,
1687
+ :body => post_body,
1688
+ :return_type => 'Array<OracleBMC::Core::Models::IPSecConnection>')
1689
+ end
1690
+
1691
+ # Lists the route tables in the specified VCN and specified compartment. The response
1692
+ # includes the default route table that automatically comes with each VCN, plus any route tables
1693
+ # you've created.
1694
+ #
1695
+ # @param [String] compartment_id The OCID of the compartment.
1696
+ # @param [String] vcn_id The OCID of the VCN.
1697
+ # @param [Hash] opts the optional parameters
1698
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \&quot;List\&quot; call.
1699
+ #
1700
+ # Example: `500`
1701
+ #
1702
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \&quot;List\&quot; call.
1703
+ #
1704
+ # @return [Response] A Response object with data of type Array<OracleBMC::Core::Models::RouteTable>
1705
+ def list_route_tables(compartment_id, vcn_id, opts = {})
1706
+ logger.debug "Calling operation VirtualNetworkClient#list_route_tables." if logger
1707
+
1708
+ fail "Missing the required parameter 'compartment_id' when calling list_route_tables." if compartment_id.nil?
1709
+ fail "Missing the required parameter 'vcn_id' when calling list_route_tables." if vcn_id.nil?
1710
+
1711
+ path = "/routeTables"
1712
+
1713
+ # Query Params
1714
+ query_params = {}
1715
+ query_params[:'compartmentId'] = compartment_id
1716
+ query_params[:'vcnId'] = vcn_id
1717
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
1718
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
1719
+
1720
+ # Header Params
1721
+ header_params = {}
1722
+ header_params['accept'] = 'application/json'
1723
+ header_params['content-type'] = 'application/json'
1724
+
1725
+ post_body = nil
1726
+
1727
+ return @api_client.call_api(
1728
+ :GET,
1729
+ path,
1730
+ endpoint,
1731
+ :header_params => header_params,
1732
+ :query_params => query_params,
1733
+ :body => post_body,
1734
+ :return_type => 'Array<OracleBMC::Core::Models::RouteTable>')
1735
+ end
1736
+
1737
+ # Lists the security lists in the specified VCN and compartment.
1738
+ #
1739
+ # @param [String] compartment_id The OCID of the compartment.
1740
+ # @param [String] vcn_id The OCID of the VCN.
1741
+ # @param [Hash] opts the optional parameters
1742
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \&quot;List\&quot; call.
1743
+ #
1744
+ # Example: `500`
1745
+ #
1746
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \&quot;List\&quot; call.
1747
+ #
1748
+ # @return [Response] A Response object with data of type Array<OracleBMC::Core::Models::SecurityList>
1749
+ def list_security_lists(compartment_id, vcn_id, opts = {})
1750
+ logger.debug "Calling operation VirtualNetworkClient#list_security_lists." if logger
1751
+
1752
+ fail "Missing the required parameter 'compartment_id' when calling list_security_lists." if compartment_id.nil?
1753
+ fail "Missing the required parameter 'vcn_id' when calling list_security_lists." if vcn_id.nil?
1754
+
1755
+ path = "/securityLists"
1756
+
1757
+ # Query Params
1758
+ query_params = {}
1759
+ query_params[:'compartmentId'] = compartment_id
1760
+ query_params[:'vcnId'] = vcn_id
1761
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
1762
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
1763
+
1764
+ # Header Params
1765
+ header_params = {}
1766
+ header_params['accept'] = 'application/json'
1767
+ header_params['content-type'] = 'application/json'
1768
+
1769
+ post_body = nil
1770
+
1771
+ return @api_client.call_api(
1772
+ :GET,
1773
+ path,
1774
+ endpoint,
1775
+ :header_params => header_params,
1776
+ :query_params => query_params,
1777
+ :body => post_body,
1778
+ :return_type => 'Array<OracleBMC::Core::Models::SecurityList>')
1779
+ end
1780
+
1781
+ # Lists the subnets in the specified VCN and the specified compartment.
1782
+ #
1783
+ # @param [String] compartment_id The OCID of the compartment.
1784
+ # @param [String] vcn_id The OCID of the VCN.
1785
+ # @param [Hash] opts the optional parameters
1786
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \&quot;List\&quot; call.
1787
+ #
1788
+ # Example: `500`
1789
+ #
1790
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \&quot;List\&quot; call.
1791
+ #
1792
+ # @return [Response] A Response object with data of type Array<OracleBMC::Core::Models::Subnet>
1793
+ def list_subnets(compartment_id, vcn_id, opts = {})
1794
+ logger.debug "Calling operation VirtualNetworkClient#list_subnets." if logger
1795
+
1796
+ fail "Missing the required parameter 'compartment_id' when calling list_subnets." if compartment_id.nil?
1797
+ fail "Missing the required parameter 'vcn_id' when calling list_subnets." if vcn_id.nil?
1798
+
1799
+ path = "/subnets"
1800
+
1801
+ # Query Params
1802
+ query_params = {}
1803
+ query_params[:'compartmentId'] = compartment_id
1804
+ query_params[:'vcnId'] = vcn_id
1805
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
1806
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
1807
+
1808
+ # Header Params
1809
+ header_params = {}
1810
+ header_params['accept'] = 'application/json'
1811
+ header_params['content-type'] = 'application/json'
1812
+
1813
+ post_body = nil
1814
+
1815
+ return @api_client.call_api(
1816
+ :GET,
1817
+ path,
1818
+ endpoint,
1819
+ :header_params => header_params,
1820
+ :query_params => query_params,
1821
+ :body => post_body,
1822
+ :return_type => 'Array<OracleBMC::Core::Models::Subnet>')
1823
+ end
1824
+
1825
+ # Lists the Virtual Cloud Networks (VCNs) in the specified compartment.
1826
+ #
1827
+ # @param [String] compartment_id The OCID of the compartment.
1828
+ # @param [Hash] opts the optional parameters
1829
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \&quot;List\&quot; call.
1830
+ #
1831
+ # Example: `500`
1832
+ #
1833
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \&quot;List\&quot; call.
1834
+ #
1835
+ # @return [Response] A Response object with data of type Array<OracleBMC::Core::Models::Vcn>
1836
+ def list_vcns(compartment_id, opts = {})
1837
+ logger.debug "Calling operation VirtualNetworkClient#list_vcns." if logger
1838
+
1839
+ fail "Missing the required parameter 'compartment_id' when calling list_vcns." if compartment_id.nil?
1840
+
1841
+ path = "/vcns"
1842
+
1843
+ # Query Params
1844
+ query_params = {}
1845
+ query_params[:'compartmentId'] = compartment_id
1846
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
1847
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
1848
+
1849
+ # Header Params
1850
+ header_params = {}
1851
+ header_params['accept'] = 'application/json'
1852
+ header_params['content-type'] = 'application/json'
1853
+
1854
+ post_body = nil
1855
+
1856
+ return @api_client.call_api(
1857
+ :GET,
1858
+ path,
1859
+ endpoint,
1860
+ :header_params => header_params,
1861
+ :query_params => query_params,
1862
+ :body => post_body,
1863
+ :return_type => 'Array<OracleBMC::Core::Models::Vcn>')
1864
+ end
1865
+
1866
+ # Updates the specified CPE's display name.
1867
+ #
1868
+ # @param [String] cpe_id The OCID of the CPE.
1869
+ # @param [UpdateCpeDetails] update_cpe_details Details object for updating a CPE.
1870
+ # @param [Hash] opts the optional parameters
1871
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
1872
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
1873
+ # will be updated or deleted only if the etag you provide matches the resource&#39;s current etag value.
1874
+ #
1875
+ # @return [Response] A Response object with data of type OracleBMC::Core::Models::Cpe
1876
+ def update_cpe(cpe_id, update_cpe_details, opts = {})
1877
+ logger.debug "Calling operation VirtualNetworkClient#update_cpe." if logger
1878
+
1879
+ fail "Missing the required parameter 'cpe_id' when calling update_cpe." if cpe_id.nil?
1880
+ fail "Missing the required parameter 'update_cpe_details' when calling update_cpe." if update_cpe_details.nil?
1881
+
1882
+ path = "/cpes/{cpeId}".sub('{cpeId}', cpe_id.to_s)
1883
+
1884
+ # Query Params
1885
+ query_params = {}
1886
+
1887
+ # Header Params
1888
+ header_params = {}
1889
+ header_params['accept'] = 'application/json'
1890
+ header_params['content-type'] = 'application/json'
1891
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
1892
+
1893
+ post_body = @api_client.object_to_http_body(update_cpe_details)
1894
+
1895
+ return @api_client.call_api(
1896
+ :PUT,
1897
+ path,
1898
+ endpoint,
1899
+ :header_params => header_params,
1900
+ :query_params => query_params,
1901
+ :body => post_body,
1902
+ :return_type => 'OracleBMC::Core::Models::Cpe')
1903
+ end
1904
+
1905
+ # Updates the specified set of DHCP options. You can update the display name or the options
1906
+ # themselves. Note that the `options` object you provide replaces the entire existing set of options.
1907
+ #
1908
+ # @param [String] dhcp_id The OCID for the set of DHCP options.
1909
+ # @param [UpdateDhcpDetails] update_dhcp_details Request object for updating a set of DHCP options.
1910
+ # @param [Hash] opts the optional parameters
1911
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
1912
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
1913
+ # will be updated or deleted only if the etag you provide matches the resource&#39;s current etag value.
1914
+ #
1915
+ # @return [Response] A Response object with data of type OracleBMC::Core::Models::DhcpOptions
1916
+ def update_dhcp_options(dhcp_id, update_dhcp_details, opts = {})
1917
+ logger.debug "Calling operation VirtualNetworkClient#update_dhcp_options." if logger
1918
+
1919
+ fail "Missing the required parameter 'dhcp_id' when calling update_dhcp_options." if dhcp_id.nil?
1920
+ fail "Missing the required parameter 'update_dhcp_details' when calling update_dhcp_options." if update_dhcp_details.nil?
1921
+
1922
+ path = "/dhcps/{dhcpId}".sub('{dhcpId}', dhcp_id.to_s)
1923
+
1924
+ # Query Params
1925
+ query_params = {}
1926
+
1927
+ # Header Params
1928
+ header_params = {}
1929
+ header_params['accept'] = 'application/json'
1930
+ header_params['content-type'] = 'application/json'
1931
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
1932
+
1933
+ post_body = @api_client.object_to_http_body(update_dhcp_details)
1934
+
1935
+ return @api_client.call_api(
1936
+ :PUT,
1937
+ path,
1938
+ endpoint,
1939
+ :header_params => header_params,
1940
+ :query_params => query_params,
1941
+ :body => post_body,
1942
+ :return_type => 'OracleBMC::Core::Models::DhcpOptions')
1943
+ end
1944
+
1945
+ # Updates the specified DRG's display name.
1946
+ #
1947
+ # @param [String] drg_id The OCID of the DRG.
1948
+ # @param [UpdateDrgDetails] update_drg_details Details object for updating a DRG.
1949
+ # @param [Hash] opts the optional parameters
1950
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
1951
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
1952
+ # will be updated or deleted only if the etag you provide matches the resource&#39;s current etag value.
1953
+ #
1954
+ # @return [Response] A Response object with data of type OracleBMC::Core::Models::Drg
1955
+ def update_drg(drg_id, update_drg_details, opts = {})
1956
+ logger.debug "Calling operation VirtualNetworkClient#update_drg." if logger
1957
+
1958
+ fail "Missing the required parameter 'drg_id' when calling update_drg." if drg_id.nil?
1959
+ fail "Missing the required parameter 'update_drg_details' when calling update_drg." if update_drg_details.nil?
1960
+
1961
+ path = "/drgs/{drgId}".sub('{drgId}', drg_id.to_s)
1962
+
1963
+ # Query Params
1964
+ query_params = {}
1965
+
1966
+ # Header Params
1967
+ header_params = {}
1968
+ header_params['accept'] = 'application/json'
1969
+ header_params['content-type'] = 'application/json'
1970
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
1971
+
1972
+ post_body = @api_client.object_to_http_body(update_drg_details)
1973
+
1974
+ return @api_client.call_api(
1975
+ :PUT,
1976
+ path,
1977
+ endpoint,
1978
+ :header_params => header_params,
1979
+ :query_params => query_params,
1980
+ :body => post_body,
1981
+ :return_type => 'OracleBMC::Core::Models::Drg')
1982
+ end
1983
+
1984
+ # Updates the display name for the specified `DrgAttachment`.
1985
+ #
1986
+ # @param [String] drg_attachment_id The OCID of the DRG attachment.
1987
+ # @param [UpdateDrgAttachmentDetails] update_drg_attachment_details Details object for updating a `DrgAttachment`.
1988
+ # @param [Hash] opts the optional parameters
1989
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
1990
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
1991
+ # will be updated or deleted only if the etag you provide matches the resource&#39;s current etag value.
1992
+ #
1993
+ # @return [Response] A Response object with data of type OracleBMC::Core::Models::DrgAttachment
1994
+ def update_drg_attachment(drg_attachment_id, update_drg_attachment_details, opts = {})
1995
+ logger.debug "Calling operation VirtualNetworkClient#update_drg_attachment." if logger
1996
+
1997
+ fail "Missing the required parameter 'drg_attachment_id' when calling update_drg_attachment." if drg_attachment_id.nil?
1998
+ fail "Missing the required parameter 'update_drg_attachment_details' when calling update_drg_attachment." if update_drg_attachment_details.nil?
1999
+
2000
+ path = "/drgAttachments/{drgAttachmentId}".sub('{drgAttachmentId}', drg_attachment_id.to_s)
2001
+
2002
+ # Query Params
2003
+ query_params = {}
2004
+
2005
+ # Header Params
2006
+ header_params = {}
2007
+ header_params['accept'] = 'application/json'
2008
+ header_params['content-type'] = 'application/json'
2009
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
2010
+
2011
+ post_body = @api_client.object_to_http_body(update_drg_attachment_details)
2012
+
2013
+ return @api_client.call_api(
2014
+ :PUT,
2015
+ path,
2016
+ endpoint,
2017
+ :header_params => header_params,
2018
+ :query_params => query_params,
2019
+ :body => post_body,
2020
+ :return_type => 'OracleBMC::Core::Models::DrgAttachment')
2021
+ end
2022
+
2023
+ # Updates the specified Internet Gateway. You can disable/enable it, or change its display name.
2024
+ #
2025
+ # If the gateway is disabled, that means no traffic will flow to/from the internet even if there's
2026
+ # a route rule that enables that traffic.
2027
+ #
2028
+ # @param [String] ig_id The OCID of the Internet Gateway.
2029
+ # @param [UpdateInternetGatewayDetails] update_internet_gateway_details Details for updating the Internet Gateway.
2030
+ # @param [Hash] opts the optional parameters
2031
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
2032
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
2033
+ # will be updated or deleted only if the etag you provide matches the resource&#39;s current etag value.
2034
+ #
2035
+ # @return [Response] A Response object with data of type OracleBMC::Core::Models::InternetGateway
2036
+ def update_internet_gateway(ig_id, update_internet_gateway_details, opts = {})
2037
+ logger.debug "Calling operation VirtualNetworkClient#update_internet_gateway." if logger
2038
+
2039
+ fail "Missing the required parameter 'ig_id' when calling update_internet_gateway." if ig_id.nil?
2040
+ fail "Missing the required parameter 'update_internet_gateway_details' when calling update_internet_gateway." if update_internet_gateway_details.nil?
2041
+
2042
+ path = "/internetGateways/{igId}".sub('{igId}', ig_id.to_s)
2043
+
2044
+ # Query Params
2045
+ query_params = {}
2046
+
2047
+ # Header Params
2048
+ header_params = {}
2049
+ header_params['accept'] = 'application/json'
2050
+ header_params['content-type'] = 'application/json'
2051
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
2052
+
2053
+ post_body = @api_client.object_to_http_body(update_internet_gateway_details)
2054
+
2055
+ return @api_client.call_api(
2056
+ :PUT,
2057
+ path,
2058
+ endpoint,
2059
+ :header_params => header_params,
2060
+ :query_params => query_params,
2061
+ :body => post_body,
2062
+ :return_type => 'OracleBMC::Core::Models::InternetGateway')
2063
+ end
2064
+
2065
+ # Updates the display name for the specified IPSec connection.
2066
+ #
2067
+ # @param [String] ipsc_id The OCID of the IPSec connection.
2068
+ # @param [UpdateIPSecConnectionDetails] update_ip_sec_connection_details Details object for updating a IPSec connection.
2069
+ # @param [Hash] opts the optional parameters
2070
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
2071
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
2072
+ # will be updated or deleted only if the etag you provide matches the resource&#39;s current etag value.
2073
+ #
2074
+ # @return [Response] A Response object with data of type OracleBMC::Core::Models::IPSecConnection
2075
+ def update_ip_sec_connection(ipsc_id, update_ip_sec_connection_details, opts = {})
2076
+ logger.debug "Calling operation VirtualNetworkClient#update_ip_sec_connection." if logger
2077
+
2078
+ fail "Missing the required parameter 'ipsc_id' when calling update_ip_sec_connection." if ipsc_id.nil?
2079
+ fail "Missing the required parameter 'update_ip_sec_connection_details' when calling update_ip_sec_connection." if update_ip_sec_connection_details.nil?
2080
+
2081
+ path = "/ipsecConnections/{ipscId}".sub('{ipscId}', ipsc_id.to_s)
2082
+
2083
+ # Query Params
2084
+ query_params = {}
2085
+
2086
+ # Header Params
2087
+ header_params = {}
2088
+ header_params['accept'] = 'application/json'
2089
+ header_params['content-type'] = 'application/json'
2090
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
2091
+
2092
+ post_body = @api_client.object_to_http_body(update_ip_sec_connection_details)
2093
+
2094
+ return @api_client.call_api(
2095
+ :PUT,
2096
+ path,
2097
+ endpoint,
2098
+ :header_params => header_params,
2099
+ :query_params => query_params,
2100
+ :body => post_body,
2101
+ :return_type => 'OracleBMC::Core::Models::IPSecConnection')
2102
+ end
2103
+
2104
+ # Updates the specified route table's display name or route rules. Note that the
2105
+ # `routeRules` object you provide replaces the entire existing set of rules.
2106
+ #
2107
+ # @param [String] rt_id The OCID of the route table.
2108
+ # @param [UpdateRouteTableDetails] update_route_table_details Details object for updating a route table.
2109
+ # @param [Hash] opts the optional parameters
2110
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
2111
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
2112
+ # will be updated or deleted only if the etag you provide matches the resource&#39;s current etag value.
2113
+ #
2114
+ # @return [Response] A Response object with data of type OracleBMC::Core::Models::RouteTable
2115
+ def update_route_table(rt_id, update_route_table_details, opts = {})
2116
+ logger.debug "Calling operation VirtualNetworkClient#update_route_table." if logger
2117
+
2118
+ fail "Missing the required parameter 'rt_id' when calling update_route_table." if rt_id.nil?
2119
+ fail "Missing the required parameter 'update_route_table_details' when calling update_route_table." if update_route_table_details.nil?
2120
+
2121
+ path = "/routeTables/{rtId}".sub('{rtId}', rt_id.to_s)
2122
+
2123
+ # Query Params
2124
+ query_params = {}
2125
+
2126
+ # Header Params
2127
+ header_params = {}
2128
+ header_params['accept'] = 'application/json'
2129
+ header_params['content-type'] = 'application/json'
2130
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
2131
+
2132
+ post_body = @api_client.object_to_http_body(update_route_table_details)
2133
+
2134
+ return @api_client.call_api(
2135
+ :PUT,
2136
+ path,
2137
+ endpoint,
2138
+ :header_params => header_params,
2139
+ :query_params => query_params,
2140
+ :body => post_body,
2141
+ :return_type => 'OracleBMC::Core::Models::RouteTable')
2142
+ end
2143
+
2144
+ # Updates the specified security list's display name or rules. Note that the
2145
+ # `egressSecurityRules` or `ingressSecurityRules` objects you provide replace the entire
2146
+ # existing objects.
2147
+ #
2148
+ # @param [String] security_list_id The OCID of the security list.
2149
+ # @param [UpdateSecurityListDetails] update_security_list_details Updated details for the security list.
2150
+ # @param [Hash] opts the optional parameters
2151
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
2152
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
2153
+ # will be updated or deleted only if the etag you provide matches the resource&#39;s current etag value.
2154
+ #
2155
+ # @return [Response] A Response object with data of type OracleBMC::Core::Models::SecurityList
2156
+ def update_security_list(security_list_id, update_security_list_details, opts = {})
2157
+ logger.debug "Calling operation VirtualNetworkClient#update_security_list." if logger
2158
+
2159
+ fail "Missing the required parameter 'security_list_id' when calling update_security_list." if security_list_id.nil?
2160
+ fail "Missing the required parameter 'update_security_list_details' when calling update_security_list." if update_security_list_details.nil?
2161
+
2162
+ path = "/securityLists/{securityListId}".sub('{securityListId}', security_list_id.to_s)
2163
+
2164
+ # Query Params
2165
+ query_params = {}
2166
+
2167
+ # Header Params
2168
+ header_params = {}
2169
+ header_params['accept'] = 'application/json'
2170
+ header_params['content-type'] = 'application/json'
2171
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
2172
+
2173
+ post_body = @api_client.object_to_http_body(update_security_list_details)
2174
+
2175
+ return @api_client.call_api(
2176
+ :PUT,
2177
+ path,
2178
+ endpoint,
2179
+ :header_params => header_params,
2180
+ :query_params => query_params,
2181
+ :body => post_body,
2182
+ :return_type => 'OracleBMC::Core::Models::SecurityList')
2183
+ end
2184
+
2185
+ # Updates the specified subnet's display name.
2186
+ #
2187
+ # @param [String] subnet_id The OCID of the subnet.
2188
+ # @param [UpdateSubnetDetails] update_subnet_details Details object for updating a subnet.
2189
+ # @param [Hash] opts the optional parameters
2190
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
2191
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
2192
+ # will be updated or deleted only if the etag you provide matches the resource&#39;s current etag value.
2193
+ #
2194
+ # @return [Response] A Response object with data of type OracleBMC::Core::Models::Subnet
2195
+ def update_subnet(subnet_id, update_subnet_details, opts = {})
2196
+ logger.debug "Calling operation VirtualNetworkClient#update_subnet." if logger
2197
+
2198
+ fail "Missing the required parameter 'subnet_id' when calling update_subnet." if subnet_id.nil?
2199
+ fail "Missing the required parameter 'update_subnet_details' when calling update_subnet." if update_subnet_details.nil?
2200
+
2201
+ path = "/subnets/{subnetId}".sub('{subnetId}', subnet_id.to_s)
2202
+
2203
+ # Query Params
2204
+ query_params = {}
2205
+
2206
+ # Header Params
2207
+ header_params = {}
2208
+ header_params['accept'] = 'application/json'
2209
+ header_params['content-type'] = 'application/json'
2210
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
2211
+
2212
+ post_body = @api_client.object_to_http_body(update_subnet_details)
2213
+
2214
+ return @api_client.call_api(
2215
+ :PUT,
2216
+ path,
2217
+ endpoint,
2218
+ :header_params => header_params,
2219
+ :query_params => query_params,
2220
+ :body => post_body,
2221
+ :return_type => 'OracleBMC::Core::Models::Subnet')
2222
+ end
2223
+
2224
+ # Updates the specified VCN's display name.
2225
+ #
2226
+ # @param [String] vcn_id The OCID of the VCN.
2227
+ # @param [UpdateVcnDetails] update_vcn_details Details object for updating a VCN.
2228
+ # @param [Hash] opts the optional parameters
2229
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
2230
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
2231
+ # will be updated or deleted only if the etag you provide matches the resource&#39;s current etag value.
2232
+ #
2233
+ # @return [Response] A Response object with data of type OracleBMC::Core::Models::Vcn
2234
+ def update_vcn(vcn_id, update_vcn_details, opts = {})
2235
+ logger.debug "Calling operation VirtualNetworkClient#update_vcn." if logger
2236
+
2237
+ fail "Missing the required parameter 'vcn_id' when calling update_vcn." if vcn_id.nil?
2238
+ fail "Missing the required parameter 'update_vcn_details' when calling update_vcn." if update_vcn_details.nil?
2239
+
2240
+ path = "/vcns/{vcnId}".sub('{vcnId}', vcn_id.to_s)
2241
+
2242
+ # Query Params
2243
+ query_params = {}
2244
+
2245
+ # Header Params
2246
+ header_params = {}
2247
+ header_params['accept'] = 'application/json'
2248
+ header_params['content-type'] = 'application/json'
2249
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
2250
+
2251
+ post_body = @api_client.object_to_http_body(update_vcn_details)
2252
+
2253
+ return @api_client.call_api(
2254
+ :PUT,
2255
+ path,
2256
+ endpoint,
2257
+ :header_params => header_params,
2258
+ :query_params => query_params,
2259
+ :body => post_body,
2260
+ :return_type => 'OracleBMC::Core::Models::Vcn')
2261
+ end
2262
+ end
2263
+ end