기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
프런트엔드 마법사를 사용하여 청사진 기능 수정
의 청사진 선택 마법사 CodeCatalyst 는 blueprint.ts
파일의 Options
인터페이스에서 자동으로 생성됩니다. 프런트엔드 마법사는 스타일 설명 및 태그 를 Options
사용하여 블루프린트의 수정 및 기능을 지원합니다. JSDOC Options
인터페이스의 TypeScript 유형에서 생성된 추상 구문 트리(AST)를 해석하여 작동합니다. 마법사는 가능한 한 가장 잘 설명된 유형으로 자동으로 구성합니다. 일부 유형은 지원되지 않습니다. 지원되는 다른 유형에는 리전 선택기와 환경 선택기가 포함됩니다.
다음은 블루프린트 에서 JSDOC 주석과 태그를 사용하는 마법사의 예입니다Options
.
export interface Options { /** * What do you want to call your new blueprint? * @validationRegex /^[a-zA-Z0-9_]+$/ * @validationMessage Must contain only upper and lowercase letters, numbers and underscores */ blueprintName: string; /** * Add a description for your new blueprint. */ description?: string; /** * Tags for your Blueprint: * @collapsed true */ tags?: string[]; }
Options
인터페이스의 각 옵션 표시 이름은 camelCase
기본적으로 에 표시됩니다. JSDOC 스타일 설명의 일반 텍스트는 마법사의 옵션 위에 텍스트로 표시됩니다.
지원되는 태그
다음 JSDOC 태그는 프런트 엔드 마법사의 사용자 지정 블루프린트Options
에서 지원됩니다.
@inlinePolicy ./path/to/policy/file.json
필수 - 를 유형으로 선택할 수 있습니다
Role
.사용량 - 역할에 필요한 인라인 정책을 전달할 수 있습니다.
policy.json
경로는 소스 코드 아래에 있을 것으로 예상됩니다. 역할에 대한 사용자 지정 정책이 필요한 경우 이 태그를 사용합니다.종속성 -
blueprint-cli 0.1.12
이상예 -
@inlinePolicy ./deployment-policy.json
environment: EnvironmentDefinition{ awsAccountConnection: AccountConnection{ /** * @inlinePolicy ./path/to/deployment-policy.json */ cdkRole: Role[]; }; };
@trustPolicy ./path/to/policy/file.json
필수 - 를 유형으로 선택할 수 있습니다
Role
.사용량 - 역할에 필요한 신뢰 정책을 전달할 수 있습니다.
policy.json
경로는 소스 코드 아래에 있을 것으로 예상됩니다. 역할에 대한 사용자 지정 정책이 필요한 경우 이 태그를 사용합니다.종속성 -
blueprint-cli 0.1.12
이상예 -
@trustPolicy ./trust-policy.json
environment: EnvironmentDefinition{ awsAccountConnection: AccountConnection{ /** * @trustPolicy ./path/to/trust-policy.json */ cdkRole: Role[]; }; };
@validationRegex Regex 표현식
필수 - 문자열이 되는 옵션입니다.
사용량 - 지정된 정규식 표현식을 사용하여 옵션에 대한 입력 검증을 수행하고 를 표시합니다
@validationMessage
.예 -
@validationRegex /^[a-zA-Z0-9_]+$/
권장 사항 - 와 함께 사용합니다
@validationMessage
. 검증 메시지는 기본적으로 비어 있습니다.
@validationMessage string
사용량을 검토하려면 또는
@validationRegex
기타 오류가 필요합니다.사용량 -
@validation*
실패 시 검증 메시지를 표시합니다.예 -
@validationMessage Must contain only upper and lowercase letters, numbers, and underscores
.권장 사항 - 와 함께 사용합니다
@validationMessage
. 검증 메시지는 기본적으로 비어 있습니다.
@축소된 부울(선택 사항)
필수 - 해당 없음
사용량 - 하위 옵션을 축소할 수 있도록 허용하는 부울입니다. 축소된 주석이 있는 경우 기본값은 true입니다. 값을 로 설정하면 처음에 열려 있는 축소 가능한 섹션이
@collapsed false
생성됩니다.예 -
@collapsed true
@displayName string
필수 - 해당 없음
사용량 - 옵션 표시 이름을 변경합니다. camelCase 표시 이름 이외의 형식을 허용합니다.
예 -
@displayName Blueprint Name
@displayName string
필수 - 해당 없음
사용량 - 옵션 표시 이름을 변경합니다. camelCase
표시 이름 이외의 형식을 허용합니다. 예 -
@displayName Blueprint Name
@defaultEntropy number
필수 - 문자열이 되는 옵션입니다.
사용량 - 지정된 길이의 무작위 배정된 영숫자 문자열을 옵션에 추가합니다.
예 -
@defaultEntropy 5
@placeholder 문자열(선택 사항)
필수 - 해당 없음
사용량 - 기본 텍스트 필드 자리 표시자를 변경합니다.
예 -
@placeholder type project name here
@textArea number(선택 사항)
필수 - 해당 없음
사용량 - 문자열 입력을 더 큰 텍스트 섹션의 텍스트 영역 구성 요소로 변환합니다. 숫자를 추가하면 행 수가 정의됩니다. 기본값은 5개 행입니다.
예 -
@textArea 10
@hidden 부울(선택 사항)
필수 - 해당 없음
사용량 - 검증 확인에 실패하지 않는 한 사용자로부터 파일을 숨깁니다. 기본값은 true입니다.
예 -
@hidden
@button 부울(선택 사항)
필수 - 해당 없음
사용량 - 주석은 부울 속성에 있어야 합니다. 선택하면 true로 합성되는 버튼을 추가합니다. 토글이 아닙니다.
예 -
buttonExample: boolean;
/** * @button */ buttonExample: boolean;
@showName boolean(선택 사항)
필수 - 해당 없음
사용량 - 계정 연결 유형에서만 사용할 수 있습니다. 숨겨진 이름 입력을 표시합니다. 기본값은
default_environment
입니다.예 -
@showName true
/** * @showName true */ accountConnection: AccountConnection<{ ... }>;
@showEnvironmentType boolean(선택 사항)
필수 - 해당 없음
사용량 - 계정 연결 유형에서만 사용할 수 있습니다. 숨겨진 환경 유형 드롭다운 메뉴를 표시합니다. 모든 연결은 기본적으로 입니다
production
. 옵션은 비프로덕션 또는 프로덕션 입니다.예 -
@showEnvironmentType true
/** * @showEnvironmentType true */ accountConnection: AccountConnection<{ ... }>;
@forceDefault boolean(선택 사항)
필수 - 해당 없음
사용량 - 이전에 사용자가 사용한 값 대신 청사진 작성자가 제공한 기본값을 사용합니다.
예 -
forceDeafultExample: any;
/** * @forceDefault */ forceDeafultExample: any;
@필수 blueprintName
필수 -
Options
인터페이스에 주석을 지정합니다.사용량 - 현재 청사진의 요구 사항으로
blueprintName
프로젝트에 지정된 를 추가하도록 사용자에게 경고합니다.예 -
@requires '@amazon-codecatalyst/blueprints.blueprint-builder'
/* * @requires '@amazon-codecatalyst/blueprints.blueprint-builder' */ export interface Options extends ParentOptions { ...
@filter 정규식
필수 -
Selector
또는MultiSelect
인터페이스에 주석을 지정합니다.사용량 - 마법사의 드롭다운을 지정된 정규식과 일치하는 옵션으로 필터링합니다.
예 -
@filter /blueprintPackageName/
/** * @filter /myPackageName/ */ blueprintInstantiation?: Selector<BlueprintInstantiation>; ...
지원되는 TypeScript 유형
다음 TypeScript 유형은 프런트 엔드 마법사의 사용자 지정 청사진Options
에서 지원됩니다.
숫자
필수 - 를 유형으로 선택할 수 있습니다
number
.사용량 - 숫자 입력 필드를 생성합니다.
예 -
age: number
{ age: number ... }
String
필수 - 를 유형으로 선택할 수 있습니다
string
.사용량 - 문자열 입력 필드를 생성합니다.
예 -
name: string
{ age: string ... }
문자열 목록
필수 - 유형의 배열인 옵션입니다
string
.사용량 - 문자열 목록 입력을 생성합니다.
예 -
isProduction: boolean
{ isProduction: boolean ... }
Checkbox
필수 - 가 되는 옵션입니다
boolean
.사용량 - 확인란을 생성합니다.
예 -
isProduction: boolean
{ isProduction: boolean ... }
라디오
필수 - 3개 이하의 문자열을 결합할 수 있는 옵션입니다.
사용량 - 선택한 라디오를 생성합니다.
참고
4개 이상의 항목이 있는 경우 이 유형은 드롭다운으로 렌더링됩니다.
예 -
color: 'red' | 'blue' | 'green'
{ color: 'red' | 'blue' | 'green' ... }
Dropdown
필수 - 4개 이상의 문자열을 조합하는 옵션입니다.
사용량 - 드롭다운을 생성합니다.
예 -
runtimes: 'nodejs' | 'python' | 'java' | 'dotnetcore' | 'ruby'
{ runtimes: 'nodejs' | 'python' | 'java' | 'dotnetcore' | 'ruby' ... }
확장 가능한 섹션
필수 - 객체가 되는 옵션입니다.
사용량 - 확장 가능한 섹션을 생성합니다. 객체의 옵션은 마법사의 확장 가능한 섹션 내에 중첩됩니다.
예 -
{ expandableSectionTitle: { nestedString: string; nestedNumber: number; } }
튜플
필수 - 유형 의 옵션입니다
Tuple
.사용량 - 키 값 유료 입력을 생성합니다.
예 -
tuple: Tuple[string, string]>
{ tuple: Tuple[string, string]>; ... }
Tuple 목록
필수 - 유형의 배열이 되는 옵션입니다
Tuple
.사용량 - 튜플 목록 입력을 생성합니다.
예 -
tupleList: Tuple[string, string]>[]
{ tupleList: Tuple[string, string]>[]; ... }
Selector
필수 - 유형 의 옵션입니다
Selector
.사용량 - 프로젝트에 적용된 소스 리포지토리 또는 청사진의 드롭다운을 생성합니다.
예 -
sourceRepo: Selector<SourceRepository>
{ sourceRepo: Selector<SourceRepository>; sourceRepoOrAdd: Selector<SourceRepository | string>; blueprintInstantiation: Selector<BlueprintInstantiation>; ... }
다중 선택
필수 - 유형 의 옵션입니다
Selector
.사용량 - 다중 선택 입력을 생성합니다.
예 -
multiselect: MultiSelect['A' | 'B' | 'C' | 'D' | 'E']>
{ multiselect: MultiSelect['A' | 'B' | 'C' | 'D' | 'E']>; ... }
합성 중 사용자와 통신
블루프린트 작성자는 검증 메시지 외에 사용자에게 다시 통신할 수 있습니다. 예를 들어 스페이스 멤버는 명확하지 않은 청사진을 생성하는 옵션의 조합을 볼 수 있습니다. 사용자 지정 청사진은 합성을 호출하여 오류 메시지를 사용자에게 다시 전달하는 기능을 지원합니다. 기본 청사진은 명확한 오류 메시지를 기대하는 throwSynthesisError(...)
함수를 구현합니다. 다음을 사용하여 메시지를 호출할 수 있습니다.
//blueprint.ts this.throwSynthesisError({ name: BlueprintSynthesisErrorTypes.BlueprintSynthesisError, message: 'hello from the blueprint! This is a custom error communicated to the user.' })