diff --git a/.generated-info b/.generated-info index 1aabf0e6bb4e..3f951d9dd85c 100644 --- a/.generated-info +++ b/.generated-info @@ -1,4 +1,4 @@ { - "spec_repo_commit": "8001cbb", - "generated": "2025-08-13 20:28:25.331" + "spec_repo_commit": "c9f30db", + "generated": "2025-08-15 16:36:42.349" } diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 5ab5923ba83d..795350a5934f 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -14454,6 +14454,10 @@ components: description: Entity definition in raw JSON or YAML representation. example: "apiVersion: v3\nkind: service\nmetadata:\n name: myservice\n" type: string + EntityReference: + description: The unique reference for an IDP entity. + example: service:my-service + type: string EntityRelationships: description: Entity relationships. properties: @@ -43591,6 +43595,57 @@ components: id: $ref: '#/components/schemas/ApiID' type: object + UpdateOutcomesAsyncAttributes: + description: The JSON:API attributes for a batched set of scorecard outcomes. + properties: + results: + description: Set of scorecard outcomes to update asynchronously. + items: + $ref: '#/components/schemas/UpdateOutcomesAsyncRequestItem' + type: array + type: object + UpdateOutcomesAsyncRequest: + description: Scorecard outcomes batch request. + properties: + data: + $ref: '#/components/schemas/UpdateOutcomesAsyncRequestData' + type: object + UpdateOutcomesAsyncRequestData: + description: Scorecard outcomes batch request data. + properties: + attributes: + $ref: '#/components/schemas/UpdateOutcomesAsyncAttributes' + type: + $ref: '#/components/schemas/UpdateOutcomesAsyncType' + type: object + UpdateOutcomesAsyncRequestItem: + description: Scorecard outcome for a single entity and rule. + properties: + entity_reference: + $ref: '#/components/schemas/EntityReference' + remarks: + description: Any remarks regarding the scorecard rule's evaluation, and + supports HTML hyperlinks. + example: 'See: Services' + type: string + rule_id: + $ref: '#/components/schemas/RuleId' + state: + $ref: '#/components/schemas/State' + required: + - rule_id + - entity_reference + - state + type: object + UpdateOutcomesAsyncType: + default: batched-outcome + description: The JSON:API type for scorecard outcomes. + enum: + - batched-outcome + example: batched-outcome + type: string + x-enum-varnames: + - BATCHED_OUTCOME UpdateResourceEvaluationFiltersRequest: description: Request object to update a resource filter. properties: @@ -61575,6 +61630,37 @@ paths: resultsPath: data x-unstable: '**Note**: This endpoint is in public beta. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).' + post: + description: Updates multiple scorecard rule outcomes in a single batched request. + operationId: UpdateScorecardOutcomesAsync + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateOutcomesAsyncRequest' + description: Set of scorecard outcomes. + required: true + responses: + '202': + description: Accepted + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - apm_service_catalog_write + summary: Update Scorecard outcomes asynchronously + tags: + - Service Scorecards + x-codegen-request-body-name: body + x-unstable: '**Note**: This endpoint is in public beta. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).' /api/v2/scorecard/outcomes/batch: post: diff --git a/examples/v2/service-scorecards/UpdateScorecardOutcomesAsync.ts b/examples/v2/service-scorecards/UpdateScorecardOutcomesAsync.ts new file mode 100644 index 000000000000..a4a16d429777 --- /dev/null +++ b/examples/v2/service-scorecards/UpdateScorecardOutcomesAsync.ts @@ -0,0 +1,36 @@ +/** + * Update Scorecard outcomes asynchronously returns "Accepted" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +configuration.unstableOperations["v2.updateScorecardOutcomesAsync"] = true; +const apiInstance = new v2.ServiceScorecardsApi(configuration); + +const params: v2.ServiceScorecardsApiUpdateScorecardOutcomesAsyncRequest = { + body: { + data: { + attributes: { + results: [ + { + entityReference: "service:my-service", + remarks: `See: Services`, + ruleId: "q8MQxk8TCqrHnWkx", + state: "pass", + }, + ], + }, + type: "batched-outcome", + }, + }, +}; + +apiInstance + .updateScorecardOutcomesAsync(params) + .then((data: any) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/features/support/scenarios_model_mapping.ts b/features/support/scenarios_model_mapping.ts index c35553405b4b..920a79db420d 100644 --- a/features/support/scenarios_model_mapping.ts +++ b/features/support/scenarios_model_mapping.ts @@ -7102,6 +7102,13 @@ export const ScenariosModelMappings: {[key: string]: {[key: string]: any}} = { }, "operationResponseType": "OutcomesResponse", }, + "v2.UpdateScorecardOutcomesAsync": { + "body": { + "type": "UpdateOutcomesAsyncRequest", + "format": "", + }, + "operationResponseType": "void", + }, "v2.CreateScorecardOutcomesBatch": { "body": { "type": "OutcomesBatchRequest", diff --git a/features/v2/service_scorecards.feature b/features/v2/service_scorecards.feature index 11d2c7f43287..8ecf48ff1d21 100644 --- a/features/v2/service_scorecards.feature +++ b/features/v2/service_scorecards.feature @@ -121,6 +121,22 @@ Feature: Service Scorecards Then the response status is 200 OK And the response has 4 items + @generated @skip @team:DataDog/service-catalog + Scenario: Update Scorecard outcomes asynchronously returns "Accepted" response + Given operation "UpdateScorecardOutcomesAsync" enabled + And new "UpdateScorecardOutcomesAsync" request + And body with value {"data": {"attributes": {"results": [{"entity_reference": "service:my-service", "remarks": "See: Services", "rule_id": "q8MQxk8TCqrHnWkx", "state": "pass"}]}, "type": "batched-outcome"}} + When the request is sent + Then the response status is 202 Accepted + + @generated @skip @team:DataDog/service-catalog + Scenario: Update Scorecard outcomes asynchronously returns "Bad Request" response + Given operation "UpdateScorecardOutcomesAsync" enabled + And new "UpdateScorecardOutcomesAsync" request + And body with value {"data": {"attributes": {"results": [{"entity_reference": "service:my-service", "remarks": "See: Services", "rule_id": "q8MQxk8TCqrHnWkx", "state": "pass"}]}, "type": "batched-outcome"}} + When the request is sent + Then the response status is 400 Bad Request + @generated @skip @team:DataDog/service-catalog Scenario: Update an existing rule returns "Bad Request" response Given operation "UpdateScorecardRule" enabled diff --git a/features/v2/undo.json b/features/v2/undo.json index fd14fad09365..54c7d933a1db 100644 --- a/features/v2/undo.json +++ b/features/v2/undo.json @@ -2742,6 +2742,12 @@ "type": "safe" } }, + "UpdateScorecardOutcomesAsync": { + "tag": "Service Scorecards", + "undo": { + "type": "idempotent" + } + }, "CreateScorecardOutcomesBatch": { "tag": "Service Scorecards", "undo": { diff --git a/packages/datadog-api-client-common/configuration.ts b/packages/datadog-api-client-common/configuration.ts index dc0ea267a5b2..336752a9da7e 100644 --- a/packages/datadog-api-client-common/configuration.ts +++ b/packages/datadog-api-client-common/configuration.ts @@ -298,6 +298,7 @@ export function createConfiguration( "v2.deleteScorecardRule": false, "v2.listScorecardOutcomes": false, "v2.listScorecardRules": false, + "v2.updateScorecardOutcomesAsync": false, "v2.updateScorecardRule": false, "v2.createIncidentService": false, "v2.deleteIncidentService": false, diff --git a/packages/datadog-api-client-v2/apis/ServiceScorecardsApi.ts b/packages/datadog-api-client-v2/apis/ServiceScorecardsApi.ts index 7686e26cad72..8b1f7b49abb5 100644 --- a/packages/datadog-api-client-v2/apis/ServiceScorecardsApi.ts +++ b/packages/datadog-api-client-v2/apis/ServiceScorecardsApi.ts @@ -25,6 +25,7 @@ import { OutcomesBatchRequest } from "../models/OutcomesBatchRequest"; import { OutcomesBatchResponse } from "../models/OutcomesBatchResponse"; import { OutcomesResponse } from "../models/OutcomesResponse"; import { OutcomesResponseDataItem } from "../models/OutcomesResponseDataItem"; +import { UpdateOutcomesAsyncRequest } from "../models/UpdateOutcomesAsyncRequest"; import { UpdateRuleRequest } from "../models/UpdateRuleRequest"; import { UpdateRuleResponse } from "../models/UpdateRuleResponse"; @@ -388,6 +389,55 @@ export class ServiceScorecardsApiRequestFactory extends BaseAPIRequestFactory { return requestContext; } + public async updateScorecardOutcomesAsync( + body: UpdateOutcomesAsyncRequest, + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + logger.warn("Using unstable operation 'updateScorecardOutcomesAsync'"); + if (!_config.unstableOperations["v2.updateScorecardOutcomesAsync"]) { + throw new Error( + "Unstable operation 'updateScorecardOutcomesAsync' is disabled" + ); + } + + // verify required parameter 'body' is not null or undefined + if (body === null || body === undefined) { + throw new RequiredError("body", "updateScorecardOutcomesAsync"); + } + + // Path Params + const localVarPath = "/api/v2/scorecard/outcomes"; + + // Make Request Context + const requestContext = _config + .getServer("v2.ServiceScorecardsApi.updateScorecardOutcomesAsync") + .makeRequestContext(localVarPath, HttpMethod.POST); + requestContext.setHeaderParam("Accept", "*/*"); + requestContext.setHttpConfig(_config.httpConfig); + + // Body Params + const contentType = ObjectSerializer.getPreferredMediaType([ + "application/json", + ]); + requestContext.setHeaderParam("Content-Type", contentType); + const serializedBody = ObjectSerializer.stringify( + ObjectSerializer.serialize(body, "UpdateOutcomesAsyncRequest", ""), + contentType + ); + requestContext.setBody(serializedBody); + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + "AuthZ", + ]); + + return requestContext; + } + public async updateScorecardRule( ruleId: string, body: UpdateRuleRequest, @@ -751,6 +801,64 @@ export class ServiceScorecardsApiResponseProcessor { ); } + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to updateScorecardOutcomesAsync + * @throws ApiException if the response code was not in [200, 299] + */ + public async updateScorecardOutcomesAsync( + response: ResponseContext + ): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 202) { + return; + } + if ( + response.httpStatusCode === 400 || + response.httpStatusCode === 403 || + response.httpStatusCode === 429 + ) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: void = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "void", + "" + ) as void; + return body; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects @@ -944,6 +1052,14 @@ export interface ServiceScorecardsApiListScorecardRulesRequest { fieldsScorecard?: string; } +export interface ServiceScorecardsApiUpdateScorecardOutcomesAsyncRequest { + /** + * Set of scorecard outcomes. + * @type UpdateOutcomesAsyncRequest + */ + body: UpdateOutcomesAsyncRequest; +} + export interface ServiceScorecardsApiUpdateScorecardRuleRequest { /** * The ID of the rule. @@ -1201,6 +1317,27 @@ export class ServiceScorecardsApi { } } + /** + * Updates multiple scorecard rule outcomes in a single batched request. + * @param param The request object + */ + public updateScorecardOutcomesAsync( + param: ServiceScorecardsApiUpdateScorecardOutcomesAsyncRequest, + options?: Configuration + ): Promise { + const requestContextPromise = + this.requestFactory.updateScorecardOutcomesAsync(param.body, options); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.updateScorecardOutcomesAsync( + responseContext + ); + }); + }); + } + /** * Updates an existing rule. * @param param The request object diff --git a/packages/datadog-api-client-v2/index.ts b/packages/datadog-api-client-v2/index.ts index 133f2727d8ab..b514c83337a0 100644 --- a/packages/datadog-api-client-v2/index.ts +++ b/packages/datadog-api-client-v2/index.ts @@ -666,6 +666,7 @@ export { ServiceScorecardsApiDeleteScorecardRuleRequest, ServiceScorecardsApiListScorecardOutcomesRequest, ServiceScorecardsApiListScorecardRulesRequest, + ServiceScorecardsApiUpdateScorecardOutcomesAsyncRequest, ServiceScorecardsApiUpdateScorecardRuleRequest, ServiceScorecardsApi, } from "./apis/ServiceScorecardsApi"; @@ -3513,6 +3514,11 @@ export { UpdateCustomFrameworkResponse } from "./models/UpdateCustomFrameworkRes export { UpdateOpenAPIResponse } from "./models/UpdateOpenAPIResponse"; export { UpdateOpenAPIResponseAttributes } from "./models/UpdateOpenAPIResponseAttributes"; export { UpdateOpenAPIResponseData } from "./models/UpdateOpenAPIResponseData"; +export { UpdateOutcomesAsyncAttributes } from "./models/UpdateOutcomesAsyncAttributes"; +export { UpdateOutcomesAsyncRequest } from "./models/UpdateOutcomesAsyncRequest"; +export { UpdateOutcomesAsyncRequestData } from "./models/UpdateOutcomesAsyncRequestData"; +export { UpdateOutcomesAsyncRequestItem } from "./models/UpdateOutcomesAsyncRequestItem"; +export { UpdateOutcomesAsyncType } from "./models/UpdateOutcomesAsyncType"; export { UpdateResourceEvaluationFiltersRequest } from "./models/UpdateResourceEvaluationFiltersRequest"; export { UpdateResourceEvaluationFiltersRequestData } from "./models/UpdateResourceEvaluationFiltersRequestData"; export { UpdateResourceEvaluationFiltersResponse } from "./models/UpdateResourceEvaluationFiltersResponse"; diff --git a/packages/datadog-api-client-v2/models/ObjectSerializer.ts b/packages/datadog-api-client-v2/models/ObjectSerializer.ts index 65e221db36e3..b42b0b7fd9d4 100644 --- a/packages/datadog-api-client-v2/models/ObjectSerializer.ts +++ b/packages/datadog-api-client-v2/models/ObjectSerializer.ts @@ -2015,6 +2015,10 @@ import { UpdateCustomFrameworkResponse } from "./UpdateCustomFrameworkResponse"; import { UpdateOpenAPIResponse } from "./UpdateOpenAPIResponse"; import { UpdateOpenAPIResponseAttributes } from "./UpdateOpenAPIResponseAttributes"; import { UpdateOpenAPIResponseData } from "./UpdateOpenAPIResponseData"; +import { UpdateOutcomesAsyncAttributes } from "./UpdateOutcomesAsyncAttributes"; +import { UpdateOutcomesAsyncRequest } from "./UpdateOutcomesAsyncRequest"; +import { UpdateOutcomesAsyncRequestData } from "./UpdateOutcomesAsyncRequestData"; +import { UpdateOutcomesAsyncRequestItem } from "./UpdateOutcomesAsyncRequestItem"; import { UpdateResourceEvaluationFiltersRequest } from "./UpdateResourceEvaluationFiltersRequest"; import { UpdateResourceEvaluationFiltersRequestData } from "./UpdateResourceEvaluationFiltersRequestData"; import { UpdateResourceEvaluationFiltersResponse } from "./UpdateResourceEvaluationFiltersResponse"; @@ -3390,6 +3394,7 @@ const enumsMap: { [key: string]: any[] } = { TimeseriesFormulaResponseType: ["timeseries_response"], TokenType: ["SECRET"], TriggerSource: ["security_findings", "security_signals"], + UpdateOutcomesAsyncType: ["batched-outcome"], Urgency: ["low", "high", "dynamic"], UsageTimeSeriesType: ["usage_timeseries"], UserAttributesStatus: ["active", "deactivated", "pending"], @@ -5859,6 +5864,10 @@ const typeMap: { [index: string]: any } = { UpdateOpenAPIResponse: UpdateOpenAPIResponse, UpdateOpenAPIResponseAttributes: UpdateOpenAPIResponseAttributes, UpdateOpenAPIResponseData: UpdateOpenAPIResponseData, + UpdateOutcomesAsyncAttributes: UpdateOutcomesAsyncAttributes, + UpdateOutcomesAsyncRequest: UpdateOutcomesAsyncRequest, + UpdateOutcomesAsyncRequestData: UpdateOutcomesAsyncRequestData, + UpdateOutcomesAsyncRequestItem: UpdateOutcomesAsyncRequestItem, UpdateResourceEvaluationFiltersRequest: UpdateResourceEvaluationFiltersRequest, UpdateResourceEvaluationFiltersRequestData: diff --git a/packages/datadog-api-client-v2/models/UpdateOutcomesAsyncAttributes.ts b/packages/datadog-api-client-v2/models/UpdateOutcomesAsyncAttributes.ts new file mode 100644 index 000000000000..4ca118c0ffd9 --- /dev/null +++ b/packages/datadog-api-client-v2/models/UpdateOutcomesAsyncAttributes.ts @@ -0,0 +1,53 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { UpdateOutcomesAsyncRequestItem } from "./UpdateOutcomesAsyncRequestItem"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The JSON:API attributes for a batched set of scorecard outcomes. + */ +export class UpdateOutcomesAsyncAttributes { + /** + * Set of scorecard outcomes to update asynchronously. + */ + "results"?: Array; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + results: { + baseName: "results", + type: "Array", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "any", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return UpdateOutcomesAsyncAttributes.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/UpdateOutcomesAsyncRequest.ts b/packages/datadog-api-client-v2/models/UpdateOutcomesAsyncRequest.ts new file mode 100644 index 000000000000..cdffb0c05e64 --- /dev/null +++ b/packages/datadog-api-client-v2/models/UpdateOutcomesAsyncRequest.ts @@ -0,0 +1,53 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { UpdateOutcomesAsyncRequestData } from "./UpdateOutcomesAsyncRequestData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Scorecard outcomes batch request. + */ +export class UpdateOutcomesAsyncRequest { + /** + * Scorecard outcomes batch request data. + */ + "data"?: UpdateOutcomesAsyncRequestData; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "UpdateOutcomesAsyncRequestData", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "any", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return UpdateOutcomesAsyncRequest.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/UpdateOutcomesAsyncRequestData.ts b/packages/datadog-api-client-v2/models/UpdateOutcomesAsyncRequestData.ts new file mode 100644 index 000000000000..dbe5ade03f48 --- /dev/null +++ b/packages/datadog-api-client-v2/models/UpdateOutcomesAsyncRequestData.ts @@ -0,0 +1,62 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { UpdateOutcomesAsyncAttributes } from "./UpdateOutcomesAsyncAttributes"; +import { UpdateOutcomesAsyncType } from "./UpdateOutcomesAsyncType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Scorecard outcomes batch request data. + */ +export class UpdateOutcomesAsyncRequestData { + /** + * The JSON:API attributes for a batched set of scorecard outcomes. + */ + "attributes"?: UpdateOutcomesAsyncAttributes; + /** + * The JSON:API type for scorecard outcomes. + */ + "type"?: UpdateOutcomesAsyncType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + attributes: { + baseName: "attributes", + type: "UpdateOutcomesAsyncAttributes", + }, + type: { + baseName: "type", + type: "UpdateOutcomesAsyncType", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "any", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return UpdateOutcomesAsyncRequestData.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/UpdateOutcomesAsyncRequestItem.ts b/packages/datadog-api-client-v2/models/UpdateOutcomesAsyncRequestItem.ts new file mode 100644 index 000000000000..3b51c21f288e --- /dev/null +++ b/packages/datadog-api-client-v2/models/UpdateOutcomesAsyncRequestItem.ts @@ -0,0 +1,80 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { State } from "./State"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Scorecard outcome for a single entity and rule. + */ +export class UpdateOutcomesAsyncRequestItem { + /** + * The unique reference for an IDP entity. + */ + "entityReference": string; + /** + * Any remarks regarding the scorecard rule's evaluation, and supports HTML hyperlinks. + */ + "remarks"?: string; + /** + * The unique ID for a scorecard rule. + */ + "ruleId": string; + /** + * The state of the rule evaluation. + */ + "state": State; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + entityReference: { + baseName: "entity_reference", + type: "string", + required: true, + }, + remarks: { + baseName: "remarks", + type: "string", + }, + ruleId: { + baseName: "rule_id", + type: "string", + required: true, + }, + state: { + baseName: "state", + type: "State", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "any", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return UpdateOutcomesAsyncRequestItem.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/UpdateOutcomesAsyncType.ts b/packages/datadog-api-client-v2/models/UpdateOutcomesAsyncType.ts new file mode 100644 index 000000000000..827631d6fb95 --- /dev/null +++ b/packages/datadog-api-client-v2/models/UpdateOutcomesAsyncType.ts @@ -0,0 +1,14 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * The JSON:API type for scorecard outcomes. + */ + +export type UpdateOutcomesAsyncType = typeof BATCHED_OUTCOME | UnparsedObject; +export const BATCHED_OUTCOME = "batched-outcome";