Skip to content

Commit 3a701d6

Browse files
nkzouci.datadog-api-spec
and
ci.datadog-api-spec
authored
Fix oneOf generation with mixed types including primitives (#1374)
* Fix early exit of oneOf generation with mixed types * pre-commit fixes * remove primitive check in case future oneOfs have other edge cases --------- Co-authored-by: ci.datadog-api-spec <[email protected]>
1 parent ad33729 commit 3a701d6

File tree

4 files changed

+33
-3
lines changed

4 files changed

+33
-3
lines changed

.generator/src/generator/openapi.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -234,9 +234,6 @@ def child_models(schema, alternative_name=None, seen=None, in_list=False):
234234
if "oneOf" in schema:
235235
has_sub_models = True
236236
for child in schema["oneOf"]:
237-
# Don't generate models for nested primitive types
238-
if in_list and child.get("type") in PRIMITIVE_TYPES:
239-
return
240237
yield from child_models(child, seen=seen)
241238
if "anyOf" in schema:
242239
has_sub_models = True

docs/datadog_api_client.v1.model.rst

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -477,6 +477,13 @@ distribution\_point
477477
:members:
478478
:show-inheritance:
479479

480+
distribution\_point\_data
481+
-------------------------
482+
483+
.. automodule:: datadog_api_client.v1.model.distribution_point_data
484+
:members:
485+
:show-inheritance:
486+
480487
distribution\_points\_content\_encoding
481488
---------------------------------------
482489

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
2+
# This product includes software developed at Datadog (https://www.datadoghq.com/).
3+
# Copyright 2019-Present Datadog, Inc.
4+
from __future__ import annotations
5+
6+
7+
from datadog_api_client.model_utils import (
8+
ModelSimple,
9+
cached_property,
10+
)
11+
12+
13+
class DistributionPointData(ModelSimple):
14+
"""
15+
Distribution point data.
16+
17+
18+
:type value: [float]
19+
"""
20+
21+
@cached_property
22+
def openapi_types(_):
23+
return {
24+
"value": ([float],),
25+
}

src/datadog_api_client/v1/models/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@
6666
from datadog_api_client.v1.model.dashboard_template_variable_preset_value import DashboardTemplateVariablePresetValue
6767
from datadog_api_client.v1.model.deleted_monitor import DeletedMonitor
6868
from datadog_api_client.v1.model.distribution_point import DistributionPoint
69+
from datadog_api_client.v1.model.distribution_point_data import DistributionPointData
6970
from datadog_api_client.v1.model.distribution_points_content_encoding import DistributionPointsContentEncoding
7071
from datadog_api_client.v1.model.distribution_points_payload import DistributionPointsPayload
7172
from datadog_api_client.v1.model.distribution_points_series import DistributionPointsSeries

0 commit comments

Comments
 (0)