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

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

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

--- AWS cloudwatch delete-alarms 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_alarms(input, callbacks)
	return common.execute_aws_command_skeleton({ "cloudwatch", "delete-alarms" }, input, callbacks)
end

--- AWS cloudwatch delete-anomaly-detector 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_anomaly_detector(input, callbacks)
	return common.execute_aws_command_skeleton({ "cloudwatch", "delete-anomaly-detector" }, input, callbacks)
end

--- AWS cloudwatch delete-dashboards 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_dashboards(input, callbacks)
	return common.execute_aws_command_skeleton({ "cloudwatch", "delete-dashboards" }, input, callbacks)
end

--- AWS cloudwatch delete-insight-rules 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_insight_rules(input, callbacks)
	return common.execute_aws_command_skeleton({ "cloudwatch", "delete-insight-rules" }, input, callbacks)
end

--- AWS cloudwatch delete-metric-stream 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_metric_stream(input, callbacks)
	return common.execute_aws_command_skeleton({ "cloudwatch", "delete-metric-stream" }, input, callbacks)
end

--- AWS cloudwatch describe-alarm-history 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.describe_alarm_history(input, callbacks)
	return common.execute_aws_command_skeleton({ "cloudwatch", "describe-alarm-history" }, input, callbacks)
end

--- AWS cloudwatch describe-alarms 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.describe_alarms(input, callbacks)
	return common.execute_aws_command_skeleton({ "cloudwatch", "describe-alarms" }, input, callbacks)
end

--- AWS cloudwatch describe-alarms-for-metric 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.describe_alarms_for_metric(input, callbacks)
	return common.execute_aws_command_skeleton({ "cloudwatch", "describe-alarms-for-metric" }, input, callbacks)
end

--- AWS cloudwatch describe-anomaly-detectors 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.describe_anomaly_detectors(input, callbacks)
	return common.execute_aws_command_skeleton({ "cloudwatch", "describe-anomaly-detectors" }, input, callbacks)
end

--- AWS cloudwatch describe-insight-rules 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.describe_insight_rules(input, callbacks)
	return common.execute_aws_command_skeleton({ "cloudwatch", "describe-insight-rules" }, input, callbacks)
end

--- AWS cloudwatch disable-alarm-actions 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.disable_alarm_actions(input, callbacks)
	return common.execute_aws_command_skeleton({ "cloudwatch", "disable-alarm-actions" }, input, callbacks)
end

--- AWS cloudwatch disable-insight-rules 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.disable_insight_rules(input, callbacks)
	return common.execute_aws_command_skeleton({ "cloudwatch", "disable-insight-rules" }, input, callbacks)
end

--- AWS cloudwatch enable-alarm-actions 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.enable_alarm_actions(input, callbacks)
	return common.execute_aws_command_skeleton({ "cloudwatch", "enable-alarm-actions" }, input, callbacks)
end

--- AWS cloudwatch enable-insight-rules 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.enable_insight_rules(input, callbacks)
	return common.execute_aws_command_skeleton({ "cloudwatch", "enable-insight-rules" }, input, callbacks)
end

--- AWS cloudwatch get-dashboard 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_dashboard(input, callbacks)
	return common.execute_aws_command_skeleton({ "cloudwatch", "get-dashboard" }, input, callbacks)
end

--- AWS cloudwatch get-insight-rule-report 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_insight_rule_report(input, callbacks)
	return common.execute_aws_command_skeleton({ "cloudwatch", "get-insight-rule-report" }, input, callbacks)
end

--- AWS cloudwatch get-metric-data 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_metric_data(input, callbacks)
	return common.execute_aws_command_skeleton({ "cloudwatch", "get-metric-data" }, input, callbacks)
end

--- AWS cloudwatch get-metric-statistics 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_metric_statistics(input, callbacks)
	return common.execute_aws_command_skeleton({ "cloudwatch", "get-metric-statistics" }, input, callbacks)
end

--- AWS cloudwatch get-metric-stream 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_metric_stream(input, callbacks)
	return common.execute_aws_command_skeleton({ "cloudwatch", "get-metric-stream" }, input, callbacks)
end

--- AWS cloudwatch get-metric-widget-image 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_metric_widget_image(input, callbacks)
	return common.execute_aws_command_skeleton({ "cloudwatch", "get-metric-widget-image" }, input, callbacks)
end

--- AWS cloudwatch list-dashboards 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_dashboards(input, callbacks)
	return common.execute_aws_command_skeleton({ "cloudwatch", "list-dashboards" }, input, callbacks)
end

--- AWS cloudwatch list-managed-insight-rules 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_managed_insight_rules(input, callbacks)
	return common.execute_aws_command_skeleton({ "cloudwatch", "list-managed-insight-rules" }, input, callbacks)
end

--- AWS cloudwatch list-metric-streams 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_metric_streams(input, callbacks)
	return common.execute_aws_command_skeleton({ "cloudwatch", "list-metric-streams" }, input, callbacks)
end

--- AWS cloudwatch list-metrics 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_metrics(input, callbacks)
	return common.execute_aws_command_skeleton({ "cloudwatch", "list-metrics" }, input, callbacks)
end

--- AWS cloudwatch list-tags-for-resource 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_tags_for_resource(input, callbacks)
	return common.execute_aws_command_skeleton({ "cloudwatch", "list-tags-for-resource" }, input, callbacks)
end

--- AWS cloudwatch put-anomaly-detector 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.put_anomaly_detector(input, callbacks)
	return common.execute_aws_command_skeleton({ "cloudwatch", "put-anomaly-detector" }, input, callbacks)
end

--- AWS cloudwatch put-composite-alarm 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.put_composite_alarm(input, callbacks)
	return common.execute_aws_command_skeleton({ "cloudwatch", "put-composite-alarm" }, input, callbacks)
end

--- AWS cloudwatch put-dashboard 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.put_dashboard(input, callbacks)
	return common.execute_aws_command_skeleton({ "cloudwatch", "put-dashboard" }, input, callbacks)
end

--- AWS cloudwatch put-insight-rule 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.put_insight_rule(input, callbacks)
	return common.execute_aws_command_skeleton({ "cloudwatch", "put-insight-rule" }, input, callbacks)
end

--- AWS cloudwatch put-managed-insight-rules 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.put_managed_insight_rules(input, callbacks)
	return common.execute_aws_command_skeleton({ "cloudwatch", "put-managed-insight-rules" }, input, callbacks)
end

--- AWS cloudwatch put-metric-alarm 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.put_metric_alarm(input, callbacks)
	return common.execute_aws_command_skeleton({ "cloudwatch", "put-metric-alarm" }, input, callbacks)
end

--- AWS cloudwatch put-metric-data 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.put_metric_data(input, callbacks)
	return common.execute_aws_command_skeleton({ "cloudwatch", "put-metric-data" }, input, callbacks)
end

--- AWS cloudwatch put-metric-stream 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.put_metric_stream(input, callbacks)
	return common.execute_aws_command_skeleton({ "cloudwatch", "put-metric-stream" }, input, callbacks)
end

--- AWS cloudwatch set-alarm-state 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_alarm_state(input, callbacks)
	return common.execute_aws_command_skeleton({ "cloudwatch", "set-alarm-state" }, input, callbacks)
end

--- AWS cloudwatch start-metric-streams 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_metric_streams(input, callbacks)
	return common.execute_aws_command_skeleton({ "cloudwatch", "start-metric-streams" }, input, callbacks)
end

--- AWS cloudwatch stop-metric-streams 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.stop_metric_streams(input, callbacks)
	return common.execute_aws_command_skeleton({ "cloudwatch", "stop-metric-streams" }, input, callbacks)
end

--- AWS cloudwatch tag-resource 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_resource(input, callbacks)
	return common.execute_aws_command_skeleton({ "cloudwatch", "tag-resource" }, input, callbacks)
end

--- AWS cloudwatch untag-resource 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_resource(input, callbacks)
	return common.execute_aws_command_skeleton({ "cloudwatch", "untag-resource" }, input, callbacks)
end

--- AWS cloudwatch wait 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.wait(input, callbacks)
	return common.execute_aws_command({ "cloudwatch", "wait" }, input, callbacks)
end

return M
