=begin #CLOUD API #An enterprise-grade Infrastructure is provided as a Service (IaaS) solution that can be managed through a browser-based \"Data Center Designer\" (DCD) tool or via an easy to use API. The API allows you to perform a variety of management tasks such as spinning up additional servers, adding volumes, adjusting networking, and so forth. It is designed to allow users to leverage the same power and flexibility found within the DCD visual tool. Both tools are consistent with their concepts and lend well to making the experience smooth and intuitive. The version of the OpenAPI document: 6.0-SDK.1 Generated by: https://openapi-generator.tech OpenAPI Generator version: 5.0.1-SNAPSHOT =end require 'cgi' module Ionoscloud class FlowLogsApi attr_accessor :api_client def initialize(api_client = ApiClient.default) @api_client = api_client end # Delete a Flow Log # Removes the specified Flow Log. # @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 flowlog_id [String] The unique ID of the Flow Log # @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/[ID] - 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) # @return [nil] def datacenters_servers_nics_flowlogs_delete(datacenter_id, server_id, nic_id, flowlog_id, opts = {}) datacenters_servers_nics_flowlogs_delete_with_http_info(datacenter_id, server_id, nic_id, flowlog_id, opts) nil end # Delete a Flow Log # Removes the specified Flow Log. # @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 flowlog_id [String] The unique ID of the Flow Log # @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/[ID] - 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 # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers def datacenters_servers_nics_flowlogs_delete_with_http_info(datacenter_id, server_id, nic_id, flowlog_id, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: FlowLogsApi.datacenters_servers_nics_flowlogs_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 FlowLogsApi.datacenters_servers_nics_flowlogs_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 FlowLogsApi.datacenters_servers_nics_flowlogs_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 FlowLogsApi.datacenters_servers_nics_flowlogs_delete" end # verify the required parameter 'flowlog_id' is set if @api_client.config.client_side_validation && flowlog_id.nil? fail ArgumentError, "Missing the required parameter 'flowlog_id' when calling FlowLogsApi.datacenters_servers_nics_flowlogs_delete" end if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10 fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling FlowLogsApi.datacenters_servers_nics_flowlogs_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 FlowLogsApi.datacenters_servers_nics_flowlogs_delete, must be greater than or equal to 0.' end # resource path local_var_path = '/datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}/flowlogs/{flowlogId}'.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('{' + 'flowlogId' + '}', CGI.escape(flowlog_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']) # 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] || ['Basic Authentication', 'Token Authentication'] new_options = opts.merge( :operation => :"FlowLogsApi.datacenters_servers_nics_flowlogs_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: FlowLogsApi#datacenters_servers_nics_flowlogs_delete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Retrieve a Flow Log # Retrieves the attributes of a given Flow Log. # @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 flowlog_id [String] The unique ID of the Flow Log # @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/[ID] - 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) # @return [FlowLog] def datacenters_servers_nics_flowlogs_find_by_id(datacenter_id, server_id, nic_id, flowlog_id, opts = {}) data, _status_code, _headers = datacenters_servers_nics_flowlogs_find_by_id_with_http_info(datacenter_id, server_id, nic_id, flowlog_id, opts) data end # Retrieve a Flow Log # Retrieves the attributes of a given Flow Log. # @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 flowlog_id [String] The unique ID of the Flow Log # @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/[ID] - 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 # @return [Array<(FlowLog, Integer, Hash)>] FlowLog data, response status code and response headers def datacenters_servers_nics_flowlogs_find_by_id_with_http_info(datacenter_id, server_id, nic_id, flowlog_id, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: FlowLogsApi.datacenters_servers_nics_flowlogs_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 FlowLogsApi.datacenters_servers_nics_flowlogs_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 FlowLogsApi.datacenters_servers_nics_flowlogs_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 FlowLogsApi.datacenters_servers_nics_flowlogs_find_by_id" end # verify the required parameter 'flowlog_id' is set if @api_client.config.client_side_validation && flowlog_id.nil? fail ArgumentError, "Missing the required parameter 'flowlog_id' when calling FlowLogsApi.datacenters_servers_nics_flowlogs_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 FlowLogsApi.datacenters_servers_nics_flowlogs_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 FlowLogsApi.datacenters_servers_nics_flowlogs_find_by_id, must be greater than or equal to 0.' end # resource path local_var_path = '/datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}/flowlogs/{flowlogId}'.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('{' + 'flowlogId' + '}', CGI.escape(flowlog_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']) # form parameters form_params = opts[:form_params] || {} # http body (model) post_body = opts[:debug_body] # return_type return_type = opts[:debug_return_type] || 'FlowLog' # auth_names auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication'] new_options = opts.merge( :operation => :"FlowLogsApi.datacenters_servers_nics_flowlogs_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: FlowLogsApi#datacenters_servers_nics_flowlogs_find_by_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # List Flow Logs # Retrieves a list of Flow Logs associated with a particular network interface. # @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/[ID] - 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] :offset the first element (of the total list of elements) to include in the response (use together with limit for pagination) (default to 0) # @option opts [Integer] :limit the maximum number of elements to return (use together with offset for pagination) (default to 1000) # @return [FlowLogs] def datacenters_servers_nics_flowlogs_get(datacenter_id, server_id, nic_id, opts = {}) data, _status_code, _headers = datacenters_servers_nics_flowlogs_get_with_http_info(datacenter_id, server_id, nic_id, opts) data end # List Flow Logs # Retrieves a list of Flow Logs associated with a particular network interface. # @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/[ID] - 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 # @option opts [Integer] :offset the first element (of the total list of elements) to include in the response (use together with limit for pagination) # @option opts [Integer] :limit the maximum number of elements to return (use together with offset for pagination) # @return [Array<(FlowLogs, Integer, Hash)>] FlowLogs data, response status code and response headers def datacenters_servers_nics_flowlogs_get_with_http_info(datacenter_id, server_id, nic_id, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: FlowLogsApi.datacenters_servers_nics_flowlogs_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 FlowLogsApi.datacenters_servers_nics_flowlogs_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 FlowLogsApi.datacenters_servers_nics_flowlogs_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 FlowLogsApi.datacenters_servers_nics_flowlogs_get" end if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10 fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling FlowLogsApi.datacenters_servers_nics_flowlogs_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 FlowLogsApi.datacenters_servers_nics_flowlogs_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 FlowLogsApi.datacenters_servers_nics_flowlogs_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 FlowLogsApi.datacenters_servers_nics_flowlogs_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 FlowLogsApi.datacenters_servers_nics_flowlogs_get, must be greater than or equal to 1.' end # resource path local_var_path = '/datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}/flowlogs'.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']) # form parameters form_params = opts[:form_params] || {} # http body (model) post_body = opts[:debug_body] # return_type return_type = opts[:debug_return_type] || 'FlowLogs' # auth_names auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication'] new_options = opts.merge( :operation => :"FlowLogsApi.datacenters_servers_nics_flowlogs_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: FlowLogsApi#datacenters_servers_nics_flowlogs_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Partially update a Flow Log # This will partially update a Flow Log record. # @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 flowlog_id [String] The unique ID of the Flow Log # @param flowlog [FlowLogProperties] Modified Flow Log # @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/[ID] - 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) # @return [FlowLog] def datacenters_servers_nics_flowlogs_patch(datacenter_id, server_id, nic_id, flowlog_id, flowlog, opts = {}) data, _status_code, _headers = datacenters_servers_nics_flowlogs_patch_with_http_info(datacenter_id, server_id, nic_id, flowlog_id, flowlog, opts) data end # Partially update a Flow Log # This will partially update a Flow Log record. # @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 flowlog_id [String] The unique ID of the Flow Log # @param flowlog [FlowLogProperties] Modified Flow Log # @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/[ID] - 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 # @return [Array<(FlowLog, Integer, Hash)>] FlowLog data, response status code and response headers def datacenters_servers_nics_flowlogs_patch_with_http_info(datacenter_id, server_id, nic_id, flowlog_id, flowlog, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: FlowLogsApi.datacenters_servers_nics_flowlogs_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 FlowLogsApi.datacenters_servers_nics_flowlogs_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 FlowLogsApi.datacenters_servers_nics_flowlogs_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 FlowLogsApi.datacenters_servers_nics_flowlogs_patch" end # verify the required parameter 'flowlog_id' is set if @api_client.config.client_side_validation && flowlog_id.nil? fail ArgumentError, "Missing the required parameter 'flowlog_id' when calling FlowLogsApi.datacenters_servers_nics_flowlogs_patch" end # verify the required parameter 'flowlog' is set if @api_client.config.client_side_validation && flowlog.nil? fail ArgumentError, "Missing the required parameter 'flowlog' when calling FlowLogsApi.datacenters_servers_nics_flowlogs_patch" end if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10 fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling FlowLogsApi.datacenters_servers_nics_flowlogs_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 FlowLogsApi.datacenters_servers_nics_flowlogs_patch, must be greater than or equal to 0.' end # resource path local_var_path = '/datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}/flowlogs/{flowlogId}'.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('{' + 'flowlogId' + '}', CGI.escape(flowlog_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']) # form parameters form_params = opts[:form_params] || {} # http body (model) post_body = opts[:debug_body] || @api_client.object_to_http_body(flowlog) # return_type return_type = opts[:debug_return_type] || 'FlowLog' # auth_names auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication'] new_options = opts.merge( :operation => :"FlowLogsApi.datacenters_servers_nics_flowlogs_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: FlowLogsApi#datacenters_servers_nics_flowlogs_patch\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Create a Flow Log # This will add a Flow Log to the network interface. # @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 flowlog [FlowLog] Flow Log 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/[ID] - 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) # @return [FlowLog] def datacenters_servers_nics_flowlogs_post(datacenter_id, server_id, nic_id, flowlog, opts = {}) data, _status_code, _headers = datacenters_servers_nics_flowlogs_post_with_http_info(datacenter_id, server_id, nic_id, flowlog, opts) data end # Create a Flow Log # This will add a Flow Log to the network interface. # @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 flowlog [FlowLog] Flow Log 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/[ID] - 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 # @return [Array<(FlowLog, Integer, Hash)>] FlowLog data, response status code and response headers def datacenters_servers_nics_flowlogs_post_with_http_info(datacenter_id, server_id, nic_id, flowlog, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: FlowLogsApi.datacenters_servers_nics_flowlogs_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 FlowLogsApi.datacenters_servers_nics_flowlogs_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 FlowLogsApi.datacenters_servers_nics_flowlogs_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 FlowLogsApi.datacenters_servers_nics_flowlogs_post" end # verify the required parameter 'flowlog' is set if @api_client.config.client_side_validation && flowlog.nil? fail ArgumentError, "Missing the required parameter 'flowlog' when calling FlowLogsApi.datacenters_servers_nics_flowlogs_post" end if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10 fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling FlowLogsApi.datacenters_servers_nics_flowlogs_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 FlowLogsApi.datacenters_servers_nics_flowlogs_post, must be greater than or equal to 0.' end # resource path local_var_path = '/datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}/flowlogs'.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']) # form parameters form_params = opts[:form_params] || {} # http body (model) post_body = opts[:debug_body] || @api_client.object_to_http_body(flowlog) # return_type return_type = opts[:debug_return_type] || 'FlowLog' # auth_names auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication'] new_options = opts.merge( :operation => :"FlowLogsApi.datacenters_servers_nics_flowlogs_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: FlowLogsApi#datacenters_servers_nics_flowlogs_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Modify a Flow Log # This will update a Flow Log record. # @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 flowlog_id [String] The unique ID of the Flow Log # @param flowlog [FlowLogPut] Modified Flow Log # @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/[ID] - 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) # @return [FlowLog] def datacenters_servers_nics_flowlogs_put(datacenter_id, server_id, nic_id, flowlog_id, flowlog, opts = {}) data, _status_code, _headers = datacenters_servers_nics_flowlogs_put_with_http_info(datacenter_id, server_id, nic_id, flowlog_id, flowlog, opts) data end # Modify a Flow Log # This will update a Flow Log record. # @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 flowlog_id [String] The unique ID of the Flow Log # @param flowlog [FlowLogPut] Modified Flow Log # @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/[ID] - 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 # @return [Array<(FlowLog, Integer, Hash)>] FlowLog data, response status code and response headers def datacenters_servers_nics_flowlogs_put_with_http_info(datacenter_id, server_id, nic_id, flowlog_id, flowlog, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: FlowLogsApi.datacenters_servers_nics_flowlogs_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 FlowLogsApi.datacenters_servers_nics_flowlogs_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 FlowLogsApi.datacenters_servers_nics_flowlogs_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 FlowLogsApi.datacenters_servers_nics_flowlogs_put" end # verify the required parameter 'flowlog_id' is set if @api_client.config.client_side_validation && flowlog_id.nil? fail ArgumentError, "Missing the required parameter 'flowlog_id' when calling FlowLogsApi.datacenters_servers_nics_flowlogs_put" end # verify the required parameter 'flowlog' is set if @api_client.config.client_side_validation && flowlog.nil? fail ArgumentError, "Missing the required parameter 'flowlog' when calling FlowLogsApi.datacenters_servers_nics_flowlogs_put" end if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10 fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling FlowLogsApi.datacenters_servers_nics_flowlogs_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 FlowLogsApi.datacenters_servers_nics_flowlogs_put, must be greater than or equal to 0.' end # resource path local_var_path = '/datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}/flowlogs/{flowlogId}'.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('{' + 'flowlogId' + '}', CGI.escape(flowlog_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']) # form parameters form_params = opts[:form_params] || {} # http body (model) post_body = opts[:debug_body] || @api_client.object_to_http_body(flowlog) # return_type return_type = opts[:debug_return_type] || 'FlowLog' # auth_names auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication'] new_options = opts.merge( :operation => :"FlowLogsApi.datacenters_servers_nics_flowlogs_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: FlowLogsApi#datacenters_servers_nics_flowlogs_put\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end end end