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リポジトリの Webフック情報 |
sourceCommitLink[].enable |
Boolean | Optional | SourceCommit Webフックを有効化するかどうか
|
sourceCommitLink[].repositoryName |
String | Required | SourceCommitリポジトリ名 |
sourceCommitLink[].webhookName |
String | Required | SourceCommit Webフック名 |
Secret Managerトリガー
Secret Managerトリガーのリクエストボディの説明は次の通りです。
- Secret Managerトリガーは韓国リージョンの VPCプラットフォームでのみサポートしています。
- 1つのトリガーには複数のシークレットを関連付けることができますが、1つのシークレットには1つのトリガーのみ関連付けることができます。
| フィールド | タイプ | 説明 |
|---|---|---|
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リポジトリの Webフック情報 |
content.sourceCommitLink[].enable |
Boolean | SourceCommit Webフックを有効化するかどうか |
content.sourceCommitLink[].repositoryName |
String | SourceCommitリポジトリ名 |
content.sourceCommitLink[].webhookName |
String | SourceCommit Webフック名 |
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 Webhook情報 |
| 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"
}
}