이 페이지는 공개 계약에서 생성하며 설명은 원문(한국어) 그대로 표시합니다.
stly key-patterns create#
Key Pattern 생성
- HTTP 요청:
POST /api/databases/{database_id}/key-patterns - 인증 모드: Agent 토큰, User 세션
- 기록 변경: 예
- 입력 JSON(
--input) 필수
입력 JSON 구조는 stly schema key-patterns create로 확인합니다.
옵션
| 이름 | 타입 | 필수 | 설명 |
|---|---|---|---|
--database | string | 예 | 부모 Database ID |
--input | string | 예 | JSON 원문 파일 또는 stdin(-) |
--fields | string | 아니요 | 응답 최상위 필드, 쉼표로 구분 값: created_at, database_id, definition, description, external_references, id, summary, template, updated_at |
공통 옵션: --server, --env-file, --timeout, --auth-mode, --dry-run
예시
stly key-patterns create --database 00000000-0000-0000-0000-000000000001 --input input.jsonstly key-patterns delete#
Key Pattern 삭제
- HTTP 요청:
DELETE /api/key-patterns/{id} - 인증 모드: Agent 토큰, User 세션
- 기록 변경: 예
--if-match필수
인수
id: ID
옵션
| 이름 | 타입 | 필수 | 설명 |
|---|---|---|---|
--if-match | string | 예 | 상세 GET에서 얻은 단일 strong ETag |
--fields | string | 아니요 | 응답 최상위 필드, 쉼표로 구분 |
공통 옵션: --server, --env-file, --timeout, --auth-mode, --dry-run
예시
stly key-patterns delete 00000000-0000-0000-0000-000000000001 --if-match '"상세 GET의 ETag"'stly key-patterns get#
Key Pattern 상세 조회
- HTTP 요청:
GET /api/key-patterns/{id} - 인증 모드: Agent 토큰, User 세션
- 기록 변경: 아니요
인수
id: ID
옵션
| 이름 | 타입 | 필수 | 설명 |
|---|---|---|---|
--fields | string | 아니요 | 응답 최상위 필드, 쉼표로 구분 값: created_at, database_id, definition, description, external_references, id, summary, template, updated_at |
공통 옵션: --server, --env-file, --timeout, --auth-mode, --dry-run
예시
stly key-patterns get 00000000-0000-0000-0000-000000000001stly key-patterns list#
Key Pattern 목록 조회
- HTTP 요청:
GET /api/databases/{database_id}/key-patterns - 인증 모드: Agent 토큰, User 세션
- 기록 변경: 아니요
옵션
| 이름 | 타입 | 필수 | 설명 |
|---|---|---|---|
--database | string | 예 | 부모 Database ID |
--fields | string | 아니요 | 응답 최상위 필드, 쉼표로 구분 값: created_at, database_id, definition, description, external_references, id, summary, template, updated_at |
공통 옵션: --server, --env-file, --timeout, --auth-mode, --dry-run
예시
stly key-patterns list --database 00000000-0000-0000-0000-000000000001stly key-patterns move#
Key Pattern Database 소속 이동
- HTTP 요청:
PUT /api/key-patterns/{id} - 인증 모드: Agent 토큰, User 세션
- 기록 변경: 예
인수
id: ID
옵션
| 이름 | 타입 | 필수 | 설명 |
|---|---|---|---|
--database | string | 예 | 이동할 목적지 Database ID |
--fields | string | 아니요 | 응답 최상위 필드, 쉼표로 구분 값: created_at, database_id, definition, description, external_references, id, summary, template, updated_at |
공통 옵션: --server, --env-file, --timeout, --auth-mode, --dry-run
동작
- 최신 Key Pattern 상세와 strong ETag를 GET으로 조회
- 동일 Organization의 engine=redis Database 사이 이동이며 mode·db_index가 달라도 허용; ID·created_at 유지, 실제 Redis 키 이동 없음
- 목적지 미존재·비-redis·template 중복은 서버가 409로 거부
- 수정 가능 필드 중 database_id만 --database ID로 바꾸고 template·summary·description·definition·external_references는 보존하여 같은 ETag의 If-Match로 전체 PUT
- 조회·ETag·본문 해석 실패 또는 412·응답 불명 시 자동 재시도하지 않음
- --dry-run은 credential·HTTP·파일 접근 없이 GET·PUT 계획만 출력
예시
stly key-patterns move 00000000-0000-0000-0000-000000000001 --database 00000000-0000-0000-0000-000000000001stly key-patterns service-links get#
Key Pattern 연결 Service 집합 조회
- HTTP 요청:
GET /api/key-patterns/{id}/service-links - 인증 모드: Agent 토큰, User 세션
- 기록 변경: 아니요
인수
id: ID
옵션
| 이름 | 타입 | 필수 | 설명 |
|---|---|---|---|
--fields | string | 아니요 | 응답 최상위 필드, 쉼표로 구분 값: key_pattern_id, service_ids, updated_at |
공통 옵션: --server, --env-file, --timeout, --auth-mode, --dry-run
예시
stly key-patterns service-links get 00000000-0000-0000-0000-000000000001stly key-patterns service-links update#
Key Pattern 연결 Service 집합 전체 교체
- HTTP 요청:
PUT /api/key-patterns/{id}/service-links - 인증 모드: Agent 토큰, User 세션
- 기록 변경: 예
- 입력 JSON(
--input) 필수 --if-match필수
입력 JSON 구조는 stly schema key-patterns service-links update로 확인합니다.
인수
id: ID
옵션
| 이름 | 타입 | 필수 | 설명 |
|---|---|---|---|
--if-match | string | 예 | 상세 GET에서 얻은 단일 strong ETag |
--input | string | 예 | JSON 원문 파일 또는 stdin(-) |
--fields | string | 아니요 | 응답 최상위 필드, 쉼표로 구분 값: key_pattern_id, service_ids, updated_at |
공통 옵션: --server, --env-file, --timeout, --auth-mode, --dry-run
예시
stly key-patterns service-links update 00000000-0000-0000-0000-000000000001 --input input.json --if-match '"상세 GET의 ETag"'stly key-patterns services#
Key Pattern의 직접 연결 Service 목록
- HTTP 요청:
GET /api/key-patterns/{id}/services - 인증 모드: Agent 토큰, User 세션
- 기록 변경: 아니요
인수
id: ID
옵션
| 이름 | 타입 | 필수 | 설명 |
|---|---|---|---|
--fields | string | 아니요 | 응답 최상위 필드, 쉼표로 구분 값: created_at, description, handle, id, name, status, summary, updated_at |
--page | string | 아니요 | 1 이상 정수. page·per-page 중 하나라도 있으면 페이지 모드 |
--per-page | string | 아니요 | 1~500 정수, 생략 시 100 |
--q | string | 아니요 | name 필드의 대소문자 구분 리터럴 부분 일치 검색. summary·description·본문은 검색하지 않으며 정규식·와일드카드를 지원하지 않습니다 |
--sort | string | 아니요 | 리소스 기본 필드명 또는 - 접두 역순만 허용 |
공통 옵션: --server, --env-file, --timeout, --auth-mode, --dry-run
예시
stly key-patterns services 00000000-0000-0000-0000-000000000001 --q "검색어"stly key-patterns update#
Key Pattern 전체 수정·Database 소속 이동
- HTTP 요청:
PUT /api/key-patterns/{id} - 인증 모드: Agent 토큰, User 세션
- 기록 변경: 예
- 입력 JSON(
--input) 필수 --if-match필수
입력 JSON 구조는 stly schema key-patterns update로 확인합니다.
인수
id: ID
옵션
| 이름 | 타입 | 필수 | 설명 |
|---|---|---|---|
--if-match | string | 예 | 상세 GET에서 얻은 단일 strong ETag |
--input | string | 예 | JSON 원문 파일 또는 stdin(-) |
--fields | string | 아니요 | 응답 최상위 필드, 쉼표로 구분 값: created_at, database_id, definition, description, external_references, id, summary, template, updated_at |
공통 옵션: --server, --env-file, --timeout, --auth-mode, --dry-run
동작
- stly key-patterns get <id>로 전체 정의와 ETag 조회
- 응답 data의 database_id를 목적지 ID로 바꾸고 template·summary·description·definition 전체를 입력 파일에 보존(external_references는 생략하면 저장된 값 보존, []는 전체 해제)
- 동일 Organization의 engine=redis인 Database 사이에서 이동 가능(mode·db_index가 달라도 가능)
- stly key-patterns update <id> --input move.json --if-match '"상세 GET의 ETag"'
- If-Match 누락 428·불일치 412, 목적지 미존재·비-redis·동일 template 중복은 409이며 실패 시 기존 상태 보존
- ID·created_at 유지, 실제 Redis 키 이동 없음. 이동 후 같은 id로 get하여 새 소속과 ETag 확인
예시
stly key-patterns update 00000000-0000-0000-0000-000000000001 --input input.json --if-match '"상세 GET의 ETag"'stly key-patterns validate#
Key Pattern 생성·수정 후보 사전 검증(저장 없음)
- HTTP 요청:
--operation createPOST /api/databases/{database_id}/key-patterns/validate,--operation updatePUT /api/key-patterns/{id}/validate - 인증 모드: Agent 토큰, User 세션
- 기록 변경: 아니요
- 입력 JSON(
--input) 필수
입력 JSON 구조는 stly schema key-patterns validate --operation create|update로 확인합니다.
인수
id: ID
옵션
| 이름 | 타입 | 필수 | 설명 |
|---|---|---|---|
--input | string | 예 | JSON 원문 파일 또는 stdin(-) |
--operation | string | 예 | 검증할 작업 종류. 생성 후보는 create, 수정 후보는 update 값: create, update |
--database | string | 아니요 | 부모 Database ID |
--fields | string | 아니요 | 응답 최상위 필드, 쉼표로 구분 |
--if-match | string | 아니요 | 상세 GET에서 얻은 단일 strong ETag |
공통 옵션: --server, --env-file, --timeout, --auth-mode, --dry-run
동작
- 실제 서버를 호출해 입력·참조·중복·If-Match를 검사하며 저장하지 않습니다. 도메인 규칙은 서버가 판단합니다.
- --operation create: 대상 id·If-Match 금지. update: 대상 id·단일 strong If-Match 필수, 부모 옵션 금지
- --dry-run: credential 접근·HTTP 요청·파일 변경 없이 요청 계획만 출력
- 성공은 관찰 시점의 유효성으로 저장 성공·ID 예약·충돌 방지를 보장하지 않습니다. 자동 저장·자동 재시도하지 않습니다.
- 지원: Redis. 생성은 --database 필수, 수정의 부모 이동은 본문 database_id. template·변수·value·TTL 검사
예시
stly key-patterns validate --operation create --database 00000000-0000-0000-0000-000000000001 --input input.jsonstly key-patterns validate 00000000-0000-0000-0000-000000000001 --operation update --input input.json --if-match '"상세 GET의 ETag"'