Skip to content

Commit b835fc3

Browse files
api-clients-generation-pipeline[bot]therveci.datadog-api-spec
authored
Fix Python type checking (#487)
* Enforce type checking This was skipped for unknown reasons. * Regenerate client from commit 7f25c3e of spec repo Co-authored-by: Thomas Hervé <[email protected]> Co-authored-by: api-clients-generation-pipeline[bot] <54105614+api-clients-generation-pipeline[bot]@users.noreply.github.com> Co-authored-by: ci.datadog-api-spec <[email protected]>
1 parent ca49e00 commit b835fc3

File tree

13 files changed

+24
-235
lines changed

13 files changed

+24
-235
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.4.1.dev8",
7-
"regenerated": "2021-06-17 12:46:48.192991",
8-
"spec_repo_commit": "3efd10d"
7+
"regenerated": "2021-06-17 15:07:58.879914",
8+
"spec_repo_commit": "7f25c3e"
99
},
1010
"v2": {
1111
"apigentools_version": "1.4.1.dev8",
12-
"regenerated": "2021-06-17 12:47:17.170607",
13-
"spec_repo_commit": "3efd10d"
12+
"regenerated": "2021-06-17 15:08:28.826169",
13+
"spec_repo_commit": "7f25c3e"
1414
}
1515
}
1616
}

.generator/templates/model_templates/method_set_attribute.mustache

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
key_type=True
3232
)
3333

34-
if self._check_type:
34+
if self._check_type and value is not None:
3535
value = validate_and_convert_types(
3636
value, required_types_mixed, path_to_item, self._spec_property_naming,
3737
self._check_type, configuration=self._configuration)
@@ -48,4 +48,4 @@
4848
value,
4949
self._configuration
5050
)
51-
self.__dict__['_data_store'][name] = value
51+
self.__dict__['_data_store'][name] = value

.generator/templates/model_utils.mustache

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
{{>partial_header}}
22

3-
import copy
43
from datetime import date, datetime # noqa: F401
54
import inspect
65
import io
@@ -1013,6 +1012,8 @@ def attempt_convert_item(input_value, valid_classes, path_to_item,
10131012
# if we have conversion errors when must_convert == False
10141013
# we ignore the exception and move on to the next class
10151014
continue
1015+
if must_convert:
1016+
raise get_type_error(input_value, path_to_item, valid_classes, key_type=key_type)
10161017
# we were unable to convert, must_convert == False
10171018
return input_value
10181019

@@ -1368,10 +1369,6 @@ def get_oneof_instance(cls, model_kwargs, constant_kwargs, model_arg=None):
13681369
if len(cls._composed_schemas['oneOf']) == 0:
13691370
return None
13701371

1371-
# Buld a configuration that doesn't discard unknown keys for primitive types
1372-
discard_configuration = copy.deepcopy(constant_kwargs["_configuration"])
1373-
discard_configuration.discard_unknown_keys = False
1374-
13751372
oneof_instances = []
13761373
# Iterate over each oneOf schema and determine if the input data
13771374
# matches the oneOf schemas.
@@ -1420,7 +1417,7 @@ def get_oneof_instance(cls, model_kwargs, constant_kwargs, model_arg=None):
14201417
constant_kwargs['_path_to_item'],
14211418
constant_kwargs['_spec_property_naming'],
14221419
constant_kwargs['_check_type'],
1423-
configuration=discard_configuration
1420+
configuration=constant_kwargs['_configuration']
14241421
)
14251422
oneof_instances.append(oneof_instance)
14261423
except Exception:

.openapi-generator/FILES

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -275,7 +275,6 @@ datadog_api_client/v2/model/security_filter_attributes.py
275275
datadog_api_client/v2/model/security_filter_create_attributes.py
276276
datadog_api_client/v2/model/security_filter_create_data.py
277277
datadog_api_client/v2/model/security_filter_create_request.py
278-
datadog_api_client/v2/model/security_filter_delete_response.py
279278
datadog_api_client/v2/model/security_filter_exclusion_filter.py
280279
datadog_api_client/v2/model/security_filter_exclusion_filter_response.py
281280
datadog_api_client/v2/model/security_filter_filtered_data_type.py
@@ -610,7 +609,6 @@ docs/SecurityFilterAttributes.md
610609
docs/SecurityFilterCreateAttributes.md
611610
docs/SecurityFilterCreateData.md
612611
docs/SecurityFilterCreateRequest.md
613-
docs/SecurityFilterDeleteResponse.md
614612
docs/SecurityFilterExclusionFilter.md
615613
docs/SecurityFilterExclusionFilterResponse.md
616614
docs/SecurityFilterFilteredDataType.md
@@ -944,7 +942,6 @@ test/test_security_filter_attributes.py
944942
test/test_security_filter_create_attributes.py
945943
test/test_security_filter_create_data.py
946944
test/test_security_filter_create_request.py
947-
test/test_security_filter_delete_response.py
948945
test/test_security_filter_exclusion_filter.py
949946
test/test_security_filter_exclusion_filter_response.py
950947
test/test_security_filter_filtered_data_type.py

docs/v2/README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -441,7 +441,6 @@ Class | Method | HTTP request | Description
441441
- [SecurityFilterCreateAttributes](SecurityFilterCreateAttributes.md)
442442
- [SecurityFilterCreateData](SecurityFilterCreateData.md)
443443
- [SecurityFilterCreateRequest](SecurityFilterCreateRequest.md)
444-
- [SecurityFilterDeleteResponse](SecurityFilterDeleteResponse.md)
445444
- [SecurityFilterExclusionFilter](SecurityFilterExclusionFilter.md)
446445
- [SecurityFilterExclusionFilterResponse](SecurityFilterExclusionFilterResponse.md)
447446
- [SecurityFilterFilteredDataType](SecurityFilterFilteredDataType.md)

docs/v2/SecurityFilterDeleteResponse.md

Lines changed: 0 additions & 12 deletions
This file was deleted.

docs/v2/SecurityMonitoringApi.md

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ Name | Type | Description | Notes
219219
[[Back to top]](#) [[Back to API list]](README.md#documentation-for-api-endpoints) [[Back to Model list]](README.md#documentation-for-models) [[Back to README]](README.md)
220220

221221
# **delete_security_filter**
222-
> SecurityFilterDeleteResponse delete_security_filter(security_filter_id)
222+
> delete_security_filter(security_filter_id)
223223
224224
Delete a security filter
225225

@@ -248,8 +248,7 @@ with ApiClient(configuration) as api_client:
248248
# example passing only required values which don't have defaults set
249249
try:
250250
# Delete a security filter
251-
api_response = api_instance.delete_security_filter(security_filter_id)
252-
pprint(api_response)
251+
api_instance.delete_security_filter(security_filter_id)
253252
except ApiException as e:
254253
print("Exception when calling SecurityMonitoringApi->delete_security_filter: %s\n" % e)
255254
```
@@ -263,7 +262,7 @@ Name | Type | Description | Notes
263262

264263
### Return type
265264

266-
[**SecurityFilterDeleteResponse**](SecurityFilterDeleteResponse.md)
265+
void (empty response body)
267266

268267
### Authorization
269268

@@ -278,8 +277,7 @@ Name | Type | Description | Notes
278277
### HTTP response details
279278
| Status code | Description | Response headers |
280279
|-------------|-------------|------------------|
281-
**200** | OK | - |
282-
**204** | No Content | - |
280+
**204** | OK | - |
283281
**403** | Not Authorized | - |
284282
**404** | Not Found | - |
285283
**429** | Too many requests | - |

src/datadog_api_client/v1/model_utils.py

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
# Copyright 2019-Present Datadog, Inc.
44

55

6-
import copy
76
from datetime import date, datetime # noqa: F401
87
import inspect
98
import io
@@ -116,7 +115,7 @@ def set_attribute(self, name, value):
116115
error_msg = type_error_message(var_name=name, var_value=name, valid_classes=(str,), key_type=True)
117116
raise ApiTypeError(error_msg, path_to_item=path_to_item, valid_classes=(str,), key_type=True)
118117

119-
if self._check_type:
118+
if self._check_type and value is not None:
120119
value = validate_and_convert_types(
121120
value,
122121
required_types_mixed,
@@ -1207,6 +1206,8 @@ def attempt_convert_item(
12071206
# if we have conversion errors when must_convert == False
12081207
# we ignore the exception and move on to the next class
12091208
continue
1209+
if must_convert:
1210+
raise get_type_error(input_value, path_to_item, valid_classes, key_type=key_type)
12101211
# we were unable to convert, must_convert == False
12111212
return input_value
12121213

@@ -1554,10 +1555,6 @@ def get_oneof_instance(cls, model_kwargs, constant_kwargs, model_arg=None):
15541555
if len(cls._composed_schemas["oneOf"]) == 0:
15551556
return None
15561557

1557-
# Buld a configuration that doesn't discard unknown keys for primitive types
1558-
discard_configuration = copy.deepcopy(constant_kwargs["_configuration"])
1559-
discard_configuration.discard_unknown_keys = False
1560-
15611558
oneof_instances = []
15621559
# Iterate over each oneOf schema and determine if the input data
15631560
# matches the oneOf schemas.
@@ -1605,7 +1602,7 @@ def get_oneof_instance(cls, model_kwargs, constant_kwargs, model_arg=None):
16051602
constant_kwargs["_path_to_item"],
16061603
constant_kwargs["_spec_property_naming"],
16071604
constant_kwargs["_check_type"],
1608-
configuration=discard_configuration,
1605+
configuration=constant_kwargs["_configuration"],
16091606
)
16101607
oneof_instances.append(oneof_instance)
16111608
except Exception:

src/datadog_api_client/v2/api/security_monitoring_api.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
)
1919
from datadog_api_client.v2.model.api_error_response import APIErrorResponse
2020
from datadog_api_client.v2.model.security_filter_create_request import SecurityFilterCreateRequest
21-
from datadog_api_client.v2.model.security_filter_delete_response import SecurityFilterDeleteResponse
2221
from datadog_api_client.v2.model.security_filter_response import SecurityFilterResponse
2322
from datadog_api_client.v2.model.security_filter_update_request import SecurityFilterUpdateRequest
2423
from datadog_api_client.v2.model.security_filters_response import SecurityFiltersResponse
@@ -117,7 +116,7 @@ def __init__(self, api_client=None):
117116

118117
self._delete_security_filter_endpoint = _Endpoint(
119118
settings={
120-
"response_type": (SecurityFilterDeleteResponse,),
119+
"response_type": None,
121120
"auth": ["apiKeyAuth", "appKeyAuth"],
122121
"endpoint_path": "/api/v2/security_monitoring/configuration/security_filters/{security_filter_id}",
123122
"operation_id": "delete_security_filter",
@@ -651,7 +650,7 @@ def delete_security_filter(self, security_filter_id, **kwargs):
651650
async_req (bool): execute request asynchronously
652651
653652
Returns:
654-
SecurityFilterDeleteResponse
653+
None
655654
If the method is called asynchronously, returns the request
656655
thread.
657656
"""

src/datadog_api_client/v2/model/security_filter_delete_response.py

Lines changed: 0 additions & 170 deletions
This file was deleted.

0 commit comments

Comments
 (0)