Skip to content

Commit 06993f6

Browse files
api-clients-generation-pipeline[bot]ci.datadog-api-spec
andauthored
Fix Org Groups pagination response shape (#1547)
Co-authored-by: ci.datadog-api-spec <packages@datadoghq.com>
1 parent e6abcba commit 06993f6

9 files changed

Lines changed: 529 additions & 37 deletions

.generator/schemas/v2/openapi.yaml

Lines changed: 120 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -52255,6 +52255,8 @@ components:
5225552255
items:
5225652256
$ref: "#/components/schemas/OrgGroupMembershipData"
5225752257
type: array
52258+
links:
52259+
$ref: "#/components/schemas/OrgGroupPaginationLinks"
5225852260
meta:
5225952261
$ref: "#/components/schemas/OrgGroupPaginationMeta"
5226052262
required:
@@ -52372,6 +52374,8 @@ components:
5237252374
items:
5237352375
$ref: "#/components/schemas/OrgGroupMembershipData"
5237452376
type: array
52377+
links:
52378+
$ref: "#/components/schemas/OrgGroupPaginationLinks"
5237552379
meta:
5237652380
$ref: "#/components/schemas/OrgGroupPaginationMeta"
5237752381
required:
@@ -52472,24 +52476,71 @@ components:
5247252476
required:
5247352477
- data
5247452478
type: object
52479+
OrgGroupPaginationLinks:
52480+
description: Pagination links for navigating between pages of an org group list response.
52481+
properties:
52482+
first:
52483+
description: Link to the first page.
52484+
type: string
52485+
last:
52486+
description: Link to the last page.
52487+
type: string
52488+
next:
52489+
description: Link to the next page.
52490+
nullable: true
52491+
type: string
52492+
prev:
52493+
description: Link to the previous page.
52494+
nullable: true
52495+
type: string
52496+
self:
52497+
description: Link to the current page.
52498+
type: string
52499+
type: object
5247552500
OrgGroupPaginationMeta:
52476-
description: Pagination metadata.
52501+
description: Pagination metadata for org group list responses.
5247752502
properties:
5247852503
page:
5247952504
$ref: "#/components/schemas/OrgGroupPaginationMetaPage"
52480-
required:
52481-
- page
5248252505
type: object
5248352506
OrgGroupPaginationMetaPage:
52484-
description: Page-based pagination details.
52507+
description: Page-based pagination details for org group list responses.
5248552508
properties:
52486-
total_count:
52487-
description: The total number of items.
52488-
example: 42
52509+
first_number:
52510+
description: First page number.
5248952511
format: int64
5249052512
type: integer
52491-
required:
52492-
- total_count
52513+
last_number:
52514+
description: Last page number.
52515+
format: int64
52516+
nullable: true
52517+
type: integer
52518+
next_number:
52519+
description: Next page number.
52520+
format: int64
52521+
nullable: true
52522+
type: integer
52523+
number:
52524+
description: Page number.
52525+
format: int64
52526+
type: integer
52527+
prev_number:
52528+
description: Previous page number.
52529+
format: int64
52530+
nullable: true
52531+
type: integer
52532+
size:
52533+
description: Page size.
52534+
format: int64
52535+
type: integer
52536+
total:
52537+
description: Total number of results.
52538+
format: int64
52539+
type: integer
52540+
type:
52541+
description: Pagination type.
52542+
example: "number_size"
52543+
type: string
5249352544
type: object
5249452545
OrgGroupPolicyAttributes:
5249552546
description: Attributes of an org group policy.
@@ -52679,6 +52730,8 @@ components:
5267952730
items:
5268052731
$ref: "#/components/schemas/OrgGroupPolicyData"
5268152732
type: array
52733+
links:
52734+
$ref: "#/components/schemas/OrgGroupPaginationLinks"
5268252735
meta:
5268352736
$ref: "#/components/schemas/OrgGroupPaginationMeta"
5268452737
required:
@@ -52792,6 +52845,8 @@ components:
5279252845
items:
5279352846
$ref: "#/components/schemas/OrgGroupPolicyOverrideData"
5279452847
type: array
52848+
links:
52849+
$ref: "#/components/schemas/OrgGroupPaginationLinks"
5279552850
meta:
5279652851
$ref: "#/components/schemas/OrgGroupPaginationMeta"
5279752852
required:
@@ -111991,9 +112046,22 @@ paths:
111991112046
id: "a1b2c3d4-e5f6-7890-abcd-ef0123456789"
111992112047
type: org_groups
111993112048
type: org_group_memberships
112049+
links:
112050+
first: "https://api.datadoghq.com/api/v2/org_group_memberships?filter%5Borg_group_id%5D=a1b2c3d4-e5f6-7890-abcd-ef0123456789&page%5Bnumber%5D=0&page%5Bsize%5D=50"
112051+
last: "https://api.datadoghq.com/api/v2/org_group_memberships?filter%5Borg_group_id%5D=a1b2c3d4-e5f6-7890-abcd-ef0123456789&page%5Bnumber%5D=0&page%5Bsize%5D=50"
112052+
next:
112053+
prev:
112054+
self: "https://api.datadoghq.com/api/v2/org_group_memberships?filter%5Borg_group_id%5D=a1b2c3d4-e5f6-7890-abcd-ef0123456789&page%5Bnumber%5D=0&page%5Bsize%5D=50"
111994112055
meta:
111995112056
page:
111996-
total_count: 1
112057+
first_number: 0
112058+
last_number: 0
112059+
next_number:
112060+
number: 0
112061+
prev_number:
112062+
size: 50
112063+
total: 1
112064+
type: number_size
111997112065
schema:
111998112066
$ref: "#/components/schemas/OrgGroupMembershipListResponse"
111999112067
description: OK
@@ -112292,9 +112360,22 @@ paths:
112292112360
id: "a1b2c3d4-e5f6-7890-abcd-ef0123456789"
112293112361
type: org_groups
112294112362
type: org_group_policies
112363+
links:
112364+
first: "https://api.datadoghq.com/api/v2/org_group_policies?filter%5Borg_group_id%5D=a1b2c3d4-e5f6-7890-abcd-ef0123456789&page%5Bnumber%5D=0&page%5Bsize%5D=50"
112365+
last: "https://api.datadoghq.com/api/v2/org_group_policies?filter%5Borg_group_id%5D=a1b2c3d4-e5f6-7890-abcd-ef0123456789&page%5Bnumber%5D=0&page%5Bsize%5D=50"
112366+
next:
112367+
prev:
112368+
self: "https://api.datadoghq.com/api/v2/org_group_policies?filter%5Borg_group_id%5D=a1b2c3d4-e5f6-7890-abcd-ef0123456789&page%5Bnumber%5D=0&page%5Bsize%5D=50"
112295112369
meta:
112296112370
page:
112297-
total_count: 1
112371+
first_number: 0
112372+
last_number: 0
112373+
next_number:
112374+
number: 0
112375+
prev_number:
112376+
size: 50
112377+
total: 1
112378+
type: number_size
112298112379
schema:
112299112380
$ref: "#/components/schemas/OrgGroupPolicyListResponse"
112300112381
description: OK
@@ -112683,9 +112764,22 @@ paths:
112683112764
id: "1a2b3c4d-5e6f-7890-abcd-ef0123456789"
112684112765
type: org_group_policies
112685112766
type: org_group_policy_overrides
112767+
links:
112768+
first: "https://api.datadoghq.com/api/v2/org_group_policy_overrides?filter%5Borg_group_id%5D=a1b2c3d4-e5f6-7890-abcd-ef0123456789&page%5Bnumber%5D=0&page%5Bsize%5D=50"
112769+
last: "https://api.datadoghq.com/api/v2/org_group_policy_overrides?filter%5Borg_group_id%5D=a1b2c3d4-e5f6-7890-abcd-ef0123456789&page%5Bnumber%5D=0&page%5Bsize%5D=50"
112770+
next:
112771+
prev:
112772+
self: "https://api.datadoghq.com/api/v2/org_group_policy_overrides?filter%5Borg_group_id%5D=a1b2c3d4-e5f6-7890-abcd-ef0123456789&page%5Bnumber%5D=0&page%5Bsize%5D=50"
112686112773
meta:
112687112774
page:
112688-
total_count: 1
112775+
first_number: 0
112776+
last_number: 0
112777+
next_number:
112778+
number: 0
112779+
prev_number:
112780+
size: 50
112781+
total: 1
112782+
type: number_size
112689112783
schema:
112690112784
$ref: "#/components/schemas/OrgGroupPolicyOverrideListResponse"
112691112785
description: OK
@@ -113024,9 +113118,22 @@ paths:
113024113118
owner_org_uuid: "b2c3d4e5-f6a7-8901-bcde-f01234567890"
113025113119
id: "a1b2c3d4-e5f6-7890-abcd-ef0123456789"
113026113120
type: org_groups
113121+
links:
113122+
first: "https://api.datadoghq.com/api/v2/org_groups?page%5Bnumber%5D=0&page%5Bsize%5D=50"
113123+
last: "https://api.datadoghq.com/api/v2/org_groups?page%5Bnumber%5D=0&page%5Bsize%5D=50"
113124+
next:
113125+
prev:
113126+
self: "https://api.datadoghq.com/api/v2/org_groups?page%5Bnumber%5D=0&page%5Bsize%5D=50"
113027113127
meta:
113028113128
page:
113029-
total_count: 1
113129+
first_number: 0
113130+
last_number: 0
113131+
next_number:
113132+
number: 0
113133+
prev_number:
113134+
size: 50
113135+
total: 1
113136+
type: number_size
113030113137
schema:
113031113138
$ref: "#/components/schemas/OrgGroupListResponse"
113032113139
description: OK

src/datadogV2/model/mod.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6412,6 +6412,8 @@ pub mod model_org_group_type;
64126412
pub use self::model_org_group_type::OrgGroupType;
64136413
pub mod model_org_group_membership_type;
64146414
pub use self::model_org_group_membership_type::OrgGroupMembershipType;
6415+
pub mod model_org_group_pagination_links;
6416+
pub use self::model_org_group_pagination_links::OrgGroupPaginationLinks;
64156417
pub mod model_org_group_pagination_meta;
64166418
pub use self::model_org_group_pagination_meta::OrgGroupPaginationMeta;
64176419
pub mod model_org_group_pagination_meta_page;

src/datadogV2/model/model_org_group_list_response.rs

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,10 @@ pub struct OrgGroupListResponse {
1717
/// Related resources included in the response when requested with the `include` parameter.
1818
#[serde(rename = "included")]
1919
pub included: Option<Vec<crate::datadogV2::model::OrgGroupMembershipData>>,
20-
/// Pagination metadata.
20+
/// Pagination links for navigating between pages of an org group list response.
21+
#[serde(rename = "links")]
22+
pub links: Option<crate::datadogV2::model::OrgGroupPaginationLinks>,
23+
/// Pagination metadata for org group list responses.
2124
#[serde(rename = "meta")]
2225
pub meta: Option<crate::datadogV2::model::OrgGroupPaginationMeta>,
2326
#[serde(flatten)]
@@ -32,6 +35,7 @@ impl OrgGroupListResponse {
3235
OrgGroupListResponse {
3336
data,
3437
included: None,
38+
links: None,
3539
meta: None,
3640
additional_properties: std::collections::BTreeMap::new(),
3741
_unparsed: false,
@@ -43,6 +47,11 @@ impl OrgGroupListResponse {
4347
self
4448
}
4549

50+
pub fn links(mut self, value: crate::datadogV2::model::OrgGroupPaginationLinks) -> Self {
51+
self.links = Some(value);
52+
self
53+
}
54+
4655
pub fn meta(mut self, value: crate::datadogV2::model::OrgGroupPaginationMeta) -> Self {
4756
self.meta = Some(value);
4857
self
@@ -77,6 +86,7 @@ impl<'de> Deserialize<'de> for OrgGroupListResponse {
7786
let mut data: Option<Vec<crate::datadogV2::model::OrgGroupData>> = None;
7887
let mut included: Option<Vec<crate::datadogV2::model::OrgGroupMembershipData>> =
7988
None;
89+
let mut links: Option<crate::datadogV2::model::OrgGroupPaginationLinks> = None;
8090
let mut meta: Option<crate::datadogV2::model::OrgGroupPaginationMeta> = None;
8191
let mut additional_properties: std::collections::BTreeMap<
8292
String,
@@ -95,6 +105,12 @@ impl<'de> Deserialize<'de> for OrgGroupListResponse {
95105
}
96106
included = Some(serde_json::from_value(v).map_err(M::Error::custom)?);
97107
}
108+
"links" => {
109+
if v.is_null() {
110+
continue;
111+
}
112+
links = Some(serde_json::from_value(v).map_err(M::Error::custom)?);
113+
}
98114
"meta" => {
99115
if v.is_null() {
100116
continue;
@@ -113,6 +129,7 @@ impl<'de> Deserialize<'de> for OrgGroupListResponse {
113129
let content = OrgGroupListResponse {
114130
data,
115131
included,
132+
links,
116133
meta,
117134
additional_properties,
118135
_unparsed,

src/datadogV2/model/model_org_group_membership_list_response.rs

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,10 @@ pub struct OrgGroupMembershipListResponse {
1414
/// An array of org group memberships.
1515
#[serde(rename = "data")]
1616
pub data: Vec<crate::datadogV2::model::OrgGroupMembershipData>,
17-
/// Pagination metadata.
17+
/// Pagination links for navigating between pages of an org group list response.
18+
#[serde(rename = "links")]
19+
pub links: Option<crate::datadogV2::model::OrgGroupPaginationLinks>,
20+
/// Pagination metadata for org group list responses.
1821
#[serde(rename = "meta")]
1922
pub meta: Option<crate::datadogV2::model::OrgGroupPaginationMeta>,
2023
#[serde(flatten)]
@@ -30,12 +33,18 @@ impl OrgGroupMembershipListResponse {
3033
) -> OrgGroupMembershipListResponse {
3134
OrgGroupMembershipListResponse {
3235
data,
36+
links: None,
3337
meta: None,
3438
additional_properties: std::collections::BTreeMap::new(),
3539
_unparsed: false,
3640
}
3741
}
3842

43+
pub fn links(mut self, value: crate::datadogV2::model::OrgGroupPaginationLinks) -> Self {
44+
self.links = Some(value);
45+
self
46+
}
47+
3948
pub fn meta(mut self, value: crate::datadogV2::model::OrgGroupPaginationMeta) -> Self {
4049
self.meta = Some(value);
4150
self
@@ -68,6 +77,7 @@ impl<'de> Deserialize<'de> for OrgGroupMembershipListResponse {
6877
M: MapAccess<'a>,
6978
{
7079
let mut data: Option<Vec<crate::datadogV2::model::OrgGroupMembershipData>> = None;
80+
let mut links: Option<crate::datadogV2::model::OrgGroupPaginationLinks> = None;
7181
let mut meta: Option<crate::datadogV2::model::OrgGroupPaginationMeta> = None;
7282
let mut additional_properties: std::collections::BTreeMap<
7383
String,
@@ -80,6 +90,12 @@ impl<'de> Deserialize<'de> for OrgGroupMembershipListResponse {
8090
"data" => {
8191
data = Some(serde_json::from_value(v).map_err(M::Error::custom)?);
8292
}
93+
"links" => {
94+
if v.is_null() {
95+
continue;
96+
}
97+
links = Some(serde_json::from_value(v).map_err(M::Error::custom)?);
98+
}
8399
"meta" => {
84100
if v.is_null() {
85101
continue;
@@ -97,6 +113,7 @@ impl<'de> Deserialize<'de> for OrgGroupMembershipListResponse {
97113

98114
let content = OrgGroupMembershipListResponse {
99115
data,
116+
links,
100117
meta,
101118
additional_properties,
102119
_unparsed,

0 commit comments

Comments
 (0)