diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml
index b2e0e022c91..6eb197652c4 100644
--- a/.generator/schemas/v2/openapi.yaml
+++ b/.generator/schemas/v2/openapi.yaml
@@ -1572,6 +1572,20 @@ components:
required: true
schema:
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
@@ -72233,6 +72247,275 @@ components:
example: "report_id"
type: string
type: object
+ 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:
@@ -125858,6 +126141,249 @@ paths:
operator: OR
permissions:
- manage_integrations
+ /api/v2/integration/salesforce-incidents/incident-templates:
+ get:
+ 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:
+ 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:
+ 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:
+ 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:
+ 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:
+ 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: |-
@@ -171543,6 +172069,12 @@ tags:
- description: |-
Manage retention filters through [Manage Applications](https://app.datadoghq.com/rum/list) of RUM for your organization.
name: Rum Retention Filters
+ - 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/salesforce-integration/CreateIncidentTemplate.java b/examples/v2/salesforce-integration/CreateIncidentTemplate.java
new file mode 100644
index 00000000000..d2683c5ced1
--- /dev/null
+++ b/examples/v2/salesforce-integration/CreateIncidentTemplate.java
@@ -0,0 +1,45 @@
+// Create a Salesforce incident template returns "CREATED" response
+
+import com.datadog.api.client.ApiClient;
+import com.datadog.api.client.ApiException;
+import com.datadog.api.client.v2.api.SalesforceIntegrationApi;
+import com.datadog.api.client.v2.model.SalesforceIncidentsTemplateCreateAttributes;
+import com.datadog.api.client.v2.model.SalesforceIncidentsTemplateCreateData;
+import com.datadog.api.client.v2.model.SalesforceIncidentsTemplateCreateRequest;
+import com.datadog.api.client.v2.model.SalesforceIncidentsTemplatePriority;
+import com.datadog.api.client.v2.model.SalesforceIncidentsTemplateResponse;
+import com.datadog.api.client.v2.model.SalesforceIncidentsTemplateType;
+import java.util.UUID;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = ApiClient.getDefaultApiClient();
+ SalesforceIntegrationApi apiInstance = new SalesforceIntegrationApi(defaultClient);
+
+ SalesforceIncidentsTemplateCreateRequest body =
+ new SalesforceIncidentsTemplateCreateRequest()
+ .data(
+ new SalesforceIncidentsTemplateCreateData()
+ .attributes(
+ new SalesforceIncidentsTemplateCreateAttributes()
+ .description("An incident was detected by Datadog monitors.")
+ .name("production-outage")
+ .ownerId("005000000000000")
+ .priority(SalesforceIncidentsTemplatePriority.HIGH)
+ .salesforceOrgId(
+ UUID.fromString("596da4af-0563-4097-90ff-07230c3f9db3"))
+ .subject("Datadog Incident: Production Outage"))
+ .type(SalesforceIncidentsTemplateType.SALESFORCE_INCIDENTS_INCIDENT_TEMPLATE));
+
+ try {
+ SalesforceIncidentsTemplateResponse result = apiInstance.createIncidentTemplate(body);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling SalesforceIntegrationApi#createIncidentTemplate");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/examples/v2/salesforce-integration/DeleteIncidentTemplate.java b/examples/v2/salesforce-integration/DeleteIncidentTemplate.java
new file mode 100644
index 00000000000..a49d8b9122c
--- /dev/null
+++ b/examples/v2/salesforce-integration/DeleteIncidentTemplate.java
@@ -0,0 +1,22 @@
+// Delete a Salesforce incident template returns "OK" response
+
+import com.datadog.api.client.ApiClient;
+import com.datadog.api.client.ApiException;
+import com.datadog.api.client.v2.api.SalesforceIntegrationApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = ApiClient.getDefaultApiClient();
+ SalesforceIntegrationApi apiInstance = new SalesforceIntegrationApi(defaultClient);
+
+ try {
+ apiInstance.deleteIncidentTemplate("incident_template_id");
+ } catch (ApiException e) {
+ System.err.println("Exception when calling SalesforceIntegrationApi#deleteIncidentTemplate");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/examples/v2/salesforce-integration/DeleteSalesforceOrganization.java b/examples/v2/salesforce-integration/DeleteSalesforceOrganization.java
new file mode 100644
index 00000000000..ee1d9f18c4a
--- /dev/null
+++ b/examples/v2/salesforce-integration/DeleteSalesforceOrganization.java
@@ -0,0 +1,23 @@
+// Delete a connected Salesforce organization returns "OK" response
+
+import com.datadog.api.client.ApiClient;
+import com.datadog.api.client.ApiException;
+import com.datadog.api.client.v2.api.SalesforceIntegrationApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = ApiClient.getDefaultApiClient();
+ SalesforceIntegrationApi apiInstance = new SalesforceIntegrationApi(defaultClient);
+
+ try {
+ apiInstance.deleteSalesforceOrganization("salesforce_org_id");
+ } catch (ApiException e) {
+ System.err.println(
+ "Exception when calling SalesforceIntegrationApi#deleteSalesforceOrganization");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/examples/v2/salesforce-integration/GetIncidentTemplates.java b/examples/v2/salesforce-integration/GetIncidentTemplates.java
new file mode 100644
index 00000000000..04af4507e0a
--- /dev/null
+++ b/examples/v2/salesforce-integration/GetIncidentTemplates.java
@@ -0,0 +1,24 @@
+// Get all Salesforce incident templates returns "OK" response
+
+import com.datadog.api.client.ApiClient;
+import com.datadog.api.client.ApiException;
+import com.datadog.api.client.v2.api.SalesforceIntegrationApi;
+import com.datadog.api.client.v2.model.SalesforceIncidentsTemplatesResponse;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = ApiClient.getDefaultApiClient();
+ SalesforceIntegrationApi apiInstance = new SalesforceIntegrationApi(defaultClient);
+
+ try {
+ SalesforceIncidentsTemplatesResponse result = apiInstance.getIncidentTemplates();
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling SalesforceIntegrationApi#getIncidentTemplates");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/examples/v2/salesforce-integration/GetSalesforceOrganizations.java b/examples/v2/salesforce-integration/GetSalesforceOrganizations.java
new file mode 100644
index 00000000000..079ae245c71
--- /dev/null
+++ b/examples/v2/salesforce-integration/GetSalesforceOrganizations.java
@@ -0,0 +1,25 @@
+// Get all connected Salesforce organizations returns "OK" response
+
+import com.datadog.api.client.ApiClient;
+import com.datadog.api.client.ApiException;
+import com.datadog.api.client.v2.api.SalesforceIntegrationApi;
+import com.datadog.api.client.v2.model.SalesforceIncidentsOrganizationsResponse;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = ApiClient.getDefaultApiClient();
+ SalesforceIntegrationApi apiInstance = new SalesforceIntegrationApi(defaultClient);
+
+ try {
+ SalesforceIncidentsOrganizationsResponse result = apiInstance.getSalesforceOrganizations();
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println(
+ "Exception when calling SalesforceIntegrationApi#getSalesforceOrganizations");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/examples/v2/salesforce-integration/UpdateIncidentTemplate.java b/examples/v2/salesforce-integration/UpdateIncidentTemplate.java
new file mode 100644
index 00000000000..7f8ea1aef1a
--- /dev/null
+++ b/examples/v2/salesforce-integration/UpdateIncidentTemplate.java
@@ -0,0 +1,47 @@
+// Update a Salesforce incident template returns "OK" response
+
+import com.datadog.api.client.ApiClient;
+import com.datadog.api.client.ApiException;
+import com.datadog.api.client.v2.api.SalesforceIntegrationApi;
+import com.datadog.api.client.v2.model.SalesforceIncidentsTemplatePriority;
+import com.datadog.api.client.v2.model.SalesforceIncidentsTemplateResponse;
+import com.datadog.api.client.v2.model.SalesforceIncidentsTemplateType;
+import com.datadog.api.client.v2.model.SalesforceIncidentsTemplateUpdateAttributes;
+import com.datadog.api.client.v2.model.SalesforceIncidentsTemplateUpdateData;
+import com.datadog.api.client.v2.model.SalesforceIncidentsTemplateUpdateRequest;
+import java.util.UUID;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = ApiClient.getDefaultApiClient();
+ SalesforceIntegrationApi apiInstance = new SalesforceIntegrationApi(defaultClient);
+
+ SalesforceIncidentsTemplateUpdateRequest body =
+ new SalesforceIncidentsTemplateUpdateRequest()
+ .data(
+ new SalesforceIncidentsTemplateUpdateData()
+ .attributes(
+ new SalesforceIncidentsTemplateUpdateAttributes()
+ .description("An incident was detected by Datadog monitors.")
+ .name("production-outage")
+ .ownerId("005000000000000")
+ .priority(SalesforceIncidentsTemplatePriority.HIGH)
+ .salesforceOrgId(
+ UUID.fromString("596da4af-0563-4097-90ff-07230c3f9db3"))
+ .subject("Datadog Incident: Production Outage"))
+ .id("596da4af-0563-4097-90ff-07230c3f9db3")
+ .type(SalesforceIncidentsTemplateType.SALESFORCE_INCIDENTS_INCIDENT_TEMPLATE));
+
+ try {
+ SalesforceIncidentsTemplateResponse result =
+ apiInstance.updateIncidentTemplate("incident_template_id", body);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling SalesforceIntegrationApi#updateIncidentTemplate");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/api/SalesforceIntegrationApi.java b/src/main/java/com/datadog/api/client/v2/api/SalesforceIntegrationApi.java
new file mode 100644
index 00000000000..8f994e01054
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/api/SalesforceIntegrationApi.java
@@ -0,0 +1,878 @@
+package com.datadog.api.client.v2.api;
+
+import com.datadog.api.client.ApiClient;
+import com.datadog.api.client.ApiException;
+import com.datadog.api.client.ApiResponse;
+import com.datadog.api.client.Pair;
+import com.datadog.api.client.v2.model.SalesforceIncidentsOrganizationsResponse;
+import com.datadog.api.client.v2.model.SalesforceIncidentsTemplateCreateRequest;
+import com.datadog.api.client.v2.model.SalesforceIncidentsTemplateResponse;
+import com.datadog.api.client.v2.model.SalesforceIncidentsTemplateUpdateRequest;
+import com.datadog.api.client.v2.model.SalesforceIncidentsTemplatesResponse;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.core.GenericType;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class SalesforceIntegrationApi {
+ private ApiClient apiClient;
+
+ public SalesforceIntegrationApi() {
+ this(ApiClient.getDefaultApiClient());
+ }
+
+ public SalesforceIntegrationApi(ApiClient apiClient) {
+ this.apiClient = apiClient;
+ }
+
+ /**
+ * Get the API client.
+ *
+ * @return API client
+ */
+ public ApiClient getApiClient() {
+ return apiClient;
+ }
+
+ /**
+ * Set the API client.
+ *
+ * @param apiClient an instance of API client
+ */
+ public void setApiClient(ApiClient apiClient) {
+ this.apiClient = apiClient;
+ }
+
+ /**
+ * Create a Salesforce incident template.
+ *
+ *
See {@link #createIncidentTemplateWithHttpInfo}.
+ *
+ * @param body Salesforce incident template payload. (required)
+ * @return SalesforceIncidentsTemplateResponse
+ * @throws ApiException if fails to make API call
+ */
+ public SalesforceIncidentsTemplateResponse createIncidentTemplate(
+ SalesforceIncidentsTemplateCreateRequest body) throws ApiException {
+ return createIncidentTemplateWithHttpInfo(body).getData();
+ }
+
+ /**
+ * Create a Salesforce incident template.
+ *
+ *
See {@link #createIncidentTemplateWithHttpInfoAsync}.
+ *
+ * @param body Salesforce incident template payload. (required)
+ * @return CompletableFuture<SalesforceIncidentsTemplateResponse>
+ */
+ public CompletableFuture createIncidentTemplateAsync(
+ SalesforceIncidentsTemplateCreateRequest body) {
+ return createIncidentTemplateWithHttpInfoAsync(body)
+ .thenApply(
+ response -> {
+ return response.getData();
+ });
+ }
+
+ /**
+ * Create a new Salesforce incident template for your organization. Template names must be unique
+ * within an organization.
+ *
+ * @param body Salesforce incident template payload. (required)
+ * @return ApiResponse<SalesforceIncidentsTemplateResponse>
+ * @throws ApiException if fails to make API call
+ * @http.response.details
+ *
+ * Response details
+ * | Status Code | Description | Response Headers |
+ * | 201 | CREATED | - |
+ * | 400 | Bad Request | - |
+ * | 403 | Forbidden | - |
+ * | 404 | Not Found | - |
+ * | 409 | Conflict | - |
+ * | 429 | Too many requests | - |
+ *
+ */
+ public ApiResponse createIncidentTemplateWithHttpInfo(
+ SalesforceIncidentsTemplateCreateRequest body) throws ApiException {
+ Object localVarPostBody = body;
+
+ // verify the required parameter 'body' is set
+ if (body == null) {
+ throw new ApiException(
+ 400, "Missing the required parameter 'body' when calling createIncidentTemplate");
+ }
+ // create path and map variables
+ String localVarPath = "/api/v2/integration/salesforce-incidents/incident-templates";
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder =
+ apiClient.createBuilder(
+ "v2.SalesforceIntegrationApi.createIncidentTemplate",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"application/json"},
+ new String[] {"apiKeyAuth", "appKeyAuth"});
+ return apiClient.invokeAPI(
+ "POST",
+ builder,
+ localVarHeaderParams,
+ new String[] {"application/json"},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ new GenericType() {});
+ }
+
+ /**
+ * Create a Salesforce incident template.
+ *
+ * See {@link #createIncidentTemplateWithHttpInfo}.
+ *
+ * @param body Salesforce incident template payload. (required)
+ * @return CompletableFuture<ApiResponse<SalesforceIncidentsTemplateResponse>>
+ */
+ public CompletableFuture>
+ createIncidentTemplateWithHttpInfoAsync(SalesforceIncidentsTemplateCreateRequest body) {
+ Object localVarPostBody = body;
+
+ // verify the required parameter 'body' is set
+ if (body == null) {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(
+ new ApiException(
+ 400, "Missing the required parameter 'body' when calling createIncidentTemplate"));
+ return result;
+ }
+ // create path and map variables
+ String localVarPath = "/api/v2/integration/salesforce-incidents/incident-templates";
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder;
+ try {
+ builder =
+ apiClient.createBuilder(
+ "v2.SalesforceIntegrationApi.createIncidentTemplate",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"application/json"},
+ new String[] {"apiKeyAuth", "appKeyAuth"});
+ } catch (ApiException ex) {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(ex);
+ return result;
+ }
+ return apiClient.invokeAPIAsync(
+ "POST",
+ builder,
+ localVarHeaderParams,
+ new String[] {"application/json"},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ new GenericType() {});
+ }
+
+ /**
+ * Delete a Salesforce incident template.
+ *
+ * See {@link #deleteIncidentTemplateWithHttpInfo}.
+ *
+ * @param incidentTemplateId The ID of the Salesforce incident template. (required)
+ * @throws ApiException if fails to make API call
+ */
+ public void deleteIncidentTemplate(String incidentTemplateId) throws ApiException {
+ deleteIncidentTemplateWithHttpInfo(incidentTemplateId);
+ }
+
+ /**
+ * Delete a Salesforce incident template.
+ *
+ *
See {@link #deleteIncidentTemplateWithHttpInfoAsync}.
+ *
+ * @param incidentTemplateId The ID of the Salesforce incident template. (required)
+ * @return CompletableFuture
+ */
+ public CompletableFuture deleteIncidentTemplateAsync(String incidentTemplateId) {
+ return deleteIncidentTemplateWithHttpInfoAsync(incidentTemplateId)
+ .thenApply(
+ response -> {
+ return response.getData();
+ });
+ }
+
+ /**
+ * Delete a single Salesforce incident template from your organization.
+ *
+ * @param incidentTemplateId The ID of the Salesforce incident template. (required)
+ * @return ApiResponse<Void>
+ * @throws ApiException if fails to make API call
+ * @http.response.details
+ *
+ * Response details
+ * | Status Code | Description | Response Headers |
+ * | 204 | OK | - |
+ * | 403 | Forbidden | - |
+ * | 404 | Not Found | - |
+ * | 429 | Too many requests | - |
+ *
+ */
+ public ApiResponse deleteIncidentTemplateWithHttpInfo(String incidentTemplateId)
+ throws ApiException {
+ Object localVarPostBody = null;
+
+ // verify the required parameter 'incidentTemplateId' is set
+ if (incidentTemplateId == null) {
+ throw new ApiException(
+ 400,
+ "Missing the required parameter 'incidentTemplateId' when calling"
+ + " deleteIncidentTemplate");
+ }
+ // create path and map variables
+ String localVarPath =
+ "/api/v2/integration/salesforce-incidents/incident-templates/{incident_template_id}"
+ .replaceAll(
+ "\\{" + "incident_template_id" + "\\}",
+ apiClient.escapeString(incidentTemplateId.toString()));
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder =
+ apiClient.createBuilder(
+ "v2.SalesforceIntegrationApi.deleteIncidentTemplate",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"*/*"},
+ new String[] {"apiKeyAuth", "appKeyAuth"});
+ return apiClient.invokeAPI(
+ "DELETE",
+ builder,
+ localVarHeaderParams,
+ new String[] {},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ null);
+ }
+
+ /**
+ * Delete a Salesforce incident template.
+ *
+ * See {@link #deleteIncidentTemplateWithHttpInfo}.
+ *
+ * @param incidentTemplateId The ID of the Salesforce incident template. (required)
+ * @return CompletableFuture<ApiResponse<Void>>
+ */
+ public CompletableFuture> deleteIncidentTemplateWithHttpInfoAsync(
+ String incidentTemplateId) {
+ Object localVarPostBody = null;
+
+ // verify the required parameter 'incidentTemplateId' is set
+ if (incidentTemplateId == null) {
+ CompletableFuture> result = new CompletableFuture<>();
+ result.completeExceptionally(
+ new ApiException(
+ 400,
+ "Missing the required parameter 'incidentTemplateId' when calling"
+ + " deleteIncidentTemplate"));
+ return result;
+ }
+ // create path and map variables
+ String localVarPath =
+ "/api/v2/integration/salesforce-incidents/incident-templates/{incident_template_id}"
+ .replaceAll(
+ "\\{" + "incident_template_id" + "\\}",
+ apiClient.escapeString(incidentTemplateId.toString()));
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder;
+ try {
+ builder =
+ apiClient.createBuilder(
+ "v2.SalesforceIntegrationApi.deleteIncidentTemplate",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"*/*"},
+ new String[] {"apiKeyAuth", "appKeyAuth"});
+ } catch (ApiException ex) {
+ CompletableFuture> result = new CompletableFuture<>();
+ result.completeExceptionally(ex);
+ return result;
+ }
+ return apiClient.invokeAPIAsync(
+ "DELETE",
+ builder,
+ localVarHeaderParams,
+ new String[] {},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ null);
+ }
+
+ /**
+ * Delete a connected Salesforce organization.
+ *
+ * See {@link #deleteSalesforceOrganizationWithHttpInfo}.
+ *
+ * @param salesforceOrgId The Datadog-assigned ID of the connected Salesforce organization.
+ * (required)
+ * @throws ApiException if fails to make API call
+ */
+ public void deleteSalesforceOrganization(String salesforceOrgId) throws ApiException {
+ deleteSalesforceOrganizationWithHttpInfo(salesforceOrgId);
+ }
+
+ /**
+ * Delete a connected Salesforce organization.
+ *
+ *
See {@link #deleteSalesforceOrganizationWithHttpInfoAsync}.
+ *
+ * @param salesforceOrgId The Datadog-assigned ID of the connected Salesforce organization.
+ * (required)
+ * @return CompletableFuture
+ */
+ public CompletableFuture deleteSalesforceOrganizationAsync(String salesforceOrgId) {
+ return deleteSalesforceOrganizationWithHttpInfoAsync(salesforceOrgId)
+ .thenApply(
+ response -> {
+ return response.getData();
+ });
+ }
+
+ /**
+ * Disconnect a Salesforce organization from your Datadog organization. This also deletes any
+ * incident templates referencing the organization.
+ *
+ * @param salesforceOrgId The Datadog-assigned ID of the connected Salesforce organization.
+ * (required)
+ * @return ApiResponse<Void>
+ * @throws ApiException if fails to make API call
+ * @http.response.details
+ *
+ * Response details
+ * | Status Code | Description | Response Headers |
+ * | 204 | OK | - |
+ * | 400 | Bad Request | - |
+ * | 403 | Forbidden | - |
+ * | 404 | Not Found | - |
+ * | 429 | Too many requests | - |
+ *
+ */
+ public ApiResponse deleteSalesforceOrganizationWithHttpInfo(String salesforceOrgId)
+ throws ApiException {
+ Object localVarPostBody = null;
+
+ // verify the required parameter 'salesforceOrgId' is set
+ if (salesforceOrgId == null) {
+ throw new ApiException(
+ 400,
+ "Missing the required parameter 'salesforceOrgId' when calling"
+ + " deleteSalesforceOrganization");
+ }
+ // create path and map variables
+ String localVarPath =
+ "/api/v2/integration/salesforce-incidents/organizations/{salesforce_org_id}"
+ .replaceAll(
+ "\\{" + "salesforce_org_id" + "\\}",
+ apiClient.escapeString(salesforceOrgId.toString()));
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder =
+ apiClient.createBuilder(
+ "v2.SalesforceIntegrationApi.deleteSalesforceOrganization",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"*/*"},
+ new String[] {"apiKeyAuth", "appKeyAuth"});
+ return apiClient.invokeAPI(
+ "DELETE",
+ builder,
+ localVarHeaderParams,
+ new String[] {},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ null);
+ }
+
+ /**
+ * Delete a connected Salesforce organization.
+ *
+ * See {@link #deleteSalesforceOrganizationWithHttpInfo}.
+ *
+ * @param salesforceOrgId The Datadog-assigned ID of the connected Salesforce organization.
+ * (required)
+ * @return CompletableFuture<ApiResponse<Void>>
+ */
+ public CompletableFuture> deleteSalesforceOrganizationWithHttpInfoAsync(
+ String salesforceOrgId) {
+ Object localVarPostBody = null;
+
+ // verify the required parameter 'salesforceOrgId' is set
+ if (salesforceOrgId == null) {
+ CompletableFuture> result = new CompletableFuture<>();
+ result.completeExceptionally(
+ new ApiException(
+ 400,
+ "Missing the required parameter 'salesforceOrgId' when calling"
+ + " deleteSalesforceOrganization"));
+ return result;
+ }
+ // create path and map variables
+ String localVarPath =
+ "/api/v2/integration/salesforce-incidents/organizations/{salesforce_org_id}"
+ .replaceAll(
+ "\\{" + "salesforce_org_id" + "\\}",
+ apiClient.escapeString(salesforceOrgId.toString()));
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder;
+ try {
+ builder =
+ apiClient.createBuilder(
+ "v2.SalesforceIntegrationApi.deleteSalesforceOrganization",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"*/*"},
+ new String[] {"apiKeyAuth", "appKeyAuth"});
+ } catch (ApiException ex) {
+ CompletableFuture> result = new CompletableFuture<>();
+ result.completeExceptionally(ex);
+ return result;
+ }
+ return apiClient.invokeAPIAsync(
+ "DELETE",
+ builder,
+ localVarHeaderParams,
+ new String[] {},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ null);
+ }
+
+ /**
+ * Get all Salesforce incident templates.
+ *
+ * See {@link #getIncidentTemplatesWithHttpInfo}.
+ *
+ * @return SalesforceIncidentsTemplatesResponse
+ * @throws ApiException if fails to make API call
+ */
+ public SalesforceIncidentsTemplatesResponse getIncidentTemplates() throws ApiException {
+ return getIncidentTemplatesWithHttpInfo().getData();
+ }
+
+ /**
+ * Get all Salesforce incident templates.
+ *
+ *
See {@link #getIncidentTemplatesWithHttpInfoAsync}.
+ *
+ * @return CompletableFuture<SalesforceIncidentsTemplatesResponse>
+ */
+ public CompletableFuture getIncidentTemplatesAsync() {
+ return getIncidentTemplatesWithHttpInfoAsync()
+ .thenApply(
+ response -> {
+ return response.getData();
+ });
+ }
+
+ /**
+ * Get all Salesforce incident templates configured for your organization.
+ *
+ * @return ApiResponse<SalesforceIncidentsTemplatesResponse>
+ * @throws ApiException if fails to make API call
+ * @http.response.details
+ *
+ * Response details
+ * | Status Code | Description | Response Headers |
+ * | 200 | OK | - |
+ * | 403 | Forbidden | - |
+ * | 429 | Too many requests | - |
+ *
+ */
+ public ApiResponse getIncidentTemplatesWithHttpInfo()
+ throws ApiException {
+ Object localVarPostBody = null;
+ // create path and map variables
+ String localVarPath = "/api/v2/integration/salesforce-incidents/incident-templates";
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder =
+ apiClient.createBuilder(
+ "v2.SalesforceIntegrationApi.getIncidentTemplates",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"application/json"},
+ new String[] {"apiKeyAuth", "appKeyAuth"});
+ return apiClient.invokeAPI(
+ "GET",
+ builder,
+ localVarHeaderParams,
+ new String[] {},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ new GenericType() {});
+ }
+
+ /**
+ * Get all Salesforce incident templates.
+ *
+ * See {@link #getIncidentTemplatesWithHttpInfo}.
+ *
+ * @return CompletableFuture<ApiResponse<SalesforceIncidentsTemplatesResponse>>
+ */
+ public CompletableFuture>
+ getIncidentTemplatesWithHttpInfoAsync() {
+ Object localVarPostBody = null;
+ // create path and map variables
+ String localVarPath = "/api/v2/integration/salesforce-incidents/incident-templates";
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder;
+ try {
+ builder =
+ apiClient.createBuilder(
+ "v2.SalesforceIntegrationApi.getIncidentTemplates",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"application/json"},
+ new String[] {"apiKeyAuth", "appKeyAuth"});
+ } catch (ApiException ex) {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(ex);
+ return result;
+ }
+ return apiClient.invokeAPIAsync(
+ "GET",
+ builder,
+ localVarHeaderParams,
+ new String[] {},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ new GenericType() {});
+ }
+
+ /**
+ * Get all connected Salesforce organizations.
+ *
+ * See {@link #getSalesforceOrganizationsWithHttpInfo}.
+ *
+ * @return SalesforceIncidentsOrganizationsResponse
+ * @throws ApiException if fails to make API call
+ */
+ public SalesforceIncidentsOrganizationsResponse getSalesforceOrganizations() throws ApiException {
+ return getSalesforceOrganizationsWithHttpInfo().getData();
+ }
+
+ /**
+ * Get all connected Salesforce organizations.
+ *
+ *
See {@link #getSalesforceOrganizationsWithHttpInfoAsync}.
+ *
+ * @return CompletableFuture<SalesforceIncidentsOrganizationsResponse>
+ */
+ public CompletableFuture
+ getSalesforceOrganizationsAsync() {
+ return getSalesforceOrganizationsWithHttpInfoAsync()
+ .thenApply(
+ response -> {
+ return response.getData();
+ });
+ }
+
+ /**
+ * 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.
+ *
+ * @return ApiResponse<SalesforceIncidentsOrganizationsResponse>
+ * @throws ApiException if fails to make API call
+ * @http.response.details
+ *
+ * Response details
+ * | Status Code | Description | Response Headers |
+ * | 200 | OK | - |
+ * | 400 | Bad Request | - |
+ * | 403 | Forbidden | - |
+ * | 404 | Not Found | - |
+ * | 429 | Too many requests | - |
+ *
+ */
+ public ApiResponse
+ getSalesforceOrganizationsWithHttpInfo() throws ApiException {
+ Object localVarPostBody = null;
+ // create path and map variables
+ String localVarPath = "/api/v2/integration/salesforce-incidents/organizations";
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder =
+ apiClient.createBuilder(
+ "v2.SalesforceIntegrationApi.getSalesforceOrganizations",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"application/json"},
+ new String[] {"apiKeyAuth", "appKeyAuth"});
+ return apiClient.invokeAPI(
+ "GET",
+ builder,
+ localVarHeaderParams,
+ new String[] {},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ new GenericType() {});
+ }
+
+ /**
+ * Get all connected Salesforce organizations.
+ *
+ * See {@link #getSalesforceOrganizationsWithHttpInfo}.
+ *
+ * @return CompletableFuture<ApiResponse<SalesforceIncidentsOrganizationsResponse>>
+ */
+ public CompletableFuture>
+ getSalesforceOrganizationsWithHttpInfoAsync() {
+ Object localVarPostBody = null;
+ // create path and map variables
+ String localVarPath = "/api/v2/integration/salesforce-incidents/organizations";
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder;
+ try {
+ builder =
+ apiClient.createBuilder(
+ "v2.SalesforceIntegrationApi.getSalesforceOrganizations",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"application/json"},
+ new String[] {"apiKeyAuth", "appKeyAuth"});
+ } catch (ApiException ex) {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(ex);
+ return result;
+ }
+ return apiClient.invokeAPIAsync(
+ "GET",
+ builder,
+ localVarHeaderParams,
+ new String[] {},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ new GenericType() {});
+ }
+
+ /**
+ * Update a Salesforce incident template.
+ *
+ * See {@link #updateIncidentTemplateWithHttpInfo}.
+ *
+ * @param incidentTemplateId The ID of the Salesforce incident template. (required)
+ * @param body Salesforce incident template payload. (required)
+ * @return SalesforceIncidentsTemplateResponse
+ * @throws ApiException if fails to make API call
+ */
+ public SalesforceIncidentsTemplateResponse updateIncidentTemplate(
+ String incidentTemplateId, SalesforceIncidentsTemplateUpdateRequest body)
+ throws ApiException {
+ return updateIncidentTemplateWithHttpInfo(incidentTemplateId, body).getData();
+ }
+
+ /**
+ * Update a Salesforce incident template.
+ *
+ *
See {@link #updateIncidentTemplateWithHttpInfoAsync}.
+ *
+ * @param incidentTemplateId The ID of the Salesforce incident template. (required)
+ * @param body Salesforce incident template payload. (required)
+ * @return CompletableFuture<SalesforceIncidentsTemplateResponse>
+ */
+ public CompletableFuture updateIncidentTemplateAsync(
+ String incidentTemplateId, SalesforceIncidentsTemplateUpdateRequest body) {
+ return updateIncidentTemplateWithHttpInfoAsync(incidentTemplateId, body)
+ .thenApply(
+ response -> {
+ return response.getData();
+ });
+ }
+
+ /**
+ * Update a single Salesforce incident template in your organization.
+ *
+ * @param incidentTemplateId The ID of the Salesforce incident template. (required)
+ * @param body Salesforce incident template payload. (required)
+ * @return ApiResponse<SalesforceIncidentsTemplateResponse>
+ * @throws ApiException if fails to make API call
+ * @http.response.details
+ *
+ * Response details
+ * | Status Code | Description | Response Headers |
+ * | 200 | OK | - |
+ * | 400 | Bad Request | - |
+ * | 403 | Forbidden | - |
+ * | 404 | Not Found | - |
+ * | 409 | Conflict | - |
+ * | 429 | Too many requests | - |
+ *
+ */
+ public ApiResponse updateIncidentTemplateWithHttpInfo(
+ String incidentTemplateId, SalesforceIncidentsTemplateUpdateRequest body)
+ throws ApiException {
+ Object localVarPostBody = body;
+
+ // verify the required parameter 'incidentTemplateId' is set
+ if (incidentTemplateId == null) {
+ throw new ApiException(
+ 400,
+ "Missing the required parameter 'incidentTemplateId' when calling"
+ + " updateIncidentTemplate");
+ }
+
+ // verify the required parameter 'body' is set
+ if (body == null) {
+ throw new ApiException(
+ 400, "Missing the required parameter 'body' when calling updateIncidentTemplate");
+ }
+ // create path and map variables
+ String localVarPath =
+ "/api/v2/integration/salesforce-incidents/incident-templates/{incident_template_id}"
+ .replaceAll(
+ "\\{" + "incident_template_id" + "\\}",
+ apiClient.escapeString(incidentTemplateId.toString()));
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder =
+ apiClient.createBuilder(
+ "v2.SalesforceIntegrationApi.updateIncidentTemplate",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"application/json"},
+ new String[] {"apiKeyAuth", "appKeyAuth"});
+ return apiClient.invokeAPI(
+ "PATCH",
+ builder,
+ localVarHeaderParams,
+ new String[] {"application/json"},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ new GenericType() {});
+ }
+
+ /**
+ * Update a Salesforce incident template.
+ *
+ * See {@link #updateIncidentTemplateWithHttpInfo}.
+ *
+ * @param incidentTemplateId The ID of the Salesforce incident template. (required)
+ * @param body Salesforce incident template payload. (required)
+ * @return CompletableFuture<ApiResponse<SalesforceIncidentsTemplateResponse>>
+ */
+ public CompletableFuture>
+ updateIncidentTemplateWithHttpInfoAsync(
+ String incidentTemplateId, SalesforceIncidentsTemplateUpdateRequest body) {
+ Object localVarPostBody = body;
+
+ // verify the required parameter 'incidentTemplateId' is set
+ if (incidentTemplateId == null) {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(
+ new ApiException(
+ 400,
+ "Missing the required parameter 'incidentTemplateId' when calling"
+ + " updateIncidentTemplate"));
+ return result;
+ }
+
+ // verify the required parameter 'body' is set
+ if (body == null) {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(
+ new ApiException(
+ 400, "Missing the required parameter 'body' when calling updateIncidentTemplate"));
+ return result;
+ }
+ // create path and map variables
+ String localVarPath =
+ "/api/v2/integration/salesforce-incidents/incident-templates/{incident_template_id}"
+ .replaceAll(
+ "\\{" + "incident_template_id" + "\\}",
+ apiClient.escapeString(incidentTemplateId.toString()));
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder;
+ try {
+ builder =
+ apiClient.createBuilder(
+ "v2.SalesforceIntegrationApi.updateIncidentTemplate",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"application/json"},
+ new String[] {"apiKeyAuth", "appKeyAuth"});
+ } catch (ApiException ex) {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(ex);
+ return result;
+ }
+ return apiClient.invokeAPIAsync(
+ "PATCH",
+ builder,
+ localVarHeaderParams,
+ new String[] {"application/json"},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ new GenericType() {});
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/SalesforceIncidentsOrganizationResponseAttributes.java b/src/main/java/com/datadog/api/client/v2/model/SalesforceIncidentsOrganizationResponseAttributes.java
new file mode 100644
index 00000000000..1143e06a739
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/SalesforceIncidentsOrganizationResponseAttributes.java
@@ -0,0 +1,227 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/** Attributes of a Salesforce organization connected to the Datadog Salesforce integration. */
+@JsonPropertyOrder({
+ SalesforceIncidentsOrganizationResponseAttributes.JSON_PROPERTY_INSTANCE_URL,
+ SalesforceIncidentsOrganizationResponseAttributes.JSON_PROPERTY_NAME,
+ SalesforceIncidentsOrganizationResponseAttributes.JSON_PROPERTY_SFDC_ORG_ID,
+ SalesforceIncidentsOrganizationResponseAttributes.JSON_PROPERTY_SFDC_ORG_TYPE
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class SalesforceIncidentsOrganizationResponseAttributes {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_INSTANCE_URL = "instance_url";
+ private String instanceUrl;
+
+ public static final String JSON_PROPERTY_NAME = "name";
+ private String name;
+
+ public static final String JSON_PROPERTY_SFDC_ORG_ID = "sfdc_org_id";
+ private String sfdcOrgId;
+
+ public static final String JSON_PROPERTY_SFDC_ORG_TYPE = "sfdc_org_type";
+ private String sfdcOrgType;
+
+ public SalesforceIncidentsOrganizationResponseAttributes instanceUrl(String instanceUrl) {
+ this.instanceUrl = instanceUrl;
+ return this;
+ }
+
+ /**
+ * The Salesforce instance URL used to call this organization's APIs.
+ *
+ * @return instanceUrl
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_INSTANCE_URL)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getInstanceUrl() {
+ return instanceUrl;
+ }
+
+ public void setInstanceUrl(String instanceUrl) {
+ this.instanceUrl = instanceUrl;
+ }
+
+ public SalesforceIncidentsOrganizationResponseAttributes name(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Human-readable name of the Salesforce organization.
+ *
+ * @return name
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_NAME)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public SalesforceIncidentsOrganizationResponseAttributes sfdcOrgId(String sfdcOrgId) {
+ this.sfdcOrgId = sfdcOrgId;
+ return this;
+ }
+
+ /**
+ * The Salesforce organization identifier (15- or 18-character Salesforce org ID).
+ *
+ * @return sfdcOrgId
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_SFDC_ORG_ID)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getSfdcOrgId() {
+ return sfdcOrgId;
+ }
+
+ public void setSfdcOrgId(String sfdcOrgId) {
+ this.sfdcOrgId = sfdcOrgId;
+ }
+
+ public SalesforceIncidentsOrganizationResponseAttributes sfdcOrgType(String sfdcOrgType) {
+ this.sfdcOrgType = sfdcOrgType;
+ return this;
+ }
+
+ /**
+ * The Salesforce organization type (for example, Production or Sandbox
+ * ).
+ *
+ * @return sfdcOrgType
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_SFDC_ORG_TYPE)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getSfdcOrgType() {
+ return sfdcOrgType;
+ }
+
+ public void setSfdcOrgType(String sfdcOrgType) {
+ this.sfdcOrgType = sfdcOrgType;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return SalesforceIncidentsOrganizationResponseAttributes
+ */
+ @JsonAnySetter
+ public SalesforceIncidentsOrganizationResponseAttributes putAdditionalProperty(
+ String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /** Return true if this SalesforceIncidentsOrganizationResponseAttributes object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ SalesforceIncidentsOrganizationResponseAttributes
+ salesforceIncidentsOrganizationResponseAttributes =
+ (SalesforceIncidentsOrganizationResponseAttributes) o;
+ return Objects.equals(
+ this.instanceUrl, salesforceIncidentsOrganizationResponseAttributes.instanceUrl)
+ && Objects.equals(this.name, salesforceIncidentsOrganizationResponseAttributes.name)
+ && Objects.equals(
+ this.sfdcOrgId, salesforceIncidentsOrganizationResponseAttributes.sfdcOrgId)
+ && Objects.equals(
+ this.sfdcOrgType, salesforceIncidentsOrganizationResponseAttributes.sfdcOrgType)
+ && Objects.equals(
+ this.additionalProperties,
+ salesforceIncidentsOrganizationResponseAttributes.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(instanceUrl, name, sfdcOrgId, sfdcOrgType, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class SalesforceIncidentsOrganizationResponseAttributes {\n");
+ sb.append(" instanceUrl: ").append(toIndentedString(instanceUrl)).append("\n");
+ sb.append(" name: ").append(toIndentedString(name)).append("\n");
+ sb.append(" sfdcOrgId: ").append(toIndentedString(sfdcOrgId)).append("\n");
+ sb.append(" sfdcOrgType: ").append(toIndentedString(sfdcOrgType)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/SalesforceIncidentsOrganizationResponseData.java b/src/main/java/com/datadog/api/client/v2/model/SalesforceIncidentsOrganizationResponseData.java
new file mode 100644
index 00000000000..4283a6220e6
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/SalesforceIncidentsOrganizationResponseData.java
@@ -0,0 +1,217 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/** Salesforce organization data from a response. */
+@JsonPropertyOrder({
+ SalesforceIncidentsOrganizationResponseData.JSON_PROPERTY_ATTRIBUTES,
+ SalesforceIncidentsOrganizationResponseData.JSON_PROPERTY_ID,
+ SalesforceIncidentsOrganizationResponseData.JSON_PROPERTY_TYPE
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class SalesforceIncidentsOrganizationResponseData {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_ATTRIBUTES = "attributes";
+ private SalesforceIncidentsOrganizationResponseAttributes attributes;
+
+ public static final String JSON_PROPERTY_ID = "id";
+ private String id;
+
+ public static final String JSON_PROPERTY_TYPE = "type";
+ private SalesforceIncidentsOrganizationType type =
+ SalesforceIncidentsOrganizationType.SALESFORCE_INCIDENTS_ORG;
+
+ public SalesforceIncidentsOrganizationResponseData() {}
+
+ @JsonCreator
+ public SalesforceIncidentsOrganizationResponseData(
+ @JsonProperty(required = true, value = JSON_PROPERTY_ATTRIBUTES)
+ SalesforceIncidentsOrganizationResponseAttributes attributes,
+ @JsonProperty(required = true, value = JSON_PROPERTY_ID) String id,
+ @JsonProperty(required = true, value = JSON_PROPERTY_TYPE)
+ SalesforceIncidentsOrganizationType type) {
+ this.attributes = attributes;
+ this.unparsed |= attributes.unparsed;
+ this.id = id;
+ this.type = type;
+ this.unparsed |= !type.isValid();
+ }
+
+ public SalesforceIncidentsOrganizationResponseData attributes(
+ SalesforceIncidentsOrganizationResponseAttributes attributes) {
+ this.attributes = attributes;
+ this.unparsed |= attributes.unparsed;
+ return this;
+ }
+
+ /**
+ * Attributes of a Salesforce organization connected to the Datadog Salesforce integration.
+ *
+ * @return attributes
+ */
+ @JsonProperty(JSON_PROPERTY_ATTRIBUTES)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public SalesforceIncidentsOrganizationResponseAttributes getAttributes() {
+ return attributes;
+ }
+
+ public void setAttributes(SalesforceIncidentsOrganizationResponseAttributes attributes) {
+ this.attributes = attributes;
+ }
+
+ public SalesforceIncidentsOrganizationResponseData id(String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * The Datadog-assigned ID of the connected Salesforce organization.
+ *
+ * @return id
+ */
+ @JsonProperty(JSON_PROPERTY_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public SalesforceIncidentsOrganizationResponseData type(
+ SalesforceIncidentsOrganizationType type) {
+ this.type = type;
+ this.unparsed |= !type.isValid();
+ return this;
+ }
+
+ /**
+ * Salesforce organization resource type.
+ *
+ * @return type
+ */
+ @JsonProperty(JSON_PROPERTY_TYPE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public SalesforceIncidentsOrganizationType getType() {
+ return type;
+ }
+
+ public void setType(SalesforceIncidentsOrganizationType type) {
+ if (!type.isValid()) {
+ this.unparsed = true;
+ }
+ this.type = type;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return SalesforceIncidentsOrganizationResponseData
+ */
+ @JsonAnySetter
+ public SalesforceIncidentsOrganizationResponseData putAdditionalProperty(
+ String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /** Return true if this SalesforceIncidentsOrganizationResponseData object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ SalesforceIncidentsOrganizationResponseData salesforceIncidentsOrganizationResponseData =
+ (SalesforceIncidentsOrganizationResponseData) o;
+ return Objects.equals(this.attributes, salesforceIncidentsOrganizationResponseData.attributes)
+ && Objects.equals(this.id, salesforceIncidentsOrganizationResponseData.id)
+ && Objects.equals(this.type, salesforceIncidentsOrganizationResponseData.type)
+ && Objects.equals(
+ this.additionalProperties,
+ salesforceIncidentsOrganizationResponseData.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(attributes, id, type, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class SalesforceIncidentsOrganizationResponseData {\n");
+ sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n");
+ sb.append(" id: ").append(toIndentedString(id)).append("\n");
+ sb.append(" type: ").append(toIndentedString(type)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/SalesforceIncidentsOrganizationType.java b/src/main/java/com/datadog/api/client/v2/model/SalesforceIncidentsOrganizationType.java
new file mode 100644
index 00000000000..a3d0fa6b9f8
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/SalesforceIncidentsOrganizationType.java
@@ -0,0 +1,59 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.datadog.api.client.ModelEnum;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.SerializerProvider;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.StdSerializer;
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
+/** Salesforce organization resource type. */
+@JsonSerialize(
+ using = SalesforceIncidentsOrganizationType.SalesforceIncidentsOrganizationTypeSerializer.class)
+public class SalesforceIncidentsOrganizationType extends ModelEnum {
+
+ private static final Set allowedValues =
+ new HashSet(Arrays.asList("salesforce-incidents-org"));
+
+ public static final SalesforceIncidentsOrganizationType SALESFORCE_INCIDENTS_ORG =
+ new SalesforceIncidentsOrganizationType("salesforce-incidents-org");
+
+ SalesforceIncidentsOrganizationType(String value) {
+ super(value, allowedValues);
+ }
+
+ public static class SalesforceIncidentsOrganizationTypeSerializer
+ extends StdSerializer {
+ public SalesforceIncidentsOrganizationTypeSerializer(
+ Class t) {
+ super(t);
+ }
+
+ public SalesforceIncidentsOrganizationTypeSerializer() {
+ this(null);
+ }
+
+ @Override
+ public void serialize(
+ SalesforceIncidentsOrganizationType value, JsonGenerator jgen, SerializerProvider provider)
+ throws IOException, JsonProcessingException {
+ jgen.writeObject(value.value);
+ }
+ }
+
+ @JsonCreator
+ public static SalesforceIncidentsOrganizationType fromValue(String value) {
+ return new SalesforceIncidentsOrganizationType(value);
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/SalesforceIncidentsOrganizationsResponse.java b/src/main/java/com/datadog/api/client/v2/model/SalesforceIncidentsOrganizationsResponse.java
new file mode 100644
index 00000000000..e16ef0c472a
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/SalesforceIncidentsOrganizationsResponse.java
@@ -0,0 +1,163 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+
+/**
+ * Response containing a list of Salesforce organizations connected to the Datadog Salesforce
+ * integration.
+ */
+@JsonPropertyOrder({SalesforceIncidentsOrganizationsResponse.JSON_PROPERTY_DATA})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class SalesforceIncidentsOrganizationsResponse {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_DATA = "data";
+ private List data = new ArrayList<>();
+
+ public SalesforceIncidentsOrganizationsResponse() {}
+
+ @JsonCreator
+ public SalesforceIncidentsOrganizationsResponse(
+ @JsonProperty(required = true, value = JSON_PROPERTY_DATA)
+ List data) {
+ this.data = data;
+ }
+
+ public SalesforceIncidentsOrganizationsResponse data(
+ List data) {
+ this.data = data;
+ for (SalesforceIncidentsOrganizationResponseData item : data) {
+ this.unparsed |= item.unparsed;
+ }
+ return this;
+ }
+
+ public SalesforceIncidentsOrganizationsResponse addDataItem(
+ SalesforceIncidentsOrganizationResponseData dataItem) {
+ this.data.add(dataItem);
+ this.unparsed |= dataItem.unparsed;
+ return this;
+ }
+
+ /**
+ * An array of Salesforce organizations.
+ *
+ * @return data
+ */
+ @JsonProperty(JSON_PROPERTY_DATA)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public List getData() {
+ return data;
+ }
+
+ public void setData(List data) {
+ this.data = data;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return SalesforceIncidentsOrganizationsResponse
+ */
+ @JsonAnySetter
+ public SalesforceIncidentsOrganizationsResponse putAdditionalProperty(String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /** Return true if this SalesforceIncidentsOrganizationsResponse object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ SalesforceIncidentsOrganizationsResponse salesforceIncidentsOrganizationsResponse =
+ (SalesforceIncidentsOrganizationsResponse) o;
+ return Objects.equals(this.data, salesforceIncidentsOrganizationsResponse.data)
+ && Objects.equals(
+ this.additionalProperties,
+ salesforceIncidentsOrganizationsResponse.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(data, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class SalesforceIncidentsOrganizationsResponse {\n");
+ sb.append(" data: ").append(toIndentedString(data)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/SalesforceIncidentsTemplateCreateAttributes.java b/src/main/java/com/datadog/api/client/v2/model/SalesforceIncidentsTemplateCreateAttributes.java
new file mode 100644
index 00000000000..4dc3f33460d
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/SalesforceIncidentsTemplateCreateAttributes.java
@@ -0,0 +1,299 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+import java.util.UUID;
+
+/** Salesforce incident template attributes for a create request. */
+@JsonPropertyOrder({
+ SalesforceIncidentsTemplateCreateAttributes.JSON_PROPERTY_DESCRIPTION,
+ SalesforceIncidentsTemplateCreateAttributes.JSON_PROPERTY_NAME,
+ SalesforceIncidentsTemplateCreateAttributes.JSON_PROPERTY_OWNER_ID,
+ SalesforceIncidentsTemplateCreateAttributes.JSON_PROPERTY_PRIORITY,
+ SalesforceIncidentsTemplateCreateAttributes.JSON_PROPERTY_SALESFORCE_ORG_ID,
+ SalesforceIncidentsTemplateCreateAttributes.JSON_PROPERTY_SUBJECT
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class SalesforceIncidentsTemplateCreateAttributes {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_DESCRIPTION = "description";
+ private String description;
+
+ public static final String JSON_PROPERTY_NAME = "name";
+ private String name;
+
+ public static final String JSON_PROPERTY_OWNER_ID = "owner_id";
+ private String ownerId;
+
+ public static final String JSON_PROPERTY_PRIORITY = "priority";
+ private SalesforceIncidentsTemplatePriority priority;
+
+ public static final String JSON_PROPERTY_SALESFORCE_ORG_ID = "salesforce_org_id";
+ private UUID salesforceOrgId;
+
+ public static final String JSON_PROPERTY_SUBJECT = "subject";
+ private String subject;
+
+ public SalesforceIncidentsTemplateCreateAttributes() {}
+
+ @JsonCreator
+ public SalesforceIncidentsTemplateCreateAttributes(
+ @JsonProperty(required = true, value = JSON_PROPERTY_DESCRIPTION) String description,
+ @JsonProperty(required = true, value = JSON_PROPERTY_NAME) String name,
+ @JsonProperty(required = true, value = JSON_PROPERTY_OWNER_ID) String ownerId,
+ @JsonProperty(required = true, value = JSON_PROPERTY_PRIORITY)
+ SalesforceIncidentsTemplatePriority priority,
+ @JsonProperty(required = true, value = JSON_PROPERTY_SALESFORCE_ORG_ID) UUID salesforceOrgId,
+ @JsonProperty(required = true, value = JSON_PROPERTY_SUBJECT) String subject) {
+ this.description = description;
+ this.name = name;
+ this.ownerId = ownerId;
+ this.priority = priority;
+ this.unparsed |= !priority.isValid();
+ this.salesforceOrgId = salesforceOrgId;
+ this.subject = subject;
+ }
+
+ public SalesforceIncidentsTemplateCreateAttributes description(String description) {
+ this.description = description;
+ return this;
+ }
+
+ /**
+ * Long-form description body for Salesforce incidents created from this template.
+ *
+ * @return description
+ */
+ @JsonProperty(JSON_PROPERTY_DESCRIPTION)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public SalesforceIncidentsTemplateCreateAttributes name(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Human-readable name for this incident template. Must be unique within your organization.
+ *
+ * @return name
+ */
+ @JsonProperty(JSON_PROPERTY_NAME)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public SalesforceIncidentsTemplateCreateAttributes ownerId(String ownerId) {
+ this.ownerId = ownerId;
+ return this;
+ }
+
+ /**
+ * The Salesforce user ID that owns incidents created from this template.
+ *
+ * @return ownerId
+ */
+ @JsonProperty(JSON_PROPERTY_OWNER_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getOwnerId() {
+ return ownerId;
+ }
+
+ public void setOwnerId(String ownerId) {
+ this.ownerId = ownerId;
+ }
+
+ public SalesforceIncidentsTemplateCreateAttributes priority(
+ SalesforceIncidentsTemplatePriority priority) {
+ this.priority = priority;
+ this.unparsed |= !priority.isValid();
+ return this;
+ }
+
+ /**
+ * Priority of the Salesforce incident created from this template.
+ *
+ * @return priority
+ */
+ @JsonProperty(JSON_PROPERTY_PRIORITY)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public SalesforceIncidentsTemplatePriority getPriority() {
+ return priority;
+ }
+
+ public void setPriority(SalesforceIncidentsTemplatePriority priority) {
+ if (!priority.isValid()) {
+ this.unparsed = true;
+ }
+ this.priority = priority;
+ }
+
+ public SalesforceIncidentsTemplateCreateAttributes salesforceOrgId(UUID salesforceOrgId) {
+ this.salesforceOrgId = salesforceOrgId;
+ return this;
+ }
+
+ /**
+ * The Datadog-assigned ID of the Salesforce organization this template belongs to.
+ *
+ * @return salesforceOrgId
+ */
+ @JsonProperty(JSON_PROPERTY_SALESFORCE_ORG_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public UUID getSalesforceOrgId() {
+ return salesforceOrgId;
+ }
+
+ public void setSalesforceOrgId(UUID salesforceOrgId) {
+ this.salesforceOrgId = salesforceOrgId;
+ }
+
+ public SalesforceIncidentsTemplateCreateAttributes subject(String subject) {
+ this.subject = subject;
+ return this;
+ }
+
+ /**
+ * Subject line for Salesforce incidents created from this template.
+ *
+ * @return subject
+ */
+ @JsonProperty(JSON_PROPERTY_SUBJECT)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getSubject() {
+ return subject;
+ }
+
+ public void setSubject(String subject) {
+ this.subject = subject;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return SalesforceIncidentsTemplateCreateAttributes
+ */
+ @JsonAnySetter
+ public SalesforceIncidentsTemplateCreateAttributes putAdditionalProperty(
+ String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /** Return true if this SalesforceIncidentsTemplateCreateAttributes object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ SalesforceIncidentsTemplateCreateAttributes salesforceIncidentsTemplateCreateAttributes =
+ (SalesforceIncidentsTemplateCreateAttributes) o;
+ return Objects.equals(this.description, salesforceIncidentsTemplateCreateAttributes.description)
+ && Objects.equals(this.name, salesforceIncidentsTemplateCreateAttributes.name)
+ && Objects.equals(this.ownerId, salesforceIncidentsTemplateCreateAttributes.ownerId)
+ && Objects.equals(this.priority, salesforceIncidentsTemplateCreateAttributes.priority)
+ && Objects.equals(
+ this.salesforceOrgId, salesforceIncidentsTemplateCreateAttributes.salesforceOrgId)
+ && Objects.equals(this.subject, salesforceIncidentsTemplateCreateAttributes.subject)
+ && Objects.equals(
+ this.additionalProperties,
+ salesforceIncidentsTemplateCreateAttributes.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(
+ description, name, ownerId, priority, salesforceOrgId, subject, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class SalesforceIncidentsTemplateCreateAttributes {\n");
+ sb.append(" description: ").append(toIndentedString(description)).append("\n");
+ sb.append(" name: ").append(toIndentedString(name)).append("\n");
+ sb.append(" ownerId: ").append(toIndentedString(ownerId)).append("\n");
+ sb.append(" priority: ").append(toIndentedString(priority)).append("\n");
+ sb.append(" salesforceOrgId: ").append(toIndentedString(salesforceOrgId)).append("\n");
+ sb.append(" subject: ").append(toIndentedString(subject)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/SalesforceIncidentsTemplateCreateData.java b/src/main/java/com/datadog/api/client/v2/model/SalesforceIncidentsTemplateCreateData.java
new file mode 100644
index 00000000000..17a2ec179a6
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/SalesforceIncidentsTemplateCreateData.java
@@ -0,0 +1,186 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/** Salesforce incident template data for a create request. */
+@JsonPropertyOrder({
+ SalesforceIncidentsTemplateCreateData.JSON_PROPERTY_ATTRIBUTES,
+ SalesforceIncidentsTemplateCreateData.JSON_PROPERTY_TYPE
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class SalesforceIncidentsTemplateCreateData {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_ATTRIBUTES = "attributes";
+ private SalesforceIncidentsTemplateCreateAttributes attributes;
+
+ public static final String JSON_PROPERTY_TYPE = "type";
+ private SalesforceIncidentsTemplateType type =
+ SalesforceIncidentsTemplateType.SALESFORCE_INCIDENTS_INCIDENT_TEMPLATE;
+
+ public SalesforceIncidentsTemplateCreateData() {}
+
+ @JsonCreator
+ public SalesforceIncidentsTemplateCreateData(
+ @JsonProperty(required = true, value = JSON_PROPERTY_ATTRIBUTES)
+ SalesforceIncidentsTemplateCreateAttributes attributes,
+ @JsonProperty(required = true, value = JSON_PROPERTY_TYPE)
+ SalesforceIncidentsTemplateType type) {
+ this.attributes = attributes;
+ this.unparsed |= attributes.unparsed;
+ this.type = type;
+ this.unparsed |= !type.isValid();
+ }
+
+ public SalesforceIncidentsTemplateCreateData attributes(
+ SalesforceIncidentsTemplateCreateAttributes attributes) {
+ this.attributes = attributes;
+ this.unparsed |= attributes.unparsed;
+ return this;
+ }
+
+ /**
+ * Salesforce incident template attributes for a create request.
+ *
+ * @return attributes
+ */
+ @JsonProperty(JSON_PROPERTY_ATTRIBUTES)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public SalesforceIncidentsTemplateCreateAttributes getAttributes() {
+ return attributes;
+ }
+
+ public void setAttributes(SalesforceIncidentsTemplateCreateAttributes attributes) {
+ this.attributes = attributes;
+ }
+
+ public SalesforceIncidentsTemplateCreateData type(SalesforceIncidentsTemplateType type) {
+ this.type = type;
+ this.unparsed |= !type.isValid();
+ return this;
+ }
+
+ /**
+ * Salesforce incident template resource type.
+ *
+ * @return type
+ */
+ @JsonProperty(JSON_PROPERTY_TYPE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public SalesforceIncidentsTemplateType getType() {
+ return type;
+ }
+
+ public void setType(SalesforceIncidentsTemplateType type) {
+ if (!type.isValid()) {
+ this.unparsed = true;
+ }
+ this.type = type;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return SalesforceIncidentsTemplateCreateData
+ */
+ @JsonAnySetter
+ public SalesforceIncidentsTemplateCreateData putAdditionalProperty(String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /** Return true if this SalesforceIncidentsTemplateCreateData object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ SalesforceIncidentsTemplateCreateData salesforceIncidentsTemplateCreateData =
+ (SalesforceIncidentsTemplateCreateData) o;
+ return Objects.equals(this.attributes, salesforceIncidentsTemplateCreateData.attributes)
+ && Objects.equals(this.type, salesforceIncidentsTemplateCreateData.type)
+ && Objects.equals(
+ this.additionalProperties, salesforceIncidentsTemplateCreateData.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(attributes, type, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class SalesforceIncidentsTemplateCreateData {\n");
+ sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n");
+ sb.append(" type: ").append(toIndentedString(type)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/SalesforceIncidentsTemplateCreateRequest.java b/src/main/java/com/datadog/api/client/v2/model/SalesforceIncidentsTemplateCreateRequest.java
new file mode 100644
index 00000000000..5c6748024fe
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/SalesforceIncidentsTemplateCreateRequest.java
@@ -0,0 +1,149 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/** Create request for a Salesforce incident template. */
+@JsonPropertyOrder({SalesforceIncidentsTemplateCreateRequest.JSON_PROPERTY_DATA})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class SalesforceIncidentsTemplateCreateRequest {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_DATA = "data";
+ private SalesforceIncidentsTemplateCreateData data;
+
+ public SalesforceIncidentsTemplateCreateRequest() {}
+
+ @JsonCreator
+ public SalesforceIncidentsTemplateCreateRequest(
+ @JsonProperty(required = true, value = JSON_PROPERTY_DATA)
+ SalesforceIncidentsTemplateCreateData data) {
+ this.data = data;
+ this.unparsed |= data.unparsed;
+ }
+
+ public SalesforceIncidentsTemplateCreateRequest data(SalesforceIncidentsTemplateCreateData data) {
+ this.data = data;
+ this.unparsed |= data.unparsed;
+ return this;
+ }
+
+ /**
+ * Salesforce incident template data for a create request.
+ *
+ * @return data
+ */
+ @JsonProperty(JSON_PROPERTY_DATA)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public SalesforceIncidentsTemplateCreateData getData() {
+ return data;
+ }
+
+ public void setData(SalesforceIncidentsTemplateCreateData data) {
+ this.data = data;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return SalesforceIncidentsTemplateCreateRequest
+ */
+ @JsonAnySetter
+ public SalesforceIncidentsTemplateCreateRequest putAdditionalProperty(String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /** Return true if this SalesforceIncidentsTemplateCreateRequest object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ SalesforceIncidentsTemplateCreateRequest salesforceIncidentsTemplateCreateRequest =
+ (SalesforceIncidentsTemplateCreateRequest) o;
+ return Objects.equals(this.data, salesforceIncidentsTemplateCreateRequest.data)
+ && Objects.equals(
+ this.additionalProperties,
+ salesforceIncidentsTemplateCreateRequest.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(data, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class SalesforceIncidentsTemplateCreateRequest {\n");
+ sb.append(" data: ").append(toIndentedString(data)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/SalesforceIncidentsTemplatePriority.java b/src/main/java/com/datadog/api/client/v2/model/SalesforceIncidentsTemplatePriority.java
new file mode 100644
index 00000000000..42035b61697
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/SalesforceIncidentsTemplatePriority.java
@@ -0,0 +1,65 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.datadog.api.client.ModelEnum;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.SerializerProvider;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.StdSerializer;
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
+/** Priority of the Salesforce incident created from this template. */
+@JsonSerialize(
+ using = SalesforceIncidentsTemplatePriority.SalesforceIncidentsTemplatePrioritySerializer.class)
+public class SalesforceIncidentsTemplatePriority extends ModelEnum {
+
+ private static final Set allowedValues =
+ new HashSet(Arrays.asList("Critical", "High", "Moderate", "Low"));
+
+ public static final SalesforceIncidentsTemplatePriority CRITICAL =
+ new SalesforceIncidentsTemplatePriority("Critical");
+ public static final SalesforceIncidentsTemplatePriority HIGH =
+ new SalesforceIncidentsTemplatePriority("High");
+ public static final SalesforceIncidentsTemplatePriority MODERATE =
+ new SalesforceIncidentsTemplatePriority("Moderate");
+ public static final SalesforceIncidentsTemplatePriority LOW =
+ new SalesforceIncidentsTemplatePriority("Low");
+
+ SalesforceIncidentsTemplatePriority(String value) {
+ super(value, allowedValues);
+ }
+
+ public static class SalesforceIncidentsTemplatePrioritySerializer
+ extends StdSerializer {
+ public SalesforceIncidentsTemplatePrioritySerializer(
+ Class t) {
+ super(t);
+ }
+
+ public SalesforceIncidentsTemplatePrioritySerializer() {
+ this(null);
+ }
+
+ @Override
+ public void serialize(
+ SalesforceIncidentsTemplatePriority value, JsonGenerator jgen, SerializerProvider provider)
+ throws IOException, JsonProcessingException {
+ jgen.writeObject(value.value);
+ }
+ }
+
+ @JsonCreator
+ public static SalesforceIncidentsTemplatePriority fromValue(String value) {
+ return new SalesforceIncidentsTemplatePriority(value);
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/SalesforceIncidentsTemplateResponse.java b/src/main/java/com/datadog/api/client/v2/model/SalesforceIncidentsTemplateResponse.java
new file mode 100644
index 00000000000..4ffdb2c9c45
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/SalesforceIncidentsTemplateResponse.java
@@ -0,0 +1,148 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/** Response containing a Salesforce incident template. */
+@JsonPropertyOrder({SalesforceIncidentsTemplateResponse.JSON_PROPERTY_DATA})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class SalesforceIncidentsTemplateResponse {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_DATA = "data";
+ private SalesforceIncidentsTemplateResponseData data;
+
+ public SalesforceIncidentsTemplateResponse() {}
+
+ @JsonCreator
+ public SalesforceIncidentsTemplateResponse(
+ @JsonProperty(required = true, value = JSON_PROPERTY_DATA)
+ SalesforceIncidentsTemplateResponseData data) {
+ this.data = data;
+ this.unparsed |= data.unparsed;
+ }
+
+ public SalesforceIncidentsTemplateResponse data(SalesforceIncidentsTemplateResponseData data) {
+ this.data = data;
+ this.unparsed |= data.unparsed;
+ return this;
+ }
+
+ /**
+ * Salesforce incident template data from a response.
+ *
+ * @return data
+ */
+ @JsonProperty(JSON_PROPERTY_DATA)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public SalesforceIncidentsTemplateResponseData getData() {
+ return data;
+ }
+
+ public void setData(SalesforceIncidentsTemplateResponseData data) {
+ this.data = data;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return SalesforceIncidentsTemplateResponse
+ */
+ @JsonAnySetter
+ public SalesforceIncidentsTemplateResponse putAdditionalProperty(String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /** Return true if this SalesforceIncidentsTemplateResponse object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ SalesforceIncidentsTemplateResponse salesforceIncidentsTemplateResponse =
+ (SalesforceIncidentsTemplateResponse) o;
+ return Objects.equals(this.data, salesforceIncidentsTemplateResponse.data)
+ && Objects.equals(
+ this.additionalProperties, salesforceIncidentsTemplateResponse.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(data, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class SalesforceIncidentsTemplateResponse {\n");
+ sb.append(" data: ").append(toIndentedString(data)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/SalesforceIncidentsTemplateResponseAttributes.java b/src/main/java/com/datadog/api/client/v2/model/SalesforceIncidentsTemplateResponseAttributes.java
new file mode 100644
index 00000000000..fd12c73d287
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/SalesforceIncidentsTemplateResponseAttributes.java
@@ -0,0 +1,285 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+import java.util.UUID;
+
+/** Salesforce incident template attributes returned by the API. */
+@JsonPropertyOrder({
+ SalesforceIncidentsTemplateResponseAttributes.JSON_PROPERTY_DESCRIPTION,
+ SalesforceIncidentsTemplateResponseAttributes.JSON_PROPERTY_NAME,
+ SalesforceIncidentsTemplateResponseAttributes.JSON_PROPERTY_OWNER_ID,
+ SalesforceIncidentsTemplateResponseAttributes.JSON_PROPERTY_PRIORITY,
+ SalesforceIncidentsTemplateResponseAttributes.JSON_PROPERTY_SALESFORCE_ORG_ID,
+ SalesforceIncidentsTemplateResponseAttributes.JSON_PROPERTY_SUBJECT
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class SalesforceIncidentsTemplateResponseAttributes {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_DESCRIPTION = "description";
+ private String description;
+
+ public static final String JSON_PROPERTY_NAME = "name";
+ private String name;
+
+ public static final String JSON_PROPERTY_OWNER_ID = "owner_id";
+ private String ownerId;
+
+ public static final String JSON_PROPERTY_PRIORITY = "priority";
+ private SalesforceIncidentsTemplatePriority priority;
+
+ public static final String JSON_PROPERTY_SALESFORCE_ORG_ID = "salesforce_org_id";
+ private UUID salesforceOrgId;
+
+ public static final String JSON_PROPERTY_SUBJECT = "subject";
+ private String subject;
+
+ public SalesforceIncidentsTemplateResponseAttributes description(String description) {
+ this.description = description;
+ return this;
+ }
+
+ /**
+ * Long-form description body for Salesforce incidents created from this template.
+ *
+ * @return description
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_DESCRIPTION)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public SalesforceIncidentsTemplateResponseAttributes name(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Human-readable name for this incident template.
+ *
+ * @return name
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_NAME)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public SalesforceIncidentsTemplateResponseAttributes ownerId(String ownerId) {
+ this.ownerId = ownerId;
+ return this;
+ }
+
+ /**
+ * The Salesforce user ID that owns incidents created from this template.
+ *
+ * @return ownerId
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_OWNER_ID)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getOwnerId() {
+ return ownerId;
+ }
+
+ public void setOwnerId(String ownerId) {
+ this.ownerId = ownerId;
+ }
+
+ public SalesforceIncidentsTemplateResponseAttributes priority(
+ SalesforceIncidentsTemplatePriority priority) {
+ this.priority = priority;
+ this.unparsed |= !priority.isValid();
+ return this;
+ }
+
+ /**
+ * Priority of the Salesforce incident created from this template.
+ *
+ * @return priority
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_PRIORITY)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public SalesforceIncidentsTemplatePriority getPriority() {
+ return priority;
+ }
+
+ public void setPriority(SalesforceIncidentsTemplatePriority priority) {
+ if (!priority.isValid()) {
+ this.unparsed = true;
+ }
+ this.priority = priority;
+ }
+
+ public SalesforceIncidentsTemplateResponseAttributes salesforceOrgId(UUID salesforceOrgId) {
+ this.salesforceOrgId = salesforceOrgId;
+ return this;
+ }
+
+ /**
+ * The Datadog-assigned ID of the Salesforce organization this template belongs to.
+ *
+ * @return salesforceOrgId
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_SALESFORCE_ORG_ID)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public UUID getSalesforceOrgId() {
+ return salesforceOrgId;
+ }
+
+ public void setSalesforceOrgId(UUID salesforceOrgId) {
+ this.salesforceOrgId = salesforceOrgId;
+ }
+
+ public SalesforceIncidentsTemplateResponseAttributes subject(String subject) {
+ this.subject = subject;
+ return this;
+ }
+
+ /**
+ * Subject line for Salesforce incidents created from this template.
+ *
+ * @return subject
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_SUBJECT)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getSubject() {
+ return subject;
+ }
+
+ public void setSubject(String subject) {
+ this.subject = subject;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return SalesforceIncidentsTemplateResponseAttributes
+ */
+ @JsonAnySetter
+ public SalesforceIncidentsTemplateResponseAttributes putAdditionalProperty(
+ String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /** Return true if this SalesforceIncidentsTemplateResponseAttributes object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ SalesforceIncidentsTemplateResponseAttributes salesforceIncidentsTemplateResponseAttributes =
+ (SalesforceIncidentsTemplateResponseAttributes) o;
+ return Objects.equals(
+ this.description, salesforceIncidentsTemplateResponseAttributes.description)
+ && Objects.equals(this.name, salesforceIncidentsTemplateResponseAttributes.name)
+ && Objects.equals(this.ownerId, salesforceIncidentsTemplateResponseAttributes.ownerId)
+ && Objects.equals(this.priority, salesforceIncidentsTemplateResponseAttributes.priority)
+ && Objects.equals(
+ this.salesforceOrgId, salesforceIncidentsTemplateResponseAttributes.salesforceOrgId)
+ && Objects.equals(this.subject, salesforceIncidentsTemplateResponseAttributes.subject)
+ && Objects.equals(
+ this.additionalProperties,
+ salesforceIncidentsTemplateResponseAttributes.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(
+ description, name, ownerId, priority, salesforceOrgId, subject, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class SalesforceIncidentsTemplateResponseAttributes {\n");
+ sb.append(" description: ").append(toIndentedString(description)).append("\n");
+ sb.append(" name: ").append(toIndentedString(name)).append("\n");
+ sb.append(" ownerId: ").append(toIndentedString(ownerId)).append("\n");
+ sb.append(" priority: ").append(toIndentedString(priority)).append("\n");
+ sb.append(" salesforceOrgId: ").append(toIndentedString(salesforceOrgId)).append("\n");
+ sb.append(" subject: ").append(toIndentedString(subject)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/SalesforceIncidentsTemplateResponseData.java b/src/main/java/com/datadog/api/client/v2/model/SalesforceIncidentsTemplateResponseData.java
new file mode 100644
index 00000000000..e99abe0a006
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/SalesforceIncidentsTemplateResponseData.java
@@ -0,0 +1,215 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/** Salesforce incident template data from a response. */
+@JsonPropertyOrder({
+ SalesforceIncidentsTemplateResponseData.JSON_PROPERTY_ATTRIBUTES,
+ SalesforceIncidentsTemplateResponseData.JSON_PROPERTY_ID,
+ SalesforceIncidentsTemplateResponseData.JSON_PROPERTY_TYPE
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class SalesforceIncidentsTemplateResponseData {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_ATTRIBUTES = "attributes";
+ private SalesforceIncidentsTemplateResponseAttributes attributes;
+
+ public static final String JSON_PROPERTY_ID = "id";
+ private String id;
+
+ public static final String JSON_PROPERTY_TYPE = "type";
+ private SalesforceIncidentsTemplateType type =
+ SalesforceIncidentsTemplateType.SALESFORCE_INCIDENTS_INCIDENT_TEMPLATE;
+
+ public SalesforceIncidentsTemplateResponseData() {}
+
+ @JsonCreator
+ public SalesforceIncidentsTemplateResponseData(
+ @JsonProperty(required = true, value = JSON_PROPERTY_ATTRIBUTES)
+ SalesforceIncidentsTemplateResponseAttributes attributes,
+ @JsonProperty(required = true, value = JSON_PROPERTY_ID) String id,
+ @JsonProperty(required = true, value = JSON_PROPERTY_TYPE)
+ SalesforceIncidentsTemplateType type) {
+ this.attributes = attributes;
+ this.unparsed |= attributes.unparsed;
+ this.id = id;
+ this.type = type;
+ this.unparsed |= !type.isValid();
+ }
+
+ public SalesforceIncidentsTemplateResponseData attributes(
+ SalesforceIncidentsTemplateResponseAttributes attributes) {
+ this.attributes = attributes;
+ this.unparsed |= attributes.unparsed;
+ return this;
+ }
+
+ /**
+ * Salesforce incident template attributes returned by the API.
+ *
+ * @return attributes
+ */
+ @JsonProperty(JSON_PROPERTY_ATTRIBUTES)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public SalesforceIncidentsTemplateResponseAttributes getAttributes() {
+ return attributes;
+ }
+
+ public void setAttributes(SalesforceIncidentsTemplateResponseAttributes attributes) {
+ this.attributes = attributes;
+ }
+
+ public SalesforceIncidentsTemplateResponseData id(String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * The ID of the Salesforce incident template.
+ *
+ * @return id
+ */
+ @JsonProperty(JSON_PROPERTY_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public SalesforceIncidentsTemplateResponseData type(SalesforceIncidentsTemplateType type) {
+ this.type = type;
+ this.unparsed |= !type.isValid();
+ return this;
+ }
+
+ /**
+ * Salesforce incident template resource type.
+ *
+ * @return type
+ */
+ @JsonProperty(JSON_PROPERTY_TYPE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public SalesforceIncidentsTemplateType getType() {
+ return type;
+ }
+
+ public void setType(SalesforceIncidentsTemplateType type) {
+ if (!type.isValid()) {
+ this.unparsed = true;
+ }
+ this.type = type;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return SalesforceIncidentsTemplateResponseData
+ */
+ @JsonAnySetter
+ public SalesforceIncidentsTemplateResponseData putAdditionalProperty(String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /** Return true if this SalesforceIncidentsTemplateResponseData object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ SalesforceIncidentsTemplateResponseData salesforceIncidentsTemplateResponseData =
+ (SalesforceIncidentsTemplateResponseData) o;
+ return Objects.equals(this.attributes, salesforceIncidentsTemplateResponseData.attributes)
+ && Objects.equals(this.id, salesforceIncidentsTemplateResponseData.id)
+ && Objects.equals(this.type, salesforceIncidentsTemplateResponseData.type)
+ && Objects.equals(
+ this.additionalProperties,
+ salesforceIncidentsTemplateResponseData.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(attributes, id, type, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class SalesforceIncidentsTemplateResponseData {\n");
+ sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n");
+ sb.append(" id: ").append(toIndentedString(id)).append("\n");
+ sb.append(" type: ").append(toIndentedString(type)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/SalesforceIncidentsTemplateType.java b/src/main/java/com/datadog/api/client/v2/model/SalesforceIncidentsTemplateType.java
new file mode 100644
index 00000000000..809e99b5ece
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/SalesforceIncidentsTemplateType.java
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.datadog.api.client.ModelEnum;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.SerializerProvider;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.StdSerializer;
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
+/** Salesforce incident template resource type. */
+@JsonSerialize(
+ using = SalesforceIncidentsTemplateType.SalesforceIncidentsTemplateTypeSerializer.class)
+public class SalesforceIncidentsTemplateType extends ModelEnum {
+
+ private static final Set allowedValues =
+ new HashSet(Arrays.asList("salesforce-incidents-incident-template"));
+
+ public static final SalesforceIncidentsTemplateType SALESFORCE_INCIDENTS_INCIDENT_TEMPLATE =
+ new SalesforceIncidentsTemplateType("salesforce-incidents-incident-template");
+
+ SalesforceIncidentsTemplateType(String value) {
+ super(value, allowedValues);
+ }
+
+ public static class SalesforceIncidentsTemplateTypeSerializer
+ extends StdSerializer {
+ public SalesforceIncidentsTemplateTypeSerializer(Class t) {
+ super(t);
+ }
+
+ public SalesforceIncidentsTemplateTypeSerializer() {
+ this(null);
+ }
+
+ @Override
+ public void serialize(
+ SalesforceIncidentsTemplateType value, JsonGenerator jgen, SerializerProvider provider)
+ throws IOException, JsonProcessingException {
+ jgen.writeObject(value.value);
+ }
+ }
+
+ @JsonCreator
+ public static SalesforceIncidentsTemplateType fromValue(String value) {
+ return new SalesforceIncidentsTemplateType(value);
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/SalesforceIncidentsTemplateUpdateAttributes.java b/src/main/java/com/datadog/api/client/v2/model/SalesforceIncidentsTemplateUpdateAttributes.java
new file mode 100644
index 00000000000..56ea0d87151
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/SalesforceIncidentsTemplateUpdateAttributes.java
@@ -0,0 +1,284 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+import java.util.UUID;
+
+/** Salesforce incident template attributes for an update request. */
+@JsonPropertyOrder({
+ SalesforceIncidentsTemplateUpdateAttributes.JSON_PROPERTY_DESCRIPTION,
+ SalesforceIncidentsTemplateUpdateAttributes.JSON_PROPERTY_NAME,
+ SalesforceIncidentsTemplateUpdateAttributes.JSON_PROPERTY_OWNER_ID,
+ SalesforceIncidentsTemplateUpdateAttributes.JSON_PROPERTY_PRIORITY,
+ SalesforceIncidentsTemplateUpdateAttributes.JSON_PROPERTY_SALESFORCE_ORG_ID,
+ SalesforceIncidentsTemplateUpdateAttributes.JSON_PROPERTY_SUBJECT
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class SalesforceIncidentsTemplateUpdateAttributes {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_DESCRIPTION = "description";
+ private String description;
+
+ public static final String JSON_PROPERTY_NAME = "name";
+ private String name;
+
+ public static final String JSON_PROPERTY_OWNER_ID = "owner_id";
+ private String ownerId;
+
+ public static final String JSON_PROPERTY_PRIORITY = "priority";
+ private SalesforceIncidentsTemplatePriority priority;
+
+ public static final String JSON_PROPERTY_SALESFORCE_ORG_ID = "salesforce_org_id";
+ private UUID salesforceOrgId;
+
+ public static final String JSON_PROPERTY_SUBJECT = "subject";
+ private String subject;
+
+ public SalesforceIncidentsTemplateUpdateAttributes description(String description) {
+ this.description = description;
+ return this;
+ }
+
+ /**
+ * Long-form description body for Salesforce incidents created from this template.
+ *
+ * @return description
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_DESCRIPTION)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public SalesforceIncidentsTemplateUpdateAttributes name(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Human-readable name for this incident template.
+ *
+ * @return name
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_NAME)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public SalesforceIncidentsTemplateUpdateAttributes ownerId(String ownerId) {
+ this.ownerId = ownerId;
+ return this;
+ }
+
+ /**
+ * The Salesforce user ID that owns incidents created from this template.
+ *
+ * @return ownerId
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_OWNER_ID)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getOwnerId() {
+ return ownerId;
+ }
+
+ public void setOwnerId(String ownerId) {
+ this.ownerId = ownerId;
+ }
+
+ public SalesforceIncidentsTemplateUpdateAttributes priority(
+ SalesforceIncidentsTemplatePriority priority) {
+ this.priority = priority;
+ this.unparsed |= !priority.isValid();
+ return this;
+ }
+
+ /**
+ * Priority of the Salesforce incident created from this template.
+ *
+ * @return priority
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_PRIORITY)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public SalesforceIncidentsTemplatePriority getPriority() {
+ return priority;
+ }
+
+ public void setPriority(SalesforceIncidentsTemplatePriority priority) {
+ if (!priority.isValid()) {
+ this.unparsed = true;
+ }
+ this.priority = priority;
+ }
+
+ public SalesforceIncidentsTemplateUpdateAttributes salesforceOrgId(UUID salesforceOrgId) {
+ this.salesforceOrgId = salesforceOrgId;
+ return this;
+ }
+
+ /**
+ * The Datadog-assigned ID of the Salesforce organization this template belongs to.
+ *
+ * @return salesforceOrgId
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_SALESFORCE_ORG_ID)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public UUID getSalesforceOrgId() {
+ return salesforceOrgId;
+ }
+
+ public void setSalesforceOrgId(UUID salesforceOrgId) {
+ this.salesforceOrgId = salesforceOrgId;
+ }
+
+ public SalesforceIncidentsTemplateUpdateAttributes subject(String subject) {
+ this.subject = subject;
+ return this;
+ }
+
+ /**
+ * Subject line for Salesforce incidents created from this template.
+ *
+ * @return subject
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_SUBJECT)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getSubject() {
+ return subject;
+ }
+
+ public void setSubject(String subject) {
+ this.subject = subject;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return SalesforceIncidentsTemplateUpdateAttributes
+ */
+ @JsonAnySetter
+ public SalesforceIncidentsTemplateUpdateAttributes putAdditionalProperty(
+ String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /** Return true if this SalesforceIncidentsTemplateUpdateAttributes object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ SalesforceIncidentsTemplateUpdateAttributes salesforceIncidentsTemplateUpdateAttributes =
+ (SalesforceIncidentsTemplateUpdateAttributes) o;
+ return Objects.equals(this.description, salesforceIncidentsTemplateUpdateAttributes.description)
+ && Objects.equals(this.name, salesforceIncidentsTemplateUpdateAttributes.name)
+ && Objects.equals(this.ownerId, salesforceIncidentsTemplateUpdateAttributes.ownerId)
+ && Objects.equals(this.priority, salesforceIncidentsTemplateUpdateAttributes.priority)
+ && Objects.equals(
+ this.salesforceOrgId, salesforceIncidentsTemplateUpdateAttributes.salesforceOrgId)
+ && Objects.equals(this.subject, salesforceIncidentsTemplateUpdateAttributes.subject)
+ && Objects.equals(
+ this.additionalProperties,
+ salesforceIncidentsTemplateUpdateAttributes.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(
+ description, name, ownerId, priority, salesforceOrgId, subject, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class SalesforceIncidentsTemplateUpdateAttributes {\n");
+ sb.append(" description: ").append(toIndentedString(description)).append("\n");
+ sb.append(" name: ").append(toIndentedString(name)).append("\n");
+ sb.append(" ownerId: ").append(toIndentedString(ownerId)).append("\n");
+ sb.append(" priority: ").append(toIndentedString(priority)).append("\n");
+ sb.append(" salesforceOrgId: ").append(toIndentedString(salesforceOrgId)).append("\n");
+ sb.append(" subject: ").append(toIndentedString(subject)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/SalesforceIncidentsTemplateUpdateData.java b/src/main/java/com/datadog/api/client/v2/model/SalesforceIncidentsTemplateUpdateData.java
new file mode 100644
index 00000000000..baba0f25adb
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/SalesforceIncidentsTemplateUpdateData.java
@@ -0,0 +1,214 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/** Salesforce incident template data for an update request. */
+@JsonPropertyOrder({
+ SalesforceIncidentsTemplateUpdateData.JSON_PROPERTY_ATTRIBUTES,
+ SalesforceIncidentsTemplateUpdateData.JSON_PROPERTY_ID,
+ SalesforceIncidentsTemplateUpdateData.JSON_PROPERTY_TYPE
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class SalesforceIncidentsTemplateUpdateData {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_ATTRIBUTES = "attributes";
+ private SalesforceIncidentsTemplateUpdateAttributes attributes;
+
+ public static final String JSON_PROPERTY_ID = "id";
+ private String id;
+
+ public static final String JSON_PROPERTY_TYPE = "type";
+ private SalesforceIncidentsTemplateType type =
+ SalesforceIncidentsTemplateType.SALESFORCE_INCIDENTS_INCIDENT_TEMPLATE;
+
+ public SalesforceIncidentsTemplateUpdateData() {}
+
+ @JsonCreator
+ public SalesforceIncidentsTemplateUpdateData(
+ @JsonProperty(required = true, value = JSON_PROPERTY_ATTRIBUTES)
+ SalesforceIncidentsTemplateUpdateAttributes attributes,
+ @JsonProperty(required = true, value = JSON_PROPERTY_ID) String id,
+ @JsonProperty(required = true, value = JSON_PROPERTY_TYPE)
+ SalesforceIncidentsTemplateType type) {
+ this.attributes = attributes;
+ this.unparsed |= attributes.unparsed;
+ this.id = id;
+ this.type = type;
+ this.unparsed |= !type.isValid();
+ }
+
+ public SalesforceIncidentsTemplateUpdateData attributes(
+ SalesforceIncidentsTemplateUpdateAttributes attributes) {
+ this.attributes = attributes;
+ this.unparsed |= attributes.unparsed;
+ return this;
+ }
+
+ /**
+ * Salesforce incident template attributes for an update request.
+ *
+ * @return attributes
+ */
+ @JsonProperty(JSON_PROPERTY_ATTRIBUTES)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public SalesforceIncidentsTemplateUpdateAttributes getAttributes() {
+ return attributes;
+ }
+
+ public void setAttributes(SalesforceIncidentsTemplateUpdateAttributes attributes) {
+ this.attributes = attributes;
+ }
+
+ public SalesforceIncidentsTemplateUpdateData id(String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * The ID of the Salesforce incident template being updated. Must match the path parameter.
+ *
+ * @return id
+ */
+ @JsonProperty(JSON_PROPERTY_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public SalesforceIncidentsTemplateUpdateData type(SalesforceIncidentsTemplateType type) {
+ this.type = type;
+ this.unparsed |= !type.isValid();
+ return this;
+ }
+
+ /**
+ * Salesforce incident template resource type.
+ *
+ * @return type
+ */
+ @JsonProperty(JSON_PROPERTY_TYPE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public SalesforceIncidentsTemplateType getType() {
+ return type;
+ }
+
+ public void setType(SalesforceIncidentsTemplateType type) {
+ if (!type.isValid()) {
+ this.unparsed = true;
+ }
+ this.type = type;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return SalesforceIncidentsTemplateUpdateData
+ */
+ @JsonAnySetter
+ public SalesforceIncidentsTemplateUpdateData putAdditionalProperty(String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /** Return true if this SalesforceIncidentsTemplateUpdateData object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ SalesforceIncidentsTemplateUpdateData salesforceIncidentsTemplateUpdateData =
+ (SalesforceIncidentsTemplateUpdateData) o;
+ return Objects.equals(this.attributes, salesforceIncidentsTemplateUpdateData.attributes)
+ && Objects.equals(this.id, salesforceIncidentsTemplateUpdateData.id)
+ && Objects.equals(this.type, salesforceIncidentsTemplateUpdateData.type)
+ && Objects.equals(
+ this.additionalProperties, salesforceIncidentsTemplateUpdateData.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(attributes, id, type, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class SalesforceIncidentsTemplateUpdateData {\n");
+ sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n");
+ sb.append(" id: ").append(toIndentedString(id)).append("\n");
+ sb.append(" type: ").append(toIndentedString(type)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/SalesforceIncidentsTemplateUpdateRequest.java b/src/main/java/com/datadog/api/client/v2/model/SalesforceIncidentsTemplateUpdateRequest.java
new file mode 100644
index 00000000000..096b13601b4
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/SalesforceIncidentsTemplateUpdateRequest.java
@@ -0,0 +1,149 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/** Update request for a Salesforce incident template. */
+@JsonPropertyOrder({SalesforceIncidentsTemplateUpdateRequest.JSON_PROPERTY_DATA})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class SalesforceIncidentsTemplateUpdateRequest {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_DATA = "data";
+ private SalesforceIncidentsTemplateUpdateData data;
+
+ public SalesforceIncidentsTemplateUpdateRequest() {}
+
+ @JsonCreator
+ public SalesforceIncidentsTemplateUpdateRequest(
+ @JsonProperty(required = true, value = JSON_PROPERTY_DATA)
+ SalesforceIncidentsTemplateUpdateData data) {
+ this.data = data;
+ this.unparsed |= data.unparsed;
+ }
+
+ public SalesforceIncidentsTemplateUpdateRequest data(SalesforceIncidentsTemplateUpdateData data) {
+ this.data = data;
+ this.unparsed |= data.unparsed;
+ return this;
+ }
+
+ /**
+ * Salesforce incident template data for an update request.
+ *
+ * @return data
+ */
+ @JsonProperty(JSON_PROPERTY_DATA)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public SalesforceIncidentsTemplateUpdateData getData() {
+ return data;
+ }
+
+ public void setData(SalesforceIncidentsTemplateUpdateData data) {
+ this.data = data;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return SalesforceIncidentsTemplateUpdateRequest
+ */
+ @JsonAnySetter
+ public SalesforceIncidentsTemplateUpdateRequest putAdditionalProperty(String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /** Return true if this SalesforceIncidentsTemplateUpdateRequest object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ SalesforceIncidentsTemplateUpdateRequest salesforceIncidentsTemplateUpdateRequest =
+ (SalesforceIncidentsTemplateUpdateRequest) o;
+ return Objects.equals(this.data, salesforceIncidentsTemplateUpdateRequest.data)
+ && Objects.equals(
+ this.additionalProperties,
+ salesforceIncidentsTemplateUpdateRequest.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(data, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class SalesforceIncidentsTemplateUpdateRequest {\n");
+ sb.append(" data: ").append(toIndentedString(data)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/SalesforceIncidentsTemplatesResponse.java b/src/main/java/com/datadog/api/client/v2/model/SalesforceIncidentsTemplatesResponse.java
new file mode 100644
index 00000000000..9587d4bfc37
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/SalesforceIncidentsTemplatesResponse.java
@@ -0,0 +1,159 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+
+/** Response containing a list of Salesforce incident templates. */
+@JsonPropertyOrder({SalesforceIncidentsTemplatesResponse.JSON_PROPERTY_DATA})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class SalesforceIncidentsTemplatesResponse {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_DATA = "data";
+ private List data = new ArrayList<>();
+
+ public SalesforceIncidentsTemplatesResponse() {}
+
+ @JsonCreator
+ public SalesforceIncidentsTemplatesResponse(
+ @JsonProperty(required = true, value = JSON_PROPERTY_DATA)
+ List data) {
+ this.data = data;
+ }
+
+ public SalesforceIncidentsTemplatesResponse data(
+ List data) {
+ this.data = data;
+ for (SalesforceIncidentsTemplateResponseData item : data) {
+ this.unparsed |= item.unparsed;
+ }
+ return this;
+ }
+
+ public SalesforceIncidentsTemplatesResponse addDataItem(
+ SalesforceIncidentsTemplateResponseData dataItem) {
+ this.data.add(dataItem);
+ this.unparsed |= dataItem.unparsed;
+ return this;
+ }
+
+ /**
+ * An array of Salesforce incident templates.
+ *
+ * @return data
+ */
+ @JsonProperty(JSON_PROPERTY_DATA)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public List getData() {
+ return data;
+ }
+
+ public void setData(List data) {
+ this.data = data;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return SalesforceIncidentsTemplatesResponse
+ */
+ @JsonAnySetter
+ public SalesforceIncidentsTemplatesResponse putAdditionalProperty(String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /** Return true if this SalesforceIncidentsTemplatesResponse object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ SalesforceIncidentsTemplatesResponse salesforceIncidentsTemplatesResponse =
+ (SalesforceIncidentsTemplatesResponse) o;
+ return Objects.equals(this.data, salesforceIncidentsTemplatesResponse.data)
+ && Objects.equals(
+ this.additionalProperties, salesforceIncidentsTemplatesResponse.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(data, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class SalesforceIncidentsTemplatesResponse {\n");
+ sb.append(" data: ").append(toIndentedString(data)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/test/resources/com/datadog/api/client/v2/api/given.json b/src/test/resources/com/datadog/api/client/v2/api/given.json
index 24058ecf5e1..519f2c62018 100644
--- a/src/test/resources/com/datadog/api/client/v2/api/given.json
+++ b/src/test/resources/com/datadog/api/client/v2/api/given.json
@@ -686,6 +686,18 @@
"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/src/test/resources/com/datadog/api/client/v2/api/salesforce_integration.feature b/src/test/resources/com/datadog/api/client/v2/api/salesforce_integration.feature
new file mode 100644
index 00000000000..63b3c068dfd
--- /dev/null
+++ b/src/test/resources/com/datadog/api/client/v2/api/salesforce_integration.feature
@@ -0,0 +1,129 @@
+@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:Datadog/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:Datadog/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:Datadog/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:Datadog/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:Datadog/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:Datadog/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:Datadog/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:Datadog/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:Datadog/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:Datadog/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:Datadog/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:Datadog/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:Datadog/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:Datadog/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:Datadog/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:Datadog/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:Datadog/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/src/test/resources/com/datadog/api/client/v2/api/undo.json b/src/test/resources/com/datadog/api/client/v2/api/undo.json
index f1a04b48a1a..9587222f674 100644
--- a/src/test/resources/com/datadog/api/client/v2/api/undo.json
+++ b/src/test/resources/com/datadog/api/client/v2/api/undo.json
@@ -3493,6 +3493,49 @@
"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": {