AWSTOE 구성 요소 문서에서 비교 연산자 사용 - EC2 이미지 빌더

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWSTOE 구성 요소 문서에서 비교 연산자 사용

다음 비교 연산자를 어설트 작업 모듈 및 를 사용하는 조건식과 함께 사용할 수 있습니다구성인 경우. 비교 연산자는 예를 들어 와 같은 단일 값으로 작동stringIsEmpty하거나 기준 값을 두 번째 값(가변 값)과 비교하여 조건식이 true 또는 로 평가되는지 여부를 결정할 수 있습니다false.

두 값에 대해 비교가 작동하는 경우 두 번째 값은 체인 변수일 수 있습니다.

다른 유형의 값을 비교할 때 비교 전에 다음과 같은 값 변환이 발생할 수 있습니다.

  • 숫자 비교의 경우 변수 값이 문자열인 경우 는 평가 전에 문자열을 숫자로 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

에 지정된 문자열stringEqualsvalue 파라미터에 지정된 문자열과 정확히 일치하는지 테스트합니다. 예:

# 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

에 지정된 문자열stringLessThanvalue 파라미터에 지정된 문자열보다 작은지 테스트합니다. 예:

# 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같음

에 지정된 문자열stringLessThanEqualsvalue 파라미터에 지정된 문자열보다 작거나 같은지 테스트합니다. 예:

# 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

에 지정된 문자열stringGreaterThanvalue 파라미터에 지정된 문자열보다 큰지 테스트합니다. 예:

# 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같음

에 지정된 문자열stringGreaterThanEqualsvalue 파라미터에 지정된 문자열보다 크거나 같은지 테스트합니다. 예:

# 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. 비교는 구문을 준수하는 Golang regexp 패키지 RE2 에 를 사용합니다. RE2 규칙에 대한 자세한 내용은 의 Google / re2 리포지토리를 참조하세요GitHub.

다음 예제에서는 를 반환하는 패턴 일치를 보여줍니다true.

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

번호 비교

다음 비교 연산자는 숫자로 작동합니다. 이러한 연산자에 대해 제공된 값은 YAML 사양에 따라 다음 유형 중 하나여야 합니다. 숫자 비교 지원은 func(*Float) Cmp 와 같은 golang 빅 패키지 비교 연산자를 사용합니다.

  • Integer

  • Float(-1.7e+308~+1.7e+308의 숫자를 지원하는 float64 기반)

  • 다음 정규식 패턴과 일치하는 문자열입니다. ^[-+]?([0-9]+[.])?[0-9]+$

numberEquals

에 지정된 숫자numberEqualsvalue 파라미터에 지정된 숫자와 동일한지 테스트합니다. 다음 예제 비교 모두 를 반환합니다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같음

에 지정된 숫자numberLessThanEqualsvalue 파라미터에 지정된 숫자보다 작거나 같은지 테스트합니다. 예:

# 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

에 지정된 숫자numberGreaterThanvalue 파라미터에 지정된 숫자보다 큰지 테스트합니다. 예:

# Evaluates to true numberGreaterThan: 1 value: 2 # Evaluates to true numberGreaterThan: 1 value: 1.1 # Evaluates to false numberGreaterThan: 1 value: '1'
numberGreaterThan같음

에 지정된 숫자numberGreaterThanEqualsvalue 파라미터에 지정된 숫자보다 크거나 같은지 테스트합니다. 예:

# 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'