Resource WatcherにRESTful APIを呼び出して、イベントやリソースの状態変更に伴う通知を受けるように設定できます。
ResourceWatcher APIを使用するには、User Access Keyが必要です。User Access Keyは、NHN CloudアカウントまたはIAMアカウントに基づいて発行される認証キーであり、Secret Access Keyと共に使用してAPIリクエストに対する認証手段として利用されます。
User Access KeyとSecret Access Keyは、コンソールのAPIセキュリティ設定で発行できます。User Access Keyの発行及び使用に関する詳細は、User Access Keyを参照してください。
ResourceWatcher APIを使用するには、Appkeyが必要です。Appkeyは、API呼び出し時にリクエストURLに含めて特定のリソースを指定し、識別するために使用されます。
Appkeyの確認及び使用に関する詳細は、Appkeyを参照してください。
すべてのAPIリクエストに対してHTTPレスポンスコードは200でレスポンスします。
詳しいレスポンス結果はResponse Bodyのheader項目を参照してください。
| Key | Type | Description |
|---|---|---|
| header | Header | レスポンスヘッダ |
| Key | Type | Description |
|---|---|---|
| isSuccessful | boolean | 成否(true, false) |
| resultCode | int | レスポンスコード。成功時は0、失敗時はエラーコードを返す |
| resultMessage | String | レスポンスメッセージ。成功時は"SUCCESS"、失敗時はエラーメッセージを返す |
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
}
}
[基本情報]
| Method | URI |
|---|---|
| POST | /resource-watcher/v2.0/appkeys/{appKey}/event-alarms |
| 権限 |
|---|
| ResourceWatcher:Alarms.Create |
リソースで発生するイベントに対する通知を設定することができます。
イベント全体に設定すると、特定のリソースで発生するすべてのイベントに対して通知を受信するように設定できます。リソース全体に設定すると、リソースに関係なく、特定のイベントの通知を受信するように設定できます。イベント全体とリソース全体は同時に設定できません。[Request Header]
| Key | Value |
|---|---|
| X-TC-AUTHENTICATION-ID | コンソールで発行されたUser Access Key |
| X-TC-AUTHENTICATION-SECRET | コンソールで発行されたSecret Access Key |
[Path Variable]
| Key | Value |
|---|---|
| appKey | コンソールで発行されたAppkey |
| Key | Type | Required | Description |
|---|---|---|---|
| alarm | Alarm | Yes | 通知情報 |
| alarmTargets | AlarmTarget[] | Yes | 通知受信対象情報 |
| events | Event[] | No | 通知対象イベントリスト 発生するすべてのイベントに対して受信を希望する場合は設定しない。 |
| target | Target | No | 対象リソース情報 リソースに関係なくイベントを受信したい場合は設定しない。 |
| Key | Type | Required | Description |
|---|---|---|---|
| alarmName | String | Yes | 通知名 最大255文字まで登録可能 |
| description | String | No | 通知説明 最大1,000文字まで登録可能 |
| Key | Type | Required | Description |
|---|---|---|---|
| alarmTargetTypeCode | String | Yes | 通知対象タイプコード <種類> 1. UUID:単一組織メンバー対象(NHN Cloud会員、 IAMメンバー) 2. ROLE:組織ロール、プロジェクトロールグループ、プロジェクトロール 3. ALARM_KEY:組織通知受信グループ、プロジェクト通知受信グループ 4. WEBHOOK: Webフック |
| alarmTarget | String | No | 通知対象情報 <タイプ別設定値> 1. UUID:メンバーUUID 2. ROLE:役割ID(例: ADMIN) 3. ALARM_KEY:通知受信グループID 4. WEBHOOK:入力しない |
| emailAlarm | String | No | メール受信有無 1. Y:メール受信 2. N:メールを受信しない WEBHOOK, ALARM_KEYは入力しない |
| smsAlarm | String | No | SMS受信有無 1. Y: SMS受信 2. N: SMSを受信しない WEBHOOK, ALARM_KEYは入力しない |
| webhookUrl | String | No | WebフックURLアドレス http:// またはhttps://で始まる必要がある 通知対象タイプ WEBHOOK 設定時に入力 |
| webhookSecret | String | No | Webフック秘密鍵 通知対象タイプ WEBHOOK 設定時に入力 |
| Key | Type | Required | Description |
|---|---|---|---|
| productId | String | Yes | サービスID |
| eventId | String | Yes | イベントID |
productId, eventId値は APIガイド > 3.1 Eventリスト照会APIレスポンス値を参考してください。
| Key | Type | Required | Description |
|---|---|---|---|
| resourceGroupIds | String[] | No | リソースグループIDリスト |
| resourceTagIds | Long[] | No | リソースタグIDリスト |
{
"alarm": {
"alarmName": "",
"description": ""
},
"alarmTargets": [
{
"alarmTarget": "",
"alarmTargetTypeCode": "",
"emailAlarm": "",
"smsAlarm": "",
"webhookSecret": "",
"webhookUrl": ""
}
],
"events": [
{
"eventId": "",
"productId": ""
}
],
"target": {
"resourceGroupIds": [
""
],
"resourceTagIds": [
""
]
}
}
[Response Body]
[基本情報]
| Method | URI |
|---|---|
| GET | /resource-watcher/v2.0/appkeys/{appKey}/event-alarms/{alarmId} |
| 権限 |
|---|
| ResourceWatcher:Alarms.Get |
登録された通知について照会します。
[Request Header]
| Key | Value |
|---|---|
| X-TC-AUTHENTICATION-ID | コンソールで発行されたUser Access Key |
| X-TC-AUTHENTICATION-SECRET | コンソールで発行されたSecret Access Key |
[Path Variable]
| Key | Value |
|---|---|
| appKey | コンソールで発行されたAppkey |
| alarmId | 照会する通知のID |
[Response Body]
| Key | Type | Description |
|---|---|---|
| alarm | Alarm | 通知情報 |
| alarmTargetAlarmKeys | AlarmTargetAlarmKey[] | 通知受信対象ALARM_KEY情報リスト |
| alarmTargetMemberProfiles | AlarmTargetMemberProfile[] | 通知受信対象UUID情報リスト |
| alarmTargetRoles | AlarmTargetRole[] | 通知受信対象ROLEリスト |
| alarmTargets | AlarmTarget[] | 通知受信対象リスト |
| events | Event[] | 通知イベントリスト |
| target | Target | 対象リソース情報 |
| Key | Type | Description |
|---|---|---|
| alarmId | String | 通知ID |
| alarmName | String | 通知名 |
| alarmRule | AlarmRule | 通知ルールの詳細情報 |
| alarmStatusCode | String | 通知ステータスコード <種類> 1. STABLE:有効 2. DISABLED:無効 3. CLOSED:削除 |
| appKey | String | Appkey情報 |
| cabAlarmKey | String | 通知受信グループID |
| delDatetime | Date | 削除日時 |
| description | String | 通知の説明 |
| modDatetime | Date | 修正日時 |
| operatorUuid | String | 最終修正したユーザーUUID |
| regDatetime | Date | 登録日時 |
| Key | Type | Description |
|---|---|---|
| alarmRuleId | String | 通知ルールID |
| alarmRuleStatusCode | String | 通知ルールのステータスコード <種類> 1. STABLE:有効 2. DISABLED:無効 3. CLOSED:削除 |
| alarmRuleName | String | 通知ルールの名前 |
| alarmRuleDescription | String | 通知ルールの説明 |
| resourceTypes | String[] | 通知ルールが適用される対象リソースタイプコードリスト 空白の場合、全リソースタイプを対象とする Stringタイプリスト |
| Key | Type | Description |
|---|---|---|
| alarmKey | String | 通知キー |
| alarmGroupName | String | 通知受信グループ名 |
| alarmGroupDesc | String | 通知受信グループの説明 |
| Key | Type | Description |
|---|---|---|
| uuid | String | メンバーUUID |
| memberType | String | メンバー区分 <種類> 1. TOAST_CLOUD 2. IAM |
| name | String | メンバー名 |
| corporationName | String | 業者名 |
| String | メンバーのメールアドレス | |
| userId | String | メンバーID |
| Key | Type | Description |
|---|---|---|
| type | String | ロールタイプ |
| roleId | String | ロールID |
| roleName | String | ロール名 |
| description | String | ロールの説明 |
| Key | Type | Description |
|---|---|---|
| alarmTargetTypeCode | String | 通知対象タイプコード <種類> 1. UUID:単一組織メンバー対象(NHN Cloud会員、 IAMメンバー) 2. ROLE:組織ロール、プロジェクトロールグループ、プロジェクトロール 3. ALARM_KEY:組織通知受信グループ、プロジェクト通知受信グループ 4. WEBHOOK: Webフック |
| alarmTarget | String | 通知対象情報 |
| emailAlarm | String | メール受信の有無(Y, N) |
| smsAlarm | string | SMS受信の有無(Y, N) |
| webhookUrl | string | WebフックURLアドレス |
| webhookSecret | string | Webフック秘密鍵 |
| Key | Type | Description |
|---|---|---|
| productId | String | 商品ID |
| eventId | String | イベントID |
| Key | Type | Description |
|---|---|---|
| resourceGroups | ResourceGroup[] | リソースグループリスト |
| resourceTags | ResourceTag[] | リソースタグリスト |
| Key | Type | Description |
|---|---|---|
| resourceGroupId | String | リソースグループIDリスト |
| resourceGroupName | String | リソースタグIDリスト |
| Key | Type | Description |
|---|---|---|
| tagId | Long | リソースタグID |
| tagGroupId | Long | リソースタググループID |
| tagName | String | リソースタグ名 |
| resourceTagTypeCode | String | リソースタグタイプコード(DEFAULT, NORMAL) |
| regDatetime | Date | リソースタグ登録日時 |
| modDatetime | Date | リソースタグ修正日時 |
| resourceTagGroup | ResourceTagGroup | リソースタググループ |
| Key | Type | Description |
|---|---|---|
| tagGroupId | Long | リソースタググループID |
| tagGroupKey | String | リソースタグキー |
| appKey | String | アプリキー |
| creationTypeCode | String | 作成タイプ(USER, SYSTEM) |
| regDatetime | Date | リソースタググループの登録日時 |
| modDatetime | Date | リソースタググループの修正日時 |
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": ""
},
"alarm": {
"alarmId": "",
"alarmName": "",
"alarmRule": {
"alarmRuleDescription": "",
"alarmRuleId": "",
"alarmRuleName": "",
"alarmRuleStatusCode": "",
"resourceTypes": [
""
]
},
"alarmStatusCode": "",
"appKey": "",
"cabAlarmKey": "",
"delDatetime": "yyyy-MM-ddTHH:mm:SS",
"description": "",
"modDatetime": "yyyy-MM-ddTHH:mm:SS",
"operatorUuid": "",
"regDatetime": "yyyy-MM-ddTHH:mm:SS"
},
"alarmTargetAlarmKeys": [
{
"alarmGroupDesc": "",
"alarmGroupName": "",
"alarmKey": ""
}
],
"alarmTargetMemberProfiles": [
{
"corporationName": "",
"email": "",
"memberType": "",
"name": "",
"userId": "",
"uuid": ""
}
],
"alarmTargetRoles": [
{
"description": "",
"roleId": "",
"roleName": "",
"type": ""
}
],
"alarmTargets": [
{
"alarmTarget": "",
"alarmTargetTypeCode": "",
"emailAlarm": "",
"smsAlarm": "",
"webhookSecret": "",
"webhookUrl": ""
}
],
"events": [
{
"eventId": "",
"productId": ""
}
],
"target": {
"resourceGroups": [
{
"resourceGroupId": "",
"resourceGroupName": ""
}
],
"resourceTags": [
{
"tagId": 0,
"tagGroupId" : 0,
"tagName": "",
"resourceTagTypeCode" : "",
"regDatetime": "yyyy-MM-ddTHH:mm:SS",
"modDatetime": "yyyy-MM-ddTHH:mm:SS",
"resourceTagGroup" : {
"tagGroupId": 0,
"tagGroupKey": "",
"appKey": "",
"creationTypeCode": "",
"regDatetime": "yyyy-MM-ddTHH:mm:SS",
"modDatetime": "yyyy-MM-ddTHH:mm:SS"
}
}
]
}
}
[基本情報]
| Method | URI |
|---|---|
| POST | /resource-watcher/v2.0/appkeys/{appKey}/event-alarms/search |
| 権限 |
|---|
| ResourceWatcher:Alarms.List |
登録したイベント通知リストを照会します。 - リクエストに検索条件を指定して、目的の通知リストを照会できます。 - ページングをサポートします。
[Request Header]
| Key | Value |
|---|---|
| X-TC-AUTHENTICATION-ID | コンソールで発行されたUser Access Key |
| X-TC-AUTHENTICATION-SECRET | コンソールで発行されたSecret Access Key |
[Path Variable]
| Key | Value |
|---|---|
| appKey | コンソールで発行されたAppkey |
[Query Parameter]
| Key | Value | Required |
|---|---|---|
| page | 照会するページ番号 Default値: 0 |
No |
| size | 照会する通知数 Default値: 10 |
No |
| sort | ソート対象および方式 Default値: modDatetime, DESC |
No |
[Request Body]
| Key | Type | Required | Description |
|---|---|---|---|
| alarmIds | String[] | No | 通知IDリスト Stringタイプリスト |
| alarmNameAnyLike | String | No | 通知名(入力値を含むすべての通知の検索) |
| alarmRuleIds | String[] | No | 通知ルールIDリスト Stringタイプリスト |
| alarmStatusCodes | String[] | No | 通知状の態 Stringタイプリスト Default値: STABLE, DISABLED <種類> 1. STABLE:有効 2. DISABLED:無効 3. CLOSED:削除 |
| descriptionAnyLike | String | No | 通知の説明(入力値を含むすべての通知の検索) |
| modDateFrom | Date | No | 最終更新日時の開始 |
| modDateTo | Date | No | 最終更新日時の終了 |
| operatorUuids | String[] | No | 最終修正者UUIDリスト Stringタイプリスト |
| resourceGroupIds | String[] | No | リソースグループリスト Stringタイプリスト |
{
"alarmIds": [
""
],
"alarmNameAnyLike": "",
"alarmRuleIds": [
""
],
"alarmStatusCodes": [
""
],
"descriptionAnyLike": "",
"modDateFrom": "yyyy-MM-ddTHH:mm:SS",
"modDateTo": "yyyy-MM-ddTHH:mm:SS",
"operatorUuids": [
""
],
"resourceGroupIds": [
""
]
}
[Response Body]
| Key | Type | Description |
|---|---|---|
| alarms | Alarm[] | 通知リスト |
| totalItems | Long | 全体数 |
| Key | Type | Description |
|---|---|---|
| alarmId | String | 通知ID |
| alarmName | String | 通知名 |
| alarmRule | AlarmRule | 通知ルールの詳細情報 |
| alarmStatusCode | String | 通知ステータスコード <種類> 1. STABLE:有効 2. DISABLED:無効 3. CLOSED:削除 |
| appKey | String | Appkey情報 |
| cabAlarmKey | String | 通知受信グループID |
| description | String | 通知の説明 |
| operatorUuid | String | 最終修正したユーザーUUID |
| delDatetime | Date | 削除日時 |
| modDatetime | Date | 修正日時 |
| regDatetime | Date | 登録日時 |
| Key | Type | Description |
|---|---|---|
| alarmRuleId | String | 通知ルールID |
| alarmRuleStatusCode | String | 通知ルールステータスコード <種類> 1. STABLE:有効 2. DISABLED:無効 3. CLOSED:削除 |
| alarmRuleName | String | 通知ルール名 |
| alarmRuleDescription | String | 通知ルールの説明 |
| resourceTypes | String[] | 通知ルールが適用される対象リソースタイプのコードリスト 空白の場合、全リソースタイプを対象とする Stringタイプリスト |
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": ""
},
"alarms": [
{
"alarmId": "",
"alarmName": "",
"alarmRule": {
"alarmRuleDescription": "",
"alarmRuleId": "",
"alarmRuleName": "",
"alarmRuleStatusCode": "",
"resourceTypes": [
""
]
},
"alarmStatusCode": "",
"appKey": "",
"cabAlarmKey": "",
"delDatetime": "yyyy-MM-ddTHH:mm:SS",
"description": "",
"modDatetime": "yyyy-MM-ddTHH:mm:SS",
"operatorUuid": "",
"regDatetime": "yyyy-MM-ddTHH:mm:SS"
}
],
"totalItems": 0
}
[基本情報]
| Method | URI |
|---|---|
| PUT | /resource-watcher/v1.0/appkeys/{appKey}/event-alarms/{alarmId} |
| 権限 |
|---|
| ResourceWatcher:Alarms.Update |
登録された通知を修正します。 - リクエストした内容を全て変更するため、変更がない内容も既存の設定値を送信する必要があります。
[Request Header]
| Key | Value |
|---|---|
| X-TC-AUTHENTICATION-ID | コンソールで発行されたUser Access Key |
| X-TC-AUTHENTICATION-SECRET | コンソールで発行されたSecret Access Key |
[Path Variable]
| Key | Value |
|---|---|
| appKey | コンソールで発行されたAppkey |
| alarmId | 修正する通知のID |
[Request Body]
[基本情報]
| Method | URI |
|---|---|
| DELETE | /resource-watcher/v2.0/appkeys/{appKey}/event-alarms/{alarmId} |
| 権限 |
|---|
| ResourceWatcher:Alarms.Delete |
登録された通知を削除します。
[Request Header]
| Key | Value |
|---|---|
| X-TC-AUTHENTICATION-ID | コンソールで発行されたUser Access Key |
| X-TC-AUTHENTICATION-SECRET | コンソールで発行されたSecret Access Key |
[Path Variable]
| Key | Value |
|---|---|
| appKey | コンソールで発行されたAppkey |
| alarmId | 削除する通知のID |
[Response Body]
[基本情報]
| Method | URI |
|---|---|
| DELETE | /resource-watcher/v2.0/appkeys/{appKey}/event-alarms |
| 権限 |
|---|
| ResourceWatcher:Alarms.Delete |
登録された通知を複数削除します。
[Request Header]
| Key | Value |
|---|---|
| X-TC-AUTHENTICATION-ID | コンソールで発行されたUser Access Key |
| X-TC-AUTHENTICATION-SECRET | コンソールで発行されたSecret Access Key |
[Path Variable]
| Key | Value |
|---|---|
| appKey | コンソールで発行されたAppkey |
[Query Parameter]
| Key | Value | Required |
|---|---|---|
| alarmIds | 削除する通知IDのリスト 必ず1つ以上の値を入力する必要があります。 |
Yes |
[Response Body]