=begin
#Networks API
#Create, list, edit and delete public/private networks with the Network API. Use public networks to place multiple servers on the same network or VLAN. Assign new servers with IP addresses from the same CIDR range. Use private networks to avoid unnecessary egress data charges. Model your networks according to your business needs.
Helpful knowledge base articles are available for multi-private backend networks and public networks.
All URLs are relative to (https://api.phoenixnap.com/networks/v1/)
The version of the OpenAPI document: 1.0
Contact: support@phoenixnap.com
Generated by: https://openapi-generator.tech
OpenAPI Generator version: 7.2.0
=end
require 'cgi'
module NetworkApi
class PrivateNetworksApi
attr_accessor :api_client
def initialize(api_client = ApiClient.default)
@api_client = api_client
end
# List Private Networks.
# List all Private Networks owned by account.
# @param [Hash] opts the optional parameters
# @option opts [String] :location If present will filter the result by the given location of the Private Networks.
# @return [Array]
def private_networks_get(opts = {})
data, _status_code, _headers = private_networks_get_with_http_info(opts)
data
end
# List Private Networks.
# List all Private Networks owned by account.
# @param [Hash] opts the optional parameters
# @option opts [String] :location If present will filter the result by the given location of the Private Networks.
# @return [Array<(Array, Integer, Hash)>] Array data, response status code and response headers
def private_networks_get_with_http_info(opts = {})
if @api_client.config.debugging
@api_client.config.logger.debug 'Calling API: PrivateNetworksApi.private_networks_get ...'
end
# resource path
local_var_path = '/private-networks'
# query parameters
query_params = opts[:query_params] || {}
query_params[:'location'] = opts[:'location'] if !opts[:'location'].nil?
# header parameters
header_params = opts[:header_params] || {}
# HTTP header 'Accept' (if needed)
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
# form parameters
form_params = opts[:form_params] || {}
# http body (model)
post_body = opts[:debug_body]
# return_type
return_type = opts[:debug_return_type] || 'Array'
# auth_names
auth_names = opts[:debug_auth_names] || ['OAuth2']
new_options = opts.merge(
:operation => :"PrivateNetworksApi.private_networks_get",
:header_params => header_params,
:query_params => query_params,
:form_params => form_params,
:body => post_body,
:auth_names => auth_names,
:return_type => return_type
)
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
if @api_client.config.debugging
@api_client.config.logger.debug "API called: PrivateNetworksApi#private_networks_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
end
return data, status_code, headers
end
# Delete a Private Network.
# Delete Private Network.
# @param private_network_id [String] The private network identifier.
# @param [Hash] opts the optional parameters
# @return [nil]
def private_networks_network_id_delete(private_network_id, opts = {})
private_networks_network_id_delete_with_http_info(private_network_id, opts)
nil
end
# Delete a Private Network.
# Delete Private Network.
# @param private_network_id [String] The private network identifier.
# @param [Hash] opts the optional parameters
# @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
def private_networks_network_id_delete_with_http_info(private_network_id, opts = {})
if @api_client.config.debugging
@api_client.config.logger.debug 'Calling API: PrivateNetworksApi.private_networks_network_id_delete ...'
end
# verify the required parameter 'private_network_id' is set
if @api_client.config.client_side_validation && private_network_id.nil?
fail ArgumentError, "Missing the required parameter 'private_network_id' when calling PrivateNetworksApi.private_networks_network_id_delete"
end
# resource path
local_var_path = '/private-networks/{privateNetworkId}'.sub('{' + 'privateNetworkId' + '}', CGI.escape(private_network_id.to_s))
# query parameters
query_params = opts[:query_params] || {}
# header parameters
header_params = opts[:header_params] || {}
# HTTP header 'Accept' (if needed)
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
# form parameters
form_params = opts[:form_params] || {}
# http body (model)
post_body = opts[:debug_body]
# return_type
return_type = opts[:debug_return_type]
# auth_names
auth_names = opts[:debug_auth_names] || ['OAuth2']
new_options = opts.merge(
:operation => :"PrivateNetworksApi.private_networks_network_id_delete",
:header_params => header_params,
:query_params => query_params,
:form_params => form_params,
:body => post_body,
:auth_names => auth_names,
:return_type => return_type
)
data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
if @api_client.config.debugging
@api_client.config.logger.debug "API called: PrivateNetworksApi#private_networks_network_id_delete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
end
return data, status_code, headers
end
# Get a Private Network.
# Retrieve Private Network Details.
# @param private_network_id [String] The private network identifier.
# @param [Hash] opts the optional parameters
# @return [PrivateNetwork]
def private_networks_network_id_get(private_network_id, opts = {})
data, _status_code, _headers = private_networks_network_id_get_with_http_info(private_network_id, opts)
data
end
# Get a Private Network.
# Retrieve Private Network Details.
# @param private_network_id [String] The private network identifier.
# @param [Hash] opts the optional parameters
# @return [Array<(PrivateNetwork, Integer, Hash)>] PrivateNetwork data, response status code and response headers
def private_networks_network_id_get_with_http_info(private_network_id, opts = {})
if @api_client.config.debugging
@api_client.config.logger.debug 'Calling API: PrivateNetworksApi.private_networks_network_id_get ...'
end
# verify the required parameter 'private_network_id' is set
if @api_client.config.client_side_validation && private_network_id.nil?
fail ArgumentError, "Missing the required parameter 'private_network_id' when calling PrivateNetworksApi.private_networks_network_id_get"
end
# resource path
local_var_path = '/private-networks/{privateNetworkId}'.sub('{' + 'privateNetworkId' + '}', CGI.escape(private_network_id.to_s))
# query parameters
query_params = opts[:query_params] || {}
# header parameters
header_params = opts[:header_params] || {}
# HTTP header 'Accept' (if needed)
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
# form parameters
form_params = opts[:form_params] || {}
# http body (model)
post_body = opts[:debug_body]
# return_type
return_type = opts[:debug_return_type] || 'PrivateNetwork'
# auth_names
auth_names = opts[:debug_auth_names] || ['OAuth2']
new_options = opts.merge(
:operation => :"PrivateNetworksApi.private_networks_network_id_get",
:header_params => header_params,
:query_params => query_params,
:form_params => form_params,
:body => post_body,
:auth_names => auth_names,
:return_type => return_type
)
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
if @api_client.config.debugging
@api_client.config.logger.debug "API called: PrivateNetworksApi#private_networks_network_id_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
end
return data, status_code, headers
end
# Update a Private Network.
# Update Private Network Details.
# @param private_network_id [String] The private network identifier.
# @param private_network_modify [PrivateNetworkModify]
# @param [Hash] opts the optional parameters
# @return [PrivateNetwork]
def private_networks_network_id_put(private_network_id, private_network_modify, opts = {})
data, _status_code, _headers = private_networks_network_id_put_with_http_info(private_network_id, private_network_modify, opts)
data
end
# Update a Private Network.
# Update Private Network Details.
# @param private_network_id [String] The private network identifier.
# @param private_network_modify [PrivateNetworkModify]
# @param [Hash] opts the optional parameters
# @return [Array<(PrivateNetwork, Integer, Hash)>] PrivateNetwork data, response status code and response headers
def private_networks_network_id_put_with_http_info(private_network_id, private_network_modify, opts = {})
if @api_client.config.debugging
@api_client.config.logger.debug 'Calling API: PrivateNetworksApi.private_networks_network_id_put ...'
end
# verify the required parameter 'private_network_id' is set
if @api_client.config.client_side_validation && private_network_id.nil?
fail ArgumentError, "Missing the required parameter 'private_network_id' when calling PrivateNetworksApi.private_networks_network_id_put"
end
# verify the required parameter 'private_network_modify' is set
if @api_client.config.client_side_validation && private_network_modify.nil?
fail ArgumentError, "Missing the required parameter 'private_network_modify' when calling PrivateNetworksApi.private_networks_network_id_put"
end
# resource path
local_var_path = '/private-networks/{privateNetworkId}'.sub('{' + 'privateNetworkId' + '}', CGI.escape(private_network_id.to_s))
# query parameters
query_params = opts[:query_params] || {}
# header parameters
header_params = opts[:header_params] || {}
# HTTP header 'Accept' (if needed)
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
# HTTP header 'Content-Type'
content_type = @api_client.select_header_content_type(['application/json'])
if !content_type.nil?
header_params['Content-Type'] = content_type
end
# form parameters
form_params = opts[:form_params] || {}
# http body (model)
post_body = opts[:debug_body] || @api_client.object_to_http_body(private_network_modify)
# return_type
return_type = opts[:debug_return_type] || 'PrivateNetwork'
# auth_names
auth_names = opts[:debug_auth_names] || ['OAuth2']
new_options = opts.merge(
:operation => :"PrivateNetworksApi.private_networks_network_id_put",
:header_params => header_params,
:query_params => query_params,
:form_params => form_params,
:body => post_body,
:auth_names => auth_names,
:return_type => return_type
)
data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
if @api_client.config.debugging
@api_client.config.logger.debug "API called: PrivateNetworksApi#private_networks_network_id_put\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
end
return data, status_code, headers
end
# Create a Private Network.
# Create a Private Network.
# @param private_network_create [PrivateNetworkCreate]
# @param [Hash] opts the optional parameters
# @option opts [Boolean] :force Query parameter controlling advanced features availability. Currently applicable for networking. It is advised to use with caution since it might lead to unhealthy setups. (default to false)
# @return [PrivateNetwork]
def private_networks_post(private_network_create, opts = {})
data, _status_code, _headers = private_networks_post_with_http_info(private_network_create, opts)
data
end
# Create a Private Network.
# Create a Private Network.
# @param private_network_create [PrivateNetworkCreate]
# @param [Hash] opts the optional parameters
# @option opts [Boolean] :force Query parameter controlling advanced features availability. Currently applicable for networking. It is advised to use with caution since it might lead to unhealthy setups. (default to false)
# @return [Array<(PrivateNetwork, Integer, Hash)>] PrivateNetwork data, response status code and response headers
def private_networks_post_with_http_info(private_network_create, opts = {})
if @api_client.config.debugging
@api_client.config.logger.debug 'Calling API: PrivateNetworksApi.private_networks_post ...'
end
# verify the required parameter 'private_network_create' is set
if @api_client.config.client_side_validation && private_network_create.nil?
fail ArgumentError, "Missing the required parameter 'private_network_create' when calling PrivateNetworksApi.private_networks_post"
end
# resource path
local_var_path = '/private-networks'
# query parameters
query_params = opts[:query_params] || {}
query_params[:'force'] = opts[:'force'] if !opts[:'force'].nil?
# header parameters
header_params = opts[:header_params] || {}
# HTTP header 'Accept' (if needed)
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
# HTTP header 'Content-Type'
content_type = @api_client.select_header_content_type(['application/json'])
if !content_type.nil?
header_params['Content-Type'] = content_type
end
# form parameters
form_params = opts[:form_params] || {}
# http body (model)
post_body = opts[:debug_body] || @api_client.object_to_http_body(private_network_create)
# return_type
return_type = opts[:debug_return_type] || 'PrivateNetwork'
# auth_names
auth_names = opts[:debug_auth_names] || ['OAuth2']
new_options = opts.merge(
:operation => :"PrivateNetworksApi.private_networks_post",
:header_params => header_params,
:query_params => query_params,
:form_params => form_params,
:body => post_body,
:auth_names => auth_names,
:return_type => return_type
)
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
if @api_client.config.debugging
@api_client.config.logger.debug "API called: PrivateNetworksApi#private_networks_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
end
return data, status_code, headers
end
end
end