본문으로 건너뛰기
Structly 문서
English

stly

stly key-patterns

이 페이지의 내용

이 페이지는 공개 계약에서 생성하며 설명은 원문(한국어) 그대로 표시합니다.

stly key-patterns create#

Key Pattern 생성

  • HTTP 요청: POST /api/databases/{database_id}/key-patterns
  • 인증 모드: Agent 토큰, User 세션
  • 기록 변경: 예
  • 입력 JSON(--input) 필수

입력 JSON 구조는 stly schema key-patterns create로 확인합니다.

옵션

이름타입필수설명
--databasestring예부모 Database ID
--inputstring예JSON 원문 파일 또는 stdin(-)
--fieldsstring아니요응답 최상위 필드, 쉼표로 구분
값: 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.json

stly key-patterns delete#

Key Pattern 삭제

  • HTTP 요청: DELETE /api/key-patterns/{id}
  • 인증 모드: Agent 토큰, User 세션
  • 기록 변경: 예
  • --if-match 필수

인수

  • id: ID

옵션

이름타입필수설명
--if-matchstring예상세 GET에서 얻은 단일 strong ETag
--fieldsstring아니요응답 최상위 필드, 쉼표로 구분

공통 옵션: --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

옵션

이름타입필수설명
--fieldsstring아니요응답 최상위 필드, 쉼표로 구분
값: 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-000000000001

stly key-patterns list#

Key Pattern 목록 조회

  • HTTP 요청: GET /api/databases/{database_id}/key-patterns
  • 인증 모드: Agent 토큰, User 세션
  • 기록 변경: 아니요

옵션

이름타입필수설명
--databasestring예부모 Database ID
--fieldsstring아니요응답 최상위 필드, 쉼표로 구분
값: 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-000000000001

stly key-patterns move#

Key Pattern Database 소속 이동

  • HTTP 요청: PUT /api/key-patterns/{id}
  • 인증 모드: Agent 토큰, User 세션
  • 기록 변경: 예

인수

  • id: ID

옵션

이름타입필수설명
--databasestring예이동할 목적지 Database ID
--fieldsstring아니요응답 최상위 필드, 쉼표로 구분
값: created_at, database_id, definition, description, external_references, id, summary, template, updated_at

공통 옵션: --server, --env-file, --timeout, --auth-mode, --dry-run

동작

  1. 최신 Key Pattern 상세와 strong ETag를 GET으로 조회
  2. 동일 Organization의 engine=redis Database 사이 이동이며 mode·db_index가 달라도 허용; ID·created_at 유지, 실제 Redis 키 이동 없음
  3. 목적지 미존재·비-redis·template 중복은 서버가 409로 거부
  4. 수정 가능 필드 중 database_id만 --database ID로 바꾸고 template·summary·description·definition·external_references는 보존하여 같은 ETag의 If-Match로 전체 PUT
  5. 조회·ETag·본문 해석 실패 또는 412·응답 불명 시 자동 재시도하지 않음
  6. --dry-run은 credential·HTTP·파일 접근 없이 GET·PUT 계획만 출력

예시

stly key-patterns move 00000000-0000-0000-0000-000000000001 --database 00000000-0000-0000-0000-000000000001

Key Pattern 연결 Service 집합 조회

  • HTTP 요청: GET /api/key-patterns/{id}/service-links
  • 인증 모드: Agent 토큰, User 세션
  • 기록 변경: 아니요

인수

  • id: ID

옵션

이름타입필수설명
--fieldsstring아니요응답 최상위 필드, 쉼표로 구분
값: 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-000000000001

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-matchstring예상세 GET에서 얻은 단일 strong ETag
--inputstring예JSON 원문 파일 또는 stdin(-)
--fieldsstring아니요응답 최상위 필드, 쉼표로 구분
값: 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

옵션

이름타입필수설명
--fieldsstring아니요응답 최상위 필드, 쉼표로 구분
값: created_at, description, handle, id, name, status, summary, updated_at
--pagestring아니요1 이상 정수. page·per-page 중 하나라도 있으면 페이지 모드
--per-pagestring아니요1~500 정수, 생략 시 100
--qstring아니요name 필드의 대소문자 구분 리터럴 부분 일치 검색. summary·description·본문은 검색하지 않으며 정규식·와일드카드를 지원하지 않습니다
--sortstring아니요리소스 기본 필드명 또는 - 접두 역순만 허용

공통 옵션: --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-matchstring예상세 GET에서 얻은 단일 strong ETag
--inputstring예JSON 원문 파일 또는 stdin(-)
--fieldsstring아니요응답 최상위 필드, 쉼표로 구분
값: created_at, database_id, definition, description, external_references, id, summary, template, updated_at

공통 옵션: --server, --env-file, --timeout, --auth-mode, --dry-run

동작

  1. stly key-patterns get <id>로 전체 정의와 ETag 조회
  2. 응답 data의 database_id를 목적지 ID로 바꾸고 template·summary·description·definition 전체를 입력 파일에 보존(external_references는 생략하면 저장된 값 보존, []는 전체 해제)
  3. 동일 Organization의 engine=redis인 Database 사이에서 이동 가능(mode·db_index가 달라도 가능)
  4. stly key-patterns update <id> --input move.json --if-match '"상세 GET의 ETag"'
  5. If-Match 누락 428·불일치 412, 목적지 미존재·비-redis·동일 template 중복은 409이며 실패 시 기존 상태 보존
  6. 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 create POST /api/databases/{database_id}/key-patterns/validate, --operation update PUT /api/key-patterns/{id}/validate
  • 인증 모드: Agent 토큰, User 세션
  • 기록 변경: 아니요
  • 입력 JSON(--input) 필수

입력 JSON 구조는 stly schema key-patterns validate --operation create|update로 확인합니다.

인수

  • id: ID

옵션

이름타입필수설명
--inputstring예JSON 원문 파일 또는 stdin(-)
--operationstring예검증할 작업 종류. 생성 후보는 create, 수정 후보는 update
값: create, update
--databasestring아니요부모 Database ID
--fieldsstring아니요응답 최상위 필드, 쉼표로 구분
--if-matchstring아니요상세 GET에서 얻은 단일 strong ETag

공통 옵션: --server, --env-file, --timeout, --auth-mode, --dry-run

동작

  1. 실제 서버를 호출해 입력·참조·중복·If-Match를 검사하며 저장하지 않습니다. 도메인 규칙은 서버가 판단합니다.
  2. --operation create: 대상 id·If-Match 금지. update: 대상 id·단일 strong If-Match 필수, 부모 옵션 금지
  3. --dry-run: credential 접근·HTTP 요청·파일 변경 없이 요청 계획만 출력
  4. 성공은 관찰 시점의 유효성으로 저장 성공·ID 예약·충돌 방지를 보장하지 않습니다. 자동 저장·자동 재시도하지 않습니다.
  5. 지원: Redis. 생성은 --database 필수, 수정의 부모 이동은 본문 database_id. template·변수·value·TTL 검사

예시

stly key-patterns validate --operation create --database 00000000-0000-0000-0000-000000000001 --input input.json
stly key-patterns validate 00000000-0000-0000-0000-000000000001 --operation update --input input.json --if-match '"상세 GET의 ETag"'