-module(aws@internal@os_process). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src/aws/internal/os_process.gleam"). -export([run/2]). -if(?OTP_RELEASE >= 27). -define(MODULEDOC(Str), -moduledoc(Str)). -define(DOC(Str), -doc(Str)). -else. -define(MODULEDOC(Str), -compile([])). -define(DOC(Str), -compile([])). -endif. ?MODULEDOC( " Run an external command and capture its stdout + exit status. Used by\n" " the credential-process provider; not a general-purpose subprocess\n" " library. Arguments are passed as an explicit list (no shell), so there\n" " is no shell-injection surface on the call side.\n" ). -file("src/aws/internal/os_process.gleam", 10). ?DOC( " Run `command` with the given argument list. Returns the exit code paired\n" " with the captured combined stdout + stderr on success, or `Error(Nil)` if\n" " the executable could not be located or launched.\n" ). -spec run(binary(), list(binary())) -> {ok, {integer(), bitstring()}} | {error, nil}. run(Command, Args) -> aws_ffi:run_process(Command, Args).