diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 6401afac9690..caaa68e3b238 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -32232,11 +32232,17 @@ components: recipients: $ref: '#/components/schemas/MonitorNotificationRuleRecipients' scope: - $ref: '#/components/schemas/MonitorNotificationRuleScope' + $ref: '#/components/schemas/MonitorNotificationRuleConditionScope' required: - scope - recipients type: object + MonitorNotificationRuleConditionScope: + description: The scope to which the monitor applied. + example: transition_type:alert + maxLength: 3000 + minLength: 1 + type: string MonitorNotificationRuleConditionalRecipients: description: Use conditional recipients to define different recipients for different situations. @@ -32289,6 +32295,20 @@ components: description: Filter used to associate the notification rule with monitors. oneOf: - $ref: '#/components/schemas/MonitorNotificationRuleFilterTags' + - $ref: '#/components/schemas/MonitorNotificationRuleFilterScope' + MonitorNotificationRuleFilterScope: + additionalProperties: false + description: Filter monitors by scope. Monitors must match the scope evaluation. + properties: + scope: + description: The scope to which the monitor notification rule applies. + example: env:prod AND datacenter:us-east-1 + maxLength: 3000 + minLength: 1 + type: string + required: + - scope + type: object MonitorNotificationRuleFilterTags: additionalProperties: false description: Filter monitors by tags. Monitors must match all tags. @@ -32417,12 +32437,6 @@ components: description: An object related to a monitor notification rule. oneOf: - $ref: '#/components/schemas/User' - MonitorNotificationRuleScope: - description: The scope to which the monitor applied. - example: transition_type:alert - maxLength: 3000 - minLength: 1 - type: string MonitorNotificationRuleUpdateRequest: description: Request for updating a monitor notification rule. properties: diff --git a/cassettes/v2/Monitors_4022238206/Create-a-monitor-notification-rule-with-scope-returns-OK-response_266856427/frozen.json b/cassettes/v2/Monitors_4022238206/Create-a-monitor-notification-rule-with-scope-returns-OK-response_266856427/frozen.json new file mode 100644 index 000000000000..90dc74f065b2 --- /dev/null +++ b/cassettes/v2/Monitors_4022238206/Create-a-monitor-notification-rule-with-scope-returns-OK-response_266856427/frozen.json @@ -0,0 +1 @@ +"2025-11-11T21:28:39.129Z" diff --git a/cassettes/v2/Monitors_4022238206/Create-a-monitor-notification-rule-with-scope-returns-OK-response_266856427/recording.har b/cassettes/v2/Monitors_4022238206/Create-a-monitor-notification-rule-with-scope-returns-OK-response_266856427/recording.har new file mode 100644 index 000000000000..6318558a2f69 --- /dev/null +++ b/cassettes/v2/Monitors_4022238206/Create-a-monitor-notification-rule-with-scope-returns-OK-response_266856427/recording.har @@ -0,0 +1,109 @@ +{ + "log": { + "_recordingName": "Monitors/Create a monitor notification rule with scope returns \"OK\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "e4be868dca8d74340ab17b06ab95288e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 235, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 589, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"filter\":{\"scope\":\"test:test-create_a_monitor_notification_rule_with_scope_returns_ok_response-1762896519\"},\"name\":\"test rule\",\"recipients\":[\"slack-test-channel\",\"jira-test\"]},\"type\":\"monitor-notification-rule\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/monitor/notification_rule" + }, + "response": { + "bodySize": 1002, + "content": { + "mimeType": "application/json", + "size": 1002, + "text": "{\"data\":{\"type\":\"monitor-notification-rule\",\"attributes\":{\"modified_at\":\"1970-01-01T00:00:00+00:00\",\"filter\":{\"scope\":\"test:test-create_a_monitor_notification_rule_with_scope_returns_ok_response-1762896519\"},\"name\":\"test rule\",\"recipients\":[\"slack-test-channel\",\"jira-test\"],\"created_at\":\"2025-11-11T21:28:40.032148+00:00\"},\"relationships\":{\"created_by\":{\"data\":{\"type\":\"users\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\"}}},\"id\":\"bbea2907-c191-48d0-9e0f-1ec5881ee37c\"},\"included\":[{\"type\":\"users\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"attributes\":{\"name\":\"CI Account\",\"handle\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"created_at\":\"2020-12-29T22:58:44.733921+00:00\",\"modified_at\":\"2021-04-27T13:54:01.547888+00:00\",\"email\":\"team-intg-tools-libs-spam@datadoghq.com\",\"icon\":\"https://secure.gravatar.com/avatar/b7c189b5b4c2c429d7c1e0bc3749330e?s=48&d=retro\",\"title\":null,\"verified\":true,\"service_account\":true,\"disabled\":false,\"allowed_login_methods\":[],\"status\":\"Active\",\"last_login_time\":null}}]}\n" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 704, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-11-11T21:28:39.744Z", + "time": 338 + }, + { + "_id": "00d5556e17c827a0dc4aa1c17361ac26", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 562, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/monitor/notification_rule/bbea2907-c191-48d0-9e0f-1ec5881ee37c" + }, + "response": { + "bodySize": 0, + "content": { + "mimeType": "text/html; charset=utf-8", + "size": 0 + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "text/html; charset=utf-8" + } + ], + "headersSize": 690, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 204, + "statusText": "No Content" + }, + "startedDateTime": "2025-11-11T21:28:40.100Z", + "time": 249 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Monitors_4022238206/Update-a-monitor-notification-rule-with-scope-returns-OK-response_2806862380/frozen.json b/cassettes/v2/Monitors_4022238206/Update-a-monitor-notification-rule-with-scope-returns-OK-response_2806862380/frozen.json new file mode 100644 index 000000000000..cbbafb3d9f70 --- /dev/null +++ b/cassettes/v2/Monitors_4022238206/Update-a-monitor-notification-rule-with-scope-returns-OK-response_2806862380/frozen.json @@ -0,0 +1 @@ +"2025-11-11T21:28:40.357Z" diff --git a/cassettes/v2/Monitors_4022238206/Update-a-monitor-notification-rule-with-scope-returns-OK-response_2806862380/recording.har b/cassettes/v2/Monitors_4022238206/Update-a-monitor-notification-rule-with-scope-returns-OK-response_2806862380/recording.har new file mode 100644 index 000000000000..73c6195adfe8 --- /dev/null +++ b/cassettes/v2/Monitors_4022238206/Update-a-monitor-notification-rule-with-scope-returns-OK-response_2806862380/recording.har @@ -0,0 +1,162 @@ +{ + "log": { + "_recordingName": "Monitors/Update a monitor notification rule with scope returns \"OK\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "00cda7cffe4c75a8bc28baa5933cbfec", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 222, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 589, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"filter\":{\"tags\":[\"app:test-update_a_monitor_notification_rule_with_scope_returns_ok_response-1762896520\"]},\"name\":\"test rule\",\"recipients\":[\"slack-monitor-app\"]},\"type\":\"monitor-notification-rule\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/monitor/notification_rule" + }, + "response": { + "bodySize": 989, + "content": { + "mimeType": "application/json", + "size": 989, + "text": "{\"data\":{\"type\":\"monitor-notification-rule\",\"attributes\":{\"recipients\":[\"slack-monitor-app\"],\"modified_at\":\"1970-01-01T00:00:00+00:00\",\"created_at\":\"2025-11-11T21:28:40.540848+00:00\",\"name\":\"test rule\",\"filter\":{\"tags\":[\"app:test-update_a_monitor_notification_rule_with_scope_returns_ok_response-1762896520\"]}},\"relationships\":{\"created_by\":{\"data\":{\"type\":\"users\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\"}}},\"id\":\"827442a0-5d3e-408c-a930-7ac44775fff1\"},\"included\":[{\"type\":\"users\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"attributes\":{\"name\":\"CI Account\",\"handle\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"created_at\":\"2020-12-29T22:58:44.733921+00:00\",\"modified_at\":\"2021-04-27T13:54:01.547888+00:00\",\"email\":\"team-intg-tools-libs-spam@datadoghq.com\",\"icon\":\"https://secure.gravatar.com/avatar/b7c189b5b4c2c429d7c1e0bc3749330e?s=48&d=retro\",\"title\":null,\"verified\":true,\"service_account\":true,\"disabled\":false,\"allowed_login_methods\":[],\"status\":\"Active\",\"last_login_time\":null}}]}\n" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 703, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-11-11T21:28:40.361Z", + "time": 227 + }, + { + "_id": "91f1a6b8c117246dfceb72c3ec665801", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 270, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 627, + "httpVersion": "HTTP/1.1", + "method": "PATCH", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"filter\":{\"scope\":\"test:test-update_a_monitor_notification_rule_with_scope_returns_ok_response-1762896520\"},\"name\":\"updated rule\",\"recipients\":[\"slack-test-channel\"]},\"id\":\"827442a0-5d3e-408c-a930-7ac44775fff1\",\"type\":\"monitor-notification-rule\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/monitor/notification_rule/827442a0-5d3e-408c-a930-7ac44775fff1" + }, + "response": { + "bodySize": 1000, + "content": { + "mimeType": "application/json", + "size": 1000, + "text": "{\"data\":{\"type\":\"monitor-notification-rule\",\"attributes\":{\"filter\":{\"scope\":\"test:test-update_a_monitor_notification_rule_with_scope_returns_ok_response-1762896520\"},\"recipients\":[\"slack-test-channel\"],\"created_at\":\"2025-11-11T21:28:40.540848+00:00\",\"name\":\"updated rule\",\"modified_at\":\"2025-11-11T21:28:40.815544+00:00\"},\"id\":\"827442a0-5d3e-408c-a930-7ac44775fff1\",\"relationships\":{\"created_by\":{\"data\":{\"type\":\"users\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\"}}}},\"included\":[{\"type\":\"users\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"attributes\":{\"name\":\"CI Account\",\"handle\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"created_at\":\"2020-12-29T22:58:44.733921+00:00\",\"modified_at\":\"2021-04-27T13:54:01.547888+00:00\",\"email\":\"team-intg-tools-libs-spam@datadoghq.com\",\"icon\":\"https://secure.gravatar.com/avatar/b7c189b5b4c2c429d7c1e0bc3749330e?s=48&d=retro\",\"title\":null,\"verified\":true,\"service_account\":true,\"disabled\":false,\"allowed_login_methods\":[],\"status\":\"Active\",\"last_login_time\":null}}]}\n" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 704, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-11-11T21:28:40.594Z", + "time": 277 + }, + { + "_id": "d37e3788b9fdb86941bed09511fde9b5", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 562, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/monitor/notification_rule/827442a0-5d3e-408c-a930-7ac44775fff1" + }, + "response": { + "bodySize": 0, + "content": { + "mimeType": "text/html; charset=utf-8", + "size": 0 + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "text/html; charset=utf-8" + } + ], + "headersSize": 690, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 204, + "statusText": "No Content" + }, + "startedDateTime": "2025-11-11T21:28:40.876Z", + "time": 246 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/examples/v2/monitors/CreateMonitorNotificationRule_1379932371.ts b/examples/v2/monitors/CreateMonitorNotificationRule_1379932371.ts new file mode 100644 index 000000000000..52b4eb301dff --- /dev/null +++ b/examples/v2/monitors/CreateMonitorNotificationRule_1379932371.ts @@ -0,0 +1,32 @@ +/** + * Create a monitor notification rule with scope returns "OK" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +const apiInstance = new v2.MonitorsApi(configuration); + +const params: v2.MonitorsApiCreateMonitorNotificationRuleRequest = { + body: { + data: { + attributes: { + filter: { + scope: "test:example-monitor", + }, + name: "test rule", + recipients: ["slack-test-channel", "jira-test"], + }, + type: "monitor-notification-rule", + }, + }, +}; + +apiInstance + .createMonitorNotificationRule(params) + .then((data: v2.MonitorNotificationRuleResponse) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/monitors/UpdateMonitorNotificationRule_1446058210.ts b/examples/v2/monitors/UpdateMonitorNotificationRule_1446058210.ts new file mode 100644 index 000000000000..845d4ecdb015 --- /dev/null +++ b/examples/v2/monitors/UpdateMonitorNotificationRule_1446058210.ts @@ -0,0 +1,38 @@ +/** + * Update a monitor notification rule with scope returns "OK" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +const apiInstance = new v2.MonitorsApi(configuration); + +// there is a valid "monitor_notification_rule" in the system +const MONITOR_NOTIFICATION_RULE_DATA_ID = process.env + .MONITOR_NOTIFICATION_RULE_DATA_ID as string; + +const params: v2.MonitorsApiUpdateMonitorNotificationRuleRequest = { + body: { + data: { + attributes: { + filter: { + scope: "test:example-monitor", + }, + name: "updated rule", + recipients: ["slack-test-channel"], + }, + id: MONITOR_NOTIFICATION_RULE_DATA_ID, + type: "monitor-notification-rule", + }, + }, + ruleId: MONITOR_NOTIFICATION_RULE_DATA_ID, +}; + +apiInstance + .updateMonitorNotificationRule(params) + .then((data: v2.MonitorNotificationRuleResponse) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/features/v2/monitors.feature b/features/v2/monitors.feature index 346a646f83ba..e84062637c1a 100644 --- a/features/v2/monitors.feature +++ b/features/v2/monitors.feature @@ -52,6 +52,14 @@ Feature: Monitors Then the response status is 200 OK And the response "data.attributes.name" is equal to "test rule" + @team:DataDog/monitor-app + Scenario: Create a monitor notification rule with scope returns "OK" response + Given new "CreateMonitorNotificationRule" request + And body with value {"data": {"attributes": {"filter": {"scope": "test:{{ unique_lower }}"}, "name": "test rule", "recipients": ["slack-test-channel", "jira-test"]}, "type": "monitor-notification-rule"}} + When the request is sent + Then the response status is 200 OK + And the response "data.attributes.name" is equal to "test rule" + @skip-validation @team:DataDog/monitor-app Scenario: Create a monitor user template returns "Bad Request" response Given new "CreateMonitorUserTemplate" request @@ -272,6 +280,16 @@ Feature: Monitors Then the response status is 200 OK And the response "data.attributes.name" is equal to "updated rule" + @team:DataDog/monitor-app + Scenario: Update a monitor notification rule with scope returns "OK" response + Given there is a valid "monitor_notification_rule" in the system + And new "UpdateMonitorNotificationRule" request + And request contains "rule_id" parameter from "monitor_notification_rule.data.id" + And body with value {"data": {"attributes": {"filter": {"scope": "test:{{ unique_lower }}"}, "name": "updated rule", "recipients": ["slack-test-channel"]}, "id": "{{ monitor_notification_rule.data.id }}", "type": "monitor-notification-rule"}} + When the request is sent + Then the response status is 200 OK + And the response "data.attributes.name" is equal to "updated rule" + @skip-validation @team:DataDog/monitor-app Scenario: Update a monitor user template to a new version returns "Bad Request" response Given there is a valid "monitor_user_template" in the system diff --git a/packages/datadog-api-client-v2/index.ts b/packages/datadog-api-client-v2/index.ts index d8a798bb18fe..2d1aee916a50 100644 --- a/packages/datadog-api-client-v2/index.ts +++ b/packages/datadog-api-client-v2/index.ts @@ -2914,6 +2914,7 @@ export { MonitorNotificationRuleCreateRequest } from "./models/MonitorNotificati export { MonitorNotificationRuleCreateRequestData } from "./models/MonitorNotificationRuleCreateRequestData"; export { MonitorNotificationRuleData } from "./models/MonitorNotificationRuleData"; export { MonitorNotificationRuleFilter } from "./models/MonitorNotificationRuleFilter"; +export { MonitorNotificationRuleFilterScope } from "./models/MonitorNotificationRuleFilterScope"; export { MonitorNotificationRuleFilterTags } from "./models/MonitorNotificationRuleFilterTags"; export { MonitorNotificationRuleListResponse } from "./models/MonitorNotificationRuleListResponse"; export { MonitorNotificationRuleRelationships } from "./models/MonitorNotificationRuleRelationships"; diff --git a/packages/datadog-api-client-v2/models/MonitorNotificationRuleFilter.ts b/packages/datadog-api-client-v2/models/MonitorNotificationRuleFilter.ts index 290da036f7de..a9c70334fad1 100644 --- a/packages/datadog-api-client-v2/models/MonitorNotificationRuleFilter.ts +++ b/packages/datadog-api-client-v2/models/MonitorNotificationRuleFilter.ts @@ -3,6 +3,7 @@ * This product includes software developed at Datadog (https://www.datadoghq.com/). * Copyright 2020-Present Datadog, Inc. */ +import { MonitorNotificationRuleFilterScope } from "./MonitorNotificationRuleFilterScope"; import { MonitorNotificationRuleFilterTags } from "./MonitorNotificationRuleFilterTags"; import { UnparsedObject } from "../../datadog-api-client-common/util"; @@ -13,4 +14,5 @@ import { UnparsedObject } from "../../datadog-api-client-common/util"; export type MonitorNotificationRuleFilter = | MonitorNotificationRuleFilterTags + | MonitorNotificationRuleFilterScope | UnparsedObject; diff --git a/packages/datadog-api-client-v2/models/MonitorNotificationRuleFilterScope.ts b/packages/datadog-api-client-v2/models/MonitorNotificationRuleFilterScope.ts new file mode 100644 index 000000000000..90dff589541f --- /dev/null +++ b/packages/datadog-api-client-v2/models/MonitorNotificationRuleFilterScope.ts @@ -0,0 +1,42 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Filter monitors by scope. Monitors must match the scope evaluation. + */ +export class MonitorNotificationRuleFilterScope { + /** + * The scope to which the monitor notification rule applies. + */ + "scope": string; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + scope: { + baseName: "scope", + type: "string", + required: true, + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return MonitorNotificationRuleFilterScope.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/ObjectSerializer.ts b/packages/datadog-api-client-v2/models/ObjectSerializer.ts index 5e6e4f75751b..697bcda13d50 100644 --- a/packages/datadog-api-client-v2/models/ObjectSerializer.ts +++ b/packages/datadog-api-client-v2/models/ObjectSerializer.ts @@ -1514,6 +1514,7 @@ import { MonitorNotificationRuleConditionalRecipients } from "./MonitorNotificat import { MonitorNotificationRuleCreateRequest } from "./MonitorNotificationRuleCreateRequest"; import { MonitorNotificationRuleCreateRequestData } from "./MonitorNotificationRuleCreateRequestData"; import { MonitorNotificationRuleData } from "./MonitorNotificationRuleData"; +import { MonitorNotificationRuleFilterScope } from "./MonitorNotificationRuleFilterScope"; import { MonitorNotificationRuleFilterTags } from "./MonitorNotificationRuleFilterTags"; import { MonitorNotificationRuleListResponse } from "./MonitorNotificationRuleListResponse"; import { MonitorNotificationRuleRelationships } from "./MonitorNotificationRuleRelationships"; @@ -6012,6 +6013,7 @@ const typeMap: { [index: string]: any } = { MonitorNotificationRuleCreateRequestData: MonitorNotificationRuleCreateRequestData, MonitorNotificationRuleData: MonitorNotificationRuleData, + MonitorNotificationRuleFilterScope: MonitorNotificationRuleFilterScope, MonitorNotificationRuleFilterTags: MonitorNotificationRuleFilterTags, MonitorNotificationRuleListResponse: MonitorNotificationRuleListResponse, MonitorNotificationRuleRelationships: MonitorNotificationRuleRelationships, @@ -7612,7 +7614,10 @@ const oneOfMap: { [index: string]: string[] } = { MonitorConfigPolicyPolicyCreateRequest: [ "MonitorConfigPolicyTagPolicyCreateRequest", ], - MonitorNotificationRuleFilter: ["MonitorNotificationRuleFilterTags"], + MonitorNotificationRuleFilter: [ + "MonitorNotificationRuleFilterTags", + "MonitorNotificationRuleFilterScope", + ], MonitorNotificationRuleResponseIncludedItem: ["User"], NotionCredentials: ["NotionAPIKey"], NotionCredentialsUpdate: ["NotionAPIKeyUpdate"],