AWSTOE コンポーネントドキュメントで比較演算子を使用する - EC2 Image Builder

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWSTOE コンポーネントドキュメントで比較演算子を使用する

アクションアサートモジュールおよび を使用する条件式では、次の比較演算子を使用できますコンストラクトの場合。比較演算子は、 などの単一の値で操作することもstringIsEmpty、ベースライン値を 2 番目の値 (可変値) と比較して、条件式が trueまたは のどちらに評価されるかを判断できますfalse

比較が 2 つの値で動作する場合、2 番目の値は連鎖変数にすることができます。

別のタイプの値を比較する場合、比較の前に次の値変換を実行できます。

  • 数値比較では、変数値が文字列の場合、 は文字列を評価前の数値 AWSTOE に変換します。変換が不可能な場合、比較は を返しますfalse。例えば、変数値が の場合"1.0"、変換は機能しますが、変数値が の場合、変換は失敗"a10"します。

  • 文字列比較では、変数値が数値の場合、 は評価の前に文字列 AWSTOE に変換します。

文字列の比較

次の比較演算子は、文字列を使用して値を比較したり、スペースや空の文字列をテストしたり、入力値を正規表現パターンと比較したりします。文字列比較では、大文字と小文字が区別されず、文字列入力の先頭または末尾からスペースがトリミングされません。

stringIsEmpty

指定された文字列に文字が含まれtrueていない場合、stringIsEmpty演算子は を返します。例:

# 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'
stringLessThan等しい

に指定された文字列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'
stringGreaterThan等しい

に指定された文字列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 ルールの詳細については、「」の「google / re2 リポジトリ」を参照してくださいGitHub

次の例は、 を返すパターン一致を示していますtrue

patternMatches: '^[a-z]+$' value: 'ThisIsValue'

数値の比較

次の比較演算子は数値を使用します。これらの演算子に提供される値は、YAML仕様に従って、次のいずれかのタイプである必要があります。数値比較のサポートでは、golang big package comparison 演算子を使用します。例: func (*Float) Cmp

  • 整数

  • Float (-1.7e+308 から +1.7e+308 までの数値をサポートする float64 に基づく)

  • 次の正規表現パターンに一致する文字列。 ^[-+]?([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

に指定された数値numberLessThanvalueパラメータに指定された数値よりも小さいかどうかをテストします。例:

# Evaluates to true numberLessThan: 2 value: 1 # Evaluates to true numberLessThan: 2 value: 1.9 # Evaluates to false numberLessThan: 2 value: '2'
numberLessThan等しい

に指定された数が 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'
numberGreaterThan等しい

に指定された数値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 コマンドと同じように機能します: type foo >/dev/null 2>&1。 は、比較が成功した$? == 0ことを示します。

Windows システムの場合、 という名前のアプリケーションの場合 fooの場合、これは、 & C:\Windows\System32\where.exe /Q fooが比較に成功$LASTEXITCODE = 0したことを示す PowerShell コマンドと同じように機能します。

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'

ファイルMD5Equals

ファイルのMD5ハッシュが指定された値と等しいかどうかをテストします。例:

fileMD5Equals: '<MD5Hash>' path: '/path/to/file'
ファイルSHA1Equals

ファイルのSHA1ハッシュが指定された値と等しいかどうかをテストします。例:

fileSHA1Equals: '<SHA1Hash>' path: '/path/to/file'
ファイルSHA256Equals

ファイルのSHA256ハッシュが指定された値と等しいかどうかをテストします。例:

fileSHA256Equals: '<SHA256Hash>' path: '/path/to/file'
ファイルSHA512Equals

ファイルのSHA512ハッシュが指定された値と等しいかどうかをテストします。例:

fileSHA512Equals: '<SHA512Hash>' path: '/path/to/file'