다음을 통해 공유


CycleCloud 클러스터 템플릿 파일 구문 분석

CycleCloud는 매개 변수 값을 resolve 함수의 논리적 평가를 수행할 수 있습니다.

매개 변수 형식

CycleCloud는 몇 가지 기본 형식의 매개 변수를 처리합니다. 대부분의 경우 예상대로 처리합니다.

Attribute = foo      # string
Attribute = 1        # integer
Attribute = 1.1      # double
Attribute = false    # boolean
Attribute = foo, bar # string[]

보다 명시적이려면 문자열 값을 큰따옴표로 묶을 수 있습니다(예: Attribute = "foo"). 값이 숫자처럼 보이지만 문자열(예: 버전 번호)로 해석되어야 하는 경우에 유용할 수 있습니다. 부울 값은 bare 토큰 true 또는 false (대/소문자를 구분하지 않음)로 설정할 수 있습니다. 쉼표로 구분된 값은 목록으로 해석되고 요소는 위와 동일한 규칙을 사용하여 해석됩니다.

매개 변수 값 평가

CycleCloud는 또는 ${} 표기법을 사용하는 $ 매개 변수 값을 직접 해석합니다.

MyAttribute = $MyParameter
MyAttribute2 = ${MyParameter2}
MyAttributeList = $Param1, $Param2

매개 변수를 사용하는 함수

CycleCloud 템플릿 파서는 아래와 같이 수학을 수행하고 삼항 논리 분석을 수행할 수 있습니다.

MaxCoreCount = ${HyperthreadedCoreCount/2}
SubnetId = ${ifThenElse($Autoscale, $BurstSubnet, $FixedSubnet)}
JetpackPlatform = ${imageselect == "windows" ? "windows" : "centos-7"}

사용 가능한 함수:

참고

이 목록은 포괄적이지는 않지만 가장 일반적으로 사용되는 함수 중 일부를 다룹니다.

ifThenElse

삼항 연산자 역할을 수행합니다. true 또는 false로 계산되는 식이 지정된 경우 두 값 중 하나를 반환합니다.

구문

ifThenElse(predicate, trueValue, falseValue)

인수:

이름 필수 Description
predicate true 또는 false로 계산되는 식입니다.
trueValue true로 계산할 때 predicate 사용할 값입니다.
falseValue false로 계산할 때 predicate 사용할 값입니다.

ifUndefined

지정된 식을 계산한 결과가 정의되지 않은 경우 대신 다른 값을 반환합니다. 그렇지 않으면 단순히 결과를 반환합니다.

구문

ifUndefined(expression, value)

인수:

이름 필수 Description
계산할 식입니다.
정의되지 않은 값으로 계산할 때 expression 반환할 값입니다.

Regexp

지정된 문자열에서 정규식 일치를 수행하고 일치하는 항목이 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

구문

regexp(pattern, target, [options])

인수:

이름 필수 Description
pattern Java 스타일 정규식입니다.
대상 입력 문자열입니다.
옵션 아니요 정규식을 평가할 때 사용할 옵션입니다. 자세한 내용은 Java의 정규식 플래그 켜 java.util.regex.Pattern 기를 참조하세요.

regexps

지정된 문자열에서 정규식 대체를 수행하고 새 문자열을 반환합니다.

구문

regexps(pattern, target, substitution, [options])

인수:

이름 필수 Description
pattern 대체할 문자열과 일치하는 Java 스타일 정규식입니다.
대상 입력 문자열입니다.
substitution 정규식과 일치하는 부분 target 대신 대체할 새 문자열입니다.
옵션 아니요 정규식을 평가할 때 사용할 옵션입니다. 자세한 내용은 Java의 정규식 플래그 켜 java.util.regex.Pattern 기를 참조하세요.

크기

지정된 문자열의 길이를 반환합니다.

구문

size(string)

인수:

이름 필수 Description
문자열 확인할 문자열입니다.

strjoin

구분 기호를 사용하여 여러 문자열을 함께 연결합니다.

구문

strjoin(separator, strings)

인수:

이름 필수 Description
구분 기호 문자열 사이에 추가할 문자열 구분 기호입니다.
문자열 연결할 문자열 목록입니다. 함수 인수의 가변 수로 지정할 수도 있습니다. strjoin(separator, string1, string2, string3...)

substr

시작 인덱스에서 끝 인덱스로 문자열의 일부를 반환합니다(또는 끝 인덱스가 지정되지 않은 경우 문자열의 끝).

구문

substr(string, startIndex, [endIndex])

인수:

이름 필수 Description
문자열 입력 문자열입니다.
startIndex 사용할 시작 인덱스입니다.
endIndex 아니요 선택적 끝 인덱스입니다.

trim

문자열의 시작과 끝에서 모든 공백 문자를 제거하고 결과를 반환합니다.

구문

trim(string)

인수:

이름 필수 Description
문자열 잘라낼 문자열입니다.

사용 가능한 연산자

연산자 정의
-, +, /, * 산술
<, <=, >=, > 비교
==, != 같음 평가자
&&, || 복합 부울 연산자

특수 ClusterName 변수

항상 제공되는 변수는 입니다 ${ClusterName}. 이는 CycleCloud 클러스터의 이름으로 평가됩니다.

EmailAddress = ${strcat("myuser", "@", ClusterName)}
ResourceId = ${ClusterName}-00-resource

상대 시간

CycleCloud는 시간 전후의 백틱을 상대 시간으로 해석합니다. 은(는) 초, 분 및 일을 지원합니다.

ThrottleCapacityTime=`10m` 
Attribute1=`30s`
Attribute2=`7d`