Classic/VPC 환경에서 이용 가능합니다.
Cloud Functions 트리거를 생성, 수정합니다.
요청
요청 형식을 설명합니다. 요청 형식은 다음과 같습니다.
| 메서드 | URI |
|---|---|
| PUT | /triggers/{triggerName} |
요청 헤더
Cloud Funtions API에서 공통으로 사용하는 헤더에 대한 자세한 내용은 Cloud Functions 공통 헤더를 참조해 주십시오.
요청 경로 파라미터
파라미터에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
triggerName |
String | Required | 트리거 이름
|
요청 쿼리 파라미터
파라미터에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
platform |
String | Optional | 플랫폼 구분
|
type |
String | Required | 트리거 유형
|
요청 바디
요청 바디에 대한 설명은 다음과 같습니다. 요청 바디에 필드가 없을 경우, {} 빈 JSON Object 형태로 요청해야 합니다.
공통
공통 요청 바디에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
description |
String | Optional | 트리거 설명(Byte)
|
parameters |
Object | Optional | 트리거의 기본 파라미터
|
cron 트리거
cron 트리거 요청 바디에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
cronOption |
String | Required | cron 실행 옵션 |
GitHub 트리거
GitHub 트리거 요청 바디에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
credential |
Object | Required | GitHub 정보 |
credential.username |
String | Required | GitHub 사용자 이름 |
credential.accessToken |
String | Required | GitHub 액세스 토큰 |
credential.repository |
String | Required | GitHub 리포지토리
|
events |
String[] | Required | 트리거할 이벤트
|
link |
Object | Conditional | API Gateway 정보
|
link.productName |
String | Conditional | API Gateway의 상품 이름 |
link.apiName |
String | Conditional | API Gateway API 이름 |
link.stageName |
String | Conditional | API Gateway의 스테이지 이름 |
Cloud Insight 트리거
Cloud Insight 트리거 요청 바디에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
insightLink |
Object[] | Optional | 연결할 Cloud Insight 이벤트 규칙 정보 |
insightLink[].prodKey |
String | Conditional | Cloud Insight 이벤트 규칙의 prodKey
|
insightLink[].ruleGrpId |
String | Conditional | Cloud Insight 이벤트 규칙의 ruleGrpId
|
insightLink[].reminderTime |
Integer | Optional | Cloud Insight 이벤트 규칙의 리마인드 알림 주기(분)
|
insightLink[].enableNotiWhenEventClose |
Boolean | Optional | 이벤트 종료 시 Cloud Insight 이벤트 규칙 호출 여부
|
Object Storage 트리거
Object Storage 트리거 요청 바디에 대한 설명은 다음과 같습니다.
Object Storage 트리거에 연결된 액션이 Object Storage 이벤트 규칙과 동일한 버킷을 사용할 경우, 재귀 호출로 인한 사용량 증가 및 과다한 비용이 발생할 수 있습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
objectStorageLink |
Object[] | Required | 연결할 Object Storage 이벤트 규칙 정보 |
objectStorageLink[].bucketName |
String | Required | Object Storage의 버킷 이름 |
objectStorageLink[].eventRuleName |
String | Required | Object Storage의 이벤트 규칙 이름 |
SourceCommit 트리거
SourceCommit 트리거 요청 바디에 대한 설명은 다음과 같습니다.
SourceCommit 트리거는 한국 리전의 VPC 플랫폼에서만 지원합니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
sourceCommitLink |
Object[] | Required | 연결할 SourceCommit 리포지토리의 웹훅 정보 |
sourceCommitLink[].enable |
Boolean | Optional | SourceCommit 웹훅 활성화 여부
|
sourceCommitLink[].repositoryName |
String | Required | SourceCommit 리포지토리 이름 |
sourceCommitLink[].webhookName |
String | Required | SourceCommit 웹훅 이름 |
Secret Manager 트리거
Secret Manager 트리거 요청 바디에 대한 설명은 다음과 같습니다.
- Secret Manager 트리거는 한국 리전의 VPC 플랫폼에서만 지원합니다.
- 하나의 트리거에는 여러 시크릿이 연결될 수 있지만, 하나의 시크릿에는 하나의 트리거만 연결 가능합니다.
| 필드 | 타입 | 설명 |
|---|---|---|
secretManagerLink |
Object[] | Required |
secretManagerLink[].secretName |
String | Required |
요청 예시
요청 예시는 다음과 같습니다.
curl --location --request PUT 'https://cloudfunctions.apigw.ntruss.com/ncf/api/v2/triggers/trigger001?platform=vpc&type=cron' \
--header 'Content-Type: application/json' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Sub Account Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \
--data '<하단 참조>'
{
"description": "Cron Trigger",
"parameters": {
"period": "daily"
},
"cronOption": "30 1 * * *"
}
응답
응답 형식을 설명합니다.
응답 바디
응답 바디에 대한 설명은 다음과 같습니다.
공통
공통 응답 바디에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 설명 |
|---|---|---|
content.name |
String | 트리거 이름 |
content.resourceId |
String | 트리거의 리소스 ID |
content.triggerType |
String | 트리거 유형 |
content.namespace |
String | 사용자 네임스페이스 |
content.description |
String | 트리거 설명 |
content.parameters |
Object | 트리거의 기본 파라미터 |
content.rules |
Object | 트리거 액션 연결 정보 |
cron 트리거
cron 트리거 응답 바디에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 설명 |
|---|---|---|
content.cronOption |
String | cron 실행 옵션 |
GitHub 트리거
GitHub 트리거 응답 바디에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 설명 |
|---|---|---|
content.credential |
Object | GitHub 정보 |
content.credential.username |
String | GitHub 사용자 이름 |
content.credential.accessToken |
String | 트리거 유형 |
content.namespace |
String | GitHub 액세스 토큰 |
content.credential.repository |
String | GitHub 리포지토리 |
content.events |
String[] | 트리거 할 이벤트 종류 |
Cloud Insight 트리거
Cloud Insight 트리거 응답 바디에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 설명 |
|---|---|---|
content.insightLink |
Object[] | 연결된 Cloud Insight 이벤트 규칙 정보 |
content.insightLink[].prodKey |
String | Cloud Insight 이벤트 규칙의 prodKey |
content.insightLink[].ruleGrpId |
String | Cloud Insight 이벤트의 ruleGrpId |
content.insightLink[].reminderTime |
Integer | Cloud Insight 이벤트의 리마인드 알림 주기(분) |
content.insightLink[].enableNotiWhenEventClose |
Boolean | 이벤트 종료 시 Cloud Insight 이벤트 규칙 호출 여부 |
Object Storage 트리거
Object Storage 트리거 응답 바디에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 설명 |
|---|---|---|
content.objectStorageLink |
Object[] | 연결된 Object Storage 이벤트 규칙 정보 |
content.objectStorageLink[].bucketName |
String | Object Storage의 버킷 이름 |
content.objectStorageLink[].eventRuleName |
String | Object Storage의 이벤트 규칙 이름 |
SourceCommit 트리거
SourceCommit 트리거 응답 바디에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 설명 |
|---|---|---|
content.sourceCommitLink |
Object[] | 연결된 SourceCommit 리포지토리의 웹훅 정보 |
content.sourceCommitLink[].enable |
Boolean | SourceCommit 웹훅 활성화 여부 |
content.sourceCommitLink[].repositoryName |
String | SourceCommit 리포지토리 이름 |
content.sourceCommitLink[].webhookName |
String | SourceCommit 웹훅 이름 |
Secret Manager 트리거
Secret Manager 트리거 응답 바디에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 설명 |
|---|---|---|
content.secretManagerLink |
Object[] | 연결된 Secret Manager 시크릿 정보 |
content.secretManagerLink[].secretId |
String | Secret Manager의 시크릿 ID |
응답 상태 코드
응답 상태 코드에 대한 설명은 다음과 같습니다.
| HTTP 상태 코드 | 코드 | 메시지 | 설명 |
|---|---|---|---|
| 400 | 80500 | TRIGGER_INVALID_NAME | 잘못된 트리거 이름 |
| 400 | 80502 | TRIGGER_PLATFORM_MISMATCH | 트리거의 플랫폼 변경 불가 |
| 400 | 80503 | TRIGGER_INVALID_TYPE | 잘못된 트리거 유형 |
| 400 | 80504 | TRIGGER_TYPE_MISMATCH | 트리거 유형 변경 불가 |
| 400 | 80505 | TRIGGER_BODY_INVALID_TYPE | 잘못된 요청 바디 필드 타입 |
| 400 | 80506 | TRIGGER_BODY_MISSING_FIELD | 요청 바디 필수 필드 누락 |
| 400 | 80507 | TRIGGER_BODY_INVALID_VALUE | 잘못된 요청 바디 필드 값 |
| 400 | 80700 | NO_APIGW_SUBSCRIPTION | API Gateway 이용 신청 필요 |
| 400 | 80710 | NO_INSIGHT_SUBSCRIPTION | Cloud Insight 이용 신청 필요 |
| 400 | 80711 | INSIGHT_INVALID_EVENT_RULE | 잘못된 Cloud Insight 이벤트 규칙 정보 |
| 400 | 80730 | NO_OBJECT_STORAGE_SUBSCRIPTION | Object Storage 이용 신청 필요 |
| 400 | 80731 | OBJECT_STORAGE_INVALID_EVENT_RULE | 잘못된 Object Storage 이벤트 규칙 정보 |
| 400 | 80740 | SOURCE_COMMIT_INVALID_WEBHOOK | 잘못된 SourceCommit 웹훅 정보 |
| 400 | 80750 | NO_SECRET_MANGER_SUBSCRIPTION | Secret Manager 이용 신청 필요 |
| 400 | 80751 | SECRET_MANAGER_INVALID_SECRET | 잘못된 Secret Manager 시크릿 정보 |
| 400 | 80752 | SECRET_MANAGER_SECRET_ROTATING | 교체 중인 Secret Manager 시크릿 |
| 403 | 80002 | SUB_ACC_NO_PERMISSION | 상세 권한 오류 |
| 409 | 80011 | RESOURCE_NAME_CONFLICT | 중복된 리소스 이름 |
| 422 | 80508 | TRIGGER_COUNT_EXCEED | 최대 트리거 수 초과 |
| - | 80005 | INTEGRATION_EXCEPTION | 연동 서비스 이용 신청 필요 |
응답 예시
응답 예시는 다음과 같습니다.
{
"content": {
"description": "",
"name": "trigger001",
"namespace": "****YBNz****",
"parameters": {
"period": "daily"
},
"resourceId": "4ci**",
"rules": {
"****YBNz****/qr98**: {
"action": {
"name": "action001",
"path": "****YBNz****"
},
"status": "active"
},
"triggerType": "cron"
}
}