Skip to content

Commit da21bfb

Browse files
author
ci.datadog-api-spec
committed
Regenerate client from commit 77fda4d of spec repo
1 parent 0d344af commit da21bfb

File tree

13 files changed

+417
-0
lines changed

13 files changed

+417
-0
lines changed

.generator/schemas/v2/openapi.yaml

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38435,6 +38435,49 @@ components:
3843538435
permissions:
3843638436
$ref: '#/components/schemas/RelationshipToPermissions'
3843738437
type: object
38438+
RoleTemplateArray:
38439+
description: The definition of `RoleTemplateArray` object.
38440+
properties:
38441+
data:
38442+
description: The `RoleTemplateArray` `data`.
38443+
items:
38444+
$ref: '#/components/schemas/RoleTemplateData'
38445+
type: array
38446+
required:
38447+
- data
38448+
type: object
38449+
RoleTemplateData:
38450+
description: The definition of `RoleTemplateData` object.
38451+
properties:
38452+
attributes:
38453+
$ref: '#/components/schemas/RoleTemplateDataAttributes'
38454+
id:
38455+
description: The `RoleTemplateData` `id`.
38456+
type: string
38457+
type:
38458+
$ref: '#/components/schemas/RoleTemplateDataType'
38459+
required:
38460+
- type
38461+
type: object
38462+
RoleTemplateDataAttributes:
38463+
description: The definition of `RoleTemplateDataAttributes` object.
38464+
properties:
38465+
description:
38466+
description: The `attributes` `description`.
38467+
type: string
38468+
name:
38469+
description: The `attributes` `name`.
38470+
type: string
38471+
type: object
38472+
RoleTemplateDataType:
38473+
default: roles
38474+
description: Roles resource type.
38475+
enum:
38476+
- roles
38477+
example: roles
38478+
type: string
38479+
x-enum-varnames:
38480+
- ROLES
3843838481
RoleUpdateAttributes:
3843938482
description: Attributes of the role.
3844038483
properties:
@@ -67658,6 +67701,28 @@ paths:
6765867701
operator: OR
6765967702
permissions:
6766067703
- user_access_manage
67704+
/api/v2/roles/templates:
67705+
get:
67706+
description: List all role templates
67707+
operationId: ListRoleTemplates
67708+
responses:
67709+
'200':
67710+
content:
67711+
application/json:
67712+
schema:
67713+
$ref: '#/components/schemas/RoleTemplateArray'
67714+
description: OK
67715+
'429':
67716+
$ref: '#/components/responses/TooManyRequestsResponse'
67717+
security:
67718+
- apiKeyAuth: []
67719+
appKeyAuth: []
67720+
- AuthZ:
67721+
- user_access_read
67722+
summary: List role templates
67723+
tags:
67724+
- Roles
67725+
x-unstable: '**Note**: This endpoint may be subject to changes.'
6766167726
/api/v2/roles/{role_id}:
6766267727
delete:
6766367728
description: Disables a role.
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
/**
2+
* List role templates returns "OK" response
3+
*/
4+
5+
import { client, v2 } from "@datadog/datadog-api-client";
6+
7+
const configuration = client.createConfiguration();
8+
configuration.unstableOperations["v2.listRoleTemplates"] = true;
9+
const apiInstance = new v2.RolesApi(configuration);
10+
11+
apiInstance
12+
.listRoleTemplates()
13+
.then((data: v2.RoleTemplateArray) => {
14+
console.log(
15+
"API called successfully. Returned data: " + JSON.stringify(data)
16+
);
17+
})
18+
.catch((error: any) => console.error(error));

features/support/scenarios_model_mapping.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7044,6 +7044,9 @@ export const ScenariosModelMappings: {[key: string]: {[key: string]: any}} = {
70447044
},
70457045
"operationResponseType": "RoleCreateResponse",
70467046
},
7047+
"v2.ListRoleTemplates": {
7048+
"operationResponseType": "RoleTemplateArray",
7049+
},
70477050
"v2.GetRole": {
70487051
"roleId": {
70497052
"type": "string",

features/v2/roles.feature

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,13 @@ Feature: Roles
216216
And the response "data" has item with field "attributes.restricted" with value false
217217
And the response "data" has item with field "attributes.name" with value "admin"
218218

219+
@generated @skip @team:DataDog/aaa-core-access
220+
Scenario: List role templates returns "OK" response
221+
Given operation "ListRoleTemplates" enabled
222+
And new "ListRoleTemplates" request
223+
When the request is sent
224+
Then the response status is 200 OK
225+
219226
@team:DataDog/aaa-core-access
220227
Scenario: List roles returns "OK" response
221228
Given there is a valid "role" in the system

features/v2/undo.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2869,6 +2869,12 @@
28692869
"type": "unsafe"
28702870
}
28712871
},
2872+
"ListRoleTemplates": {
2873+
"tag": "Roles",
2874+
"undo": {
2875+
"type": "safe"
2876+
}
2877+
},
28722878
"DeleteRole": {
28732879
"tag": "Roles",
28742880
"undo": {

packages/datadog-api-client-common/configuration.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -296,6 +296,7 @@ export function createConfiguration(
296296
"v2.updateMonitorUserTemplate": false,
297297
"v2.validateExistingMonitorUserTemplate": false,
298298
"v2.validateMonitorUserTemplate": false,
299+
"v2.listRoleTemplates": false,
299300
"v2.createPipeline": false,
300301
"v2.deletePipeline": false,
301302
"v2.getPipeline": false,

packages/datadog-api-client-v2/apis/RolesApi.ts

Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import { RoleCreateResponse } from "../models/RoleCreateResponse";
2626
import { RoleResponse } from "../models/RoleResponse";
2727
import { RolesResponse } from "../models/RolesResponse";
2828
import { RolesSort } from "../models/RolesSort";
29+
import { RoleTemplateArray } from "../models/RoleTemplateArray";
2930
import { RoleUpdateRequest } from "../models/RoleUpdateRequest";
3031
import { RoleUpdateResponse } from "../models/RoleUpdateResponse";
3132
import { UsersResponse } from "../models/UsersResponse";
@@ -420,6 +421,36 @@ export class RolesApiRequestFactory extends BaseAPIRequestFactory {
420421
return requestContext;
421422
}
422423

424+
public async listRoleTemplates(
425+
_options?: Configuration
426+
): Promise<RequestContext> {
427+
const _config = _options || this.configuration;
428+
429+
logger.warn("Using unstable operation 'listRoleTemplates'");
430+
if (!_config.unstableOperations["v2.listRoleTemplates"]) {
431+
throw new Error("Unstable operation 'listRoleTemplates' is disabled");
432+
}
433+
434+
// Path Params
435+
const localVarPath = "/api/v2/roles/templates";
436+
437+
// Make Request Context
438+
const requestContext = _config
439+
.getServer("v2.RolesApi.listRoleTemplates")
440+
.makeRequestContext(localVarPath, HttpMethod.GET);
441+
requestContext.setHeaderParam("Accept", "application/json");
442+
requestContext.setHttpConfig(_config.httpConfig);
443+
444+
// Apply auth methods
445+
applySecurityAuthentication(_config, requestContext, [
446+
"apiKeyAuth",
447+
"appKeyAuth",
448+
"AuthZ",
449+
]);
450+
451+
return requestContext;
452+
}
453+
423454
public async listRoleUsers(
424455
roleId: string,
425456
pageSize?: number,
@@ -1184,6 +1215,64 @@ export class RolesApiResponseProcessor {
11841215
);
11851216
}
11861217

1218+
/**
1219+
* Unwraps the actual response sent by the server from the response context and deserializes the response content
1220+
* to the expected objects
1221+
*
1222+
* @params response Response returned by the server for a request to listRoleTemplates
1223+
* @throws ApiException if the response code was not in [200, 299]
1224+
*/
1225+
public async listRoleTemplates(
1226+
response: ResponseContext
1227+
): Promise<RoleTemplateArray> {
1228+
const contentType = ObjectSerializer.normalizeMediaType(
1229+
response.headers["content-type"]
1230+
);
1231+
if (response.httpStatusCode === 200) {
1232+
const body: RoleTemplateArray = ObjectSerializer.deserialize(
1233+
ObjectSerializer.parse(await response.body.text(), contentType),
1234+
"RoleTemplateArray"
1235+
) as RoleTemplateArray;
1236+
return body;
1237+
}
1238+
if (response.httpStatusCode === 429) {
1239+
const bodyText = ObjectSerializer.parse(
1240+
await response.body.text(),
1241+
contentType
1242+
);
1243+
let body: APIErrorResponse;
1244+
try {
1245+
body = ObjectSerializer.deserialize(
1246+
bodyText,
1247+
"APIErrorResponse"
1248+
) as APIErrorResponse;
1249+
} catch (error) {
1250+
logger.debug(`Got error deserializing error: ${error}`);
1251+
throw new ApiException<APIErrorResponse>(
1252+
response.httpStatusCode,
1253+
bodyText
1254+
);
1255+
}
1256+
throw new ApiException<APIErrorResponse>(response.httpStatusCode, body);
1257+
}
1258+
1259+
// Work around for missing responses in specification, e.g. for petstore.yaml
1260+
if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
1261+
const body: RoleTemplateArray = ObjectSerializer.deserialize(
1262+
ObjectSerializer.parse(await response.body.text(), contentType),
1263+
"RoleTemplateArray",
1264+
""
1265+
) as RoleTemplateArray;
1266+
return body;
1267+
}
1268+
1269+
const body = (await response.body.text()) || "";
1270+
throw new ApiException<string>(
1271+
response.httpStatusCode,
1272+
'Unknown API Status Code!\nBody: "' + body + '"'
1273+
);
1274+
}
1275+
11871276
/**
11881277
* Unwraps the actual response sent by the server from the response context and deserializes the response content
11891278
* to the expected objects
@@ -1809,6 +1898,24 @@ export class RolesApi {
18091898
});
18101899
}
18111900

1901+
/**
1902+
* List all role templates
1903+
* @param param The request object
1904+
*/
1905+
public listRoleTemplates(
1906+
options?: Configuration
1907+
): Promise<RoleTemplateArray> {
1908+
const requestContextPromise =
1909+
this.requestFactory.listRoleTemplates(options);
1910+
return requestContextPromise.then((requestContext) => {
1911+
return this.configuration.httpApi
1912+
.send(requestContext)
1913+
.then((responseContext) => {
1914+
return this.responseProcessor.listRoleTemplates(responseContext);
1915+
});
1916+
});
1917+
}
1918+
18121919
/**
18131920
* Gets all users of a role.
18141921
* @param param The request object

packages/datadog-api-client-v2/index.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3201,6 +3201,10 @@ export { RoleResponseRelationships } from "./models/RoleResponseRelationships";
32013201
export { RolesResponse } from "./models/RolesResponse";
32023202
export { RolesSort } from "./models/RolesSort";
32033203
export { RolesType } from "./models/RolesType";
3204+
export { RoleTemplateArray } from "./models/RoleTemplateArray";
3205+
export { RoleTemplateData } from "./models/RoleTemplateData";
3206+
export { RoleTemplateDataAttributes } from "./models/RoleTemplateDataAttributes";
3207+
export { RoleTemplateDataType } from "./models/RoleTemplateDataType";
32043208
export { RoleUpdateAttributes } from "./models/RoleUpdateAttributes";
32053209
export { RoleUpdateData } from "./models/RoleUpdateData";
32063210
export { RoleUpdateRequest } from "./models/RoleUpdateRequest";

packages/datadog-api-client-v2/models/ObjectSerializer.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1777,6 +1777,9 @@ import { RoleCreateResponseData } from "./RoleCreateResponseData";
17771777
import { RoleRelationships } from "./RoleRelationships";
17781778
import { RoleResponse } from "./RoleResponse";
17791779
import { RoleResponseRelationships } from "./RoleResponseRelationships";
1780+
import { RoleTemplateArray } from "./RoleTemplateArray";
1781+
import { RoleTemplateData } from "./RoleTemplateData";
1782+
import { RoleTemplateDataAttributes } from "./RoleTemplateDataAttributes";
17801783
import { RoleUpdateAttributes } from "./RoleUpdateAttributes";
17811784
import { RoleUpdateData } from "./RoleUpdateData";
17821785
import { RoleUpdateRequest } from "./RoleUpdateRequest";
@@ -3440,6 +3443,7 @@ const enumsMap: { [key: string]: any[] } = {
34403443
],
34413444
RetentionFilterType: ["spans-sampling-processor"],
34423445
RetryStrategyKind: ["RETRY_STRATEGY_LINEAR"],
3446+
RoleTemplateDataType: ["roles"],
34433447
RolesSort: [
34443448
"name",
34453449
"-name",
@@ -5988,6 +5992,9 @@ const typeMap: { [index: string]: any } = {
59885992
RoleRelationships: RoleRelationships,
59895993
RoleResponse: RoleResponse,
59905994
RoleResponseRelationships: RoleResponseRelationships,
5995+
RoleTemplateArray: RoleTemplateArray,
5996+
RoleTemplateData: RoleTemplateData,
5997+
RoleTemplateDataAttributes: RoleTemplateDataAttributes,
59915998
RoleUpdateAttributes: RoleUpdateAttributes,
59925999
RoleUpdateData: RoleUpdateData,
59936000
RoleUpdateRequest: RoleUpdateRequest,
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
/**
2+
* Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
3+
* This product includes software developed at Datadog (https://www.datadoghq.com/).
4+
* Copyright 2020-Present Datadog, Inc.
5+
*/
6+
import { RoleTemplateData } from "./RoleTemplateData";
7+
8+
import { AttributeTypeMap } from "../../datadog-api-client-common/util";
9+
10+
/**
11+
* The definition of `RoleTemplateArray` object.
12+
*/
13+
export class RoleTemplateArray {
14+
/**
15+
* The `RoleTemplateArray` `data`.
16+
*/
17+
"data": Array<RoleTemplateData>;
18+
19+
/**
20+
* A container for additional, undeclared properties.
21+
* This is a holder for any undeclared properties as specified with
22+
* the 'additionalProperties' keyword in the OAS document.
23+
*/
24+
"additionalProperties"?: { [key: string]: any };
25+
26+
/**
27+
* @ignore
28+
*/
29+
"_unparsed"?: boolean;
30+
31+
/**
32+
* @ignore
33+
*/
34+
static readonly attributeTypeMap: AttributeTypeMap = {
35+
data: {
36+
baseName: "data",
37+
type: "Array<RoleTemplateData>",
38+
required: true,
39+
},
40+
additionalProperties: {
41+
baseName: "additionalProperties",
42+
type: "{ [key: string]: any; }",
43+
},
44+
};
45+
46+
/**
47+
* @ignore
48+
*/
49+
static getAttributeTypeMap(): AttributeTypeMap {
50+
return RoleTemplateArray.attributeTypeMap;
51+
}
52+
53+
public constructor() {}
54+
}

0 commit comments

Comments
 (0)