=begin
#Automation Actions V4

#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)

The version of the OpenAPI document: v4

Generated by: https://openapi-generator.tech
OpenAPI Generator version: 6.2.1

=end

require 'cgi'

module Hubspot
  module Automation
    module Actions
      class FunctionsApi
        attr_accessor :api_client

        def initialize(api_client = ApiClient.default)
          @api_client = api_client
        end
        # Archive a function for a definition
        # @param definition_id [String] 
        # @param function_type [String] 
        # @param function_id [String] 
        # @param app_id [Integer] 
        # @param [Hash] opts the optional parameters
        # @return [nil]
        def archive(definition_id, function_type, function_id, app_id, opts = {})
          archive_with_http_info(definition_id, function_type, function_id, app_id, opts)
          nil
        end

        # Archive a function for a definition
        # @param definition_id [String] 
        # @param function_type [String] 
        # @param function_id [String] 
        # @param app_id [Integer] 
        # @param [Hash] opts the optional parameters
        # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
        def archive_with_http_info(definition_id, function_type, function_id, app_id, opts = {})
          if @api_client.config.debugging
            @api_client.config.logger.debug 'Calling API: FunctionsApi.archive ...'
          end
          # verify the required parameter 'definition_id' is set
          if @api_client.config.client_side_validation && definition_id.nil?
            fail ArgumentError, "Missing the required parameter 'definition_id' when calling FunctionsApi.archive"
          end
          # verify the required parameter 'function_type' is set
          if @api_client.config.client_side_validation && function_type.nil?
            fail ArgumentError, "Missing the required parameter 'function_type' when calling FunctionsApi.archive"
          end
          # verify enum value
          allowable_values = ["PRE_ACTION_EXECUTION", "PRE_FETCH_OPTIONS", "POST_FETCH_OPTIONS", "POST_ACTION_EXECUTION"]
          if @api_client.config.client_side_validation && !allowable_values.include?(function_type)
            fail ArgumentError, "invalid value for \"function_type\", must be one of #{allowable_values}"
          end
          # verify the required parameter 'function_id' is set
          if @api_client.config.client_side_validation && function_id.nil?
            fail ArgumentError, "Missing the required parameter 'function_id' when calling FunctionsApi.archive"
          end
          # verify the required parameter 'app_id' is set
          if @api_client.config.client_side_validation && app_id.nil?
            fail ArgumentError, "Missing the required parameter 'app_id' when calling FunctionsApi.archive"
          end
          # resource path
          local_var_path = '/automation/v4/actions/{appId}/{definitionId}/functions/{functionType}/{functionId}'.sub('{' + 'definitionId' + '}', CGI.escape(definition_id.to_s)).sub('{' + 'functionType' + '}', CGI.escape(function_type.to_s)).sub('{' + 'functionId' + '}', CGI.escape(function_id.to_s)).sub('{' + 'appId' + '}', CGI.escape(app_id.to_s))

          # query parameters
          query_params = opts[:query_params] || {}

          # header parameters
          header_params = opts[:header_params] || {}
          # HTTP header 'Accept' (if needed)
          header_params['Accept'] = @api_client.select_header_accept(['*/*'])

          # 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] || ['developer_hapikey']

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

        # Delete a function for a definition
        # @param definition_id [String] 
        # @param function_type [String] 
        # @param app_id [Integer] 
        # @param [Hash] opts the optional parameters
        # @return [nil]
        def archive_by_function_type(definition_id, function_type, app_id, opts = {})
          archive_by_function_type_with_http_info(definition_id, function_type, app_id, opts)
          nil
        end

        # Delete a function for a definition
        # @param definition_id [String] 
        # @param function_type [String] 
        # @param app_id [Integer] 
        # @param [Hash] opts the optional parameters
        # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
        def archive_by_function_type_with_http_info(definition_id, function_type, app_id, opts = {})
          if @api_client.config.debugging
            @api_client.config.logger.debug 'Calling API: FunctionsApi.archive_by_function_type ...'
          end
          # verify the required parameter 'definition_id' is set
          if @api_client.config.client_side_validation && definition_id.nil?
            fail ArgumentError, "Missing the required parameter 'definition_id' when calling FunctionsApi.archive_by_function_type"
          end
          # verify the required parameter 'function_type' is set
          if @api_client.config.client_side_validation && function_type.nil?
            fail ArgumentError, "Missing the required parameter 'function_type' when calling FunctionsApi.archive_by_function_type"
          end
          # verify enum value
          allowable_values = ["PRE_ACTION_EXECUTION", "PRE_FETCH_OPTIONS", "POST_FETCH_OPTIONS", "POST_ACTION_EXECUTION"]
          if @api_client.config.client_side_validation && !allowable_values.include?(function_type)
            fail ArgumentError, "invalid value for \"function_type\", must be one of #{allowable_values}"
          end
          # verify the required parameter 'app_id' is set
          if @api_client.config.client_side_validation && app_id.nil?
            fail ArgumentError, "Missing the required parameter 'app_id' when calling FunctionsApi.archive_by_function_type"
          end
          # resource path
          local_var_path = '/automation/v4/actions/{appId}/{definitionId}/functions/{functionType}'.sub('{' + 'definitionId' + '}', CGI.escape(definition_id.to_s)).sub('{' + 'functionType' + '}', CGI.escape(function_type.to_s)).sub('{' + 'appId' + '}', CGI.escape(app_id.to_s))

          # query parameters
          query_params = opts[:query_params] || {}

          # header parameters
          header_params = opts[:header_params] || {}
          # HTTP header 'Accept' (if needed)
          header_params['Accept'] = @api_client.select_header_accept(['*/*'])

          # 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] || ['developer_hapikey']

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

        # Insert a function for a definition
        # @param definition_id [String] 
        # @param function_type [String] 
        # @param function_id [String] 
        # @param app_id [Integer] 
        # @param body [String] 
        # @param [Hash] opts the optional parameters
        # @return [PublicActionFunctionIdentifier]
        def create_or_replace(definition_id, function_type, function_id, app_id, body, opts = {})
          data, _status_code, _headers = create_or_replace_with_http_info(definition_id, function_type, function_id, app_id, body, opts)
          data
        end

        # Insert a function for a definition
        # @param definition_id [String] 
        # @param function_type [String] 
        # @param function_id [String] 
        # @param app_id [Integer] 
        # @param body [String] 
        # @param [Hash] opts the optional parameters
        # @return [Array<(PublicActionFunctionIdentifier, Integer, Hash)>] PublicActionFunctionIdentifier data, response status code and response headers
        def create_or_replace_with_http_info(definition_id, function_type, function_id, app_id, body, opts = {})
          if @api_client.config.debugging
            @api_client.config.logger.debug 'Calling API: FunctionsApi.create_or_replace ...'
          end
          # verify the required parameter 'definition_id' is set
          if @api_client.config.client_side_validation && definition_id.nil?
            fail ArgumentError, "Missing the required parameter 'definition_id' when calling FunctionsApi.create_or_replace"
          end
          # verify the required parameter 'function_type' is set
          if @api_client.config.client_side_validation && function_type.nil?
            fail ArgumentError, "Missing the required parameter 'function_type' when calling FunctionsApi.create_or_replace"
          end
          # verify enum value
          allowable_values = ["PRE_ACTION_EXECUTION", "PRE_FETCH_OPTIONS", "POST_FETCH_OPTIONS", "POST_ACTION_EXECUTION"]
          if @api_client.config.client_side_validation && !allowable_values.include?(function_type)
            fail ArgumentError, "invalid value for \"function_type\", must be one of #{allowable_values}"
          end
          # verify the required parameter 'function_id' is set
          if @api_client.config.client_side_validation && function_id.nil?
            fail ArgumentError, "Missing the required parameter 'function_id' when calling FunctionsApi.create_or_replace"
          end
          # verify the required parameter 'app_id' is set
          if @api_client.config.client_side_validation && app_id.nil?
            fail ArgumentError, "Missing the required parameter 'app_id' when calling FunctionsApi.create_or_replace"
          end
          # verify the required parameter 'body' is set
          if @api_client.config.client_side_validation && body.nil?
            fail ArgumentError, "Missing the required parameter 'body' when calling FunctionsApi.create_or_replace"
          end
          # resource path
          local_var_path = '/automation/v4/actions/{appId}/{definitionId}/functions/{functionType}/{functionId}'.sub('{' + 'definitionId' + '}', CGI.escape(definition_id.to_s)).sub('{' + 'functionType' + '}', CGI.escape(function_type.to_s)).sub('{' + 'functionId' + '}', CGI.escape(function_id.to_s)).sub('{' + 'appId' + '}', CGI.escape(app_id.to_s))

          # query parameters
          query_params = opts[:query_params] || {}

          # header parameters
          header_params = opts[:header_params] || {}
          # HTTP header 'Accept' (if needed)
          header_params['Accept'] = @api_client.select_header_accept(['application/json', '*/*'])
          # HTTP header 'Content-Type'
          content_type = @api_client.select_header_content_type(['text/plain'])
          if !content_type.nil?
              header_params['Content-Type'] = content_type
          end

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

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

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

          # auth_names
          auth_names = opts[:debug_auth_names] || ['developer_hapikey']

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

        # Insert a function for a definition
        # @param definition_id [String] 
        # @param function_type [String] 
        # @param app_id [Integer] 
        # @param body [String] 
        # @param [Hash] opts the optional parameters
        # @return [PublicActionFunctionIdentifier]
        def create_or_replace_by_function_type(definition_id, function_type, app_id, body, opts = {})
          data, _status_code, _headers = create_or_replace_by_function_type_with_http_info(definition_id, function_type, app_id, body, opts)
          data
        end

        # Insert a function for a definition
        # @param definition_id [String] 
        # @param function_type [String] 
        # @param app_id [Integer] 
        # @param body [String] 
        # @param [Hash] opts the optional parameters
        # @return [Array<(PublicActionFunctionIdentifier, Integer, Hash)>] PublicActionFunctionIdentifier data, response status code and response headers
        def create_or_replace_by_function_type_with_http_info(definition_id, function_type, app_id, body, opts = {})
          if @api_client.config.debugging
            @api_client.config.logger.debug 'Calling API: FunctionsApi.create_or_replace_by_function_type ...'
          end
          # verify the required parameter 'definition_id' is set
          if @api_client.config.client_side_validation && definition_id.nil?
            fail ArgumentError, "Missing the required parameter 'definition_id' when calling FunctionsApi.create_or_replace_by_function_type"
          end
          # verify the required parameter 'function_type' is set
          if @api_client.config.client_side_validation && function_type.nil?
            fail ArgumentError, "Missing the required parameter 'function_type' when calling FunctionsApi.create_or_replace_by_function_type"
          end
          # verify enum value
          allowable_values = ["PRE_ACTION_EXECUTION", "PRE_FETCH_OPTIONS", "POST_FETCH_OPTIONS", "POST_ACTION_EXECUTION"]
          if @api_client.config.client_side_validation && !allowable_values.include?(function_type)
            fail ArgumentError, "invalid value for \"function_type\", must be one of #{allowable_values}"
          end
          # verify the required parameter 'app_id' is set
          if @api_client.config.client_side_validation && app_id.nil?
            fail ArgumentError, "Missing the required parameter 'app_id' when calling FunctionsApi.create_or_replace_by_function_type"
          end
          # verify the required parameter 'body' is set
          if @api_client.config.client_side_validation && body.nil?
            fail ArgumentError, "Missing the required parameter 'body' when calling FunctionsApi.create_or_replace_by_function_type"
          end
          # resource path
          local_var_path = '/automation/v4/actions/{appId}/{definitionId}/functions/{functionType}'.sub('{' + 'definitionId' + '}', CGI.escape(definition_id.to_s)).sub('{' + 'functionType' + '}', CGI.escape(function_type.to_s)).sub('{' + 'appId' + '}', CGI.escape(app_id.to_s))

          # query parameters
          query_params = opts[:query_params] || {}

          # header parameters
          header_params = opts[:header_params] || {}
          # HTTP header 'Accept' (if needed)
          header_params['Accept'] = @api_client.select_header_accept(['application/json', '*/*'])
          # HTTP header 'Content-Type'
          content_type = @api_client.select_header_content_type(['text/plain'])
          if !content_type.nil?
              header_params['Content-Type'] = content_type
          end

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

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

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

          # auth_names
          auth_names = opts[:debug_auth_names] || ['developer_hapikey']

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

        # Get all functions by a type for a given definition
        # @param definition_id [String] 
        # @param function_type [String] 
        # @param app_id [Integer] 
        # @param [Hash] opts the optional parameters
        # @return [PublicActionFunction]
        def get_by_function_type(definition_id, function_type, app_id, opts = {})
          data, _status_code, _headers = get_by_function_type_with_http_info(definition_id, function_type, app_id, opts)
          data
        end

        # Get all functions by a type for a given definition
        # @param definition_id [String] 
        # @param function_type [String] 
        # @param app_id [Integer] 
        # @param [Hash] opts the optional parameters
        # @return [Array<(PublicActionFunction, Integer, Hash)>] PublicActionFunction data, response status code and response headers
        def get_by_function_type_with_http_info(definition_id, function_type, app_id, opts = {})
          if @api_client.config.debugging
            @api_client.config.logger.debug 'Calling API: FunctionsApi.get_by_function_type ...'
          end
          # verify the required parameter 'definition_id' is set
          if @api_client.config.client_side_validation && definition_id.nil?
            fail ArgumentError, "Missing the required parameter 'definition_id' when calling FunctionsApi.get_by_function_type"
          end
          # verify the required parameter 'function_type' is set
          if @api_client.config.client_side_validation && function_type.nil?
            fail ArgumentError, "Missing the required parameter 'function_type' when calling FunctionsApi.get_by_function_type"
          end
          # verify enum value
          allowable_values = ["PRE_ACTION_EXECUTION", "PRE_FETCH_OPTIONS", "POST_FETCH_OPTIONS", "POST_ACTION_EXECUTION"]
          if @api_client.config.client_side_validation && !allowable_values.include?(function_type)
            fail ArgumentError, "invalid value for \"function_type\", must be one of #{allowable_values}"
          end
          # verify the required parameter 'app_id' is set
          if @api_client.config.client_side_validation && app_id.nil?
            fail ArgumentError, "Missing the required parameter 'app_id' when calling FunctionsApi.get_by_function_type"
          end
          # resource path
          local_var_path = '/automation/v4/actions/{appId}/{definitionId}/functions/{functionType}'.sub('{' + 'definitionId' + '}', CGI.escape(definition_id.to_s)).sub('{' + 'functionType' + '}', CGI.escape(function_type.to_s)).sub('{' + 'appId' + '}', CGI.escape(app_id.to_s))

          # query parameters
          query_params = opts[:query_params] || {}

          # header parameters
          header_params = opts[:header_params] || {}
          # HTTP header 'Accept' (if needed)
          header_params['Accept'] = @api_client.select_header_accept(['application/json', '*/*'])

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

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

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

          # auth_names
          auth_names = opts[:debug_auth_names] || ['developer_hapikey']

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

        # Get a function for a given definition
        # @param definition_id [String] 
        # @param function_type [String] 
        # @param function_id [String] 
        # @param app_id [Integer] 
        # @param [Hash] opts the optional parameters
        # @return [PublicActionFunction]
        def get_by_id(definition_id, function_type, function_id, app_id, opts = {})
          data, _status_code, _headers = get_by_id_with_http_info(definition_id, function_type, function_id, app_id, opts)
          data
        end

        # Get a function for a given definition
        # @param definition_id [String] 
        # @param function_type [String] 
        # @param function_id [String] 
        # @param app_id [Integer] 
        # @param [Hash] opts the optional parameters
        # @return [Array<(PublicActionFunction, Integer, Hash)>] PublicActionFunction data, response status code and response headers
        def get_by_id_with_http_info(definition_id, function_type, function_id, app_id, opts = {})
          if @api_client.config.debugging
            @api_client.config.logger.debug 'Calling API: FunctionsApi.get_by_id ...'
          end
          # verify the required parameter 'definition_id' is set
          if @api_client.config.client_side_validation && definition_id.nil?
            fail ArgumentError, "Missing the required parameter 'definition_id' when calling FunctionsApi.get_by_id"
          end
          # verify the required parameter 'function_type' is set
          if @api_client.config.client_side_validation && function_type.nil?
            fail ArgumentError, "Missing the required parameter 'function_type' when calling FunctionsApi.get_by_id"
          end
          # verify enum value
          allowable_values = ["PRE_ACTION_EXECUTION", "PRE_FETCH_OPTIONS", "POST_FETCH_OPTIONS", "POST_ACTION_EXECUTION"]
          if @api_client.config.client_side_validation && !allowable_values.include?(function_type)
            fail ArgumentError, "invalid value for \"function_type\", must be one of #{allowable_values}"
          end
          # verify the required parameter 'function_id' is set
          if @api_client.config.client_side_validation && function_id.nil?
            fail ArgumentError, "Missing the required parameter 'function_id' when calling FunctionsApi.get_by_id"
          end
          # verify the required parameter 'app_id' is set
          if @api_client.config.client_side_validation && app_id.nil?
            fail ArgumentError, "Missing the required parameter 'app_id' when calling FunctionsApi.get_by_id"
          end
          # resource path
          local_var_path = '/automation/v4/actions/{appId}/{definitionId}/functions/{functionType}/{functionId}'.sub('{' + 'definitionId' + '}', CGI.escape(definition_id.to_s)).sub('{' + 'functionType' + '}', CGI.escape(function_type.to_s)).sub('{' + 'functionId' + '}', CGI.escape(function_id.to_s)).sub('{' + 'appId' + '}', CGI.escape(app_id.to_s))

          # query parameters
          query_params = opts[:query_params] || {}

          # header parameters
          header_params = opts[:header_params] || {}
          # HTTP header 'Accept' (if needed)
          header_params['Accept'] = @api_client.select_header_accept(['application/json', '*/*'])

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

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

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

          # auth_names
          auth_names = opts[:debug_auth_names] || ['developer_hapikey']

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

        # Get all functions for a given definition
        # @param definition_id [String] 
        # @param app_id [Integer] 
        # @param [Hash] opts the optional parameters
        # @return [CollectionResponsePublicActionFunctionIdentifierNoPaging]
        def get_page(definition_id, app_id, opts = {})
          data, _status_code, _headers = get_page_with_http_info(definition_id, app_id, opts)
          data
        end

        # Get all functions for a given definition
        # @param definition_id [String] 
        # @param app_id [Integer] 
        # @param [Hash] opts the optional parameters
        # @return [Array<(CollectionResponsePublicActionFunctionIdentifierNoPaging, Integer, Hash)>] CollectionResponsePublicActionFunctionIdentifierNoPaging data, response status code and response headers
        def get_page_with_http_info(definition_id, app_id, opts = {})
          if @api_client.config.debugging
            @api_client.config.logger.debug 'Calling API: FunctionsApi.get_page ...'
          end
          # verify the required parameter 'definition_id' is set
          if @api_client.config.client_side_validation && definition_id.nil?
            fail ArgumentError, "Missing the required parameter 'definition_id' when calling FunctionsApi.get_page"
          end
          # verify the required parameter 'app_id' is set
          if @api_client.config.client_side_validation && app_id.nil?
            fail ArgumentError, "Missing the required parameter 'app_id' when calling FunctionsApi.get_page"
          end
          # resource path
          local_var_path = '/automation/v4/actions/{appId}/{definitionId}/functions'.sub('{' + 'definitionId' + '}', CGI.escape(definition_id.to_s)).sub('{' + 'appId' + '}', CGI.escape(app_id.to_s))

          # query parameters
          query_params = opts[:query_params] || {}

          # header parameters
          header_params = opts[:header_params] || {}
          # HTTP header 'Accept' (if needed)
          header_params['Accept'] = @api_client.select_header_accept(['application/json', '*/*'])

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

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

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

          # auth_names
          auth_names = opts[:debug_auth_names] || ['developer_hapikey']

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