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": {