class Ionoscloud::NicApi

Attributes

api_client[RW]

Public Class Methods

new(api_client = ApiClient.default) click to toggle source
# File lib/ionoscloud/api/nic_api.rb, line 19
def initialize(api_client = ApiClient.default)
  @api_client = api_client
end

Public Instance Methods

datacenters_servers_nics_delete(datacenter_id, server_id, nic_id, opts = {}) click to toggle source

Delete a Nic Deletes the specified NIC. @param datacenter_id [String] The unique ID of the datacenter @param server_id [String] The unique ID of the Server @param nic_id [String] The unique ID of the NIC @param [Hash] opts the optional parameters @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) (default to true) @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/ - depth=0: only direct properties are included. Children (servers etc.) are not included - depth=1: direct properties and children references are included - depth=2: direct properties and children properties are included - depth=3: direct properties and children properties and children's children are included - depth=… and so on (default to 0) @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed @return [Object]

# File lib/ionoscloud/api/nic_api.rb, line 32
def datacenters_servers_nics_delete(datacenter_id, server_id, nic_id, opts = {})
  data, _status_code, _headers = datacenters_servers_nics_delete_with_http_info(datacenter_id, server_id, nic_id, opts)
  data
end
datacenters_servers_nics_delete_with_http_info(datacenter_id, server_id, nic_id, opts = {}) click to toggle source

Delete a Nic Deletes the specified NIC. @param datacenter_id [String] The unique ID of the datacenter @param server_id [String] The unique ID of the Server @param nic_id [String] The unique ID of the NIC @param [Hash] opts the optional parameters @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/ - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;… and so on @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers

# File lib/ionoscloud/api/nic_api.rb, line 47
def datacenters_servers_nics_delete_with_http_info(datacenter_id, server_id, nic_id, opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: NicApi.datacenters_servers_nics_delete ...'
  end
  # verify the required parameter 'datacenter_id' is set
  if @api_client.config.client_side_validation && datacenter_id.nil?
    fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling NicApi.datacenters_servers_nics_delete"
  end
  # verify the required parameter 'server_id' is set
  if @api_client.config.client_side_validation && server_id.nil?
    fail ArgumentError, "Missing the required parameter 'server_id' when calling NicApi.datacenters_servers_nics_delete"
  end
  # verify the required parameter 'nic_id' is set
  if @api_client.config.client_side_validation && nic_id.nil?
    fail ArgumentError, "Missing the required parameter 'nic_id' when calling NicApi.datacenters_servers_nics_delete"
  end
  if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
    fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NicApi.datacenters_servers_nics_delete, must be smaller than or equal to 10.'
  end

  if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
    fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NicApi.datacenters_servers_nics_delete, must be greater than or equal to 0.'
  end

  # resource path
  local_var_path = '/datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'serverId' + '}', CGI.escape(server_id.to_s)).sub('{' + 'nicId' + '}', CGI.escape(nic_id.to_s))

  # query parameters
  query_params = opts[:query_params] || {}
  query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
  query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?

  # header parameters
  header_params = opts[:header_params] || {}
  # HTTP header 'Accept' (if needed)
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
  header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?

  # form parameters
  form_params = opts[:form_params] || {}

  # http body (model)
  post_body = opts[:debug_body]

  # return_type
  return_type = opts[:debug_return_type] || 'Object'

  # auth_names
  auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']

  new_options = opts.merge(
    :operation => :"NicApi.datacenters_servers_nics_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: NicApi#datacenters_servers_nics_delete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end
datacenters_servers_nics_find_by_id(datacenter_id, server_id, nic_id, opts = {}) click to toggle source

Retrieve a Nic Retrieves the attributes of a given NIC @param datacenter_id [String] The unique ID of the datacenter @param server_id [String] The unique ID of the Server @param nic_id [String] The unique ID of the NIC @param [Hash] opts the optional parameters @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) (default to true) @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/ - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;… and so on (default to 0) @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed @return [Nic]

# File lib/ionoscloud/api/nic_api.rb, line 124
def datacenters_servers_nics_find_by_id(datacenter_id, server_id, nic_id, opts = {})
  data, _status_code, _headers = datacenters_servers_nics_find_by_id_with_http_info(datacenter_id, server_id, nic_id, opts)
  data
end
datacenters_servers_nics_find_by_id_with_http_info(datacenter_id, server_id, nic_id, opts = {}) click to toggle source

Retrieve a Nic Retrieves the attributes of a given NIC @param datacenter_id [String] The unique ID of the datacenter @param server_id [String] The unique ID of the Server @param nic_id [String] The unique ID of the NIC @param [Hash] opts the optional parameters @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/ - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;… and so on @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed @return [Array<(Nic, Integer, Hash)>] Nic data, response status code and response headers

# File lib/ionoscloud/api/nic_api.rb, line 139
def datacenters_servers_nics_find_by_id_with_http_info(datacenter_id, server_id, nic_id, opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: NicApi.datacenters_servers_nics_find_by_id ...'
  end
  # verify the required parameter 'datacenter_id' is set
  if @api_client.config.client_side_validation && datacenter_id.nil?
    fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling NicApi.datacenters_servers_nics_find_by_id"
  end
  # verify the required parameter 'server_id' is set
  if @api_client.config.client_side_validation && server_id.nil?
    fail ArgumentError, "Missing the required parameter 'server_id' when calling NicApi.datacenters_servers_nics_find_by_id"
  end
  # verify the required parameter 'nic_id' is set
  if @api_client.config.client_side_validation && nic_id.nil?
    fail ArgumentError, "Missing the required parameter 'nic_id' when calling NicApi.datacenters_servers_nics_find_by_id"
  end
  if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
    fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NicApi.datacenters_servers_nics_find_by_id, must be smaller than or equal to 10.'
  end

  if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
    fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NicApi.datacenters_servers_nics_find_by_id, must be greater than or equal to 0.'
  end

  # resource path
  local_var_path = '/datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'serverId' + '}', CGI.escape(server_id.to_s)).sub('{' + 'nicId' + '}', CGI.escape(nic_id.to_s))

  # query parameters
  query_params = opts[:query_params] || {}
  query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
  query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?

  # header parameters
  header_params = opts[:header_params] || {}
  # HTTP header 'Accept' (if needed)
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
  header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?

  # form parameters
  form_params = opts[:form_params] || {}

  # http body (model)
  post_body = opts[:debug_body]

  # return_type
  return_type = opts[:debug_return_type] || 'Nic'

  # auth_names
  auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']

  new_options = opts.merge(
    :operation => :"NicApi.datacenters_servers_nics_find_by_id",
    :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: NicApi#datacenters_servers_nics_find_by_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end
datacenters_servers_nics_firewallrules_delete(datacenter_id, server_id, nic_id, firewallrule_id, opts = {}) click to toggle source

Delete a Firewall Rule Removes the specific Firewall Rule @param datacenter_id [String] The unique ID of the datacenter @param server_id [String] The unique ID of the Server @param nic_id [String] The unique ID of the NIC @param firewallrule_id [String] The unique ID of the Firewall Rule @param [Hash] opts the optional parameters @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) (default to true) @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/ - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;… and so on (default to 0) @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed @return [Object]

# File lib/ionoscloud/api/nic_api.rb, line 217
def datacenters_servers_nics_firewallrules_delete(datacenter_id, server_id, nic_id, firewallrule_id, opts = {})
  data, _status_code, _headers = datacenters_servers_nics_firewallrules_delete_with_http_info(datacenter_id, server_id, nic_id, firewallrule_id, opts)
  data
end
datacenters_servers_nics_firewallrules_delete_with_http_info(datacenter_id, server_id, nic_id, firewallrule_id, opts = {}) click to toggle source

Delete a Firewall Rule Removes the specific Firewall Rule @param datacenter_id [String] The unique ID of the datacenter @param server_id [String] The unique ID of the Server @param nic_id [String] The unique ID of the NIC @param firewallrule_id [String] The unique ID of the Firewall Rule @param [Hash] opts the optional parameters @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/ - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;… and so on @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers

# File lib/ionoscloud/api/nic_api.rb, line 233
def datacenters_servers_nics_firewallrules_delete_with_http_info(datacenter_id, server_id, nic_id, firewallrule_id, opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: NicApi.datacenters_servers_nics_firewallrules_delete ...'
  end
  # verify the required parameter 'datacenter_id' is set
  if @api_client.config.client_side_validation && datacenter_id.nil?
    fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling NicApi.datacenters_servers_nics_firewallrules_delete"
  end
  # verify the required parameter 'server_id' is set
  if @api_client.config.client_side_validation && server_id.nil?
    fail ArgumentError, "Missing the required parameter 'server_id' when calling NicApi.datacenters_servers_nics_firewallrules_delete"
  end
  # verify the required parameter 'nic_id' is set
  if @api_client.config.client_side_validation && nic_id.nil?
    fail ArgumentError, "Missing the required parameter 'nic_id' when calling NicApi.datacenters_servers_nics_firewallrules_delete"
  end
  # verify the required parameter 'firewallrule_id' is set
  if @api_client.config.client_side_validation && firewallrule_id.nil?
    fail ArgumentError, "Missing the required parameter 'firewallrule_id' when calling NicApi.datacenters_servers_nics_firewallrules_delete"
  end
  if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
    fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NicApi.datacenters_servers_nics_firewallrules_delete, must be smaller than or equal to 10.'
  end

  if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
    fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NicApi.datacenters_servers_nics_firewallrules_delete, must be greater than or equal to 0.'
  end

  # resource path
  local_var_path = '/datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}/firewallrules/{firewallruleId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'serverId' + '}', CGI.escape(server_id.to_s)).sub('{' + 'nicId' + '}', CGI.escape(nic_id.to_s)).sub('{' + 'firewallruleId' + '}', CGI.escape(firewallrule_id.to_s))

  # query parameters
  query_params = opts[:query_params] || {}
  query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
  query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?

  # header parameters
  header_params = opts[:header_params] || {}
  # HTTP header 'Accept' (if needed)
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
  header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?

  # form parameters
  form_params = opts[:form_params] || {}

  # http body (model)
  post_body = opts[:debug_body]

  # return_type
  return_type = opts[:debug_return_type] || 'Object'

  # auth_names
  auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']

  new_options = opts.merge(
    :operation => :"NicApi.datacenters_servers_nics_firewallrules_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: NicApi#datacenters_servers_nics_firewallrules_delete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end
datacenters_servers_nics_firewallrules_find_by_id(datacenter_id, server_id, nic_id, firewallrule_id, opts = {}) click to toggle source

Retrieve a Firewall Rule Retrieves the attributes of a given Firewall Rule. @param datacenter_id [String] The unique ID of the datacenter @param server_id [String] The unique ID of the Server @param nic_id [String] The unique ID of the NIC @param firewallrule_id [String] The unique ID of the Firewall Rule @param [Hash] opts the optional parameters @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) (default to true) @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/ - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;… and so on (default to 0) @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed @return [FirewallRule]

# File lib/ionoscloud/api/nic_api.rb, line 315
def datacenters_servers_nics_firewallrules_find_by_id(datacenter_id, server_id, nic_id, firewallrule_id, opts = {})
  data, _status_code, _headers = datacenters_servers_nics_firewallrules_find_by_id_with_http_info(datacenter_id, server_id, nic_id, firewallrule_id, opts)
  data
end
datacenters_servers_nics_firewallrules_find_by_id_with_http_info(datacenter_id, server_id, nic_id, firewallrule_id, opts = {}) click to toggle source

Retrieve a Firewall Rule Retrieves the attributes of a given Firewall Rule. @param datacenter_id [String] The unique ID of the datacenter @param server_id [String] The unique ID of the Server @param nic_id [String] The unique ID of the NIC @param firewallrule_id [String] The unique ID of the Firewall Rule @param [Hash] opts the optional parameters @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/ - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;… and so on @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed @return [Array<(FirewallRule, Integer, Hash)>] FirewallRule data, response status code and response headers

# File lib/ionoscloud/api/nic_api.rb, line 331
def datacenters_servers_nics_firewallrules_find_by_id_with_http_info(datacenter_id, server_id, nic_id, firewallrule_id, opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: NicApi.datacenters_servers_nics_firewallrules_find_by_id ...'
  end
  # verify the required parameter 'datacenter_id' is set
  if @api_client.config.client_side_validation && datacenter_id.nil?
    fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling NicApi.datacenters_servers_nics_firewallrules_find_by_id"
  end
  # verify the required parameter 'server_id' is set
  if @api_client.config.client_side_validation && server_id.nil?
    fail ArgumentError, "Missing the required parameter 'server_id' when calling NicApi.datacenters_servers_nics_firewallrules_find_by_id"
  end
  # verify the required parameter 'nic_id' is set
  if @api_client.config.client_side_validation && nic_id.nil?
    fail ArgumentError, "Missing the required parameter 'nic_id' when calling NicApi.datacenters_servers_nics_firewallrules_find_by_id"
  end
  # verify the required parameter 'firewallrule_id' is set
  if @api_client.config.client_side_validation && firewallrule_id.nil?
    fail ArgumentError, "Missing the required parameter 'firewallrule_id' when calling NicApi.datacenters_servers_nics_firewallrules_find_by_id"
  end
  if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
    fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NicApi.datacenters_servers_nics_firewallrules_find_by_id, must be smaller than or equal to 10.'
  end

  if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
    fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NicApi.datacenters_servers_nics_firewallrules_find_by_id, must be greater than or equal to 0.'
  end

  # resource path
  local_var_path = '/datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}/firewallrules/{firewallruleId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'serverId' + '}', CGI.escape(server_id.to_s)).sub('{' + 'nicId' + '}', CGI.escape(nic_id.to_s)).sub('{' + 'firewallruleId' + '}', CGI.escape(firewallrule_id.to_s))

  # query parameters
  query_params = opts[:query_params] || {}
  query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
  query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?

  # header parameters
  header_params = opts[:header_params] || {}
  # HTTP header 'Accept' (if needed)
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
  header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?

  # form parameters
  form_params = opts[:form_params] || {}

  # http body (model)
  post_body = opts[:debug_body]

  # return_type
  return_type = opts[:debug_return_type] || 'FirewallRule'

  # auth_names
  auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']

  new_options = opts.merge(
    :operation => :"NicApi.datacenters_servers_nics_firewallrules_find_by_id",
    :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: NicApi#datacenters_servers_nics_firewallrules_find_by_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end
datacenters_servers_nics_firewallrules_get(datacenter_id, server_id, nic_id, opts = {}) click to toggle source

List Firewall Rules Retrieves a list of firewall rules associated with a particular NIC @param datacenter_id [String] The unique ID of the datacenter @param server_id [String] The unique ID of the Server @param nic_id [String] The unique ID of the NIC @param [Hash] opts the optional parameters @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) (default to true) @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/ - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;… and so on (default to 0) @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed @option opts [Integer] :offset the first element (of the total list of elements) to include in the response (use together with &lt;code&gt;limit&lt;/code&gt; for pagination) (default to 0) @option opts [Integer] :limit the maximum number of elements to return (use together with &lt;code&gt;offset&lt;/code&gt; for pagination) (default to 1000) @return [FirewallRules]

# File lib/ionoscloud/api/nic_api.rb, line 414
def datacenters_servers_nics_firewallrules_get(datacenter_id, server_id, nic_id, opts = {})
  data, _status_code, _headers = datacenters_servers_nics_firewallrules_get_with_http_info(datacenter_id, server_id, nic_id, opts)
  data
end
datacenters_servers_nics_firewallrules_get_with_http_info(datacenter_id, server_id, nic_id, opts = {}) click to toggle source

List Firewall Rules Retrieves a list of firewall rules associated with a particular NIC @param datacenter_id [String] The unique ID of the datacenter @param server_id [String] The unique ID of the Server @param nic_id [String] The unique ID of the NIC @param [Hash] opts the optional parameters @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/ - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;… and so on @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed @option opts [Integer] :offset the first element (of the total list of elements) to include in the response (use together with &lt;code&gt;limit&lt;/code&gt; for pagination) @option opts [Integer] :limit the maximum number of elements to return (use together with &lt;code&gt;offset&lt;/code&gt; for pagination) @return [Array<(FirewallRules, Integer, Hash)>] FirewallRules data, response status code and response headers

# File lib/ionoscloud/api/nic_api.rb, line 431
def datacenters_servers_nics_firewallrules_get_with_http_info(datacenter_id, server_id, nic_id, opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: NicApi.datacenters_servers_nics_firewallrules_get ...'
  end
  # verify the required parameter 'datacenter_id' is set
  if @api_client.config.client_side_validation && datacenter_id.nil?
    fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling NicApi.datacenters_servers_nics_firewallrules_get"
  end
  # verify the required parameter 'server_id' is set
  if @api_client.config.client_side_validation && server_id.nil?
    fail ArgumentError, "Missing the required parameter 'server_id' when calling NicApi.datacenters_servers_nics_firewallrules_get"
  end
  # verify the required parameter 'nic_id' is set
  if @api_client.config.client_side_validation && nic_id.nil?
    fail ArgumentError, "Missing the required parameter 'nic_id' when calling NicApi.datacenters_servers_nics_firewallrules_get"
  end
  if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
    fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NicApi.datacenters_servers_nics_firewallrules_get, must be smaller than or equal to 10.'
  end

  if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
    fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NicApi.datacenters_servers_nics_firewallrules_get, must be greater than or equal to 0.'
  end

  if @api_client.config.client_side_validation && !opts[:'offset'].nil? && opts[:'offset'] < 0
    fail ArgumentError, 'invalid value for "opts[:"offset"]" when calling NicApi.datacenters_servers_nics_firewallrules_get, must be greater than or equal to 0.'
  end

  if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 10000
    fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling NicApi.datacenters_servers_nics_firewallrules_get, must be smaller than or equal to 10000.'
  end

  if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] < 1
    fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling NicApi.datacenters_servers_nics_firewallrules_get, must be greater than or equal to 1.'
  end

  # resource path
  local_var_path = '/datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}/firewallrules'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'serverId' + '}', CGI.escape(server_id.to_s)).sub('{' + 'nicId' + '}', CGI.escape(nic_id.to_s))

  # query parameters
  query_params = opts[:query_params] || {}
  query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
  query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
  query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil?
  query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?

  # header parameters
  header_params = opts[:header_params] || {}
  # HTTP header 'Accept' (if needed)
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
  header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?

  # form parameters
  form_params = opts[:form_params] || {}

  # http body (model)
  post_body = opts[:debug_body]

  # return_type
  return_type = opts[:debug_return_type] || 'FirewallRules'

  # auth_names
  auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']

  new_options = opts.merge(
    :operation => :"NicApi.datacenters_servers_nics_firewallrules_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: NicApi#datacenters_servers_nics_firewallrules_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end
datacenters_servers_nics_firewallrules_patch(datacenter_id, server_id, nic_id, firewallrule_id, firewallrule, opts = {}) click to toggle source

Partially modify a Firewall Rule You can use update attributes of a resource @param datacenter_id [String] The unique ID of the datacenter @param server_id [String] The unique ID of the Server @param nic_id [String] The unique ID of the NIC @param firewallrule_id [String] The unique ID of the Firewall Rule @param firewallrule [FirewallruleProperties] Modified Firewall Rule @param [Hash] opts the optional parameters @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) (default to true) @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/ - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;… and so on (default to 0) @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed @return [FirewallRule]

# File lib/ionoscloud/api/nic_api.rb, line 524
def datacenters_servers_nics_firewallrules_patch(datacenter_id, server_id, nic_id, firewallrule_id, firewallrule, opts = {})
  data, _status_code, _headers = datacenters_servers_nics_firewallrules_patch_with_http_info(datacenter_id, server_id, nic_id, firewallrule_id, firewallrule, opts)
  data
end
datacenters_servers_nics_firewallrules_patch_with_http_info(datacenter_id, server_id, nic_id, firewallrule_id, firewallrule, opts = {}) click to toggle source

Partially modify a Firewall Rule You can use update attributes of a resource @param datacenter_id [String] The unique ID of the datacenter @param server_id [String] The unique ID of the Server @param nic_id [String] The unique ID of the NIC @param firewallrule_id [String] The unique ID of the Firewall Rule @param firewallrule [FirewallruleProperties] Modified Firewall Rule @param [Hash] opts the optional parameters @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/ - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;… and so on @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed @return [Array<(FirewallRule, Integer, Hash)>] FirewallRule data, response status code and response headers

# File lib/ionoscloud/api/nic_api.rb, line 541
def datacenters_servers_nics_firewallrules_patch_with_http_info(datacenter_id, server_id, nic_id, firewallrule_id, firewallrule, opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: NicApi.datacenters_servers_nics_firewallrules_patch ...'
  end
  # verify the required parameter 'datacenter_id' is set
  if @api_client.config.client_side_validation && datacenter_id.nil?
    fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling NicApi.datacenters_servers_nics_firewallrules_patch"
  end
  # verify the required parameter 'server_id' is set
  if @api_client.config.client_side_validation && server_id.nil?
    fail ArgumentError, "Missing the required parameter 'server_id' when calling NicApi.datacenters_servers_nics_firewallrules_patch"
  end
  # verify the required parameter 'nic_id' is set
  if @api_client.config.client_side_validation && nic_id.nil?
    fail ArgumentError, "Missing the required parameter 'nic_id' when calling NicApi.datacenters_servers_nics_firewallrules_patch"
  end
  # verify the required parameter 'firewallrule_id' is set
  if @api_client.config.client_side_validation && firewallrule_id.nil?
    fail ArgumentError, "Missing the required parameter 'firewallrule_id' when calling NicApi.datacenters_servers_nics_firewallrules_patch"
  end
  # verify the required parameter 'firewallrule' is set
  if @api_client.config.client_side_validation && firewallrule.nil?
    fail ArgumentError, "Missing the required parameter 'firewallrule' when calling NicApi.datacenters_servers_nics_firewallrules_patch"
  end
  if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
    fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NicApi.datacenters_servers_nics_firewallrules_patch, must be smaller than or equal to 10.'
  end

  if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
    fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NicApi.datacenters_servers_nics_firewallrules_patch, must be greater than or equal to 0.'
  end

  # resource path
  local_var_path = '/datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}/firewallrules/{firewallruleId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'serverId' + '}', CGI.escape(server_id.to_s)).sub('{' + 'nicId' + '}', CGI.escape(nic_id.to_s)).sub('{' + 'firewallruleId' + '}', CGI.escape(firewallrule_id.to_s))

  # query parameters
  query_params = opts[:query_params] || {}
  query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
  query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].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'
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
  header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?

  # form parameters
  form_params = opts[:form_params] || {}

  # http body (model)
  post_body = opts[:debug_body] || @api_client.object_to_http_body(firewallrule)

  # return_type
  return_type = opts[:debug_return_type] || 'FirewallRule'

  # auth_names
  auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']

  new_options = opts.merge(
    :operation => :"NicApi.datacenters_servers_nics_firewallrules_patch",
    :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(:PATCH, local_var_path, new_options)
  if @api_client.config.debugging
    @api_client.config.logger.debug "API called: NicApi#datacenters_servers_nics_firewallrules_patch\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end
datacenters_servers_nics_firewallrules_post(datacenter_id, server_id, nic_id, firewallrule, opts = {}) click to toggle source

Create a Firewall Rule This will add a Firewall Rule to the NIC @param datacenter_id [String] The unique ID of the datacenter @param server_id [String] The unique ID of the server @param nic_id [String] The unique ID of the NIC @param firewallrule [FirewallRule] Firewall Rule to be created @param [Hash] opts the optional parameters @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) (default to true) @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/ - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;… and so on (default to 0) @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed @return [FirewallRule]

# File lib/ionoscloud/api/nic_api.rb, line 629
def datacenters_servers_nics_firewallrules_post(datacenter_id, server_id, nic_id, firewallrule, opts = {})
  data, _status_code, _headers = datacenters_servers_nics_firewallrules_post_with_http_info(datacenter_id, server_id, nic_id, firewallrule, opts)
  data
end
datacenters_servers_nics_firewallrules_post_with_http_info(datacenter_id, server_id, nic_id, firewallrule, opts = {}) click to toggle source

Create a Firewall Rule This will add a Firewall Rule to the NIC @param datacenter_id [String] The unique ID of the datacenter @param server_id [String] The unique ID of the server @param nic_id [String] The unique ID of the NIC @param firewallrule [FirewallRule] Firewall Rule to be created @param [Hash] opts the optional parameters @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/ - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;… and so on @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed @return [Array<(FirewallRule, Integer, Hash)>] FirewallRule data, response status code and response headers

# File lib/ionoscloud/api/nic_api.rb, line 645
def datacenters_servers_nics_firewallrules_post_with_http_info(datacenter_id, server_id, nic_id, firewallrule, opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: NicApi.datacenters_servers_nics_firewallrules_post ...'
  end
  # verify the required parameter 'datacenter_id' is set
  if @api_client.config.client_side_validation && datacenter_id.nil?
    fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling NicApi.datacenters_servers_nics_firewallrules_post"
  end
  # verify the required parameter 'server_id' is set
  if @api_client.config.client_side_validation && server_id.nil?
    fail ArgumentError, "Missing the required parameter 'server_id' when calling NicApi.datacenters_servers_nics_firewallrules_post"
  end
  # verify the required parameter 'nic_id' is set
  if @api_client.config.client_side_validation && nic_id.nil?
    fail ArgumentError, "Missing the required parameter 'nic_id' when calling NicApi.datacenters_servers_nics_firewallrules_post"
  end
  # verify the required parameter 'firewallrule' is set
  if @api_client.config.client_side_validation && firewallrule.nil?
    fail ArgumentError, "Missing the required parameter 'firewallrule' when calling NicApi.datacenters_servers_nics_firewallrules_post"
  end
  if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
    fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NicApi.datacenters_servers_nics_firewallrules_post, must be smaller than or equal to 10.'
  end

  if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
    fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NicApi.datacenters_servers_nics_firewallrules_post, must be greater than or equal to 0.'
  end

  # resource path
  local_var_path = '/datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}/firewallrules'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'serverId' + '}', CGI.escape(server_id.to_s)).sub('{' + 'nicId' + '}', CGI.escape(nic_id.to_s))

  # query parameters
  query_params = opts[:query_params] || {}
  query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
  query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].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'
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
  header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?

  # form parameters
  form_params = opts[:form_params] || {}

  # http body (model)
  post_body = opts[:debug_body] || @api_client.object_to_http_body(firewallrule)

  # return_type
  return_type = opts[:debug_return_type] || 'FirewallRule'

  # auth_names
  auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']

  new_options = opts.merge(
    :operation => :"NicApi.datacenters_servers_nics_firewallrules_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: NicApi#datacenters_servers_nics_firewallrules_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end
datacenters_servers_nics_firewallrules_put(datacenter_id, server_id, nic_id, firewallrule_id, firewallrule, opts = {}) click to toggle source

Modify a Firewall Rule You can use update attributes of a resource @param datacenter_id [String] The unique ID of the datacenter @param server_id [String] The unique ID of the Server @param nic_id [String] The unique ID of the NIC @param firewallrule_id [String] The unique ID of the Firewall Rule @param firewallrule [FirewallRule] Modified Firewall Rule @param [Hash] opts the optional parameters @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) (default to true) @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/ - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;… and so on (default to 0) @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed @return [FirewallRule]

# File lib/ionoscloud/api/nic_api.rb, line 730
def datacenters_servers_nics_firewallrules_put(datacenter_id, server_id, nic_id, firewallrule_id, firewallrule, opts = {})
  data, _status_code, _headers = datacenters_servers_nics_firewallrules_put_with_http_info(datacenter_id, server_id, nic_id, firewallrule_id, firewallrule, opts)
  data
end
datacenters_servers_nics_firewallrules_put_with_http_info(datacenter_id, server_id, nic_id, firewallrule_id, firewallrule, opts = {}) click to toggle source

Modify a Firewall Rule You can use update attributes of a resource @param datacenter_id [String] The unique ID of the datacenter @param server_id [String] The unique ID of the Server @param nic_id [String] The unique ID of the NIC @param firewallrule_id [String] The unique ID of the Firewall Rule @param firewallrule [FirewallRule] Modified Firewall Rule @param [Hash] opts the optional parameters @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/ - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;… and so on @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed @return [Array<(FirewallRule, Integer, Hash)>] FirewallRule data, response status code and response headers

# File lib/ionoscloud/api/nic_api.rb, line 747
def datacenters_servers_nics_firewallrules_put_with_http_info(datacenter_id, server_id, nic_id, firewallrule_id, firewallrule, opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: NicApi.datacenters_servers_nics_firewallrules_put ...'
  end
  # verify the required parameter 'datacenter_id' is set
  if @api_client.config.client_side_validation && datacenter_id.nil?
    fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling NicApi.datacenters_servers_nics_firewallrules_put"
  end
  # verify the required parameter 'server_id' is set
  if @api_client.config.client_side_validation && server_id.nil?
    fail ArgumentError, "Missing the required parameter 'server_id' when calling NicApi.datacenters_servers_nics_firewallrules_put"
  end
  # verify the required parameter 'nic_id' is set
  if @api_client.config.client_side_validation && nic_id.nil?
    fail ArgumentError, "Missing the required parameter 'nic_id' when calling NicApi.datacenters_servers_nics_firewallrules_put"
  end
  # verify the required parameter 'firewallrule_id' is set
  if @api_client.config.client_side_validation && firewallrule_id.nil?
    fail ArgumentError, "Missing the required parameter 'firewallrule_id' when calling NicApi.datacenters_servers_nics_firewallrules_put"
  end
  # verify the required parameter 'firewallrule' is set
  if @api_client.config.client_side_validation && firewallrule.nil?
    fail ArgumentError, "Missing the required parameter 'firewallrule' when calling NicApi.datacenters_servers_nics_firewallrules_put"
  end
  if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
    fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NicApi.datacenters_servers_nics_firewallrules_put, must be smaller than or equal to 10.'
  end

  if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
    fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NicApi.datacenters_servers_nics_firewallrules_put, must be greater than or equal to 0.'
  end

  # resource path
  local_var_path = '/datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}/firewallrules/{firewallruleId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'serverId' + '}', CGI.escape(server_id.to_s)).sub('{' + 'nicId' + '}', CGI.escape(nic_id.to_s)).sub('{' + 'firewallruleId' + '}', CGI.escape(firewallrule_id.to_s))

  # query parameters
  query_params = opts[:query_params] || {}
  query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
  query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].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'
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
  header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?

  # form parameters
  form_params = opts[:form_params] || {}

  # http body (model)
  post_body = opts[:debug_body] || @api_client.object_to_http_body(firewallrule)

  # return_type
  return_type = opts[:debug_return_type] || 'FirewallRule'

  # auth_names
  auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']

  new_options = opts.merge(
    :operation => :"NicApi.datacenters_servers_nics_firewallrules_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: NicApi#datacenters_servers_nics_firewallrules_put\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end
datacenters_servers_nics_get(datacenter_id, server_id, opts = {}) click to toggle source

List Nics Retrieves a list of NICs. @param datacenter_id [String] The unique ID of the datacenter @param server_id [String] The unique ID of the Server @param [Hash] opts the optional parameters @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) (default to true) @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/ - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;… and so on (default to 0) @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed @option opts [Integer] :offset the first element (of the total list of elements) to include in the response (use together with &lt;code&gt;limit&lt;/code&gt; for pagination) (default to 0) @option opts [Integer] :limit the maximum number of elements to return (use together with &lt;code&gt;offset&lt;/code&gt; for pagination) (default to 1000) @return [Nics]

# File lib/ionoscloud/api/nic_api.rb, line 835
def datacenters_servers_nics_get(datacenter_id, server_id, opts = {})
  data, _status_code, _headers = datacenters_servers_nics_get_with_http_info(datacenter_id, server_id, opts)
  data
end
datacenters_servers_nics_get_with_http_info(datacenter_id, server_id, opts = {}) click to toggle source

List Nics Retrieves a list of NICs. @param datacenter_id [String] The unique ID of the datacenter @param server_id [String] The unique ID of the Server @param [Hash] opts the optional parameters @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/ - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;… and so on @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed @option opts [Integer] :offset the first element (of the total list of elements) to include in the response (use together with &lt;code&gt;limit&lt;/code&gt; for pagination) @option opts [Integer] :limit the maximum number of elements to return (use together with &lt;code&gt;offset&lt;/code&gt; for pagination) @return [Array<(Nics, Integer, Hash)>] Nics data, response status code and response headers

# File lib/ionoscloud/api/nic_api.rb, line 851
def datacenters_servers_nics_get_with_http_info(datacenter_id, server_id, opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: NicApi.datacenters_servers_nics_get ...'
  end
  # verify the required parameter 'datacenter_id' is set
  if @api_client.config.client_side_validation && datacenter_id.nil?
    fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling NicApi.datacenters_servers_nics_get"
  end
  # verify the required parameter 'server_id' is set
  if @api_client.config.client_side_validation && server_id.nil?
    fail ArgumentError, "Missing the required parameter 'server_id' when calling NicApi.datacenters_servers_nics_get"
  end
  if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
    fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NicApi.datacenters_servers_nics_get, must be smaller than or equal to 10.'
  end

  if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
    fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NicApi.datacenters_servers_nics_get, must be greater than or equal to 0.'
  end

  if @api_client.config.client_side_validation && !opts[:'offset'].nil? && opts[:'offset'] < 0
    fail ArgumentError, 'invalid value for "opts[:"offset"]" when calling NicApi.datacenters_servers_nics_get, must be greater than or equal to 0.'
  end

  if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 10000
    fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling NicApi.datacenters_servers_nics_get, must be smaller than or equal to 10000.'
  end

  if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] < 1
    fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling NicApi.datacenters_servers_nics_get, must be greater than or equal to 1.'
  end

  # resource path
  local_var_path = '/datacenters/{datacenterId}/servers/{serverId}/nics'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'serverId' + '}', CGI.escape(server_id.to_s))

  # query parameters
  query_params = opts[:query_params] || {}
  query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
  query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
  query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil?
  query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?

  # header parameters
  header_params = opts[:header_params] || {}
  # HTTP header 'Accept' (if needed)
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
  header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?

  # form parameters
  form_params = opts[:form_params] || {}

  # http body (model)
  post_body = opts[:debug_body]

  # return_type
  return_type = opts[:debug_return_type] || 'Nics'

  # auth_names
  auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']

  new_options = opts.merge(
    :operation => :"NicApi.datacenters_servers_nics_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: NicApi#datacenters_servers_nics_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end
datacenters_servers_nics_patch(datacenter_id, server_id, nic_id, nic, opts = {}) click to toggle source

Partially modify a Nic You can use update attributes of a Nic @param datacenter_id [String] The unique ID of the datacenter @param server_id [String] The unique ID of the Server @param nic_id [String] The unique ID of the NIC @param nic [NicProperties] Modified properties of Nic @param [Hash] opts the optional parameters @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) (default to true) @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/ - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;… and so on (default to 0) @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed @return [Nic]

# File lib/ionoscloud/api/nic_api.rb, line 939
def datacenters_servers_nics_patch(datacenter_id, server_id, nic_id, nic, opts = {})
  data, _status_code, _headers = datacenters_servers_nics_patch_with_http_info(datacenter_id, server_id, nic_id, nic, opts)
  data
end
datacenters_servers_nics_patch_with_http_info(datacenter_id, server_id, nic_id, nic, opts = {}) click to toggle source

Partially modify a Nic You can use update attributes of a Nic @param datacenter_id [String] The unique ID of the datacenter @param server_id [String] The unique ID of the Server @param nic_id [String] The unique ID of the NIC @param nic [NicProperties] Modified properties of Nic @param [Hash] opts the optional parameters @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/ - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;… and so on @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed @return [Array<(Nic, Integer, Hash)>] Nic data, response status code and response headers

# File lib/ionoscloud/api/nic_api.rb, line 955
def datacenters_servers_nics_patch_with_http_info(datacenter_id, server_id, nic_id, nic, opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: NicApi.datacenters_servers_nics_patch ...'
  end
  # verify the required parameter 'datacenter_id' is set
  if @api_client.config.client_side_validation && datacenter_id.nil?
    fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling NicApi.datacenters_servers_nics_patch"
  end
  # verify the required parameter 'server_id' is set
  if @api_client.config.client_side_validation && server_id.nil?
    fail ArgumentError, "Missing the required parameter 'server_id' when calling NicApi.datacenters_servers_nics_patch"
  end
  # verify the required parameter 'nic_id' is set
  if @api_client.config.client_side_validation && nic_id.nil?
    fail ArgumentError, "Missing the required parameter 'nic_id' when calling NicApi.datacenters_servers_nics_patch"
  end
  # verify the required parameter 'nic' is set
  if @api_client.config.client_side_validation && nic.nil?
    fail ArgumentError, "Missing the required parameter 'nic' when calling NicApi.datacenters_servers_nics_patch"
  end
  if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
    fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NicApi.datacenters_servers_nics_patch, must be smaller than or equal to 10.'
  end

  if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
    fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NicApi.datacenters_servers_nics_patch, must be greater than or equal to 0.'
  end

  # resource path
  local_var_path = '/datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'serverId' + '}', CGI.escape(server_id.to_s)).sub('{' + 'nicId' + '}', CGI.escape(nic_id.to_s))

  # query parameters
  query_params = opts[:query_params] || {}
  query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
  query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].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'
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
  header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?

  # form parameters
  form_params = opts[:form_params] || {}

  # http body (model)
  post_body = opts[:debug_body] || @api_client.object_to_http_body(nic)

  # return_type
  return_type = opts[:debug_return_type] || 'Nic'

  # auth_names
  auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']

  new_options = opts.merge(
    :operation => :"NicApi.datacenters_servers_nics_patch",
    :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(:PATCH, local_var_path, new_options)
  if @api_client.config.debugging
    @api_client.config.logger.debug "API called: NicApi#datacenters_servers_nics_patch\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end
datacenters_servers_nics_post(datacenter_id, server_id, nic, opts = {}) click to toggle source

Create a Nic Adds a NIC to the target server. Combine count of Nics and volumes attached to the server should not exceed size 24. @param datacenter_id [String] The unique ID of the datacenter @param server_id [String] The unique ID of the Server @param nic [Nic] Nic to be created @param [Hash] opts the optional parameters @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) (default to true) @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/ - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;… and so on (default to 0) @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed @return [Nic]

# File lib/ionoscloud/api/nic_api.rb, line 1038
def datacenters_servers_nics_post(datacenter_id, server_id, nic, opts = {})
  data, _status_code, _headers = datacenters_servers_nics_post_with_http_info(datacenter_id, server_id, nic, opts)
  data
end
datacenters_servers_nics_post_with_http_info(datacenter_id, server_id, nic, opts = {}) click to toggle source

Create a Nic Adds a NIC to the target server. Combine count of Nics and volumes attached to the server should not exceed size 24. @param datacenter_id [String] The unique ID of the datacenter @param server_id [String] The unique ID of the Server @param nic [Nic] Nic to be created @param [Hash] opts the optional parameters @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/ - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;… and so on @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed @return [Array<(Nic, Integer, Hash)>] Nic data, response status code and response headers

# File lib/ionoscloud/api/nic_api.rb, line 1053
def datacenters_servers_nics_post_with_http_info(datacenter_id, server_id, nic, opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: NicApi.datacenters_servers_nics_post ...'
  end
  # verify the required parameter 'datacenter_id' is set
  if @api_client.config.client_side_validation && datacenter_id.nil?
    fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling NicApi.datacenters_servers_nics_post"
  end
  # verify the required parameter 'server_id' is set
  if @api_client.config.client_side_validation && server_id.nil?
    fail ArgumentError, "Missing the required parameter 'server_id' when calling NicApi.datacenters_servers_nics_post"
  end
  # verify the required parameter 'nic' is set
  if @api_client.config.client_side_validation && nic.nil?
    fail ArgumentError, "Missing the required parameter 'nic' when calling NicApi.datacenters_servers_nics_post"
  end
  if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
    fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NicApi.datacenters_servers_nics_post, must be smaller than or equal to 10.'
  end

  if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
    fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NicApi.datacenters_servers_nics_post, must be greater than or equal to 0.'
  end

  # resource path
  local_var_path = '/datacenters/{datacenterId}/servers/{serverId}/nics'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'serverId' + '}', CGI.escape(server_id.to_s))

  # query parameters
  query_params = opts[:query_params] || {}
  query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
  query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].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'
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
  header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?

  # form parameters
  form_params = opts[:form_params] || {}

  # http body (model)
  post_body = opts[:debug_body] || @api_client.object_to_http_body(nic)

  # return_type
  return_type = opts[:debug_return_type] || 'Nic'

  # auth_names
  auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']

  new_options = opts.merge(
    :operation => :"NicApi.datacenters_servers_nics_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: NicApi#datacenters_servers_nics_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end
datacenters_servers_nics_put(datacenter_id, server_id, nic_id, nic, opts = {}) click to toggle source

Modify a Nic You can use update attributes of a Nic @param datacenter_id [String] The unique ID of the datacenter @param server_id [String] The unique ID of the Server @param nic_id [String] The unique ID of the NIC @param nic [Nic] Modified Nic @param [Hash] opts the optional parameters @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) (default to true) @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/ - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;… and so on (default to 0) @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed @return [Nic]

# File lib/ionoscloud/api/nic_api.rb, line 1133
def datacenters_servers_nics_put(datacenter_id, server_id, nic_id, nic, opts = {})
  data, _status_code, _headers = datacenters_servers_nics_put_with_http_info(datacenter_id, server_id, nic_id, nic, opts)
  data
end
datacenters_servers_nics_put_with_http_info(datacenter_id, server_id, nic_id, nic, opts = {}) click to toggle source

Modify a Nic You can use update attributes of a Nic @param datacenter_id [String] The unique ID of the datacenter @param server_id [String] The unique ID of the Server @param nic_id [String] The unique ID of the NIC @param nic [Nic] Modified Nic @param [Hash] opts the optional parameters @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/ - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;… and so on @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed @return [Array<(Nic, Integer, Hash)>] Nic data, response status code and response headers

# File lib/ionoscloud/api/nic_api.rb, line 1149
def datacenters_servers_nics_put_with_http_info(datacenter_id, server_id, nic_id, nic, opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: NicApi.datacenters_servers_nics_put ...'
  end
  # verify the required parameter 'datacenter_id' is set
  if @api_client.config.client_side_validation && datacenter_id.nil?
    fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling NicApi.datacenters_servers_nics_put"
  end
  # verify the required parameter 'server_id' is set
  if @api_client.config.client_side_validation && server_id.nil?
    fail ArgumentError, "Missing the required parameter 'server_id' when calling NicApi.datacenters_servers_nics_put"
  end
  # verify the required parameter 'nic_id' is set
  if @api_client.config.client_side_validation && nic_id.nil?
    fail ArgumentError, "Missing the required parameter 'nic_id' when calling NicApi.datacenters_servers_nics_put"
  end
  # verify the required parameter 'nic' is set
  if @api_client.config.client_side_validation && nic.nil?
    fail ArgumentError, "Missing the required parameter 'nic' when calling NicApi.datacenters_servers_nics_put"
  end
  if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
    fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NicApi.datacenters_servers_nics_put, must be smaller than or equal to 10.'
  end

  if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
    fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NicApi.datacenters_servers_nics_put, must be greater than or equal to 0.'
  end

  # resource path
  local_var_path = '/datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'serverId' + '}', CGI.escape(server_id.to_s)).sub('{' + 'nicId' + '}', CGI.escape(nic_id.to_s))

  # query parameters
  query_params = opts[:query_params] || {}
  query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
  query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].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'
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
  header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?

  # form parameters
  form_params = opts[:form_params] || {}

  # http body (model)
  post_body = opts[:debug_body] || @api_client.object_to_http_body(nic)

  # return_type
  return_type = opts[:debug_return_type] || 'Nic'

  # auth_names
  auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']

  new_options = opts.merge(
    :operation => :"NicApi.datacenters_servers_nics_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: NicApi#datacenters_servers_nics_put\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end