からの出力ec2-start-instances
は you のみを返しstopped pending
、あなたが言うようec2-describe-instances
に、状態を取得するために使用する必要があります。
そのためには、いくつかの選択肢があります。ループを使用して をチェックし、またはinstance-state-name
の結果を探すことができます。あるいは、またはフィールドのいずれかを見ることができます。残念ながら、失敗を示す値を取得するには、心配している失敗をトリガーする必要があります。 running
stopped
reason
state-reason-code
起動が成功するまで待機するために使用するバッチ ファイル (アンダースコアを入力):
@echo off
set EC2_HOME=C:\tools\ec2-api-tools
set EC2_PRIVATE_KEY=C:\_\pk-_.pem
set EC2_CERT=C:\_\cert-_.pem
set JAVA_HOME=C:\Program Files (x86)\Java\jre6
%EC2_HOME%\bin\ec2-start-instances i-_
:docheck
%EC2_HOME%\bin\ec2-describe-instances | C:\tools\gnuwin32\bin\grep.exe -c stopped > %EC2_HOME%\temp.txt
findstr /m "1" %EC2_HOME%\temp.txt > nul
if %errorlevel%==0 (c:\tools\gnuwin32\bin\echo -n "."
goto docheck)
del temp.txt