oraclebmc 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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