diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml
index 1798ff51a8..d7960c75e6 100644
--- a/.generator/schemas/v2/openapi.yaml
+++ b/.generator/schemas/v2/openapi.yaml
@@ -1937,20 +1937,6 @@ components:
schema:
example: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d
type: string
- SalesforceIncidentsOrganizationIDPathParameter:
- description: The Datadog-assigned ID of the connected Salesforce organization.
- in: path
- name: salesforce_org_id
- required: true
- schema:
- type: string
- SalesforceIncidentsTemplateIDPathParameter:
- description: The ID of the Salesforce incident template.
- in: path
- name: incident_template_id
- required: true
- schema:
- type: string
SampleLogGenerationContentPackID:
description: The identifier of the Cloud SIEM content pack to operate on (for example, `aws-cloudtrail`).
in: path
@@ -83346,6 +83332,8 @@ components:
$ref: "#/components/schemas/MonitorNotificationRuleName"
recipients:
$ref: "#/components/schemas/MonitorNotificationRuleRecipients"
+ rule_options:
+ $ref: "#/components/schemas/MonitorNotificationRuleOptions"
required: [name]
type: object
MonitorNotificationRuleBundleConfig:
@@ -83486,6 +83474,17 @@ components:
maxLength: 1000
minLength: 1
type: string
+ MonitorNotificationRuleOptions:
+ description: Additional options for the monitor notification rule.
+ properties:
+ is_threaded:
+ description: |-
+ Whether notifications from this rule are threaded. When `true`, follow-up notifications for the same monitor alert are posted in Slack as replies to the first notification.
+ Cannot be `true` when `bundle_config` is set.
+ example: true
+ type: boolean
+ required: [is_threaded]
+ type: object
MonitorNotificationRuleRecipients:
description: |-
A list of recipients to notify. Uses the same format as the monitor `message` field. Must not start with an '@'. Cannot be used with `conditional_recipients`.
@@ -83563,6 +83562,8 @@ components:
$ref: "#/components/schemas/MonitorNotificationRuleName"
recipients:
$ref: "#/components/schemas/MonitorNotificationRuleRecipients"
+ rule_options:
+ $ref: "#/components/schemas/MonitorNotificationRuleOptions"
type: object
MonitorNotificationRuleResponseIncludedItem:
description: An object related to a monitor notification rule.
@@ -111547,275 +111548,6 @@ components:
type: string
x-enum-varnames:
- VERSION_2_1
- SalesforceIncidentsOrganizationResponseAttributes:
- description: Attributes of a Salesforce organization connected to the Datadog Salesforce integration.
- properties:
- instance_url:
- description: The Salesforce instance URL used to call this organization's APIs.
- example: "https://acme.my.salesforce.com"
- type: string
- name:
- description: Human-readable name of the Salesforce organization.
- example: "Acme Production Org"
- type: string
- sfdc_org_id:
- description: The Salesforce organization identifier (15- or 18-character Salesforce org ID).
- example: "00D000000000000"
- type: string
- sfdc_org_type:
- description: The Salesforce organization type (for example, `Production` or `Sandbox`).
- example: "Production"
- type: string
- type: object
- SalesforceIncidentsOrganizationResponseData:
- description: Salesforce organization data from a response.
- properties:
- attributes:
- $ref: "#/components/schemas/SalesforceIncidentsOrganizationResponseAttributes"
- id:
- description: The Datadog-assigned ID of the connected Salesforce organization.
- example: "596da4af-0563-4097-90ff-07230c3f9db3"
- maxLength: 100
- minLength: 1
- type: string
- type:
- $ref: "#/components/schemas/SalesforceIncidentsOrganizationType"
- required:
- - id
- - type
- - attributes
- type: object
- SalesforceIncidentsOrganizationType:
- default: salesforce-incidents-org
- description: Salesforce organization resource type.
- enum:
- - salesforce-incidents-org
- example: salesforce-incidents-org
- type: string
- x-enum-varnames:
- - SALESFORCE_INCIDENTS_ORG
- SalesforceIncidentsOrganizationsResponse:
- description: |-
- Response containing a list of Salesforce organizations connected to the
- Datadog Salesforce integration.
- properties:
- data:
- description: An array of Salesforce organizations.
- items:
- $ref: "#/components/schemas/SalesforceIncidentsOrganizationResponseData"
- type: array
- required:
- - data
- type: object
- SalesforceIncidentsTemplateCreateAttributes:
- description: Salesforce incident template attributes for a create request.
- properties:
- description:
- description: Long-form description body for Salesforce incidents created from this template.
- example: "An incident was detected by Datadog monitors."
- maxLength: 2048
- minLength: 1
- type: string
- name:
- description: Human-readable name for this incident template. Must be unique within your organization.
- example: "production-outage"
- maxLength: 100
- minLength: 1
- type: string
- owner_id:
- description: The Salesforce user ID that owns incidents created from this template.
- example: "005000000000000"
- maxLength: 255
- minLength: 1
- type: string
- priority:
- $ref: "#/components/schemas/SalesforceIncidentsTemplatePriority"
- salesforce_org_id:
- description: The Datadog-assigned ID of the Salesforce organization this template belongs to.
- example: "596da4af-0563-4097-90ff-07230c3f9db3"
- format: uuid
- type: string
- subject:
- description: Subject line for Salesforce incidents created from this template.
- example: "Datadog Incident: Production Outage"
- maxLength: 255
- minLength: 1
- type: string
- required:
- - salesforce_org_id
- - name
- - subject
- - description
- - owner_id
- - priority
- type: object
- SalesforceIncidentsTemplateCreateData:
- description: Salesforce incident template data for a create request.
- properties:
- attributes:
- $ref: "#/components/schemas/SalesforceIncidentsTemplateCreateAttributes"
- type:
- $ref: "#/components/schemas/SalesforceIncidentsTemplateType"
- required:
- - type
- - attributes
- type: object
- SalesforceIncidentsTemplateCreateRequest:
- description: Create request for a Salesforce incident template.
- properties:
- data:
- $ref: "#/components/schemas/SalesforceIncidentsTemplateCreateData"
- required:
- - data
- type: object
- SalesforceIncidentsTemplatePriority:
- description: Priority of the Salesforce incident created from this template.
- enum:
- - Critical
- - High
- - Moderate
- - Low
- example: "High"
- type: string
- x-enum-varnames:
- - CRITICAL
- - HIGH
- - MODERATE
- - LOW
- SalesforceIncidentsTemplateResponse:
- description: Response containing a Salesforce incident template.
- properties:
- data:
- $ref: "#/components/schemas/SalesforceIncidentsTemplateResponseData"
- required:
- - data
- type: object
- SalesforceIncidentsTemplateResponseAttributes:
- description: Salesforce incident template attributes returned by the API.
- properties:
- description:
- description: Long-form description body for Salesforce incidents created from this template.
- example: "An incident was detected by Datadog monitors."
- type: string
- name:
- description: Human-readable name for this incident template.
- example: "production-outage"
- type: string
- owner_id:
- description: The Salesforce user ID that owns incidents created from this template.
- example: "005000000000000"
- type: string
- priority:
- $ref: "#/components/schemas/SalesforceIncidentsTemplatePriority"
- salesforce_org_id:
- description: The Datadog-assigned ID of the Salesforce organization this template belongs to.
- example: "596da4af-0563-4097-90ff-07230c3f9db3"
- format: uuid
- type: string
- subject:
- description: Subject line for Salesforce incidents created from this template.
- example: "Datadog Incident: Production Outage"
- type: string
- type: object
- SalesforceIncidentsTemplateResponseData:
- description: Salesforce incident template data from a response.
- properties:
- attributes:
- $ref: "#/components/schemas/SalesforceIncidentsTemplateResponseAttributes"
- id:
- description: The ID of the Salesforce incident template.
- example: "596da4af-0563-4097-90ff-07230c3f9db3"
- maxLength: 100
- minLength: 1
- type: string
- type:
- $ref: "#/components/schemas/SalesforceIncidentsTemplateType"
- required:
- - id
- - type
- - attributes
- type: object
- SalesforceIncidentsTemplateType:
- default: salesforce-incidents-incident-template
- description: Salesforce incident template resource type.
- enum:
- - salesforce-incidents-incident-template
- example: salesforce-incidents-incident-template
- type: string
- x-enum-varnames:
- - SALESFORCE_INCIDENTS_INCIDENT_TEMPLATE
- SalesforceIncidentsTemplateUpdateAttributes:
- description: Salesforce incident template attributes for an update request.
- properties:
- description:
- description: Long-form description body for Salesforce incidents created from this template.
- example: "An incident was detected by Datadog monitors."
- maxLength: 2048
- minLength: 1
- type: string
- name:
- description: Human-readable name for this incident template.
- example: "production-outage"
- maxLength: 100
- minLength: 1
- type: string
- owner_id:
- description: The Salesforce user ID that owns incidents created from this template.
- example: "005000000000000"
- maxLength: 255
- minLength: 1
- type: string
- priority:
- $ref: "#/components/schemas/SalesforceIncidentsTemplatePriority"
- salesforce_org_id:
- description: The Datadog-assigned ID of the Salesforce organization this template belongs to.
- example: "596da4af-0563-4097-90ff-07230c3f9db3"
- format: uuid
- type: string
- subject:
- description: Subject line for Salesforce incidents created from this template.
- example: "Datadog Incident: Production Outage"
- maxLength: 255
- minLength: 1
- type: string
- type: object
- SalesforceIncidentsTemplateUpdateData:
- description: Salesforce incident template data for an update request.
- properties:
- attributes:
- $ref: "#/components/schemas/SalesforceIncidentsTemplateUpdateAttributes"
- id:
- description: The ID of the Salesforce incident template being updated. Must match the path parameter.
- example: "596da4af-0563-4097-90ff-07230c3f9db3"
- maxLength: 100
- minLength: 1
- type: string
- type:
- $ref: "#/components/schemas/SalesforceIncidentsTemplateType"
- required:
- - id
- - type
- - attributes
- type: object
- SalesforceIncidentsTemplateUpdateRequest:
- description: Update request for a Salesforce incident template.
- properties:
- data:
- $ref: "#/components/schemas/SalesforceIncidentsTemplateUpdateData"
- required:
- - data
- type: object
- SalesforceIncidentsTemplatesResponse:
- description: Response containing a list of Salesforce incident templates.
- properties:
- data:
- description: An array of Salesforce incident templates.
- items:
- $ref: "#/components/schemas/SalesforceIncidentsTemplateResponseData"
- type: array
- required:
- - data
- type: object
SampleLogGenerationBulkSubscriptionAttributes:
description: The attributes for creating sample log generation subscriptions for multiple content packs.
properties:
@@ -192313,255 +192045,6 @@ paths:
operator: OR
permissions:
- manage_integrations
- /api/v2/integration/salesforce-incidents/incident-templates:
- get:
- deprecated: true
- description: Get all Salesforce incident templates configured for your organization.
- operationId: GetIncidentTemplates
- responses:
- "200":
- content:
- application/json:
- examples:
- default:
- value:
- data:
- - attributes:
- description: An incident was detected by Datadog monitors.
- name: production-outage
- owner_id: "005000000000000"
- priority: High
- salesforce_org_id: 596da4af-0563-4097-90ff-07230c3f9db3
- subject: "Datadog Incident: Production Outage"
- id: 00000000-0000-0000-0000-000000000001
- type: salesforce-incidents-incident-template
- schema:
- $ref: "#/components/schemas/SalesforceIncidentsTemplatesResponse"
- description: OK
- "403":
- $ref: "#/components/responses/ForbiddenResponse"
- "429":
- $ref: "#/components/responses/TooManyRequestsResponse"
- summary: Get all Salesforce incident templates
- tags:
- - Salesforce Integration
- "x-permission":
- operator: OR
- permissions:
- - integrations_read
- post:
- deprecated: true
- description: |-
- Create a new Salesforce incident template for your organization. Template
- names must be unique within an organization.
- operationId: CreateIncidentTemplate
- requestBody:
- content:
- application/json:
- examples:
- default:
- value:
- data:
- attributes:
- description: An incident was detected by Datadog monitors.
- name: production-outage
- owner_id: "005000000000000"
- priority: High
- salesforce_org_id: 596da4af-0563-4097-90ff-07230c3f9db3
- subject: "Datadog Incident: Production Outage"
- type: salesforce-incidents-incident-template
- schema:
- $ref: "#/components/schemas/SalesforceIncidentsTemplateCreateRequest"
- description: Salesforce incident template payload.
- required: true
- responses:
- "201":
- content:
- application/json:
- examples:
- default:
- value:
- data:
- attributes:
- description: An incident was detected by Datadog monitors.
- name: production-outage
- owner_id: "005000000000000"
- priority: High
- salesforce_org_id: 596da4af-0563-4097-90ff-07230c3f9db3
- subject: "Datadog Incident: Production Outage"
- id: 00000000-0000-0000-0000-000000000002
- type: salesforce-incidents-incident-template
- schema:
- $ref: "#/components/schemas/SalesforceIncidentsTemplateResponse"
- description: CREATED
- "400":
- $ref: "#/components/responses/BadRequestResponse"
- "403":
- $ref: "#/components/responses/ForbiddenResponse"
- "404":
- $ref: "#/components/responses/NotFoundResponse"
- "409":
- $ref: "#/components/responses/ConflictResponse"
- "429":
- $ref: "#/components/responses/TooManyRequestsResponse"
- summary: Create a Salesforce incident template
- tags:
- - Salesforce Integration
- x-codegen-request-body-name: body
- "x-permission":
- operator: OR
- permissions:
- - manage_integrations
- /api/v2/integration/salesforce-incidents/incident-templates/{incident_template_id}:
- delete:
- deprecated: true
- description: Delete a single Salesforce incident template from your organization.
- operationId: DeleteIncidentTemplate
- parameters:
- - $ref: "#/components/parameters/SalesforceIncidentsTemplateIDPathParameter"
- responses:
- "204":
- description: OK
- "403":
- $ref: "#/components/responses/ForbiddenResponse"
- "404":
- $ref: "#/components/responses/NotFoundResponse"
- "429":
- $ref: "#/components/responses/TooManyRequestsResponse"
- summary: Delete a Salesforce incident template
- tags:
- - Salesforce Integration
- "x-permission":
- operator: OR
- permissions:
- - manage_integrations
- patch:
- deprecated: true
- description: Update a single Salesforce incident template in your organization.
- operationId: UpdateIncidentTemplate
- parameters:
- - $ref: "#/components/parameters/SalesforceIncidentsTemplateIDPathParameter"
- requestBody:
- content:
- application/json:
- examples:
- default:
- value:
- data:
- attributes:
- name: production-outage-renamed
- id: 596da4af-0563-4097-90ff-07230c3f9db3
- type: salesforce-incidents-incident-template
- schema:
- $ref: "#/components/schemas/SalesforceIncidentsTemplateUpdateRequest"
- description: Salesforce incident template payload.
- required: true
- responses:
- "200":
- content:
- application/json:
- examples:
- default:
- value:
- data:
- attributes:
- description: An incident was detected by Datadog monitors.
- name: production-outage-renamed
- owner_id: "005000000000000"
- priority: High
- salesforce_org_id: 596da4af-0563-4097-90ff-07230c3f9db3
- subject: "Datadog Incident: Production Outage"
- id: 00000000-0000-0000-0000-000000000003
- type: salesforce-incidents-incident-template
- schema:
- $ref: "#/components/schemas/SalesforceIncidentsTemplateResponse"
- description: OK
- "400":
- $ref: "#/components/responses/BadRequestResponse"
- "403":
- $ref: "#/components/responses/ForbiddenResponse"
- "404":
- $ref: "#/components/responses/NotFoundResponse"
- "409":
- $ref: "#/components/responses/ConflictResponse"
- "429":
- $ref: "#/components/responses/TooManyRequestsResponse"
- summary: Update a Salesforce incident template
- tags:
- - Salesforce Integration
- x-codegen-request-body-name: body
- "x-permission":
- operator: OR
- permissions:
- - manage_integrations
- /api/v2/integration/salesforce-incidents/organizations:
- get:
- deprecated: true
- description: |-
- Get all Salesforce organizations connected to your Datadog organization
- through the Salesforce integration. Salesforce organizations are connected
- through the OAuth setup flow in the Datadog Salesforce integration page.
- operationId: GetSalesforceOrganizations
- responses:
- "200":
- content:
- application/json:
- examples:
- default:
- value:
- data:
- - attributes:
- instance_url: "https://acme.my.salesforce.com"
- name: "Acme Production Org"
- sfdc_org_id: "00D000000000000"
- sfdc_org_type: "Production"
- id: 00000000-0000-0000-0000-000000000001
- type: salesforce-incidents-org
- schema:
- $ref: "#/components/schemas/SalesforceIncidentsOrganizationsResponse"
- description: OK
- "400":
- $ref: "#/components/responses/BadRequestResponse"
- "403":
- $ref: "#/components/responses/ForbiddenResponse"
- "404":
- $ref: "#/components/responses/NotFoundResponse"
- "429":
- $ref: "#/components/responses/TooManyRequestsResponse"
- summary: Get all connected Salesforce organizations
- tags:
- - Salesforce Integration
- "x-permission":
- operator: OR
- permissions:
- - integrations_read
- /api/v2/integration/salesforce-incidents/organizations/{salesforce_org_id}:
- delete:
- deprecated: true
- description: |-
- Disconnect a Salesforce organization from your Datadog organization.
- This also deletes any incident templates referencing the organization.
- operationId: DeleteSalesforceOrganization
- parameters:
- - $ref: "#/components/parameters/SalesforceIncidentsOrganizationIDPathParameter"
- responses:
- "204":
- description: OK
- "400":
- $ref: "#/components/responses/BadRequestResponse"
- "403":
- $ref: "#/components/responses/ForbiddenResponse"
- "404":
- $ref: "#/components/responses/NotFoundResponse"
- "429":
- $ref: "#/components/responses/TooManyRequestsResponse"
- summary: Delete a connected Salesforce organization
- tags:
- - Salesforce Integration
- "x-permission":
- operator: OR
- permissions:
- - manage_integrations
/api/v2/integration/servicenow/assignment_groups/{instance_id}:
get:
description: |-
@@ -259085,12 +258568,6 @@ tags:
Manage teams ownership mappings between RUM views and the teams that own them.
See .
name: Rum Teams Ownership
- - description: |-
- Configure your [Datadog Salesforce integration](https://docs.datadoghq.com/integrations/salesforce/)
- directly through the Datadog API.
- externalDocs:
- url: https://docs.datadoghq.com/api/latest/salesforce-integration
- name: Salesforce Integration
- description: |-
API to create and update scorecard rules and outcomes. See [Scorecards](https://docs.datadoghq.com/service_catalog/scorecards) for more information.
name: Scorecards
diff --git a/examples/v2/monitors/CreateMonitorNotificationRule_292428701.py b/examples/v2/monitors/CreateMonitorNotificationRule_292428701.py
new file mode 100644
index 0000000000..f5a846d027
--- /dev/null
+++ b/examples/v2/monitors/CreateMonitorNotificationRule_292428701.py
@@ -0,0 +1,43 @@
+"""
+Create a monitor notification rule with rule options returns "OK" response
+"""
+
+from os import environ
+from datadog_api_client import ApiClient, Configuration
+from datadog_api_client.v2.api.monitors_api import MonitorsApi
+from datadog_api_client.v2.model.monitor_notification_rule_attributes import MonitorNotificationRuleAttributes
+from datadog_api_client.v2.model.monitor_notification_rule_create_request import MonitorNotificationRuleCreateRequest
+from datadog_api_client.v2.model.monitor_notification_rule_create_request_data import (
+ MonitorNotificationRuleCreateRequestData,
+)
+from datadog_api_client.v2.model.monitor_notification_rule_filter_tags import MonitorNotificationRuleFilterTags
+from datadog_api_client.v2.model.monitor_notification_rule_options import MonitorNotificationRuleOptions
+from datadog_api_client.v2.model.monitor_notification_rule_resource_type import MonitorNotificationRuleResourceType
+
+body = MonitorNotificationRuleCreateRequest(
+ data=MonitorNotificationRuleCreateRequestData(
+ attributes=MonitorNotificationRuleAttributes(
+ filter=MonitorNotificationRuleFilterTags(
+ tags=[
+ "test:example-monitor",
+ ],
+ ),
+ name="test rule",
+ recipients=[
+ "slack-test-channel",
+ ],
+ rule_options=MonitorNotificationRuleOptions(
+ is_threaded=True,
+ ),
+ ),
+ type=MonitorNotificationRuleResourceType.MONITOR_NOTIFICATION_RULE,
+ ),
+)
+
+configuration = Configuration()
+configuration.access_token = environ["DD_BEARER_TOKEN"]
+with ApiClient(configuration) as api_client:
+ api_instance = MonitorsApi(api_client)
+ response = api_instance.create_monitor_notification_rule(body=body)
+
+ print(response)
diff --git a/examples/v2/monitors/UpdateMonitorNotificationRule_365435820.py b/examples/v2/monitors/UpdateMonitorNotificationRule_365435820.py
new file mode 100644
index 0000000000..524352d7c3
--- /dev/null
+++ b/examples/v2/monitors/UpdateMonitorNotificationRule_365435820.py
@@ -0,0 +1,47 @@
+"""
+Update a monitor notification rule with rule options returns "OK" response
+"""
+
+from os import environ
+from datadog_api_client import ApiClient, Configuration
+from datadog_api_client.v2.api.monitors_api import MonitorsApi
+from datadog_api_client.v2.model.monitor_notification_rule_attributes import MonitorNotificationRuleAttributes
+from datadog_api_client.v2.model.monitor_notification_rule_filter_tags import MonitorNotificationRuleFilterTags
+from datadog_api_client.v2.model.monitor_notification_rule_options import MonitorNotificationRuleOptions
+from datadog_api_client.v2.model.monitor_notification_rule_resource_type import MonitorNotificationRuleResourceType
+from datadog_api_client.v2.model.monitor_notification_rule_update_request import MonitorNotificationRuleUpdateRequest
+from datadog_api_client.v2.model.monitor_notification_rule_update_request_data import (
+ MonitorNotificationRuleUpdateRequestData,
+)
+
+# there is a valid "monitor_notification_rule" in the system
+MONITOR_NOTIFICATION_RULE_DATA_ID = environ["MONITOR_NOTIFICATION_RULE_DATA_ID"]
+
+body = MonitorNotificationRuleUpdateRequest(
+ data=MonitorNotificationRuleUpdateRequestData(
+ attributes=MonitorNotificationRuleAttributes(
+ filter=MonitorNotificationRuleFilterTags(
+ tags=[
+ "test:example-monitor",
+ ],
+ ),
+ name="updated rule",
+ recipients=[
+ "slack-test-channel",
+ ],
+ rule_options=MonitorNotificationRuleOptions(
+ is_threaded=False,
+ ),
+ ),
+ id=MONITOR_NOTIFICATION_RULE_DATA_ID,
+ type=MonitorNotificationRuleResourceType.MONITOR_NOTIFICATION_RULE,
+ ),
+)
+
+configuration = Configuration()
+configuration.access_token = environ["DD_BEARER_TOKEN"]
+with ApiClient(configuration) as api_client:
+ api_instance = MonitorsApi(api_client)
+ response = api_instance.update_monitor_notification_rule(rule_id=MONITOR_NOTIFICATION_RULE_DATA_ID, body=body)
+
+ print(response)
diff --git a/examples/v2/salesforce-integration/CreateIncidentTemplate.py b/examples/v2/salesforce-integration/CreateIncidentTemplate.py
deleted file mode 100644
index 670aea1079..0000000000
--- a/examples/v2/salesforce-integration/CreateIncidentTemplate.py
+++ /dev/null
@@ -1,39 +0,0 @@
-"""
-Create a Salesforce incident template returns "CREATED" response
-"""
-
-from os import environ
-from datadog_api_client import ApiClient, Configuration
-from datadog_api_client.v2.api.salesforce_integration_api import SalesforceIntegrationApi
-from datadog_api_client.v2.model.salesforce_incidents_template_create_attributes import (
- SalesforceIncidentsTemplateCreateAttributes,
-)
-from datadog_api_client.v2.model.salesforce_incidents_template_create_data import SalesforceIncidentsTemplateCreateData
-from datadog_api_client.v2.model.salesforce_incidents_template_create_request import (
- SalesforceIncidentsTemplateCreateRequest,
-)
-from datadog_api_client.v2.model.salesforce_incidents_template_priority import SalesforceIncidentsTemplatePriority
-from datadog_api_client.v2.model.salesforce_incidents_template_type import SalesforceIncidentsTemplateType
-from uuid import UUID
-
-body = SalesforceIncidentsTemplateCreateRequest(
- data=SalesforceIncidentsTemplateCreateData(
- attributes=SalesforceIncidentsTemplateCreateAttributes(
- description="An incident was detected by Datadog monitors.",
- name="production-outage",
- owner_id="005000000000000",
- priority=SalesforceIncidentsTemplatePriority.HIGH,
- salesforce_org_id=UUID("596da4af-0563-4097-90ff-07230c3f9db3"),
- subject="Datadog Incident: Production Outage",
- ),
- type=SalesforceIncidentsTemplateType.SALESFORCE_INCIDENTS_INCIDENT_TEMPLATE,
- ),
-)
-
-configuration = Configuration()
-configuration.access_token = environ["DD_BEARER_TOKEN"]
-with ApiClient(configuration) as api_client:
- api_instance = SalesforceIntegrationApi(api_client)
- response = api_instance.create_incident_template(body=body)
-
- print(response)
diff --git a/examples/v2/salesforce-integration/DeleteIncidentTemplate.py b/examples/v2/salesforce-integration/DeleteIncidentTemplate.py
deleted file mode 100644
index 95c01ef220..0000000000
--- a/examples/v2/salesforce-integration/DeleteIncidentTemplate.py
+++ /dev/null
@@ -1,15 +0,0 @@
-"""
-Delete a Salesforce incident template returns "OK" response
-"""
-
-from os import environ
-from datadog_api_client import ApiClient, Configuration
-from datadog_api_client.v2.api.salesforce_integration_api import SalesforceIntegrationApi
-
-configuration = Configuration()
-configuration.access_token = environ["DD_BEARER_TOKEN"]
-with ApiClient(configuration) as api_client:
- api_instance = SalesforceIntegrationApi(api_client)
- api_instance.delete_incident_template(
- incident_template_id="incident_template_id",
- )
diff --git a/examples/v2/salesforce-integration/DeleteSalesforceOrganization.py b/examples/v2/salesforce-integration/DeleteSalesforceOrganization.py
deleted file mode 100644
index 735e19c9b5..0000000000
--- a/examples/v2/salesforce-integration/DeleteSalesforceOrganization.py
+++ /dev/null
@@ -1,15 +0,0 @@
-"""
-Delete a connected Salesforce organization returns "OK" response
-"""
-
-from os import environ
-from datadog_api_client import ApiClient, Configuration
-from datadog_api_client.v2.api.salesforce_integration_api import SalesforceIntegrationApi
-
-configuration = Configuration()
-configuration.access_token = environ["DD_BEARER_TOKEN"]
-with ApiClient(configuration) as api_client:
- api_instance = SalesforceIntegrationApi(api_client)
- api_instance.delete_salesforce_organization(
- salesforce_org_id="salesforce_org_id",
- )
diff --git a/examples/v2/salesforce-integration/GetIncidentTemplates.py b/examples/v2/salesforce-integration/GetIncidentTemplates.py
deleted file mode 100644
index ef0a15b2f0..0000000000
--- a/examples/v2/salesforce-integration/GetIncidentTemplates.py
+++ /dev/null
@@ -1,15 +0,0 @@
-"""
-Get all Salesforce incident templates returns "OK" response
-"""
-
-from os import environ
-from datadog_api_client import ApiClient, Configuration
-from datadog_api_client.v2.api.salesforce_integration_api import SalesforceIntegrationApi
-
-configuration = Configuration()
-configuration.access_token = environ["DD_BEARER_TOKEN"]
-with ApiClient(configuration) as api_client:
- api_instance = SalesforceIntegrationApi(api_client)
- response = api_instance.get_incident_templates()
-
- print(response)
diff --git a/examples/v2/salesforce-integration/GetSalesforceOrganizations.py b/examples/v2/salesforce-integration/GetSalesforceOrganizations.py
deleted file mode 100644
index 8dc0eb00cc..0000000000
--- a/examples/v2/salesforce-integration/GetSalesforceOrganizations.py
+++ /dev/null
@@ -1,15 +0,0 @@
-"""
-Get all connected Salesforce organizations returns "OK" response
-"""
-
-from os import environ
-from datadog_api_client import ApiClient, Configuration
-from datadog_api_client.v2.api.salesforce_integration_api import SalesforceIntegrationApi
-
-configuration = Configuration()
-configuration.access_token = environ["DD_BEARER_TOKEN"]
-with ApiClient(configuration) as api_client:
- api_instance = SalesforceIntegrationApi(api_client)
- response = api_instance.get_salesforce_organizations()
-
- print(response)
diff --git a/examples/v2/salesforce-integration/UpdateIncidentTemplate.py b/examples/v2/salesforce-integration/UpdateIncidentTemplate.py
deleted file mode 100644
index 88fd39437d..0000000000
--- a/examples/v2/salesforce-integration/UpdateIncidentTemplate.py
+++ /dev/null
@@ -1,40 +0,0 @@
-"""
-Update a Salesforce incident template returns "OK" response
-"""
-
-from os import environ
-from datadog_api_client import ApiClient, Configuration
-from datadog_api_client.v2.api.salesforce_integration_api import SalesforceIntegrationApi
-from datadog_api_client.v2.model.salesforce_incidents_template_priority import SalesforceIncidentsTemplatePriority
-from datadog_api_client.v2.model.salesforce_incidents_template_type import SalesforceIncidentsTemplateType
-from datadog_api_client.v2.model.salesforce_incidents_template_update_attributes import (
- SalesforceIncidentsTemplateUpdateAttributes,
-)
-from datadog_api_client.v2.model.salesforce_incidents_template_update_data import SalesforceIncidentsTemplateUpdateData
-from datadog_api_client.v2.model.salesforce_incidents_template_update_request import (
- SalesforceIncidentsTemplateUpdateRequest,
-)
-from uuid import UUID
-
-body = SalesforceIncidentsTemplateUpdateRequest(
- data=SalesforceIncidentsTemplateUpdateData(
- attributes=SalesforceIncidentsTemplateUpdateAttributes(
- description="An incident was detected by Datadog monitors.",
- name="production-outage",
- owner_id="005000000000000",
- priority=SalesforceIncidentsTemplatePriority.HIGH,
- salesforce_org_id=UUID("596da4af-0563-4097-90ff-07230c3f9db3"),
- subject="Datadog Incident: Production Outage",
- ),
- id="596da4af-0563-4097-90ff-07230c3f9db3",
- type=SalesforceIncidentsTemplateType.SALESFORCE_INCIDENTS_INCIDENT_TEMPLATE,
- ),
-)
-
-configuration = Configuration()
-configuration.access_token = environ["DD_BEARER_TOKEN"]
-with ApiClient(configuration) as api_client:
- api_instance = SalesforceIntegrationApi(api_client)
- response = api_instance.update_incident_template(incident_template_id="incident_template_id", body=body)
-
- print(response)
diff --git a/src/datadog_api_client/v2/api/salesforce_integration_api.py b/src/datadog_api_client/v2/api/salesforce_integration_api.py
deleted file mode 100644
index 0d2b00fdff..0000000000
--- a/src/datadog_api_client/v2/api/salesforce_integration_api.py
+++ /dev/null
@@ -1,264 +0,0 @@
-# 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 2019-Present Datadog, Inc.
-from __future__ import annotations
-
-from typing import Any, Dict
-import warnings
-
-from datadog_api_client.api_client import ApiClient, Endpoint as _Endpoint
-from datadog_api_client.configuration import Configuration
-from datadog_api_client.v2.model.salesforce_incidents_templates_response import SalesforceIncidentsTemplatesResponse
-from datadog_api_client.v2.model.salesforce_incidents_template_response import SalesforceIncidentsTemplateResponse
-from datadog_api_client.v2.model.salesforce_incidents_template_create_request import (
- SalesforceIncidentsTemplateCreateRequest,
-)
-from datadog_api_client.v2.model.salesforce_incidents_template_update_request import (
- SalesforceIncidentsTemplateUpdateRequest,
-)
-from datadog_api_client.v2.model.salesforce_incidents_organizations_response import (
- SalesforceIncidentsOrganizationsResponse,
-)
-
-
-class SalesforceIntegrationApi:
- """
- Configure your `Datadog Salesforce integration `_
- directly through the Datadog API.
- """
-
- def __init__(self, api_client=None):
- if api_client is None:
- api_client = ApiClient(Configuration())
- self.api_client = api_client
-
- self._create_incident_template_endpoint = _Endpoint(
- settings={
- "response_type": (SalesforceIncidentsTemplateResponse,),
- "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"],
- "endpoint_path": "/api/v2/integration/salesforce-incidents/incident-templates",
- "operation_id": "create_incident_template",
- "http_method": "POST",
- "version": "v2",
- },
- params_map={
- "body": {
- "required": True,
- "openapi_types": (SalesforceIncidentsTemplateCreateRequest,),
- "location": "body",
- },
- },
- headers_map={"accept": ["application/json"], "content_type": ["application/json"]},
- api_client=api_client,
- )
-
- self._delete_incident_template_endpoint = _Endpoint(
- settings={
- "response_type": None,
- "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"],
- "endpoint_path": "/api/v2/integration/salesforce-incidents/incident-templates/{incident_template_id}",
- "operation_id": "delete_incident_template",
- "http_method": "DELETE",
- "version": "v2",
- },
- params_map={
- "incident_template_id": {
- "required": True,
- "openapi_types": (str,),
- "attribute": "incident_template_id",
- "location": "path",
- },
- },
- headers_map={
- "accept": ["*/*"],
- },
- api_client=api_client,
- )
-
- self._delete_salesforce_organization_endpoint = _Endpoint(
- settings={
- "response_type": None,
- "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"],
- "endpoint_path": "/api/v2/integration/salesforce-incidents/organizations/{salesforce_org_id}",
- "operation_id": "delete_salesforce_organization",
- "http_method": "DELETE",
- "version": "v2",
- },
- params_map={
- "salesforce_org_id": {
- "required": True,
- "openapi_types": (str,),
- "attribute": "salesforce_org_id",
- "location": "path",
- },
- },
- headers_map={
- "accept": ["*/*"],
- },
- api_client=api_client,
- )
-
- self._get_incident_templates_endpoint = _Endpoint(
- settings={
- "response_type": (SalesforceIncidentsTemplatesResponse,),
- "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"],
- "endpoint_path": "/api/v2/integration/salesforce-incidents/incident-templates",
- "operation_id": "get_incident_templates",
- "http_method": "GET",
- "version": "v2",
- },
- params_map={},
- headers_map={
- "accept": ["application/json"],
- },
- api_client=api_client,
- )
-
- self._get_salesforce_organizations_endpoint = _Endpoint(
- settings={
- "response_type": (SalesforceIncidentsOrganizationsResponse,),
- "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"],
- "endpoint_path": "/api/v2/integration/salesforce-incidents/organizations",
- "operation_id": "get_salesforce_organizations",
- "http_method": "GET",
- "version": "v2",
- },
- params_map={},
- headers_map={
- "accept": ["application/json"],
- },
- api_client=api_client,
- )
-
- self._update_incident_template_endpoint = _Endpoint(
- settings={
- "response_type": (SalesforceIncidentsTemplateResponse,),
- "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"],
- "endpoint_path": "/api/v2/integration/salesforce-incidents/incident-templates/{incident_template_id}",
- "operation_id": "update_incident_template",
- "http_method": "PATCH",
- "version": "v2",
- },
- params_map={
- "incident_template_id": {
- "required": True,
- "openapi_types": (str,),
- "attribute": "incident_template_id",
- "location": "path",
- },
- "body": {
- "required": True,
- "openapi_types": (SalesforceIncidentsTemplateUpdateRequest,),
- "location": "body",
- },
- },
- headers_map={"accept": ["application/json"], "content_type": ["application/json"]},
- api_client=api_client,
- )
-
- def create_incident_template(
- self,
- body: SalesforceIncidentsTemplateCreateRequest,
- ) -> SalesforceIncidentsTemplateResponse:
- """Create a Salesforce incident template. **Deprecated**.
-
- Create a new Salesforce incident template for your organization. Template
- names must be unique within an organization.
-
- :param body: Salesforce incident template payload.
- :type body: SalesforceIncidentsTemplateCreateRequest
- :rtype: SalesforceIncidentsTemplateResponse
- """
- kwargs: Dict[str, Any] = {}
- kwargs["body"] = body
-
- warnings.warn("create_incident_template is deprecated", DeprecationWarning, stacklevel=2)
- return self._create_incident_template_endpoint.call_with_http_info(**kwargs)
-
- def delete_incident_template(
- self,
- incident_template_id: str,
- ) -> None:
- """Delete a Salesforce incident template. **Deprecated**.
-
- Delete a single Salesforce incident template from your organization.
-
- :param incident_template_id: The ID of the Salesforce incident template.
- :type incident_template_id: str
- :rtype: None
- """
- kwargs: Dict[str, Any] = {}
- kwargs["incident_template_id"] = incident_template_id
-
- warnings.warn("delete_incident_template is deprecated", DeprecationWarning, stacklevel=2)
- return self._delete_incident_template_endpoint.call_with_http_info(**kwargs)
-
- def delete_salesforce_organization(
- self,
- salesforce_org_id: str,
- ) -> None:
- """Delete a connected Salesforce organization. **Deprecated**.
-
- Disconnect a Salesforce organization from your Datadog organization.
- This also deletes any incident templates referencing the organization.
-
- :param salesforce_org_id: The Datadog-assigned ID of the connected Salesforce organization.
- :type salesforce_org_id: str
- :rtype: None
- """
- kwargs: Dict[str, Any] = {}
- kwargs["salesforce_org_id"] = salesforce_org_id
-
- warnings.warn("delete_salesforce_organization is deprecated", DeprecationWarning, stacklevel=2)
- return self._delete_salesforce_organization_endpoint.call_with_http_info(**kwargs)
-
- def get_incident_templates(
- self,
- ) -> SalesforceIncidentsTemplatesResponse:
- """Get all Salesforce incident templates. **Deprecated**.
-
- Get all Salesforce incident templates configured for your organization.
-
- :rtype: SalesforceIncidentsTemplatesResponse
- """
- kwargs: Dict[str, Any] = {}
- warnings.warn("get_incident_templates is deprecated", DeprecationWarning, stacklevel=2)
- return self._get_incident_templates_endpoint.call_with_http_info(**kwargs)
-
- def get_salesforce_organizations(
- self,
- ) -> SalesforceIncidentsOrganizationsResponse:
- """Get all connected Salesforce organizations. **Deprecated**.
-
- Get all Salesforce organizations connected to your Datadog organization
- through the Salesforce integration. Salesforce organizations are connected
- through the OAuth setup flow in the Datadog Salesforce integration page.
-
- :rtype: SalesforceIncidentsOrganizationsResponse
- """
- kwargs: Dict[str, Any] = {}
- warnings.warn("get_salesforce_organizations is deprecated", DeprecationWarning, stacklevel=2)
- return self._get_salesforce_organizations_endpoint.call_with_http_info(**kwargs)
-
- def update_incident_template(
- self,
- incident_template_id: str,
- body: SalesforceIncidentsTemplateUpdateRequest,
- ) -> SalesforceIncidentsTemplateResponse:
- """Update a Salesforce incident template. **Deprecated**.
-
- Update a single Salesforce incident template in your organization.
-
- :param incident_template_id: The ID of the Salesforce incident template.
- :type incident_template_id: str
- :param body: Salesforce incident template payload.
- :type body: SalesforceIncidentsTemplateUpdateRequest
- :rtype: SalesforceIncidentsTemplateResponse
- """
- kwargs: Dict[str, Any] = {}
- kwargs["incident_template_id"] = incident_template_id
-
- kwargs["body"] = body
-
- warnings.warn("update_incident_template is deprecated", DeprecationWarning, stacklevel=2)
- return self._update_incident_template_endpoint.call_with_http_info(**kwargs)
diff --git a/src/datadog_api_client/v2/apis/__init__.py b/src/datadog_api_client/v2/apis/__init__.py
index 5eb33da03a..b3b1c9c43a 100644
--- a/src/datadog_api_client/v2/apis/__init__.py
+++ b/src/datadog_api_client/v2/apis/__init__.py
@@ -119,7 +119,6 @@
from datadog_api_client.v2.api.rum_replay_viewership_api import RumReplayViewershipApi
from datadog_api_client.v2.api.rum_retention_filters_api import RumRetentionFiltersApi
from datadog_api_client.v2.api.rum_teams_ownership_api import RumTeamsOwnershipApi
-from datadog_api_client.v2.api.salesforce_integration_api import SalesforceIntegrationApi
from datadog_api_client.v2.api.scorecards_api import ScorecardsApi
from datadog_api_client.v2.api.seats_api import SeatsApi
from datadog_api_client.v2.api.security_monitoring_api import SecurityMonitoringApi
@@ -276,7 +275,6 @@
"RumReplayViewershipApi",
"RumRetentionFiltersApi",
"RumTeamsOwnershipApi",
- "SalesforceIntegrationApi",
"ScorecardsApi",
"SeatsApi",
"SecurityMonitoringApi",
diff --git a/src/datadog_api_client/v2/model/monitor_notification_rule_attributes.py b/src/datadog_api_client/v2/model/monitor_notification_rule_attributes.py
index bb9cc48cf3..34eefcfc81 100644
--- a/src/datadog_api_client/v2/model/monitor_notification_rule_attributes.py
+++ b/src/datadog_api_client/v2/model/monitor_notification_rule_attributes.py
@@ -19,6 +19,7 @@
MonitorNotificationRuleConditionalRecipients,
)
from datadog_api_client.v2.model.monitor_notification_rule_filter import MonitorNotificationRuleFilter
+ from datadog_api_client.v2.model.monitor_notification_rule_options import MonitorNotificationRuleOptions
from datadog_api_client.v2.model.monitor_notification_rule_filter_tags import MonitorNotificationRuleFilterTags
from datadog_api_client.v2.model.monitor_notification_rule_filter_scope import MonitorNotificationRuleFilterScope
@@ -48,6 +49,7 @@ def openapi_types(_):
MonitorNotificationRuleConditionalRecipients,
)
from datadog_api_client.v2.model.monitor_notification_rule_filter import MonitorNotificationRuleFilter
+ from datadog_api_client.v2.model.monitor_notification_rule_options import MonitorNotificationRuleOptions
return {
"bundle_config": (MonitorNotificationRuleBundleConfig,),
@@ -55,6 +57,7 @@ def openapi_types(_):
"filter": (MonitorNotificationRuleFilter,),
"name": (str,),
"recipients": ([str],),
+ "rule_options": (MonitorNotificationRuleOptions,),
}
attribute_map = {
@@ -63,6 +66,7 @@ def openapi_types(_):
"filter": "filter",
"name": "name",
"recipients": "recipients",
+ "rule_options": "rule_options",
}
def __init__(
@@ -77,6 +81,7 @@ def __init__(
UnsetType,
] = unset,
recipients: Union[List[str], UnsetType] = unset,
+ rule_options: Union[MonitorNotificationRuleOptions, UnsetType] = unset,
**kwargs,
):
"""
@@ -97,6 +102,9 @@ def __init__(
:param recipients: A list of recipients to notify. Uses the same format as the monitor ``message`` field. Must not start with an '@'. Cannot be used with ``conditional_recipients``.
:type recipients: [str], optional
+
+ :param rule_options: Additional options for the monitor notification rule.
+ :type rule_options: MonitorNotificationRuleOptions, optional
"""
if bundle_config is not unset:
kwargs["bundle_config"] = bundle_config
@@ -106,6 +114,8 @@ def __init__(
kwargs["filter"] = filter
if recipients is not unset:
kwargs["recipients"] = recipients
+ if rule_options is not unset:
+ kwargs["rule_options"] = rule_options
super().__init__(kwargs)
self_.name = name
diff --git a/src/datadog_api_client/v2/model/monitor_notification_rule_options.py b/src/datadog_api_client/v2/model/monitor_notification_rule_options.py
new file mode 100644
index 0000000000..ec0475507b
--- /dev/null
+++ b/src/datadog_api_client/v2/model/monitor_notification_rule_options.py
@@ -0,0 +1,34 @@
+# 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 2019-Present Datadog, Inc.
+from __future__ import annotations
+
+
+from datadog_api_client.model_utils import (
+ ModelNormal,
+ cached_property,
+)
+
+
+class MonitorNotificationRuleOptions(ModelNormal):
+ @cached_property
+ def openapi_types(_):
+ return {
+ "is_threaded": (bool,),
+ }
+
+ attribute_map = {
+ "is_threaded": "is_threaded",
+ }
+
+ def __init__(self_, is_threaded: bool, **kwargs):
+ """
+ Additional options for the monitor notification rule.
+
+ :param is_threaded: Whether notifications from this rule are threaded. When ``true`` , follow-up notifications for the same monitor alert are posted in Slack as replies to the first notification.
+ Cannot be ``true`` when ``bundle_config`` is set.
+ :type is_threaded: bool
+ """
+ super().__init__(kwargs)
+
+ self_.is_threaded = is_threaded
diff --git a/src/datadog_api_client/v2/model/monitor_notification_rule_response_attributes.py b/src/datadog_api_client/v2/model/monitor_notification_rule_response_attributes.py
index a2004b1d28..7580f93e3c 100644
--- a/src/datadog_api_client/v2/model/monitor_notification_rule_response_attributes.py
+++ b/src/datadog_api_client/v2/model/monitor_notification_rule_response_attributes.py
@@ -20,6 +20,7 @@
MonitorNotificationRuleConditionalRecipients,
)
from datadog_api_client.v2.model.monitor_notification_rule_filter import MonitorNotificationRuleFilter
+ from datadog_api_client.v2.model.monitor_notification_rule_options import MonitorNotificationRuleOptions
from datadog_api_client.v2.model.monitor_notification_rule_filter_tags import MonitorNotificationRuleFilterTags
from datadog_api_client.v2.model.monitor_notification_rule_filter_scope import MonitorNotificationRuleFilterScope
@@ -45,6 +46,7 @@ def openapi_types(_):
MonitorNotificationRuleConditionalRecipients,
)
from datadog_api_client.v2.model.monitor_notification_rule_filter import MonitorNotificationRuleFilter
+ from datadog_api_client.v2.model.monitor_notification_rule_options import MonitorNotificationRuleOptions
return {
"bundle_config": (MonitorNotificationRuleBundleConfig,),
@@ -54,6 +56,7 @@ def openapi_types(_):
"modified": (datetime,),
"name": (str,),
"recipients": ([str],),
+ "rule_options": (MonitorNotificationRuleOptions,),
}
attribute_map = {
@@ -64,6 +67,7 @@ def openapi_types(_):
"modified": "modified",
"name": "name",
"recipients": "recipients",
+ "rule_options": "rule_options",
}
def __init__(
@@ -80,6 +84,7 @@ def __init__(
modified: Union[datetime, UnsetType] = unset,
name: Union[str, UnsetType] = unset,
recipients: Union[List[str], UnsetType] = unset,
+ rule_options: Union[MonitorNotificationRuleOptions, UnsetType] = unset,
**kwargs,
):
"""
@@ -106,6 +111,9 @@ def __init__(
:param recipients: A list of recipients to notify. Uses the same format as the monitor ``message`` field. Must not start with an '@'. Cannot be used with ``conditional_recipients``.
:type recipients: [str], optional
+
+ :param rule_options: Additional options for the monitor notification rule.
+ :type rule_options: MonitorNotificationRuleOptions, optional
"""
if bundle_config is not unset:
kwargs["bundle_config"] = bundle_config
@@ -121,4 +129,6 @@ def __init__(
kwargs["name"] = name
if recipients is not unset:
kwargs["recipients"] = recipients
+ if rule_options is not unset:
+ kwargs["rule_options"] = rule_options
super().__init__(kwargs)
diff --git a/src/datadog_api_client/v2/model/salesforce_incidents_organization_response_attributes.py b/src/datadog_api_client/v2/model/salesforce_incidents_organization_response_attributes.py
deleted file mode 100644
index d71f23d335..0000000000
--- a/src/datadog_api_client/v2/model/salesforce_incidents_organization_response_attributes.py
+++ /dev/null
@@ -1,64 +0,0 @@
-# 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 2019-Present Datadog, Inc.
-from __future__ import annotations
-
-from typing import Union
-
-from datadog_api_client.model_utils import (
- ModelNormal,
- cached_property,
- unset,
- UnsetType,
-)
-
-
-class SalesforceIncidentsOrganizationResponseAttributes(ModelNormal):
- @cached_property
- def openapi_types(_):
- return {
- "instance_url": (str,),
- "name": (str,),
- "sfdc_org_id": (str,),
- "sfdc_org_type": (str,),
- }
-
- attribute_map = {
- "instance_url": "instance_url",
- "name": "name",
- "sfdc_org_id": "sfdc_org_id",
- "sfdc_org_type": "sfdc_org_type",
- }
-
- def __init__(
- self_,
- instance_url: Union[str, UnsetType] = unset,
- name: Union[str, UnsetType] = unset,
- sfdc_org_id: Union[str, UnsetType] = unset,
- sfdc_org_type: Union[str, UnsetType] = unset,
- **kwargs,
- ):
- """
- Attributes of a Salesforce organization connected to the Datadog Salesforce integration.
-
- :param instance_url: The Salesforce instance URL used to call this organization's APIs.
- :type instance_url: str, optional
-
- :param name: Human-readable name of the Salesforce organization.
- :type name: str, optional
-
- :param sfdc_org_id: The Salesforce organization identifier (15- or 18-character Salesforce org ID).
- :type sfdc_org_id: str, optional
-
- :param sfdc_org_type: The Salesforce organization type (for example, ``Production`` or ``Sandbox`` ).
- :type sfdc_org_type: str, optional
- """
- if instance_url is not unset:
- kwargs["instance_url"] = instance_url
- if name is not unset:
- kwargs["name"] = name
- if sfdc_org_id is not unset:
- kwargs["sfdc_org_id"] = sfdc_org_id
- if sfdc_org_type is not unset:
- kwargs["sfdc_org_type"] = sfdc_org_type
- super().__init__(kwargs)
diff --git a/src/datadog_api_client/v2/model/salesforce_incidents_organization_response_data.py b/src/datadog_api_client/v2/model/salesforce_incidents_organization_response_data.py
deleted file mode 100644
index 64b5c79032..0000000000
--- a/src/datadog_api_client/v2/model/salesforce_incidents_organization_response_data.py
+++ /dev/null
@@ -1,73 +0,0 @@
-# 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 2019-Present Datadog, Inc.
-from __future__ import annotations
-
-from typing import TYPE_CHECKING
-
-from datadog_api_client.model_utils import (
- ModelNormal,
- cached_property,
-)
-
-
-if TYPE_CHECKING:
- from datadog_api_client.v2.model.salesforce_incidents_organization_response_attributes import (
- SalesforceIncidentsOrganizationResponseAttributes,
- )
- from datadog_api_client.v2.model.salesforce_incidents_organization_type import SalesforceIncidentsOrganizationType
-
-
-class SalesforceIncidentsOrganizationResponseData(ModelNormal):
- validations = {
- "id": {
- "max_length": 100,
- "min_length": 1,
- },
- }
-
- @cached_property
- def openapi_types(_):
- from datadog_api_client.v2.model.salesforce_incidents_organization_response_attributes import (
- SalesforceIncidentsOrganizationResponseAttributes,
- )
- from datadog_api_client.v2.model.salesforce_incidents_organization_type import (
- SalesforceIncidentsOrganizationType,
- )
-
- return {
- "attributes": (SalesforceIncidentsOrganizationResponseAttributes,),
- "id": (str,),
- "type": (SalesforceIncidentsOrganizationType,),
- }
-
- attribute_map = {
- "attributes": "attributes",
- "id": "id",
- "type": "type",
- }
-
- def __init__(
- self_,
- attributes: SalesforceIncidentsOrganizationResponseAttributes,
- id: str,
- type: SalesforceIncidentsOrganizationType,
- **kwargs,
- ):
- """
- Salesforce organization data from a response.
-
- :param attributes: Attributes of a Salesforce organization connected to the Datadog Salesforce integration.
- :type attributes: SalesforceIncidentsOrganizationResponseAttributes
-
- :param id: The Datadog-assigned ID of the connected Salesforce organization.
- :type id: str
-
- :param type: Salesforce organization resource type.
- :type type: SalesforceIncidentsOrganizationType
- """
- super().__init__(kwargs)
-
- self_.attributes = attributes
- self_.id = id
- self_.type = type
diff --git a/src/datadog_api_client/v2/model/salesforce_incidents_organization_type.py b/src/datadog_api_client/v2/model/salesforce_incidents_organization_type.py
deleted file mode 100644
index b7feef67eb..0000000000
--- a/src/datadog_api_client/v2/model/salesforce_incidents_organization_type.py
+++ /dev/null
@@ -1,37 +0,0 @@
-# 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 2019-Present Datadog, Inc.
-from __future__ import annotations
-
-
-from datadog_api_client.model_utils import (
- ModelSimple,
- cached_property,
-)
-
-from typing import ClassVar
-
-
-class SalesforceIncidentsOrganizationType(ModelSimple):
- """
- Salesforce organization resource type.
-
- :param value: If omitted defaults to "salesforce-incidents-org". Must be one of ["salesforce-incidents-org"].
- :type value: str
- """
-
- allowed_values = {
- "salesforce-incidents-org",
- }
- SALESFORCE_INCIDENTS_ORG: ClassVar["SalesforceIncidentsOrganizationType"]
-
- @cached_property
- def openapi_types(_):
- return {
- "value": (str,),
- }
-
-
-SalesforceIncidentsOrganizationType.SALESFORCE_INCIDENTS_ORG = SalesforceIncidentsOrganizationType(
- "salesforce-incidents-org"
-)
diff --git a/src/datadog_api_client/v2/model/salesforce_incidents_organizations_response.py b/src/datadog_api_client/v2/model/salesforce_incidents_organizations_response.py
deleted file mode 100644
index 600384f1de..0000000000
--- a/src/datadog_api_client/v2/model/salesforce_incidents_organizations_response.py
+++ /dev/null
@@ -1,45 +0,0 @@
-# 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 2019-Present Datadog, Inc.
-from __future__ import annotations
-
-from typing import List, TYPE_CHECKING
-
-from datadog_api_client.model_utils import (
- ModelNormal,
- cached_property,
-)
-
-
-if TYPE_CHECKING:
- from datadog_api_client.v2.model.salesforce_incidents_organization_response_data import (
- SalesforceIncidentsOrganizationResponseData,
- )
-
-
-class SalesforceIncidentsOrganizationsResponse(ModelNormal):
- @cached_property
- def openapi_types(_):
- from datadog_api_client.v2.model.salesforce_incidents_organization_response_data import (
- SalesforceIncidentsOrganizationResponseData,
- )
-
- return {
- "data": ([SalesforceIncidentsOrganizationResponseData],),
- }
-
- attribute_map = {
- "data": "data",
- }
-
- def __init__(self_, data: List[SalesforceIncidentsOrganizationResponseData], **kwargs):
- """
- Response containing a list of Salesforce organizations connected to the
- Datadog Salesforce integration.
-
- :param data: An array of Salesforce organizations.
- :type data: [SalesforceIncidentsOrganizationResponseData]
- """
- super().__init__(kwargs)
-
- self_.data = data
diff --git a/src/datadog_api_client/v2/model/salesforce_incidents_template_create_attributes.py b/src/datadog_api_client/v2/model/salesforce_incidents_template_create_attributes.py
deleted file mode 100644
index b203d6b7a6..0000000000
--- a/src/datadog_api_client/v2/model/salesforce_incidents_template_create_attributes.py
+++ /dev/null
@@ -1,101 +0,0 @@
-# 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 2019-Present Datadog, Inc.
-from __future__ import annotations
-
-from typing import TYPE_CHECKING
-
-from datadog_api_client.model_utils import (
- ModelNormal,
- cached_property,
- UUID,
-)
-
-
-if TYPE_CHECKING:
- from datadog_api_client.v2.model.salesforce_incidents_template_priority import SalesforceIncidentsTemplatePriority
-
-
-class SalesforceIncidentsTemplateCreateAttributes(ModelNormal):
- validations = {
- "description": {
- "max_length": 2048,
- "min_length": 1,
- },
- "name": {
- "max_length": 100,
- "min_length": 1,
- },
- "owner_id": {
- "max_length": 255,
- "min_length": 1,
- },
- "subject": {
- "max_length": 255,
- "min_length": 1,
- },
- }
-
- @cached_property
- def openapi_types(_):
- from datadog_api_client.v2.model.salesforce_incidents_template_priority import (
- SalesforceIncidentsTemplatePriority,
- )
-
- return {
- "description": (str,),
- "name": (str,),
- "owner_id": (str,),
- "priority": (SalesforceIncidentsTemplatePriority,),
- "salesforce_org_id": (UUID,),
- "subject": (str,),
- }
-
- attribute_map = {
- "description": "description",
- "name": "name",
- "owner_id": "owner_id",
- "priority": "priority",
- "salesforce_org_id": "salesforce_org_id",
- "subject": "subject",
- }
-
- def __init__(
- self_,
- description: str,
- name: str,
- owner_id: str,
- priority: SalesforceIncidentsTemplatePriority,
- salesforce_org_id: UUID,
- subject: str,
- **kwargs,
- ):
- """
- Salesforce incident template attributes for a create request.
-
- :param description: Long-form description body for Salesforce incidents created from this template.
- :type description: str
-
- :param name: Human-readable name for this incident template. Must be unique within your organization.
- :type name: str
-
- :param owner_id: The Salesforce user ID that owns incidents created from this template.
- :type owner_id: str
-
- :param priority: Priority of the Salesforce incident created from this template.
- :type priority: SalesforceIncidentsTemplatePriority
-
- :param salesforce_org_id: The Datadog-assigned ID of the Salesforce organization this template belongs to.
- :type salesforce_org_id: UUID
-
- :param subject: Subject line for Salesforce incidents created from this template.
- :type subject: str
- """
- super().__init__(kwargs)
-
- self_.description = description
- self_.name = name
- self_.owner_id = owner_id
- self_.priority = priority
- self_.salesforce_org_id = salesforce_org_id
- self_.subject = subject
diff --git a/src/datadog_api_client/v2/model/salesforce_incidents_template_create_data.py b/src/datadog_api_client/v2/model/salesforce_incidents_template_create_data.py
deleted file mode 100644
index 8314b48839..0000000000
--- a/src/datadog_api_client/v2/model/salesforce_incidents_template_create_data.py
+++ /dev/null
@@ -1,54 +0,0 @@
-# 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 2019-Present Datadog, Inc.
-from __future__ import annotations
-
-from typing import TYPE_CHECKING
-
-from datadog_api_client.model_utils import (
- ModelNormal,
- cached_property,
-)
-
-
-if TYPE_CHECKING:
- from datadog_api_client.v2.model.salesforce_incidents_template_create_attributes import (
- SalesforceIncidentsTemplateCreateAttributes,
- )
- from datadog_api_client.v2.model.salesforce_incidents_template_type import SalesforceIncidentsTemplateType
-
-
-class SalesforceIncidentsTemplateCreateData(ModelNormal):
- @cached_property
- def openapi_types(_):
- from datadog_api_client.v2.model.salesforce_incidents_template_create_attributes import (
- SalesforceIncidentsTemplateCreateAttributes,
- )
- from datadog_api_client.v2.model.salesforce_incidents_template_type import SalesforceIncidentsTemplateType
-
- return {
- "attributes": (SalesforceIncidentsTemplateCreateAttributes,),
- "type": (SalesforceIncidentsTemplateType,),
- }
-
- attribute_map = {
- "attributes": "attributes",
- "type": "type",
- }
-
- def __init__(
- self_, attributes: SalesforceIncidentsTemplateCreateAttributes, type: SalesforceIncidentsTemplateType, **kwargs
- ):
- """
- Salesforce incident template data for a create request.
-
- :param attributes: Salesforce incident template attributes for a create request.
- :type attributes: SalesforceIncidentsTemplateCreateAttributes
-
- :param type: Salesforce incident template resource type.
- :type type: SalesforceIncidentsTemplateType
- """
- super().__init__(kwargs)
-
- self_.attributes = attributes
- self_.type = type
diff --git a/src/datadog_api_client/v2/model/salesforce_incidents_template_create_request.py b/src/datadog_api_client/v2/model/salesforce_incidents_template_create_request.py
deleted file mode 100644
index 8f6a29c339..0000000000
--- a/src/datadog_api_client/v2/model/salesforce_incidents_template_create_request.py
+++ /dev/null
@@ -1,44 +0,0 @@
-# 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 2019-Present Datadog, Inc.
-from __future__ import annotations
-
-from typing import TYPE_CHECKING
-
-from datadog_api_client.model_utils import (
- ModelNormal,
- cached_property,
-)
-
-
-if TYPE_CHECKING:
- from datadog_api_client.v2.model.salesforce_incidents_template_create_data import (
- SalesforceIncidentsTemplateCreateData,
- )
-
-
-class SalesforceIncidentsTemplateCreateRequest(ModelNormal):
- @cached_property
- def openapi_types(_):
- from datadog_api_client.v2.model.salesforce_incidents_template_create_data import (
- SalesforceIncidentsTemplateCreateData,
- )
-
- return {
- "data": (SalesforceIncidentsTemplateCreateData,),
- }
-
- attribute_map = {
- "data": "data",
- }
-
- def __init__(self_, data: SalesforceIncidentsTemplateCreateData, **kwargs):
- """
- Create request for a Salesforce incident template.
-
- :param data: Salesforce incident template data for a create request.
- :type data: SalesforceIncidentsTemplateCreateData
- """
- super().__init__(kwargs)
-
- self_.data = data
diff --git a/src/datadog_api_client/v2/model/salesforce_incidents_template_priority.py b/src/datadog_api_client/v2/model/salesforce_incidents_template_priority.py
deleted file mode 100644
index 944ec21fba..0000000000
--- a/src/datadog_api_client/v2/model/salesforce_incidents_template_priority.py
+++ /dev/null
@@ -1,44 +0,0 @@
-# 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 2019-Present Datadog, Inc.
-from __future__ import annotations
-
-
-from datadog_api_client.model_utils import (
- ModelSimple,
- cached_property,
-)
-
-from typing import ClassVar
-
-
-class SalesforceIncidentsTemplatePriority(ModelSimple):
- """
- Priority of the Salesforce incident created from this template.
-
- :param value: Must be one of ["Critical", "High", "Moderate", "Low"].
- :type value: str
- """
-
- allowed_values = {
- "Critical",
- "High",
- "Moderate",
- "Low",
- }
- CRITICAL: ClassVar["SalesforceIncidentsTemplatePriority"]
- HIGH: ClassVar["SalesforceIncidentsTemplatePriority"]
- MODERATE: ClassVar["SalesforceIncidentsTemplatePriority"]
- LOW: ClassVar["SalesforceIncidentsTemplatePriority"]
-
- @cached_property
- def openapi_types(_):
- return {
- "value": (str,),
- }
-
-
-SalesforceIncidentsTemplatePriority.CRITICAL = SalesforceIncidentsTemplatePriority("Critical")
-SalesforceIncidentsTemplatePriority.HIGH = SalesforceIncidentsTemplatePriority("High")
-SalesforceIncidentsTemplatePriority.MODERATE = SalesforceIncidentsTemplatePriority("Moderate")
-SalesforceIncidentsTemplatePriority.LOW = SalesforceIncidentsTemplatePriority("Low")
diff --git a/src/datadog_api_client/v2/model/salesforce_incidents_template_response.py b/src/datadog_api_client/v2/model/salesforce_incidents_template_response.py
deleted file mode 100644
index 67b3a18c94..0000000000
--- a/src/datadog_api_client/v2/model/salesforce_incidents_template_response.py
+++ /dev/null
@@ -1,44 +0,0 @@
-# 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 2019-Present Datadog, Inc.
-from __future__ import annotations
-
-from typing import TYPE_CHECKING
-
-from datadog_api_client.model_utils import (
- ModelNormal,
- cached_property,
-)
-
-
-if TYPE_CHECKING:
- from datadog_api_client.v2.model.salesforce_incidents_template_response_data import (
- SalesforceIncidentsTemplateResponseData,
- )
-
-
-class SalesforceIncidentsTemplateResponse(ModelNormal):
- @cached_property
- def openapi_types(_):
- from datadog_api_client.v2.model.salesforce_incidents_template_response_data import (
- SalesforceIncidentsTemplateResponseData,
- )
-
- return {
- "data": (SalesforceIncidentsTemplateResponseData,),
- }
-
- attribute_map = {
- "data": "data",
- }
-
- def __init__(self_, data: SalesforceIncidentsTemplateResponseData, **kwargs):
- """
- Response containing a Salesforce incident template.
-
- :param data: Salesforce incident template data from a response.
- :type data: SalesforceIncidentsTemplateResponseData
- """
- super().__init__(kwargs)
-
- self_.data = data
diff --git a/src/datadog_api_client/v2/model/salesforce_incidents_template_response_attributes.py b/src/datadog_api_client/v2/model/salesforce_incidents_template_response_attributes.py
deleted file mode 100644
index f3be1c5226..0000000000
--- a/src/datadog_api_client/v2/model/salesforce_incidents_template_response_attributes.py
+++ /dev/null
@@ -1,89 +0,0 @@
-# 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 2019-Present Datadog, Inc.
-from __future__ import annotations
-
-from typing import Union, TYPE_CHECKING
-
-from datadog_api_client.model_utils import (
- ModelNormal,
- cached_property,
- unset,
- UnsetType,
- UUID,
-)
-
-
-if TYPE_CHECKING:
- from datadog_api_client.v2.model.salesforce_incidents_template_priority import SalesforceIncidentsTemplatePriority
-
-
-class SalesforceIncidentsTemplateResponseAttributes(ModelNormal):
- @cached_property
- def openapi_types(_):
- from datadog_api_client.v2.model.salesforce_incidents_template_priority import (
- SalesforceIncidentsTemplatePriority,
- )
-
- return {
- "description": (str,),
- "name": (str,),
- "owner_id": (str,),
- "priority": (SalesforceIncidentsTemplatePriority,),
- "salesforce_org_id": (UUID,),
- "subject": (str,),
- }
-
- attribute_map = {
- "description": "description",
- "name": "name",
- "owner_id": "owner_id",
- "priority": "priority",
- "salesforce_org_id": "salesforce_org_id",
- "subject": "subject",
- }
-
- def __init__(
- self_,
- description: Union[str, UnsetType] = unset,
- name: Union[str, UnsetType] = unset,
- owner_id: Union[str, UnsetType] = unset,
- priority: Union[SalesforceIncidentsTemplatePriority, UnsetType] = unset,
- salesforce_org_id: Union[UUID, UnsetType] = unset,
- subject: Union[str, UnsetType] = unset,
- **kwargs,
- ):
- """
- Salesforce incident template attributes returned by the API.
-
- :param description: Long-form description body for Salesforce incidents created from this template.
- :type description: str, optional
-
- :param name: Human-readable name for this incident template.
- :type name: str, optional
-
- :param owner_id: The Salesforce user ID that owns incidents created from this template.
- :type owner_id: str, optional
-
- :param priority: Priority of the Salesforce incident created from this template.
- :type priority: SalesforceIncidentsTemplatePriority, optional
-
- :param salesforce_org_id: The Datadog-assigned ID of the Salesforce organization this template belongs to.
- :type salesforce_org_id: UUID, optional
-
- :param subject: Subject line for Salesforce incidents created from this template.
- :type subject: str, optional
- """
- if description is not unset:
- kwargs["description"] = description
- if name is not unset:
- kwargs["name"] = name
- if owner_id is not unset:
- kwargs["owner_id"] = owner_id
- if priority is not unset:
- kwargs["priority"] = priority
- if salesforce_org_id is not unset:
- kwargs["salesforce_org_id"] = salesforce_org_id
- if subject is not unset:
- kwargs["subject"] = subject
- super().__init__(kwargs)
diff --git a/src/datadog_api_client/v2/model/salesforce_incidents_template_response_data.py b/src/datadog_api_client/v2/model/salesforce_incidents_template_response_data.py
deleted file mode 100644
index 09b4ca5610..0000000000
--- a/src/datadog_api_client/v2/model/salesforce_incidents_template_response_data.py
+++ /dev/null
@@ -1,71 +0,0 @@
-# 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 2019-Present Datadog, Inc.
-from __future__ import annotations
-
-from typing import TYPE_CHECKING
-
-from datadog_api_client.model_utils import (
- ModelNormal,
- cached_property,
-)
-
-
-if TYPE_CHECKING:
- from datadog_api_client.v2.model.salesforce_incidents_template_response_attributes import (
- SalesforceIncidentsTemplateResponseAttributes,
- )
- from datadog_api_client.v2.model.salesforce_incidents_template_type import SalesforceIncidentsTemplateType
-
-
-class SalesforceIncidentsTemplateResponseData(ModelNormal):
- validations = {
- "id": {
- "max_length": 100,
- "min_length": 1,
- },
- }
-
- @cached_property
- def openapi_types(_):
- from datadog_api_client.v2.model.salesforce_incidents_template_response_attributes import (
- SalesforceIncidentsTemplateResponseAttributes,
- )
- from datadog_api_client.v2.model.salesforce_incidents_template_type import SalesforceIncidentsTemplateType
-
- return {
- "attributes": (SalesforceIncidentsTemplateResponseAttributes,),
- "id": (str,),
- "type": (SalesforceIncidentsTemplateType,),
- }
-
- attribute_map = {
- "attributes": "attributes",
- "id": "id",
- "type": "type",
- }
-
- def __init__(
- self_,
- attributes: SalesforceIncidentsTemplateResponseAttributes,
- id: str,
- type: SalesforceIncidentsTemplateType,
- **kwargs,
- ):
- """
- Salesforce incident template data from a response.
-
- :param attributes: Salesforce incident template attributes returned by the API.
- :type attributes: SalesforceIncidentsTemplateResponseAttributes
-
- :param id: The ID of the Salesforce incident template.
- :type id: str
-
- :param type: Salesforce incident template resource type.
- :type type: SalesforceIncidentsTemplateType
- """
- super().__init__(kwargs)
-
- self_.attributes = attributes
- self_.id = id
- self_.type = type
diff --git a/src/datadog_api_client/v2/model/salesforce_incidents_template_type.py b/src/datadog_api_client/v2/model/salesforce_incidents_template_type.py
deleted file mode 100644
index a974d6167f..0000000000
--- a/src/datadog_api_client/v2/model/salesforce_incidents_template_type.py
+++ /dev/null
@@ -1,37 +0,0 @@
-# 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 2019-Present Datadog, Inc.
-from __future__ import annotations
-
-
-from datadog_api_client.model_utils import (
- ModelSimple,
- cached_property,
-)
-
-from typing import ClassVar
-
-
-class SalesforceIncidentsTemplateType(ModelSimple):
- """
- Salesforce incident template resource type.
-
- :param value: If omitted defaults to "salesforce-incidents-incident-template". Must be one of ["salesforce-incidents-incident-template"].
- :type value: str
- """
-
- allowed_values = {
- "salesforce-incidents-incident-template",
- }
- SALESFORCE_INCIDENTS_INCIDENT_TEMPLATE: ClassVar["SalesforceIncidentsTemplateType"]
-
- @cached_property
- def openapi_types(_):
- return {
- "value": (str,),
- }
-
-
-SalesforceIncidentsTemplateType.SALESFORCE_INCIDENTS_INCIDENT_TEMPLATE = SalesforceIncidentsTemplateType(
- "salesforce-incidents-incident-template"
-)
diff --git a/src/datadog_api_client/v2/model/salesforce_incidents_template_update_attributes.py b/src/datadog_api_client/v2/model/salesforce_incidents_template_update_attributes.py
deleted file mode 100644
index a2d2b33ec5..0000000000
--- a/src/datadog_api_client/v2/model/salesforce_incidents_template_update_attributes.py
+++ /dev/null
@@ -1,108 +0,0 @@
-# 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 2019-Present Datadog, Inc.
-from __future__ import annotations
-
-from typing import Union, TYPE_CHECKING
-
-from datadog_api_client.model_utils import (
- ModelNormal,
- cached_property,
- unset,
- UnsetType,
- UUID,
-)
-
-
-if TYPE_CHECKING:
- from datadog_api_client.v2.model.salesforce_incidents_template_priority import SalesforceIncidentsTemplatePriority
-
-
-class SalesforceIncidentsTemplateUpdateAttributes(ModelNormal):
- validations = {
- "description": {
- "max_length": 2048,
- "min_length": 1,
- },
- "name": {
- "max_length": 100,
- "min_length": 1,
- },
- "owner_id": {
- "max_length": 255,
- "min_length": 1,
- },
- "subject": {
- "max_length": 255,
- "min_length": 1,
- },
- }
-
- @cached_property
- def openapi_types(_):
- from datadog_api_client.v2.model.salesforce_incidents_template_priority import (
- SalesforceIncidentsTemplatePriority,
- )
-
- return {
- "description": (str,),
- "name": (str,),
- "owner_id": (str,),
- "priority": (SalesforceIncidentsTemplatePriority,),
- "salesforce_org_id": (UUID,),
- "subject": (str,),
- }
-
- attribute_map = {
- "description": "description",
- "name": "name",
- "owner_id": "owner_id",
- "priority": "priority",
- "salesforce_org_id": "salesforce_org_id",
- "subject": "subject",
- }
-
- def __init__(
- self_,
- description: Union[str, UnsetType] = unset,
- name: Union[str, UnsetType] = unset,
- owner_id: Union[str, UnsetType] = unset,
- priority: Union[SalesforceIncidentsTemplatePriority, UnsetType] = unset,
- salesforce_org_id: Union[UUID, UnsetType] = unset,
- subject: Union[str, UnsetType] = unset,
- **kwargs,
- ):
- """
- Salesforce incident template attributes for an update request.
-
- :param description: Long-form description body for Salesforce incidents created from this template.
- :type description: str, optional
-
- :param name: Human-readable name for this incident template.
- :type name: str, optional
-
- :param owner_id: The Salesforce user ID that owns incidents created from this template.
- :type owner_id: str, optional
-
- :param priority: Priority of the Salesforce incident created from this template.
- :type priority: SalesforceIncidentsTemplatePriority, optional
-
- :param salesforce_org_id: The Datadog-assigned ID of the Salesforce organization this template belongs to.
- :type salesforce_org_id: UUID, optional
-
- :param subject: Subject line for Salesforce incidents created from this template.
- :type subject: str, optional
- """
- if description is not unset:
- kwargs["description"] = description
- if name is not unset:
- kwargs["name"] = name
- if owner_id is not unset:
- kwargs["owner_id"] = owner_id
- if priority is not unset:
- kwargs["priority"] = priority
- if salesforce_org_id is not unset:
- kwargs["salesforce_org_id"] = salesforce_org_id
- if subject is not unset:
- kwargs["subject"] = subject
- super().__init__(kwargs)
diff --git a/src/datadog_api_client/v2/model/salesforce_incidents_template_update_data.py b/src/datadog_api_client/v2/model/salesforce_incidents_template_update_data.py
deleted file mode 100644
index d7dfcd04d2..0000000000
--- a/src/datadog_api_client/v2/model/salesforce_incidents_template_update_data.py
+++ /dev/null
@@ -1,71 +0,0 @@
-# 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 2019-Present Datadog, Inc.
-from __future__ import annotations
-
-from typing import TYPE_CHECKING
-
-from datadog_api_client.model_utils import (
- ModelNormal,
- cached_property,
-)
-
-
-if TYPE_CHECKING:
- from datadog_api_client.v2.model.salesforce_incidents_template_update_attributes import (
- SalesforceIncidentsTemplateUpdateAttributes,
- )
- from datadog_api_client.v2.model.salesforce_incidents_template_type import SalesforceIncidentsTemplateType
-
-
-class SalesforceIncidentsTemplateUpdateData(ModelNormal):
- validations = {
- "id": {
- "max_length": 100,
- "min_length": 1,
- },
- }
-
- @cached_property
- def openapi_types(_):
- from datadog_api_client.v2.model.salesforce_incidents_template_update_attributes import (
- SalesforceIncidentsTemplateUpdateAttributes,
- )
- from datadog_api_client.v2.model.salesforce_incidents_template_type import SalesforceIncidentsTemplateType
-
- return {
- "attributes": (SalesforceIncidentsTemplateUpdateAttributes,),
- "id": (str,),
- "type": (SalesforceIncidentsTemplateType,),
- }
-
- attribute_map = {
- "attributes": "attributes",
- "id": "id",
- "type": "type",
- }
-
- def __init__(
- self_,
- attributes: SalesforceIncidentsTemplateUpdateAttributes,
- id: str,
- type: SalesforceIncidentsTemplateType,
- **kwargs,
- ):
- """
- Salesforce incident template data for an update request.
-
- :param attributes: Salesforce incident template attributes for an update request.
- :type attributes: SalesforceIncidentsTemplateUpdateAttributes
-
- :param id: The ID of the Salesforce incident template being updated. Must match the path parameter.
- :type id: str
-
- :param type: Salesforce incident template resource type.
- :type type: SalesforceIncidentsTemplateType
- """
- super().__init__(kwargs)
-
- self_.attributes = attributes
- self_.id = id
- self_.type = type
diff --git a/src/datadog_api_client/v2/model/salesforce_incidents_template_update_request.py b/src/datadog_api_client/v2/model/salesforce_incidents_template_update_request.py
deleted file mode 100644
index 56721a7299..0000000000
--- a/src/datadog_api_client/v2/model/salesforce_incidents_template_update_request.py
+++ /dev/null
@@ -1,44 +0,0 @@
-# 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 2019-Present Datadog, Inc.
-from __future__ import annotations
-
-from typing import TYPE_CHECKING
-
-from datadog_api_client.model_utils import (
- ModelNormal,
- cached_property,
-)
-
-
-if TYPE_CHECKING:
- from datadog_api_client.v2.model.salesforce_incidents_template_update_data import (
- SalesforceIncidentsTemplateUpdateData,
- )
-
-
-class SalesforceIncidentsTemplateUpdateRequest(ModelNormal):
- @cached_property
- def openapi_types(_):
- from datadog_api_client.v2.model.salesforce_incidents_template_update_data import (
- SalesforceIncidentsTemplateUpdateData,
- )
-
- return {
- "data": (SalesforceIncidentsTemplateUpdateData,),
- }
-
- attribute_map = {
- "data": "data",
- }
-
- def __init__(self_, data: SalesforceIncidentsTemplateUpdateData, **kwargs):
- """
- Update request for a Salesforce incident template.
-
- :param data: Salesforce incident template data for an update request.
- :type data: SalesforceIncidentsTemplateUpdateData
- """
- super().__init__(kwargs)
-
- self_.data = data
diff --git a/src/datadog_api_client/v2/model/salesforce_incidents_templates_response.py b/src/datadog_api_client/v2/model/salesforce_incidents_templates_response.py
deleted file mode 100644
index e0e0042afc..0000000000
--- a/src/datadog_api_client/v2/model/salesforce_incidents_templates_response.py
+++ /dev/null
@@ -1,44 +0,0 @@
-# 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 2019-Present Datadog, Inc.
-from __future__ import annotations
-
-from typing import List, TYPE_CHECKING
-
-from datadog_api_client.model_utils import (
- ModelNormal,
- cached_property,
-)
-
-
-if TYPE_CHECKING:
- from datadog_api_client.v2.model.salesforce_incidents_template_response_data import (
- SalesforceIncidentsTemplateResponseData,
- )
-
-
-class SalesforceIncidentsTemplatesResponse(ModelNormal):
- @cached_property
- def openapi_types(_):
- from datadog_api_client.v2.model.salesforce_incidents_template_response_data import (
- SalesforceIncidentsTemplateResponseData,
- )
-
- return {
- "data": ([SalesforceIncidentsTemplateResponseData],),
- }
-
- attribute_map = {
- "data": "data",
- }
-
- def __init__(self_, data: List[SalesforceIncidentsTemplateResponseData], **kwargs):
- """
- Response containing a list of Salesforce incident templates.
-
- :param data: An array of Salesforce incident templates.
- :type data: [SalesforceIncidentsTemplateResponseData]
- """
- super().__init__(kwargs)
-
- self_.data = data
diff --git a/src/datadog_api_client/v2/models/__init__.py b/src/datadog_api_client/v2/models/__init__.py
index 0844b67aea..55119e104e 100644
--- a/src/datadog_api_client/v2/models/__init__.py
+++ b/src/datadog_api_client/v2/models/__init__.py
@@ -6720,6 +6720,7 @@
from datadog_api_client.v2.model.monitor_notification_rule_filter_scope import MonitorNotificationRuleFilterScope
from datadog_api_client.v2.model.monitor_notification_rule_filter_tags import MonitorNotificationRuleFilterTags
from datadog_api_client.v2.model.monitor_notification_rule_list_response import MonitorNotificationRuleListResponse
+from datadog_api_client.v2.model.monitor_notification_rule_options import MonitorNotificationRuleOptions
from datadog_api_client.v2.model.monitor_notification_rule_relationships import MonitorNotificationRuleRelationships
from datadog_api_client.v2.model.monitor_notification_rule_relationships_created_by import (
MonitorNotificationRuleRelationshipsCreatedBy,
@@ -9723,40 +9724,6 @@
from datadog_api_client.v2.model.stix_object import STIXObject
from datadog_api_client.v2.model.stix_pattern_type import STIXPatternType
from datadog_api_client.v2.model.stix_spec_version import STIXSpecVersion
-from datadog_api_client.v2.model.salesforce_incidents_organization_response_attributes import (
- SalesforceIncidentsOrganizationResponseAttributes,
-)
-from datadog_api_client.v2.model.salesforce_incidents_organization_response_data import (
- SalesforceIncidentsOrganizationResponseData,
-)
-from datadog_api_client.v2.model.salesforce_incidents_organization_type import SalesforceIncidentsOrganizationType
-from datadog_api_client.v2.model.salesforce_incidents_organizations_response import (
- SalesforceIncidentsOrganizationsResponse,
-)
-from datadog_api_client.v2.model.salesforce_incidents_template_create_attributes import (
- SalesforceIncidentsTemplateCreateAttributes,
-)
-from datadog_api_client.v2.model.salesforce_incidents_template_create_data import SalesforceIncidentsTemplateCreateData
-from datadog_api_client.v2.model.salesforce_incidents_template_create_request import (
- SalesforceIncidentsTemplateCreateRequest,
-)
-from datadog_api_client.v2.model.salesforce_incidents_template_priority import SalesforceIncidentsTemplatePriority
-from datadog_api_client.v2.model.salesforce_incidents_template_response import SalesforceIncidentsTemplateResponse
-from datadog_api_client.v2.model.salesforce_incidents_template_response_attributes import (
- SalesforceIncidentsTemplateResponseAttributes,
-)
-from datadog_api_client.v2.model.salesforce_incidents_template_response_data import (
- SalesforceIncidentsTemplateResponseData,
-)
-from datadog_api_client.v2.model.salesforce_incidents_template_type import SalesforceIncidentsTemplateType
-from datadog_api_client.v2.model.salesforce_incidents_template_update_attributes import (
- SalesforceIncidentsTemplateUpdateAttributes,
-)
-from datadog_api_client.v2.model.salesforce_incidents_template_update_data import SalesforceIncidentsTemplateUpdateData
-from datadog_api_client.v2.model.salesforce_incidents_template_update_request import (
- SalesforceIncidentsTemplateUpdateRequest,
-)
-from datadog_api_client.v2.model.salesforce_incidents_templates_response import SalesforceIncidentsTemplatesResponse
from datadog_api_client.v2.model.sample_log_generation_bulk_subscription_attributes import (
SampleLogGenerationBulkSubscriptionAttributes,
)
@@ -17949,6 +17916,7 @@
"MonitorNotificationRuleFilterScope",
"MonitorNotificationRuleFilterTags",
"MonitorNotificationRuleListResponse",
+ "MonitorNotificationRuleOptions",
"MonitorNotificationRuleRelationships",
"MonitorNotificationRuleRelationshipsCreatedBy",
"MonitorNotificationRuleRelationshipsCreatedByData",
@@ -19784,22 +19752,6 @@
"STIXObject",
"STIXPatternType",
"STIXSpecVersion",
- "SalesforceIncidentsOrganizationResponseAttributes",
- "SalesforceIncidentsOrganizationResponseData",
- "SalesforceIncidentsOrganizationType",
- "SalesforceIncidentsOrganizationsResponse",
- "SalesforceIncidentsTemplateCreateAttributes",
- "SalesforceIncidentsTemplateCreateData",
- "SalesforceIncidentsTemplateCreateRequest",
- "SalesforceIncidentsTemplatePriority",
- "SalesforceIncidentsTemplateResponse",
- "SalesforceIncidentsTemplateResponseAttributes",
- "SalesforceIncidentsTemplateResponseData",
- "SalesforceIncidentsTemplateType",
- "SalesforceIncidentsTemplateUpdateAttributes",
- "SalesforceIncidentsTemplateUpdateData",
- "SalesforceIncidentsTemplateUpdateRequest",
- "SalesforceIncidentsTemplatesResponse",
"SampleLogGenerationBulkSubscriptionAttributes",
"SampleLogGenerationBulkSubscriptionData",
"SampleLogGenerationBulkSubscriptionItemMeta",
diff --git a/tests/generated-test/test-runner-data/manifest.json b/tests/generated-test/test-runner-data/manifest.json
index 3f5d5a1ed7..8df9eafce9 100644
--- a/tests/generated-test/test-runner-data/manifest.json
+++ b/tests/generated-test/test-runner-data/manifest.json
@@ -8414,6 +8414,13 @@
"scenario": "Create a monitor notification rule with conditional recipients returns \"OK\" response",
"version": "v2"
},
+ {
+ "feature": "Monitors",
+ "feature_file": "../../v2/features/monitors.feature",
+ "file": "v2/monitors/create-a-monitor-notification-rule-with-rule-options-returns-ok-response.json",
+ "scenario": "Create a monitor notification rule with rule options returns \"OK\" response",
+ "version": "v2"
+ },
{
"feature": "Monitors",
"feature_file": "../../v2/features/monitors.feature",
@@ -8596,6 +8603,13 @@
"scenario": "Update a monitor notification rule with conditional_recipients returns \"OK\" response",
"version": "v2"
},
+ {
+ "feature": "Monitors",
+ "feature_file": "../../v2/features/monitors.feature",
+ "file": "v2/monitors/update-a-monitor-notification-rule-with-rule-options-returns-ok-response.json",
+ "scenario": "Update a monitor notification rule with rule options returns \"OK\" response",
+ "version": "v2"
+ },
{
"feature": "Monitors",
"feature_file": "../../v2/features/monitors.feature",
diff --git a/tests/generated-test/test-runner-data/v2/monitors/create-a-monitor-notification-rule-with-rule-options-returns-ok-response.json b/tests/generated-test/test-runner-data/v2/monitors/create-a-monitor-notification-rule-with-rule-options-returns-ok-response.json
new file mode 100644
index 0000000000..00dcd8c847
--- /dev/null
+++ b/tests/generated-test/test-runner-data/v2/monitors/create-a-monitor-notification-rule-with-rule-options-returns-ok-response.json
@@ -0,0 +1,44 @@
+{
+ "api": "Monitors",
+ "expected_status": 200,
+ "feature": "Monitors",
+ "id": "v2/Monitors/Create a monitor notification rule with rule options returns \"OK\" response",
+ "operation_id": "CreateMonitorNotificationRule",
+ "request": {
+ "body": {
+ "schema": {
+ "format": null,
+ "ref": "MonitorNotificationRuleCreateRequest",
+ "type": "object"
+ },
+ "source": "inline",
+ "value": {
+ "data": {
+ "attributes": {
+ "filter": {
+ "tags": [
+ "test:{{ unique_lower }}"
+ ]
+ },
+ "name": "test rule",
+ "recipients": [
+ "slack-test-channel"
+ ],
+ "rule_options": {
+ "is_threaded": true
+ }
+ },
+ "type": "monitor-notification-rule"
+ }
+ }
+ },
+ "content_type": "application/json",
+ "method": "POST",
+ "pagination": false,
+ "parameters": [],
+ "path": "/api/v2/monitor/notification_rule"
+ },
+ "scenario": "Create a monitor notification rule with rule options returns \"OK\" response",
+ "schema_version": 1,
+ "version": "v2"
+}
diff --git a/tests/generated-test/test-runner-data/v2/monitors/update-a-monitor-notification-rule-with-rule-options-returns-ok-response.json b/tests/generated-test/test-runner-data/v2/monitors/update-a-monitor-notification-rule-with-rule-options-returns-ok-response.json
new file mode 100644
index 0000000000..7a98cd0b53
--- /dev/null
+++ b/tests/generated-test/test-runner-data/v2/monitors/update-a-monitor-notification-rule-with-rule-options-returns-ok-response.json
@@ -0,0 +1,62 @@
+{
+ "api": "Monitors",
+ "expected_status": 200,
+ "feature": "Monitors",
+ "id": "v2/Monitors/Update a monitor notification rule with rule options returns \"OK\" response",
+ "operation_id": "UpdateMonitorNotificationRule",
+ "request": {
+ "body": {
+ "schema": {
+ "format": null,
+ "ref": "MonitorNotificationRuleUpdateRequest",
+ "type": "object"
+ },
+ "source": "inline",
+ "value": {
+ "data": {
+ "attributes": {
+ "filter": {
+ "tags": [
+ "test:{{ unique_lower }}"
+ ]
+ },
+ "name": "updated rule",
+ "recipients": [
+ "slack-test-channel"
+ ],
+ "rule_options": {
+ "is_threaded": false
+ }
+ },
+ "id": "{{ monitor_notification_rule.data.id }}",
+ "type": "monitor-notification-rule"
+ }
+ }
+ },
+ "content_type": "application/json",
+ "method": "PATCH",
+ "pagination": false,
+ "parameters": [
+ {
+ "explode": null,
+ "in": "path",
+ "name": "rule_id",
+ "required": true,
+ "schema": {
+ "format": null,
+ "ref": null,
+ "type": "string"
+ },
+ "source": {
+ "path": "monitor_notification_rule.data.id",
+ "type": "fixture"
+ },
+ "style": null
+ }
+ ],
+ "path": "/api/v2/monitor/notification_rule/{rule_id}"
+ },
+ "scenario": "Update a monitor notification rule with rule options returns \"OK\" response",
+ "schema_version": 1,
+ "version": "v2"
+}
diff --git a/tests/generated-test/test-server-data/v2/monitors.json b/tests/generated-test/test-server-data/v2/monitors.json
index bec7dd9efd..1f45934183 100644
--- a/tests/generated-test/test-server-data/v2/monitors.json
+++ b/tests/generated-test/test-server-data/v2/monitors.json
@@ -447,6 +447,78 @@
"scenario": "Create a monitor notification rule with conditional recipients returns \"OK\" response",
"version": "v2"
},
+ {
+ "feature": "Monitors",
+ "frozen_at": "2026-10-30T20:36:08.126Z",
+ "interactions": [
+ {
+ "request": {
+ "body": {
+ "type": "json",
+ "value": {
+ "data": {
+ "attributes": {
+ "filter": {
+ "tags": [
+ "test:test-create_a_monitor_notification_rule_with_rule_options_returns_ok_response-1793392568"
+ ]
+ },
+ "name": "test rule",
+ "recipients": [
+ "slack-test-channel"
+ ],
+ "rule_options": {
+ "is_threaded": true
+ }
+ },
+ "type": "monitor-notification-rule"
+ }
+ }
+ },
+ "content_type": "application/json",
+ "method": "POST",
+ "path": "/api/v2/monitor/notification_rule",
+ "query": []
+ },
+ "response": {
+ "body": {
+ "encoding": "text",
+ "value": "{\"data\":{\"type\":\"monitor-notification-rule\",\"id\":\"740e35fe-ba09-4bd7-981b-df1197331db5\",\"attributes\":{\"name\":\"test rule\",\"created_at\":\"2026-10-30T20:36:08.241525+00:00\",\"modified_at\":\"2026-10-30T20:36:08.260322+00:00\",\"filter\":{\"tags\":[\"test:test-create_a_monitor_notification_rule_with_rule_options_returns_ok_response-1793392568\"]},\"recipients\":[\"slack-test-channel\"],\"rule_options\":{\"is_threaded\":true}},\"relationships\":{\"created_by\":{\"data\":{\"type\":\"users\",\"id\":\"8c875225-6d15-408c-9dcc-dd539cd02fa5\"}}}},\"included\":[{\"type\":\"users\",\"id\":\"8c875225-6d15-408c-9dcc-dd539cd02fa5\",\"attributes\":{\"uuid\":\"8c875225-6d15-408c-9dcc-dd539cd02fa5\",\"name\":\"Shane Yuan\",\"handle\":\"shane.yuan@datadoghq.com\",\"created_at\":\"2026-10-30T20:27:13.026594+00:00\",\"modified_at\":\"2026-10-30T20:27:25.236531+00:00\",\"email\":\"shane.yuan@datadoghq.com\",\"icon\":\"https://secure.gravatar.com/avatar/188fa6df65bb6c77c82677908094fbdb?s=48&d=retro\",\"title\":null,\"verified\":true,\"service_account\":false,\"disabled\":false,\"allowed_login_methods\":[],\"status\":\"Active\",\"last_login_time\":null}}]}\n"
+ },
+ "headers": {
+ "content-type": "application/json"
+ },
+ "reason": "OK",
+ "status": 200
+ }
+ },
+ {
+ "request": {
+ "body": {
+ "type": "empty",
+ "value": null
+ },
+ "content_type": "",
+ "method": "DELETE",
+ "path": "/api/v2/monitor/notification_rule/740e35fe-ba09-4bd7-981b-df1197331db5",
+ "query": []
+ },
+ "response": {
+ "body": {
+ "encoding": "text",
+ "value": ""
+ },
+ "headers": {
+ "content-type": "text/html; charset=utf-8"
+ },
+ "reason": "No Content",
+ "status": 204
+ }
+ }
+ ],
+ "scenario": "Create a monitor notification rule with rule options returns \"OK\" response",
+ "version": "v2"
+ },
{
"feature": "Monitors",
"frozen_at": "2025-11-11T21:28:39.129Z",
@@ -2388,6 +2460,117 @@
"scenario": "Update a monitor notification rule with conditional_recipients returns \"OK\" response",
"version": "v2"
},
+ {
+ "feature": "Monitors",
+ "frozen_at": "2026-10-30T20:36:32.533Z",
+ "interactions": [
+ {
+ "request": {
+ "body": {
+ "type": "json",
+ "value": {
+ "data": {
+ "attributes": {
+ "filter": {
+ "tags": [
+ "app:test-update_a_monitor_notification_rule_with_rule_options_returns_ok_response-1793392592"
+ ]
+ },
+ "name": "test rule",
+ "recipients": [
+ "slack-monitor-app"
+ ]
+ },
+ "type": "monitor-notification-rule"
+ }
+ }
+ },
+ "content_type": "application/json",
+ "method": "POST",
+ "path": "/api/v2/monitor/notification_rule",
+ "query": []
+ },
+ "response": {
+ "body": {
+ "encoding": "text",
+ "value": "{\"data\":{\"type\":\"monitor-notification-rule\",\"id\":\"586901e2-3384-4a4e-89c3-b7ba7906bcc0\",\"attributes\":{\"name\":\"test rule\",\"created_at\":\"2026-10-30T20:36:32.665098+00:00\",\"modified_at\":\"2026-10-30T20:36:32.679819+00:00\",\"filter\":{\"tags\":[\"app:test-update_a_monitor_notification_rule_with_rule_options_returns_ok_response-1793392592\"]},\"recipients\":[\"slack-monitor-app\"]},\"relationships\":{\"created_by\":{\"data\":{\"type\":\"users\",\"id\":\"8c875225-6d15-408c-9dcc-dd539cd02fa5\"}}}},\"included\":[{\"type\":\"users\",\"id\":\"8c875225-6d15-408c-9dcc-dd539cd02fa5\",\"attributes\":{\"uuid\":\"8c875225-6d15-408c-9dcc-dd539cd02fa5\",\"name\":\"Shane Yuan\",\"handle\":\"shane.yuan@datadoghq.com\",\"created_at\":\"2026-10-30T20:27:13.026594+00:00\",\"modified_at\":\"2026-10-30T20:27:25.236531+00:00\",\"email\":\"shane.yuan@datadoghq.com\",\"icon\":\"https://secure.gravatar.com/avatar/188fa6df65bb6c77c82677908094fbdb?s=48&d=retro\",\"title\":null,\"verified\":true,\"service_account\":false,\"disabled\":false,\"allowed_login_methods\":[],\"status\":\"Active\",\"last_login_time\":null}}]}\n"
+ },
+ "headers": {
+ "content-type": "application/json"
+ },
+ "reason": "OK",
+ "status": 200
+ }
+ },
+ {
+ "request": {
+ "body": {
+ "type": "json",
+ "value": {
+ "data": {
+ "attributes": {
+ "filter": {
+ "tags": [
+ "test:test-update_a_monitor_notification_rule_with_rule_options_returns_ok_response-1793392592"
+ ]
+ },
+ "name": "updated rule",
+ "recipients": [
+ "slack-test-channel"
+ ],
+ "rule_options": {
+ "is_threaded": false
+ }
+ },
+ "id": "586901e2-3384-4a4e-89c3-b7ba7906bcc0",
+ "type": "monitor-notification-rule"
+ }
+ }
+ },
+ "content_type": "application/json",
+ "method": "PATCH",
+ "path": "/api/v2/monitor/notification_rule/586901e2-3384-4a4e-89c3-b7ba7906bcc0",
+ "query": []
+ },
+ "response": {
+ "body": {
+ "encoding": "text",
+ "value": "{\"data\":{\"type\":\"monitor-notification-rule\",\"id\":\"586901e2-3384-4a4e-89c3-b7ba7906bcc0\",\"attributes\":{\"name\":\"updated rule\",\"created_at\":\"2026-10-30T20:36:32.665098+00:00\",\"modified_at\":\"2026-10-30T20:36:32.849285+00:00\",\"filter\":{\"tags\":[\"test:test-update_a_monitor_notification_rule_with_rule_options_returns_ok_response-1793392592\"]},\"recipients\":[\"slack-test-channel\"],\"rule_options\":{\"is_threaded\":false}},\"relationships\":{\"created_by\":{\"data\":{\"type\":\"users\",\"id\":\"8c875225-6d15-408c-9dcc-dd539cd02fa5\"}}}},\"included\":[{\"type\":\"users\",\"id\":\"8c875225-6d15-408c-9dcc-dd539cd02fa5\",\"attributes\":{\"uuid\":\"8c875225-6d15-408c-9dcc-dd539cd02fa5\",\"name\":\"Shane Yuan\",\"handle\":\"shane.yuan@datadoghq.com\",\"created_at\":\"2026-10-30T20:27:13.026594+00:00\",\"modified_at\":\"2026-10-30T20:27:25.236531+00:00\",\"email\":\"shane.yuan@datadoghq.com\",\"icon\":\"https://secure.gravatar.com/avatar/188fa6df65bb6c77c82677908094fbdb?s=48&d=retro\",\"title\":null,\"verified\":true,\"service_account\":false,\"disabled\":false,\"allowed_login_methods\":[],\"status\":\"Active\",\"last_login_time\":null}}]}\n"
+ },
+ "headers": {
+ "content-type": "application/json"
+ },
+ "reason": "OK",
+ "status": 200
+ }
+ },
+ {
+ "request": {
+ "body": {
+ "type": "empty",
+ "value": null
+ },
+ "content_type": "",
+ "method": "DELETE",
+ "path": "/api/v2/monitor/notification_rule/586901e2-3384-4a4e-89c3-b7ba7906bcc0",
+ "query": []
+ },
+ "response": {
+ "body": {
+ "encoding": "text",
+ "value": ""
+ },
+ "headers": {
+ "content-type": "text/html; charset=utf-8"
+ },
+ "reason": "No Content",
+ "status": 204
+ }
+ }
+ ],
+ "scenario": "Update a monitor notification rule with rule options returns \"OK\" response",
+ "version": "v2"
+ },
{
"feature": "Monitors",
"frozen_at": "2025-11-11T21:28:40.357Z",
diff --git a/tests/v2/features/given.json b/tests/v2/features/given.json
index 859600cfb7..9e00227edd 100644
--- a/tests/v2/features/given.json
+++ b/tests/v2/features/given.json
@@ -960,18 +960,6 @@
"tag": "Opsgenie Integration",
"operationId": "CreateOpsgenieService"
},
- {
- "parameters": [
- {
- "name": "body",
- "value": "{\n \"data\": {\n \"attributes\": {\n \"salesforce_org_id\": \"596da4af-0563-4097-90ff-07230c3f9db3\",\n \"name\": \"{{ unique }}\",\n \"subject\": \"Datadog Incident: Production Outage\",\n \"description\": \"An incident was detected by Datadog monitors.\",\n \"owner_id\": \"005000000000000\",\n \"priority\": \"High\"\n },\n \"type\": \"salesforce-incidents-incident-template\"\n }\n}"
- }
- ],
- "step": "there is a valid \"salesforce_incidents_template\" in the system",
- "key": "salesforce_incidents_template",
- "tag": "Salesforce Integration",
- "operationId": "CreateIncidentTemplate"
- },
{
"parameters": [
{
diff --git a/tests/v2/features/monitors.feature b/tests/v2/features/monitors.feature
index adda06d2e6..6ecbfc44e2 100644
--- a/tests/v2/features/monitors.feature
+++ b/tests/v2/features/monitors.feature
@@ -70,6 +70,15 @@ Feature: Monitors
Then the response status is 200 OK
And the response "data.attributes.name" is equal to "test rule"
+ @team:ddoghq/monitor-app
+ Scenario: Create a monitor notification rule with rule options returns "OK" response
+ Given new "CreateMonitorNotificationRule" request
+ And body with value {"data": {"attributes": {"filter": {"tags": ["test:{{ unique_lower }}"]}, "name": "test rule", "recipients": ["slack-test-channel"], "rule_options": {"is_threaded": true}}, "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"
+ And the response "data.attributes.rule_options.is_threaded" is equal to true
+
@team:ddoghq/monitor-app
Scenario: Create a monitor notification rule with scope returns "OK" response
Given new "CreateMonitorNotificationRule" request
@@ -311,6 +320,17 @@ Feature: Monitors
Then the response status is 200 OK
And the response "data.attributes.name" is equal to "updated rule"
+ @team:ddoghq/monitor-app
+ Scenario: Update a monitor notification rule with rule options 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": {"tags": ["test:{{ unique_lower }}"]}, "name": "updated rule", "recipients": ["slack-test-channel"], "rule_options": {"is_threaded": false}}, "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"
+ And the response "data.attributes.rule_options.is_threaded" is equal to false
+
@team:ddoghq/monitor-app
Scenario: Update a monitor notification rule with scope returns "OK" response
Given there is a valid "monitor_notification_rule" in the system
diff --git a/tests/v2/features/salesforce_integration.feature b/tests/v2/features/salesforce_integration.feature
deleted file mode 100644
index a4de4fbfb3..0000000000
--- a/tests/v2/features/salesforce_integration.feature
+++ /dev/null
@@ -1,129 +0,0 @@
-@endpoint(salesforce-integration) @endpoint(salesforce-integration-v2)
-Feature: Salesforce Integration
- Configure your [Datadog Salesforce
- integration](https://docs.datadoghq.com/integrations/salesforce/) directly
- through the Datadog API.
-
- Background:
- Given a valid "apiKeyAuth" key in the system
- And a valid "appKeyAuth" key in the system
- And an instance of "SalesforceIntegration" API
-
- @generated @skip @team:ddoghq/collaboration-integrations
- Scenario: Create a Salesforce incident template returns "Bad Request" response
- Given new "CreateIncidentTemplate" request
- And body with value {"data": {"attributes": {"description": "An incident was detected by Datadog monitors.", "name": "production-outage", "owner_id": "005000000000000", "priority": "High", "salesforce_org_id": "596da4af-0563-4097-90ff-07230c3f9db3", "subject": "Datadog Incident: Production Outage"}, "type": "salesforce-incidents-incident-template"}}
- When the request is sent
- Then the response status is 400 Bad Request
-
- @generated @skip @team:ddoghq/collaboration-integrations
- Scenario: Create a Salesforce incident template returns "CREATED" response
- Given new "CreateIncidentTemplate" request
- And body with value {"data": {"attributes": {"description": "An incident was detected by Datadog monitors.", "name": "production-outage", "owner_id": "005000000000000", "priority": "High", "salesforce_org_id": "596da4af-0563-4097-90ff-07230c3f9db3", "subject": "Datadog Incident: Production Outage"}, "type": "salesforce-incidents-incident-template"}}
- When the request is sent
- Then the response status is 201 CREATED
-
- @generated @skip @team:ddoghq/collaboration-integrations
- Scenario: Create a Salesforce incident template returns "Conflict" response
- Given new "CreateIncidentTemplate" request
- And body with value {"data": {"attributes": {"description": "An incident was detected by Datadog monitors.", "name": "production-outage", "owner_id": "005000000000000", "priority": "High", "salesforce_org_id": "596da4af-0563-4097-90ff-07230c3f9db3", "subject": "Datadog Incident: Production Outage"}, "type": "salesforce-incidents-incident-template"}}
- When the request is sent
- Then the response status is 409 Conflict
-
- @generated @skip @team:ddoghq/collaboration-integrations
- Scenario: Create a Salesforce incident template returns "Not Found" response
- Given new "CreateIncidentTemplate" request
- And body with value {"data": {"attributes": {"description": "An incident was detected by Datadog monitors.", "name": "production-outage", "owner_id": "005000000000000", "priority": "High", "salesforce_org_id": "596da4af-0563-4097-90ff-07230c3f9db3", "subject": "Datadog Incident: Production Outage"}, "type": "salesforce-incidents-incident-template"}}
- When the request is sent
- Then the response status is 404 Not Found
-
- @generated @skip @team:ddoghq/collaboration-integrations
- Scenario: Delete a Salesforce incident template returns "Not Found" response
- Given new "DeleteIncidentTemplate" request
- And request contains "incident_template_id" parameter from "REPLACE.ME"
- When the request is sent
- Then the response status is 404 Not Found
-
- @generated @skip @team:ddoghq/collaboration-integrations
- Scenario: Delete a Salesforce incident template returns "OK" response
- Given new "DeleteIncidentTemplate" request
- And request contains "incident_template_id" parameter from "REPLACE.ME"
- When the request is sent
- Then the response status is 204 OK
-
- @generated @skip @team:ddoghq/collaboration-integrations
- Scenario: Delete a connected Salesforce organization returns "Bad Request" response
- Given new "DeleteSalesforceOrganization" request
- And request contains "salesforce_org_id" parameter from "REPLACE.ME"
- When the request is sent
- Then the response status is 400 Bad Request
-
- @generated @skip @team:ddoghq/collaboration-integrations
- Scenario: Delete a connected Salesforce organization returns "Not Found" response
- Given new "DeleteSalesforceOrganization" request
- And request contains "salesforce_org_id" parameter from "REPLACE.ME"
- When the request is sent
- Then the response status is 404 Not Found
-
- @generated @skip @team:ddoghq/collaboration-integrations
- Scenario: Delete a connected Salesforce organization returns "OK" response
- Given new "DeleteSalesforceOrganization" request
- And request contains "salesforce_org_id" parameter from "REPLACE.ME"
- When the request is sent
- Then the response status is 204 OK
-
- @generated @skip @team:ddoghq/collaboration-integrations
- Scenario: Get all Salesforce incident templates returns "OK" response
- Given new "GetIncidentTemplates" request
- When the request is sent
- Then the response status is 200 OK
-
- @generated @skip @team:ddoghq/collaboration-integrations
- Scenario: Get all connected Salesforce organizations returns "Bad Request" response
- Given new "GetSalesforceOrganizations" request
- When the request is sent
- Then the response status is 400 Bad Request
-
- @generated @skip @team:ddoghq/collaboration-integrations
- Scenario: Get all connected Salesforce organizations returns "Not Found" response
- Given new "GetSalesforceOrganizations" request
- When the request is sent
- Then the response status is 404 Not Found
-
- @generated @skip @team:ddoghq/collaboration-integrations
- Scenario: Get all connected Salesforce organizations returns "OK" response
- Given new "GetSalesforceOrganizations" request
- When the request is sent
- Then the response status is 200 OK
-
- @generated @skip @team:ddoghq/collaboration-integrations
- Scenario: Update a Salesforce incident template returns "Bad Request" response
- Given new "UpdateIncidentTemplate" request
- And request contains "incident_template_id" parameter from "REPLACE.ME"
- And body with value {"data": {"attributes": {"description": "An incident was detected by Datadog monitors.", "name": "production-outage", "owner_id": "005000000000000", "priority": "High", "salesforce_org_id": "596da4af-0563-4097-90ff-07230c3f9db3", "subject": "Datadog Incident: Production Outage"}, "id": "596da4af-0563-4097-90ff-07230c3f9db3", "type": "salesforce-incidents-incident-template"}}
- When the request is sent
- Then the response status is 400 Bad Request
-
- @generated @skip @team:ddoghq/collaboration-integrations
- Scenario: Update a Salesforce incident template returns "Conflict" response
- Given new "UpdateIncidentTemplate" request
- And request contains "incident_template_id" parameter from "REPLACE.ME"
- And body with value {"data": {"attributes": {"description": "An incident was detected by Datadog monitors.", "name": "production-outage", "owner_id": "005000000000000", "priority": "High", "salesforce_org_id": "596da4af-0563-4097-90ff-07230c3f9db3", "subject": "Datadog Incident: Production Outage"}, "id": "596da4af-0563-4097-90ff-07230c3f9db3", "type": "salesforce-incidents-incident-template"}}
- When the request is sent
- Then the response status is 409 Conflict
-
- @generated @skip @team:ddoghq/collaboration-integrations
- Scenario: Update a Salesforce incident template returns "Not Found" response
- Given new "UpdateIncidentTemplate" request
- And request contains "incident_template_id" parameter from "REPLACE.ME"
- And body with value {"data": {"attributes": {"description": "An incident was detected by Datadog monitors.", "name": "production-outage", "owner_id": "005000000000000", "priority": "High", "salesforce_org_id": "596da4af-0563-4097-90ff-07230c3f9db3", "subject": "Datadog Incident: Production Outage"}, "id": "596da4af-0563-4097-90ff-07230c3f9db3", "type": "salesforce-incidents-incident-template"}}
- When the request is sent
- Then the response status is 404 Not Found
-
- @generated @skip @team:ddoghq/collaboration-integrations
- Scenario: Update a Salesforce incident template returns "OK" response
- Given new "UpdateIncidentTemplate" request
- And request contains "incident_template_id" parameter from "REPLACE.ME"
- And body with value {"data": {"attributes": {"description": "An incident was detected by Datadog monitors.", "name": "production-outage", "owner_id": "005000000000000", "priority": "High", "salesforce_org_id": "596da4af-0563-4097-90ff-07230c3f9db3", "subject": "Datadog Incident: Production Outage"}, "id": "596da4af-0563-4097-90ff-07230c3f9db3", "type": "salesforce-incidents-incident-template"}}
- When the request is sent
- Then the response status is 200 OK
diff --git a/tests/v2/features/undo.json b/tests/v2/features/undo.json
index 41a80bf646..946d362b98 100644
--- a/tests/v2/features/undo.json
+++ b/tests/v2/features/undo.json
@@ -4821,49 +4821,6 @@
"type": "idempotent"
}
},
- "GetIncidentTemplates": {
- "tag": "Salesforce Integration",
- "undo": {
- "type": "safe"
- }
- },
- "CreateIncidentTemplate": {
- "tag": "Salesforce Integration",
- "undo": {
- "operationId": "DeleteIncidentTemplate",
- "parameters": [
- {
- "name": "incident_template_id",
- "source": "data.id"
- }
- ],
- "type": "unsafe"
- }
- },
- "DeleteIncidentTemplate": {
- "tag": "Salesforce Integration",
- "undo": {
- "type": "idempotent"
- }
- },
- "UpdateIncidentTemplate": {
- "tag": "Salesforce Integration",
- "undo": {
- "type": "idempotent"
- }
- },
- "GetSalesforceOrganizations": {
- "tag": "Salesforce Integration",
- "undo": {
- "type": "safe"
- }
- },
- "DeleteSalesforceOrganization": {
- "tag": "Salesforce Integration",
- "undo": {
- "type": "idempotent"
- }
- },
"ListServiceNowAssignmentGroups": {
"tag": "ServiceNow Integration",
"undo": {