From 46e7918129eab70a7bd250328ad322ab23f19649 Mon Sep 17 00:00:00 2001 From: "ci.datadog-api-spec" Date: Thu, 13 Nov 2025 20:19:24 +0000 Subject: [PATCH] Regenerate client from commit e03073d of spec repo --- .generator/schemas/v2/openapi.yaml | 93 ++++++++++- examples/v2/teams/GetTeamSync.ts | 22 +++ features/support/scenarios_model_mapping.ts | 7 + features/v2/teams.feature | 16 ++ features/v2/undo.json | 6 + .../configuration.ts | 1 + .../datadog-api-client-v2/apis/TeamsApi.ts | 145 +++++++++++++++++- packages/datadog-api-client-v2/index.ts | 3 + .../models/ObjectSerializer.ts | 5 +- .../models/TeamSyncAttributes.ts | 19 ++- .../models/TeamSyncAttributesFrequency.ts | 20 +++ .../models/TeamSyncAttributesType.ts | 8 +- .../models/TeamSyncData.ts | 10 +- .../models/TeamSyncRequest.ts | 2 +- .../models/TeamSyncResponse.ts | 53 +++++++ 15 files changed, 399 insertions(+), 11 deletions(-) create mode 100644 examples/v2/teams/GetTeamSync.ts create mode 100644 packages/datadog-api-client-v2/models/TeamSyncAttributesFrequency.ts create mode 100644 packages/datadog-api-client-v2/models/TeamSyncResponse.ts diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index ea3da24e20a2..6e546e1ae72a 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -52263,14 +52263,31 @@ components: TeamSyncAttributes: description: Team sync attributes. properties: + frequency: + $ref: '#/components/schemas/TeamSyncAttributesFrequency' source: $ref: '#/components/schemas/TeamSyncAttributesSource' + sync_membership: + $ref: '#/components/schemas/TeamSyncAttributesSyncMembership' type: $ref: '#/components/schemas/TeamSyncAttributesType' required: - source - type type: object + TeamSyncAttributesFrequency: + description: How often the sync process should be run. Defaults to `once` when + not provided. + enum: + - once + - continuously + - paused + example: once + type: string + x-enum-varnames: + - ONCE + - CONTINUOUSLY + - PAUSED TeamSyncAttributesSource: description: The external source platform for team synchronization. Only "github" is supported. @@ -52280,15 +52297,22 @@ components: type: string x-enum-varnames: - GITHUB + TeamSyncAttributesSyncMembership: + description: Whether to sync members from the external team to the Datadog team. + Defaults to `false` when not provided. + example: true + type: boolean TeamSyncAttributesType: - description: The type of synchronization operation. Only "link" is supported, - which links existing teams by matching names. + description: The type of synchronization operation. "link" connects teams by + matching names. "provision" creates new teams when no match is found. enum: - link + - provision example: link type: string x-enum-varnames: - LINK + - PROVISION TeamSyncBulkType: description: Team sync bulk type. enum: @@ -52298,10 +52322,15 @@ components: x-enum-varnames: - TEAM_SYNC_BULK TeamSyncData: - description: Team sync data. + description: A configuration governing syncing between Datadog teams and teams + from an external system. properties: attributes: $ref: '#/components/schemas/TeamSyncAttributes' + id: + description: The sync's identifier + example: aeadc05e-98a8-11ec-ac2c-da7ad0900001 + type: string type: $ref: '#/components/schemas/TeamSyncBulkType' required: @@ -52322,6 +52351,15 @@ components: required: - data type: object + TeamSyncResponse: + description: Team sync configurations response. + properties: + data: + description: List of team sync configurations + items: + $ref: '#/components/schemas/TeamSyncData' + type: array + type: object TeamTarget: description: Represents a team target for an escalation policy step, including the team's ID and resource type. @@ -81179,6 +81217,52 @@ paths: If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).' /api/v2/team/sync: + get: + description: 'Get all team synchronization configurations. + + Returns a list of configurations used for linking or provisioning teams with + external sources like GitHub.' + operationId: GetTeamSync + parameters: + - description: Filter by the external source platform for team synchronization + in: query + name: filter[source] + required: true + schema: + $ref: '#/components/schemas/TeamSyncAttributesSource' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/TeamSyncResponse' + description: OK + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Team sync configurations not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - teams_read + summary: Get team sync configurations + tags: + - Teams + x-permission: + operator: OR + permissions: + - teams_read + x-unstable: '**Note**: This endpoint is in Preview. To request access, fill + out this [form](https://www.datadoghq.com/product-preview/github-integration-for-teams/). + + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).' post: description: 'This endpoint attempts to link your existing Datadog teams with GitHub teams by matching their names. @@ -81205,7 +81289,8 @@ paths: using a normalized exact match; case is ignored and spaces are removed. No modifications are made - to teams in GitHub. This will not create new Teams in Datadog.' + to teams in GitHub. This only creates new teams in Datadog when type is set + to `provision`.' operationId: SyncTeams requestBody: content: diff --git a/examples/v2/teams/GetTeamSync.ts b/examples/v2/teams/GetTeamSync.ts new file mode 100644 index 000000000000..6e2dfc03b0af --- /dev/null +++ b/examples/v2/teams/GetTeamSync.ts @@ -0,0 +1,22 @@ +/** + * Get team sync configurations returns "OK" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +configuration.unstableOperations["v2.getTeamSync"] = true; +const apiInstance = new v2.TeamsApi(configuration); + +const params: v2.TeamsApiGetTeamSyncRequest = { + filterSource: "github", +}; + +apiInstance + .getTeamSync(params) + .then((data: v2.TeamSyncResponse) => { + 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 6f2a638fbd06..11287364c4aa 100644 --- a/features/support/scenarios_model_mapping.ts +++ b/features/support/scenarios_model_mapping.ts @@ -8683,6 +8683,13 @@ export const ScenariosModelMappings: {[key: string]: {[key: string]: any}} = { }, "operationResponseType": "TeamResponse", }, + "v2.GetTeamSync": { + "filterSource": { + "type": "TeamSyncAttributesSource", + "format": "", + }, + "operationResponseType": "TeamSyncResponse", + }, "v2.SyncTeams": { "body": { "type": "TeamSyncRequest", diff --git a/features/v2/teams.feature b/features/v2/teams.feature index 5ba9294a164f..bf11bd0316d6 100644 --- a/features/v2/teams.feature +++ b/features/v2/teams.feature @@ -235,6 +235,22 @@ Feature: Teams Then the response status is 200 OK And the response has 3 items + @generated @skip @team:DataDog/aaa-omg + Scenario: Get team sync configurations returns "OK" response + Given operation "GetTeamSync" enabled + And new "GetTeamSync" request + And request contains "filter[source]" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 200 OK + + @generated @skip @team:DataDog/aaa-omg + Scenario: Get team sync configurations returns "Team sync configurations not found" response + Given operation "GetTeamSync" enabled + And new "GetTeamSync" request + And request contains "filter[source]" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 404 Team sync configurations not found + @generated @skip @team:DataDog/aaa-omg Scenario: Get user memberships returns "API error response." response Given new "GetUserMemberships" request diff --git a/features/v2/undo.json b/features/v2/undo.json index d25ca0a4dba2..dba9a5e29d71 100644 --- a/features/v2/undo.json +++ b/features/v2/undo.json @@ -4287,6 +4287,12 @@ "type": "unsafe" } }, + "GetTeamSync": { + "tag": "Teams", + "undo": { + "type": "safe" + } + }, "SyncTeams": { "tag": "Teams", "undo": { diff --git a/packages/datadog-api-client-common/configuration.ts b/packages/datadog-api-client-common/configuration.ts index a53c96397093..a711ffcddf04 100644 --- a/packages/datadog-api-client-common/configuration.ts +++ b/packages/datadog-api-client-common/configuration.ts @@ -347,6 +347,7 @@ export function createConfiguration( "v2.createSCAResolveVulnerableSymbols": false, "v2.createSCAResult": false, "v2.addMemberTeam": false, + "v2.getTeamSync": false, "v2.listMemberTeams": false, "v2.removeMemberTeam": false, "v2.syncTeams": false, diff --git a/packages/datadog-api-client-v2/apis/TeamsApi.ts b/packages/datadog-api-client-v2/apis/TeamsApi.ts index 5112ee1429c8..182850b2c905 100644 --- a/packages/datadog-api-client-v2/apis/TeamsApi.ts +++ b/packages/datadog-api-client-v2/apis/TeamsApi.ts @@ -32,7 +32,9 @@ import { TeamPermissionSettingUpdateRequest } from "../models/TeamPermissionSett import { TeamResponse } from "../models/TeamResponse"; import { TeamsField } from "../models/TeamsField"; import { TeamsResponse } from "../models/TeamsResponse"; +import { TeamSyncAttributesSource } from "../models/TeamSyncAttributesSource"; import { TeamSyncRequest } from "../models/TeamSyncRequest"; +import { TeamSyncResponse } from "../models/TeamSyncResponse"; import { TeamUpdateRequest } from "../models/TeamUpdateRequest"; import { UserTeam } from "../models/UserTeam"; import { UserTeamRequest } from "../models/UserTeamRequest"; @@ -562,6 +564,55 @@ export class TeamsApiRequestFactory extends BaseAPIRequestFactory { return requestContext; } + public async getTeamSync( + filterSource: TeamSyncAttributesSource, + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + logger.warn("Using unstable operation 'getTeamSync'"); + if (!_config.unstableOperations["v2.getTeamSync"]) { + throw new Error("Unstable operation 'getTeamSync' is disabled"); + } + + // verify required parameter 'filterSource' is not null or undefined + if (filterSource === null || filterSource === undefined) { + throw new RequiredError("filterSource", "getTeamSync"); + } + + // Path Params + const localVarPath = "/api/v2/team/sync"; + + // Make Request Context + const requestContext = _config + .getServer("v2.TeamsApi.getTeamSync") + .makeRequestContext(localVarPath, HttpMethod.GET); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); + + // Query Params + if (filterSource !== undefined) { + requestContext.setQueryParam( + "filter[source]", + ObjectSerializer.serialize( + filterSource, + "TeamSyncAttributesSource", + "" + ), + "" + ); + } + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + "AuthZ", + ]); + + return requestContext; + } + public async getUserMemberships( userUuid: string, _options?: Configuration @@ -1759,6 +1810,68 @@ export class TeamsApiResponseProcessor { ); } + /** + * 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 getTeamSync + * @throws ApiException if the response code was not in [200, 299] + */ + public async getTeamSync( + response: ResponseContext + ): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 200) { + const body: TeamSyncResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "TeamSyncResponse" + ) as TeamSyncResponse; + return body; + } + if ( + response.httpStatusCode === 403 || + response.httpStatusCode === 404 || + 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: TeamSyncResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "TeamSyncResponse", + "" + ) as TeamSyncResponse; + 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 @@ -2428,6 +2541,14 @@ export interface TeamsApiGetTeamPermissionSettingsRequest { teamId: string; } +export interface TeamsApiGetTeamSyncRequest { + /** + * Filter by the external source platform for team synchronization + * @type TeamSyncAttributesSource + */ + filterSource: TeamSyncAttributesSource; +} + export interface TeamsApiGetUserMembershipsRequest { /** * None @@ -2907,6 +3028,28 @@ export class TeamsApi { }); } + /** + * Get all team synchronization configurations. + * Returns a list of configurations used for linking or provisioning teams with external sources like GitHub. + * @param param The request object + */ + public getTeamSync( + param: TeamsApiGetTeamSyncRequest, + options?: Configuration + ): Promise { + const requestContextPromise = this.requestFactory.getTeamSync( + param.filterSource, + options + ); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.getTeamSync(responseContext); + }); + }); + } + /** * Get a list of memberships for a user * @param param The request object @@ -3100,7 +3243,7 @@ export class TeamsApi { * [A GitHub organization must be connected to your Datadog account](https://docs.datadoghq.com/integrations/github/), * and the GitHub App integrated with Datadog must have the `Members Read` permission. Matching is performed by comparing the Datadog team handle to the GitHub team slug * using a normalized exact match; case is ignored and spaces are removed. No modifications are made - * to teams in GitHub. This will not create new Teams in Datadog. + * to teams in GitHub. This only creates new teams in Datadog when type is set to `provision`. * @param param The request object */ public syncTeams( diff --git a/packages/datadog-api-client-v2/index.ts b/packages/datadog-api-client-v2/index.ts index e5f2573ec8fc..ceb12f4732e6 100644 --- a/packages/datadog-api-client-v2/index.ts +++ b/packages/datadog-api-client-v2/index.ts @@ -869,6 +869,7 @@ export { TeamsApiGetTeamLinksRequest, TeamsApiGetTeamMembershipsRequest, TeamsApiGetTeamPermissionSettingsRequest, + TeamsApiGetTeamSyncRequest, TeamsApiGetUserMembershipsRequest, TeamsApiListMemberTeamsRequest, TeamsApiListTeamsRequest, @@ -4215,11 +4216,13 @@ export { TeamsResponseLinks } from "./models/TeamsResponseLinks"; export { TeamsResponseMeta } from "./models/TeamsResponseMeta"; export { TeamsResponseMetaPagination } from "./models/TeamsResponseMetaPagination"; export { TeamSyncAttributes } from "./models/TeamSyncAttributes"; +export { TeamSyncAttributesFrequency } from "./models/TeamSyncAttributesFrequency"; export { TeamSyncAttributesSource } from "./models/TeamSyncAttributesSource"; export { TeamSyncAttributesType } from "./models/TeamSyncAttributesType"; export { TeamSyncBulkType } from "./models/TeamSyncBulkType"; export { TeamSyncData } from "./models/TeamSyncData"; export { TeamSyncRequest } from "./models/TeamSyncRequest"; +export { TeamSyncResponse } from "./models/TeamSyncResponse"; export { TeamTarget } from "./models/TeamTarget"; export { TeamTargetType } from "./models/TeamTargetType"; export { TeamType } from "./models/TeamType"; diff --git a/packages/datadog-api-client-v2/models/ObjectSerializer.ts b/packages/datadog-api-client-v2/models/ObjectSerializer.ts index 5c939c7f03ea..88bf78c257e0 100644 --- a/packages/datadog-api-client-v2/models/ObjectSerializer.ts +++ b/packages/datadog-api-client-v2/models/ObjectSerializer.ts @@ -2447,6 +2447,7 @@ import { TeamRoutingRulesRequestRule } from "./TeamRoutingRulesRequestRule"; import { TeamSyncAttributes } from "./TeamSyncAttributes"; import { TeamSyncData } from "./TeamSyncData"; import { TeamSyncRequest } from "./TeamSyncRequest"; +import { TeamSyncResponse } from "./TeamSyncResponse"; import { TeamTarget } from "./TeamTarget"; import { TeamUpdate } from "./TeamUpdate"; import { TeamUpdateAttributes } from "./TeamUpdateAttributes"; @@ -4106,8 +4107,9 @@ const enumsMap: { [key: string]: any[] } = { TeamRoutingRulesDataRelationshipsRulesDataItemsType: ["team_routing_rules"], TeamRoutingRulesDataType: ["team_routing_rules"], TeamRoutingRulesRequestDataType: ["team_routing_rules"], + TeamSyncAttributesFrequency: ["once", "continuously", "paused"], TeamSyncAttributesSource: ["github"], - TeamSyncAttributesType: ["link"], + TeamSyncAttributesType: ["link", "provision"], TeamSyncBulkType: ["team_sync_bulk"], TeamTargetType: ["teams"], TeamType: ["team"], @@ -7171,6 +7173,7 @@ const typeMap: { [index: string]: any } = { TeamSyncAttributes: TeamSyncAttributes, TeamSyncData: TeamSyncData, TeamSyncRequest: TeamSyncRequest, + TeamSyncResponse: TeamSyncResponse, TeamTarget: TeamTarget, TeamUpdate: TeamUpdate, TeamUpdateAttributes: TeamUpdateAttributes, diff --git a/packages/datadog-api-client-v2/models/TeamSyncAttributes.ts b/packages/datadog-api-client-v2/models/TeamSyncAttributes.ts index 14b74d430d80..1c7bd2d43254 100644 --- a/packages/datadog-api-client-v2/models/TeamSyncAttributes.ts +++ b/packages/datadog-api-client-v2/models/TeamSyncAttributes.ts @@ -3,6 +3,7 @@ * This product includes software developed at Datadog (https://www.datadoghq.com/). * Copyright 2020-Present Datadog, Inc. */ +import { TeamSyncAttributesFrequency } from "./TeamSyncAttributesFrequency"; import { TeamSyncAttributesSource } from "./TeamSyncAttributesSource"; import { TeamSyncAttributesType } from "./TeamSyncAttributesType"; @@ -12,12 +13,20 @@ import { AttributeTypeMap } from "../../datadog-api-client-common/util"; * Team sync attributes. */ export class TeamSyncAttributes { + /** + * How often the sync process should be run. Defaults to `once` when not provided. + */ + "frequency"?: TeamSyncAttributesFrequency; /** * The external source platform for team synchronization. Only "github" is supported. */ "source": TeamSyncAttributesSource; /** - * The type of synchronization operation. Only "link" is supported, which links existing teams by matching names. + * Whether to sync members from the external team to the Datadog team. Defaults to `false` when not provided. + */ + "syncMembership"?: boolean; + /** + * The type of synchronization operation. "link" connects teams by matching names. "provision" creates new teams when no match is found. */ "type": TeamSyncAttributesType; @@ -37,11 +46,19 @@ export class TeamSyncAttributes { * @ignore */ static readonly attributeTypeMap: AttributeTypeMap = { + frequency: { + baseName: "frequency", + type: "TeamSyncAttributesFrequency", + }, source: { baseName: "source", type: "TeamSyncAttributesSource", required: true, }, + syncMembership: { + baseName: "sync_membership", + type: "boolean", + }, type: { baseName: "type", type: "TeamSyncAttributesType", diff --git a/packages/datadog-api-client-v2/models/TeamSyncAttributesFrequency.ts b/packages/datadog-api-client-v2/models/TeamSyncAttributesFrequency.ts new file mode 100644 index 000000000000..0a3acc8c9fcd --- /dev/null +++ b/packages/datadog-api-client-v2/models/TeamSyncAttributesFrequency.ts @@ -0,0 +1,20 @@ +/** + * 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"; + +/** + * How often the sync process should be run. Defaults to `once` when not provided. + */ + +export type TeamSyncAttributesFrequency = + | typeof ONCE + | typeof CONTINUOUSLY + | typeof PAUSED + | UnparsedObject; +export const ONCE = "once"; +export const CONTINUOUSLY = "continuously"; +export const PAUSED = "paused"; diff --git a/packages/datadog-api-client-v2/models/TeamSyncAttributesType.ts b/packages/datadog-api-client-v2/models/TeamSyncAttributesType.ts index 3ea8c2eae80f..361dd087f70f 100644 --- a/packages/datadog-api-client-v2/models/TeamSyncAttributesType.ts +++ b/packages/datadog-api-client-v2/models/TeamSyncAttributesType.ts @@ -7,8 +7,12 @@ import { UnparsedObject } from "../../datadog-api-client-common/util"; /** - * The type of synchronization operation. Only "link" is supported, which links existing teams by matching names. + * The type of synchronization operation. "link" connects teams by matching names. "provision" creates new teams when no match is found. */ -export type TeamSyncAttributesType = typeof LINK | UnparsedObject; +export type TeamSyncAttributesType = + | typeof LINK + | typeof PROVISION + | UnparsedObject; export const LINK = "link"; +export const PROVISION = "provision"; diff --git a/packages/datadog-api-client-v2/models/TeamSyncData.ts b/packages/datadog-api-client-v2/models/TeamSyncData.ts index 8ca574aef62f..8bc2f444c7e2 100644 --- a/packages/datadog-api-client-v2/models/TeamSyncData.ts +++ b/packages/datadog-api-client-v2/models/TeamSyncData.ts @@ -9,13 +9,17 @@ import { TeamSyncBulkType } from "./TeamSyncBulkType"; import { AttributeTypeMap } from "../../datadog-api-client-common/util"; /** - * Team sync data. + * A configuration governing syncing between Datadog teams and teams from an external system. */ export class TeamSyncData { /** * Team sync attributes. */ "attributes": TeamSyncAttributes; + /** + * The sync's identifier + */ + "id"?: string; /** * Team sync bulk type. */ @@ -42,6 +46,10 @@ export class TeamSyncData { type: "TeamSyncAttributes", required: true, }, + id: { + baseName: "id", + type: "string", + }, type: { baseName: "type", type: "TeamSyncBulkType", diff --git a/packages/datadog-api-client-v2/models/TeamSyncRequest.ts b/packages/datadog-api-client-v2/models/TeamSyncRequest.ts index 79559fdd646c..56a3df5e7bd7 100644 --- a/packages/datadog-api-client-v2/models/TeamSyncRequest.ts +++ b/packages/datadog-api-client-v2/models/TeamSyncRequest.ts @@ -12,7 +12,7 @@ import { AttributeTypeMap } from "../../datadog-api-client-common/util"; */ export class TeamSyncRequest { /** - * Team sync data. + * A configuration governing syncing between Datadog teams and teams from an external system. */ "data": TeamSyncData; diff --git a/packages/datadog-api-client-v2/models/TeamSyncResponse.ts b/packages/datadog-api-client-v2/models/TeamSyncResponse.ts new file mode 100644 index 000000000000..34b717893b0a --- /dev/null +++ b/packages/datadog-api-client-v2/models/TeamSyncResponse.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 { TeamSyncData } from "./TeamSyncData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Team sync configurations response. + */ +export class TeamSyncResponse { + /** + * List of team sync configurations + */ + "data"?: 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 = { + data: { + baseName: "data", + type: "Array", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return TeamSyncResponse.attributeTypeMap; + } + + public constructor() {} +}