-- AUTOGENERATED FILE - DO NOT EDIT
-- AWS Service: sqs

local common = require("nvim-aws.common")

--- AWS sqs service functions
local M = {}

--- AWS sqs add-permission operation
--- @param input nil|table the input table
--- @param callbacks nil|{stdout?: fun(err: string, data: string), stderr?: fun(err: string, data: string), on_exit?: fun(out: vim.SystemCompleted)}
--- @return {success: boolean, data?: table, error?: string }|{success: boolean, job: vim.SystemObj}
function M.add_permission(input, callbacks)
	return common.execute_aws_command_skeleton({ "sqs", "add-permission" }, input, callbacks)
end

--- AWS sqs cancel-message-move-task operation
--- @param input nil|table the input table
--- @param callbacks nil|{stdout?: fun(err: string, data: string), stderr?: fun(err: string, data: string), on_exit?: fun(out: vim.SystemCompleted)}
--- @return {success: boolean, data?: table, error?: string }|{success: boolean, job: vim.SystemObj}
function M.cancel_message_move_task(input, callbacks)
	return common.execute_aws_command_skeleton({ "sqs", "cancel-message-move-task" }, input, callbacks)
end

--- AWS sqs change-message-visibility operation
--- @param input nil|table the input table
--- @param callbacks nil|{stdout?: fun(err: string, data: string), stderr?: fun(err: string, data: string), on_exit?: fun(out: vim.SystemCompleted)}
--- @return {success: boolean, data?: table, error?: string }|{success: boolean, job: vim.SystemObj}
function M.change_message_visibility(input, callbacks)
	return common.execute_aws_command_skeleton({ "sqs", "change-message-visibility" }, input, callbacks)
end

--- AWS sqs change-message-visibility-batch operation
--- @param input nil|table the input table
--- @param callbacks nil|{stdout?: fun(err: string, data: string), stderr?: fun(err: string, data: string), on_exit?: fun(out: vim.SystemCompleted)}
--- @return {success: boolean, data?: table, error?: string }|{success: boolean, job: vim.SystemObj}
function M.change_message_visibility_batch(input, callbacks)
	return common.execute_aws_command_skeleton({ "sqs", "change-message-visibility-batch" }, input, callbacks)
end

--- AWS sqs create-queue operation
--- @param input nil|table the input table
--- @param callbacks nil|{stdout?: fun(err: string, data: string), stderr?: fun(err: string, data: string), on_exit?: fun(out: vim.SystemCompleted)}
--- @return {success: boolean, data?: table, error?: string }|{success: boolean, job: vim.SystemObj}
function M.create_queue(input, callbacks)
	return common.execute_aws_command_skeleton({ "sqs", "create-queue" }, input, callbacks)
end

--- AWS sqs delete-message operation
--- @param input nil|table the input table
--- @param callbacks nil|{stdout?: fun(err: string, data: string), stderr?: fun(err: string, data: string), on_exit?: fun(out: vim.SystemCompleted)}
--- @return {success: boolean, data?: table, error?: string }|{success: boolean, job: vim.SystemObj}
function M.delete_message(input, callbacks)
	return common.execute_aws_command_skeleton({ "sqs", "delete-message" }, input, callbacks)
end

--- AWS sqs delete-message-batch operation
--- @param input nil|table the input table
--- @param callbacks nil|{stdout?: fun(err: string, data: string), stderr?: fun(err: string, data: string), on_exit?: fun(out: vim.SystemCompleted)}
--- @return {success: boolean, data?: table, error?: string }|{success: boolean, job: vim.SystemObj}
function M.delete_message_batch(input, callbacks)
	return common.execute_aws_command_skeleton({ "sqs", "delete-message-batch" }, input, callbacks)
end

--- AWS sqs delete-queue operation
--- @param input nil|table the input table
--- @param callbacks nil|{stdout?: fun(err: string, data: string), stderr?: fun(err: string, data: string), on_exit?: fun(out: vim.SystemCompleted)}
--- @return {success: boolean, data?: table, error?: string }|{success: boolean, job: vim.SystemObj}
function M.delete_queue(input, callbacks)
	return common.execute_aws_command_skeleton({ "sqs", "delete-queue" }, input, callbacks)
end

--- AWS sqs get-queue-attributes operation
--- @param input nil|table the input table
--- @param callbacks nil|{stdout?: fun(err: string, data: string), stderr?: fun(err: string, data: string), on_exit?: fun(out: vim.SystemCompleted)}
--- @return {success: boolean, data?: table, error?: string }|{success: boolean, job: vim.SystemObj}
function M.get_queue_attributes(input, callbacks)
	return common.execute_aws_command_skeleton({ "sqs", "get-queue-attributes" }, input, callbacks)
end

--- AWS sqs get-queue-url operation
--- @param input nil|table the input table
--- @param callbacks nil|{stdout?: fun(err: string, data: string), stderr?: fun(err: string, data: string), on_exit?: fun(out: vim.SystemCompleted)}
--- @return {success: boolean, data?: table, error?: string }|{success: boolean, job: vim.SystemObj}
function M.get_queue_url(input, callbacks)
	return common.execute_aws_command_skeleton({ "sqs", "get-queue-url" }, input, callbacks)
end

--- AWS sqs list-dead-letter-source-queues operation
--- @param input nil|table the input table
--- @param callbacks nil|{stdout?: fun(err: string, data: string), stderr?: fun(err: string, data: string), on_exit?: fun(out: vim.SystemCompleted)}
--- @return {success: boolean, data?: table, error?: string }|{success: boolean, job: vim.SystemObj}
function M.list_dead_letter_source_queues(input, callbacks)
	return common.execute_aws_command_skeleton({ "sqs", "list-dead-letter-source-queues" }, input, callbacks)
end

--- AWS sqs list-message-move-tasks operation
--- @param input nil|table the input table
--- @param callbacks nil|{stdout?: fun(err: string, data: string), stderr?: fun(err: string, data: string), on_exit?: fun(out: vim.SystemCompleted)}
--- @return {success: boolean, data?: table, error?: string }|{success: boolean, job: vim.SystemObj}
function M.list_message_move_tasks(input, callbacks)
	return common.execute_aws_command_skeleton({ "sqs", "list-message-move-tasks" }, input, callbacks)
end

--- AWS sqs list-queue-tags operation
--- @param input nil|table the input table
--- @param callbacks nil|{stdout?: fun(err: string, data: string), stderr?: fun(err: string, data: string), on_exit?: fun(out: vim.SystemCompleted)}
--- @return {success: boolean, data?: table, error?: string }|{success: boolean, job: vim.SystemObj}
function M.list_queue_tags(input, callbacks)
	return common.execute_aws_command_skeleton({ "sqs", "list-queue-tags" }, input, callbacks)
end

--- AWS sqs list-queues operation
--- @param input nil|table the input table
--- @param callbacks nil|{stdout?: fun(err: string, data: string), stderr?: fun(err: string, data: string), on_exit?: fun(out: vim.SystemCompleted)}
--- @return {success: boolean, data?: table, error?: string }|{success: boolean, job: vim.SystemObj}
function M.list_queues(input, callbacks)
	return common.execute_aws_command_skeleton({ "sqs", "list-queues" }, input, callbacks)
end

--- AWS sqs purge-queue operation
--- @param input nil|table the input table
--- @param callbacks nil|{stdout?: fun(err: string, data: string), stderr?: fun(err: string, data: string), on_exit?: fun(out: vim.SystemCompleted)}
--- @return {success: boolean, data?: table, error?: string }|{success: boolean, job: vim.SystemObj}
function M.purge_queue(input, callbacks)
	return common.execute_aws_command_skeleton({ "sqs", "purge-queue" }, input, callbacks)
end

--- AWS sqs receive-message operation
--- @param input nil|table the input table
--- @param callbacks nil|{stdout?: fun(err: string, data: string), stderr?: fun(err: string, data: string), on_exit?: fun(out: vim.SystemCompleted)}
--- @return {success: boolean, data?: table, error?: string }|{success: boolean, job: vim.SystemObj}
function M.receive_message(input, callbacks)
	return common.execute_aws_command_skeleton({ "sqs", "receive-message" }, input, callbacks)
end

--- AWS sqs remove-permission operation
--- @param input nil|table the input table
--- @param callbacks nil|{stdout?: fun(err: string, data: string), stderr?: fun(err: string, data: string), on_exit?: fun(out: vim.SystemCompleted)}
--- @return {success: boolean, data?: table, error?: string }|{success: boolean, job: vim.SystemObj}
function M.remove_permission(input, callbacks)
	return common.execute_aws_command_skeleton({ "sqs", "remove-permission" }, input, callbacks)
end

--- AWS sqs send-message operation
--- @param input nil|table the input table
--- @param callbacks nil|{stdout?: fun(err: string, data: string), stderr?: fun(err: string, data: string), on_exit?: fun(out: vim.SystemCompleted)}
--- @return {success: boolean, data?: table, error?: string }|{success: boolean, job: vim.SystemObj}
function M.send_message(input, callbacks)
	return common.execute_aws_command_skeleton({ "sqs", "send-message" }, input, callbacks)
end

--- AWS sqs send-message-batch operation
--- @param input nil|table the input table
--- @param callbacks nil|{stdout?: fun(err: string, data: string), stderr?: fun(err: string, data: string), on_exit?: fun(out: vim.SystemCompleted)}
--- @return {success: boolean, data?: table, error?: string }|{success: boolean, job: vim.SystemObj}
function M.send_message_batch(input, callbacks)
	return common.execute_aws_command_skeleton({ "sqs", "send-message-batch" }, input, callbacks)
end

--- AWS sqs set-queue-attributes operation
--- @param input nil|table the input table
--- @param callbacks nil|{stdout?: fun(err: string, data: string), stderr?: fun(err: string, data: string), on_exit?: fun(out: vim.SystemCompleted)}
--- @return {success: boolean, data?: table, error?: string }|{success: boolean, job: vim.SystemObj}
function M.set_queue_attributes(input, callbacks)
	return common.execute_aws_command_skeleton({ "sqs", "set-queue-attributes" }, input, callbacks)
end

--- AWS sqs start-message-move-task operation
--- @param input nil|table the input table
--- @param callbacks nil|{stdout?: fun(err: string, data: string), stderr?: fun(err: string, data: string), on_exit?: fun(out: vim.SystemCompleted)}
--- @return {success: boolean, data?: table, error?: string }|{success: boolean, job: vim.SystemObj}
function M.start_message_move_task(input, callbacks)
	return common.execute_aws_command_skeleton({ "sqs", "start-message-move-task" }, input, callbacks)
end

--- AWS sqs tag-queue operation
--- @param input nil|table the input table
--- @param callbacks nil|{stdout?: fun(err: string, data: string), stderr?: fun(err: string, data: string), on_exit?: fun(out: vim.SystemCompleted)}
--- @return {success: boolean, data?: table, error?: string }|{success: boolean, job: vim.SystemObj}
function M.tag_queue(input, callbacks)
	return common.execute_aws_command_skeleton({ "sqs", "tag-queue" }, input, callbacks)
end

--- AWS sqs untag-queue operation
--- @param input nil|table the input table
--- @param callbacks nil|{stdout?: fun(err: string, data: string), stderr?: fun(err: string, data: string), on_exit?: fun(out: vim.SystemCompleted)}
--- @return {success: boolean, data?: table, error?: string }|{success: boolean, job: vim.SystemObj}
function M.untag_queue(input, callbacks)
	return common.execute_aws_command_skeleton({ "sqs", "untag-queue" }, input, callbacks)
end

return M
