翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWSTOE コンポーネントドキュメントでの比較演算子の使用
Assert アクションモジュールや if 構造 を使用する条件式では、以下の比較演算子を使用できます。比較演算子には、stringIsEmpty など、単一の値に対して動作するものもあれば、ベースライン値を 2 番目の値 (変数値) と比較して、条件式が true と false のどちらに評価されるかを判定するものもあります。
比較が 2 つの値で動作する場合、2 番目の値は連鎖変数にすることができます。
異なるタイプの値を比較すると、次の値変換が比較前に発生する可能性があります。
-
数値比較の場合、変数値が文字列の場合、 は文字列を評価前の数値 AWSTOE に変換します。変換が不可能な場合、比較は
falseを返します。例えば、変数値が"1.0"の場合は変換が機能しますが、変数値が"a10"の場合は変換に失敗します。 -
文字列比較の場合、変数値が数値の場合、 は評価の前に文字列 AWSTOE に変換します。
文字列の比較
以下の比較演算子は文字列を対象として、値の比較、スペースや空の文字列かどうかのテスト、入力値と正規表現パターンの比較を行います。文字列比較では、大文字と小文字は区別されず、入力文字列の先頭または末尾のスペースはトリミングされません。
文字列比較演算子
- stringIsEmpty
-
stringIsEmpty演算子は、指定された文字列に文字が含まれていない場合にtrueを返します。例:# Evaluates to true stringIsEmpty: "" # Evaluates to false stringIsEmpty: " " # Evaluates to false stringIsEmpty: "Hello." - stringIsWhitespace
-
stringIsWhitespaceに指定された文字列にスペースのみが含まれているかどうかをテストします。例:# Evaluates to true stringIsWhitespace: " " # Evaluates to false stringIsWhitespace: "" # Evaluates to false stringIsWhitespace: " Hello?" - stringEquals
-
stringEqualsに指定された文字列が、valueパラメータに指定された文字列と完全に一致するかどうかをテストします。例:# Evaluates to true stringEquals: 'Testing, testing...' value: 'Testing, testing...' # Evaluates to false stringEquals: 'Testing, testing...' value: 'Hello again.' # Evaluates to false stringEquals: 'Testing, testing...' value: 'TESTING, TESTING....' # Evaluates to false stringEquals: 'Testing, testing...' value: ' Testing, testing...' # Evaluates to false stringEquals: 'Testing, testing...' value: 'Testing, testing... ' - stringLessThan
-
stringLessThanに指定された文字列が、valueパラメータに指定された文字列より小さいかどうかをテストします。例:# Evaluates to true # This comparison operator isn't case sensitive stringlessThan: 'A' value: 'a' # Evaluates to true - 'a' is less than 'b' stringlessThan: 'b' value: 'a' # Evaluates to true # Numeric strings compare as less than alphabetic strings stringlessThan: 'a' value: '0' # Evaluates to false stringlessThan: '0' value: 'a' - stringLessThanEquals
-
stringLessThanEqualsに指定された文字列が、valueパラメータに指定された文字列以下であるかどうかをテストします。例:# Evaluates to true - 'a' is equal to 'a' stringLessThanEquals: 'a' value: 'a' # Evaluates to true - since the comparison isn't case sensitive, 'a' is equal to 'A' stringLessThanEquals: 'A' value: 'a' # Evaluates to true - 'a' is less than 'b' stringLessThanEquals: 'b' value: 'a' # Evaluates to true - '0' is less than 'a' stringLessThanEquals: 'a' value: '0' # Evaluates to false - 'a' is greater than '0' stringLessThanEquals: '0' value: 'a' - stringGreaterThan
-
stringGreaterThanに指定された文字列が、valueパラメータに指定された文字列より大きいかどうかをテストします。例:# Evaluates to false - since the comparison isn't case sensitive, 'A' is equal to 'a' stringGreaterThan: 'a' value: 'A' # Evaluates to true - 'b' is greater than 'a' stringGreaterThan: 'a' value: 'b' # Evaluates to true - 'a' is greater than '0' stringGreaterThan: '0' value: 'a' # Evaluates to false - '0' is less than 'a' stringGreaterThan: 'a' value: '0' - stringGreaterThanEquals
-
stringGreaterThanEqualsに指定された文字列が、valueパラメータに指定された文字列以上であるかどうかをテストします。例:# Evaluates to true - 'a' is equal to 'A' stringGreaterThanEquals: 'A' value: 'a' # Evaluates to true - 'b' is greater than 'a' stringGreaterThanEquals: 'a' value: 'b' # Evaluates to true - 'a' is greater than '0' stringGreaterThanEquals: '0' value: 'a' # Evaluates to false - '0' is less than 'a' stringGreaterThanEquals: 'a' value: '0' - patternMatches
-
valueパラメータで指定された文字列が、patternMatchesで指定された正規表現パターンと一致するかどうかをテストします。比較には、RE2 構文に準拠する Golang regexp パッケージが使用されます。RE2 のルールの詳細については、GitHub の google / re2 リポジトリを参照してください。 次の例は、
trueを返すパターン一致を示しています。patternMatches: '^[a-z]+$' value: 'ThisIsValue'
数値の比較
以下の比較演算子は数値を対象として動作します。これらの演算子に指定する値は、YAML 仕様に従って、次のいずれかのタイプである必要があります。数値比較のサポートでは、golang の big パッケージの比較演算子 (func (*Float) Cmp
-
整数
-
浮動小数点数 (float64 に基づき、-1.7e+308~+1.7e+308 の数値をサポート)
-
正規表現パターン
^[-+]?([0-9]+[.])?[0-9]+$に一致する文字列。
- numberEquals
-
numberEqualsに指定された数値が、valueパラメータに指定された数値と等しいかどうかをテストします。次の比較の例はすべてtrueを返します。# Values provided as a positive number numberEquals: 1 value: 1 # Comparison value provided as a string numberEquals: '1' value: 1 # Value provided as a string numberEquals: 1 value: '1' # Values provided as floats numberEquals: 5.0 value: 5.0 # Values provided as a negative number numberEquals: -1 value: -1 - numberLessThan
-
numberLessThanに指定された数値が、valueパラメータに指定された数値より小さいかどうかをテストします。例:# Evaluates to true numberLessThan: 2 value: 1 # Evaluates to true numberLessThan: 2 value: 1.9 # Evaluates to false numberLessThan: 2 value: '2' - numberLessThanEquals
-
numberLessThanEqualsに指定された数値が、valueパラメータに指定された数値以下であるかどうかをテストします。例:# Evaluates to true numberLessThanEquals: 2 value: 1 # Evaluates to true numberLessThanEquals: 2 value: 1.9 # Evaluates to true numberLessThanEquals: 2 value: '2' # Evaluates to false numberLessThanEquals: 2 value: 2.1 - numberGreaterThan
-
numberGreaterThanに指定された数値が、valueパラメータに指定された数値より大きいかどうかをテストします。例:# Evaluates to true numberGreaterThan: 1 value: 2 # Evaluates to true numberGreaterThan: 1 value: 1.1 # Evaluates to false numberGreaterThan: 1 value: '1' - numberGreaterThanEquals
-
numberGreaterThanEqualsに指定された数値が、valueパラメータに指定された数値以上であるかどうかをテストします。例:# Evaluates to true numberGreaterThanEquals: 1 value: 2 # Evaluates to true numberGreaterThanEquals: 1 value: 1.1 # Evaluates to true numberGreaterThanEquals: 1 value: '1' # Evaluates to false numberGreaterThanEquals: 1 value: 0.8
ファイルのチェック
以下の比較演算子は、ファイルハッシュのチェックや、ファイルまたはフォルダが存在するかどうかの確認を行います。
ファイルとフォルダの演算子
- binaryExists
-
現在のパスでアプリケーションが利用可能かどうかをテストします。例:
binaryExists: 'foo'注記
Linux および macOS システムでは、アプリケーションの名前を
fooとした場合、これは bash コマンド typefoo>/dev/null 2>&1 と同じ動作になり、$? == 0 が比較の成功を示します。Windows システムでは、アプリケーションの名前を
fooとした場合、これは PowerShell コマンド & C:\Windows\System32\where.exe /Qfooと同じ動作になり、$LASTEXITCODE = 0 が比較の成功を示します。 - fileExists
-
指定されたパスにファイルが存在するかどうかをテストします。絶対パスまたは相対パスを指定できます。指定された場所が存在し、ファイルである場合、比較は
trueに評価されます。例:fileExists: '/path/to/file'注記
Linux および macOS システムでは、これは bash コマンド -d
/path/to/fileと同じ動作になり、$? == 0 が比較の成功を示します。Windows システムでは、これは PowerShell コマンド Test-Path -Path '
C:\path\to\file' -PathType 'Leaf' と同じ動作になります。 - folderExists
-
指定されたパスにフォルダが存在するかどうかをテストします。絶対パスまたは相対パスを指定できます。指定された場所が存在し、フォルダである場合、比較は
trueに評価されます。例:folderExists: '/path/to/folder'注記
Linux および macOS システムでは、これは bash コマンド -d
/path/to/folderと同じ動作になり、$? == 0 が比較の成功を示します。Windows システムでは、これは PowerShell コマンド Test-Path -Path '
C:\path\to\folder' -PathType 'Container' と同じ動作になります。 - fileMD5Equals
-
ファイルの MD5 ハッシュが指定された値に等しいかどうかをテストします。例:
fileMD5Equals: '<MD5Hash>' path: '/path/to/file' - fileSHA1Equals
-
ファイルの SHA1 ハッシュが指定された値に等しいかどうかをテストします。例:
fileSHA1Equals: '<SHA1Hash>' path: '/path/to/file' - fileSHA256Equals
-
ファイルの SHA256 ハッシュが指定された値に等しいかどうかをテストします。例:
fileSHA256Equals: '<SHA256Hash>' path: '/path/to/file' - fileSHA512Equals
-
ファイルの SHA512 ハッシュが指定された値に等しいかどうかをテストします。例:
fileSHA512Equals: '<SHA512Hash>' path: '/path/to/file'