Skip to content

Commit 7524f5f

Browse files
author
ci.datadog-api-spec
committed
Regenerate client from commit 5896c0ef of spec repo
1 parent 1411b9d commit 7524f5f

File tree

7 files changed

+136
-4
lines changed

7 files changed

+136
-4
lines changed

.apigentools-info

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@
44
"spec_versions": {
55
"v1": {
66
"apigentools_version": "1.6.5",
7-
"regenerated": "2023-09-06 13:01:03.250653",
8-
"spec_repo_commit": "c0d26405"
7+
"regenerated": "2023-09-06 13:49:24.907474",
8+
"spec_repo_commit": "5896c0ef"
99
},
1010
"v2": {
1111
"apigentools_version": "1.6.5",
12-
"regenerated": "2023-09-06 13:01:03.265196",
13-
"spec_repo_commit": "c0d26405"
12+
"regenerated": "2023-09-06 13:49:24.919931",
13+
"spec_repo_commit": "5896c0ef"
1414
}
1515
}
1616
}

.generator/schemas/v2/openapi.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25989,6 +25989,10 @@ paths:
2598925989
summary: Get all teams
2599025990
tags:
2599125991
- Teams
25992+
x-pagination:
25993+
limitParam: page[size]
25994+
pageParam: page[number]
25995+
resultsPath: data
2599225996
post:
2599325997
description: 'Create a new team.
2599425998

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
"""
2+
Get all teams returns "OK" response with pagination
3+
"""
4+
5+
from datadog_api_client import ApiClient, Configuration
6+
from datadog_api_client.v2.api.teams_api import TeamsApi
7+
8+
configuration = Configuration()
9+
with ApiClient(configuration) as api_client:
10+
api_instance = TeamsApi(api_client)
11+
items = api_instance.list_teams_with_pagination(
12+
page_size=2,
13+
)
14+
for item in items:
15+
print(item)

src/datadog_api_client/v2/api/teams_api.py

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,21 @@
33
# Copyright 2019-Present Datadog, Inc.
44
from __future__ import annotations
55

6+
import collections
67
from typing import Any, Dict, List, Union
78

89
from datadog_api_client.api_client import ApiClient, Endpoint as _Endpoint
910
from datadog_api_client.configuration import Configuration
1011
from datadog_api_client.model_utils import (
12+
set_attribute_from_path,
13+
get_attribute_from_path,
1114
UnsetType,
1215
unset,
1316
)
1417
from datadog_api_client.v2.model.teams_response import TeamsResponse
1518
from datadog_api_client.v2.model.list_teams_sort import ListTeamsSort
1619
from datadog_api_client.v2.model.list_teams_include import ListTeamsInclude
20+
from datadog_api_client.v2.model.team import Team
1721
from datadog_api_client.v2.model.team_response import TeamResponse
1822
from datadog_api_client.v2.model.team_create_request import TeamCreateRequest
1923
from datadog_api_client.v2.model.team_update_request import TeamUpdateRequest
@@ -829,6 +833,67 @@ def list_teams(
829833

830834
return self._list_teams_endpoint.call_with_http_info(**kwargs)
831835

836+
def list_teams_with_pagination(
837+
self,
838+
*,
839+
page_number: Union[int, UnsetType] = unset,
840+
page_size: Union[int, UnsetType] = unset,
841+
sort: Union[ListTeamsSort, UnsetType] = unset,
842+
include: Union[List[ListTeamsInclude], UnsetType] = unset,
843+
filter_keyword: Union[str, UnsetType] = unset,
844+
filter_me: Union[bool, UnsetType] = unset,
845+
) -> collections.abc.Iterable[Team]:
846+
"""Get all teams.
847+
848+
Provide a paginated version of :meth:`list_teams`, returning all items.
849+
850+
:param page_number: Specific page number to return.
851+
:type page_number: int, optional
852+
:param page_size: Size for a given page. The maximum allowed value is 100.
853+
:type page_size: int, optional
854+
:param sort: Specifies the order of the returned teams
855+
:type sort: ListTeamsSort, optional
856+
:param include: Included related resources optionally requested. Allowed enum values: ``team_links, user_team_permissions``
857+
:type include: [ListTeamsInclude], optional
858+
:param filter_keyword: Search query. Can be team name, team handle, or email of team member
859+
:type filter_keyword: str, optional
860+
:param filter_me: When true, only returns teams the current user belongs to
861+
:type filter_me: bool, optional
862+
863+
:return: A generator of paginated results.
864+
:rtype: collections.abc.Iterable[Team]
865+
"""
866+
kwargs: Dict[str, Any] = {}
867+
if page_number is not unset:
868+
kwargs["page_number"] = page_number
869+
870+
if page_size is not unset:
871+
kwargs["page_size"] = page_size
872+
873+
if sort is not unset:
874+
kwargs["sort"] = sort
875+
876+
if include is not unset:
877+
kwargs["include"] = include
878+
879+
if filter_keyword is not unset:
880+
kwargs["filter_keyword"] = filter_keyword
881+
882+
if filter_me is not unset:
883+
kwargs["filter_me"] = filter_me
884+
885+
local_page_size = get_attribute_from_path(kwargs, "page_size", 10)
886+
endpoint = self._list_teams_endpoint
887+
set_attribute_from_path(kwargs, "page_size", local_page_size, endpoint.params_map)
888+
pagination = {
889+
"limit_value": local_page_size,
890+
"results_path": "data",
891+
"page_param": "page_number",
892+
"endpoint": endpoint,
893+
"kwargs": kwargs,
894+
}
895+
return endpoint.call_with_http_info_paginated(pagination)
896+
832897
def update_team(
833898
self,
834899
team_id: str,
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
2023-09-05T14:20:30.333Z
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
interactions:
2+
- request:
3+
body: null
4+
headers:
5+
accept:
6+
- application/json
7+
method: GET
8+
uri: https://api.datadoghq.com/api/v2/team?page%5Bsize%5D=2&page%5Bnumber%5D=0
9+
response:
10+
body:
11+
string: '{"data":[{"type":"team","attributes":{"created_at":"2023-03-22T17:12:07.018313+00:00","user_count":0,"description":null,"link_count":0,"modified_at":"2023-03-22T17:12:07.018317+00:00","name":"Example
12+
Team","summary":null,"handle":"api-spec-test-team"},"relationships":{"team_links":{"links":{"related":"/api/v2/team/ac73040e-c8d4-11ed-b2ea-da7ad0900002/links"}},"user_team_permissions":{"links":{"related":"/api/v2/team/ac73040e-c8d4-11ed-b2ea-da7ad0900002/permission-settings"}}},"id":"ac73040e-c8d4-11ed-b2ea-da7ad0900002"},{"type":"team","attributes":{"created_at":"2023-08-21T19:49:10.718738+00:00","user_count":1,"description":"","link_count":0,"modified_at":"2023-08-21T19:49:10.718744+00:00","name":"test-name-12938712938","summary":null,"handle":"test-handle-12938712938"},"relationships":{"team_links":{"links":{"related":"/api/v2/team/cc338b02-405b-11ee-835e-da7ad0900002/links"}},"user_team_permissions":{"links":{"related":"/api/v2/team/cc338b02-405b-11ee-835e-da7ad0900002/permission-settings"}}},"id":"cc338b02-405b-11ee-835e-da7ad0900002"}],"meta":{"pagination":{"number":0,"first_number":0,"prev_number":0,"next_number":1,"last_number":1,"size":2,"type":"number_size","total":3}},"links":{"self":"https://api.datadoghq.com/api/v2/team?page%5Bsize%5D=2&page%5Bnumber%5D=0","last":"https://api.datadoghq.com/api/v2/team?page[number]=1&page[size]=2","next":"https://api.datadoghq.com/api/v2/team?page[number]=1&page[size]=2","prev":null,"first":"https://api.datadoghq.com/api/v2/team?page[number]=0&page[size]=2"}}
13+
14+
'
15+
headers:
16+
content-type:
17+
- application/json
18+
status:
19+
code: 200
20+
message: OK
21+
- request:
22+
body: null
23+
headers:
24+
accept:
25+
- application/json
26+
method: GET
27+
uri: https://api.datadoghq.com/api/v2/team?page%5Bsize%5D=2&page%5Bnumber%5D=1
28+
response:
29+
body:
30+
string: '{"data":[{"type":"team","relationships":{"user_team_permissions":{"links":{"related":"/api/v2/team/ecc8affc-27d6-11ee-b33c-da7ad0900002/permission-settings"}},"team_links":{"links":{"related":"/api/v2/team/ecc8affc-27d6-11ee-b33c-da7ad0900002/links"}}},"attributes":{"link_count":0,"handle":"tf-testaccteamlinkbasic-local-1689951453","modified_at":"2023-07-21T14:57:34.412713+00:00","created_at":"2023-07-21T14:57:34.412707+00:00","summary":"123","name":"tf-testaccteamlinkbasic-local-1689951453","user_count":0,"description":"123"},"id":"ecc8affc-27d6-11ee-b33c-da7ad0900002"}],"meta":{"pagination":{"number":1,"first_number":0,"prev_number":0,"next_number":2,"last_number":1,"size":2,"type":"number_size","total":3}},"links":{"self":"https://api.datadoghq.com/api/v2/team?page%5Bsize%5D=2&page%5Bnumber%5D=1","last":"https://api.datadoghq.com/api/v2/team?page[number]=1&page[size]=2","next":"https://api.datadoghq.com/api/v2/team?page[number]=2&page[size]=2","prev":"https://api.datadoghq.com/api/v2/team?page[number]=0&page[size]=2","first":"https://api.datadoghq.com/api/v2/team?page[number]=0&page[size]=2"}}
31+
32+
'
33+
headers:
34+
content-type:
35+
- application/json
36+
status:
37+
code: 200
38+
message: OK
39+
version: 1

tests/v2/features/teams.feature

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,14 @@ Feature: Teams
118118
Then the response status is 200 OK
119119
And the response "data" has item with field "id" with value "{{ dd_team.data.id }}"
120120

121+
@replay-only @skip-validation @team:DataDog/core-app @with-pagination
122+
Scenario: Get all teams returns "OK" response with pagination
123+
Given new "ListTeams" request
124+
And request contains "page[size]" parameter with value 2
125+
When the request with pagination is sent
126+
Then the response status is 200 OK
127+
And the response has 3 items
128+
121129
@team:DataDog/core-app
122130
Scenario: Get links for a team returns "API error response." response
123131
Given new "GetTeamLinks" request

0 commit comments

Comments
 (0)