equinix / equinix/equinix-sdk-python

Incorrect return type

Open
#55 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
3
Forks
0
Avg merge
2d 14h
Merged PRs (30d)
4

Description

I am getting an error when trying to use the following method
```py
metalv1.UsagesApi(equinix_client).find_project_usage("")
```

```
File "/myenv/request.py", line 25, in
u = get_usages(cl)
File "/myenv/request.py", line 18, in get_usages
return metalv1.UsagesApi(equinix_client).find_project_usage("")
File "/myenv/lib/python3.9/site-packages/pydantic/_internal/_validate_call.py", line 39, in wrapper_function
return wrapper(*args, **kwargs)
File "/myenv/lib/python3.9/site-packages/pydantic/_internal/_validate_call.py", line 136, in __call__
res = self.__pydantic_validator__.validate_python(pydantic_core.ArgsKwargs(args, kwargs))
File "/myenv/lib/python3.9/site-packages/equinix/services/metalv1/api/usages_api.py", line 407, in find_project_usage
return self.api_client.response_deserialize(
File "/myenv/lib/python3.9/site-packages/equinix/services/metalv1/api_client.py", line 318, in response_deserialize
return_data = self.deserialize(response_text, response_type, content_type)
File "/myenv/lib/python3.9/site-packages/equinix/services/metalv1/api_client.py", line 419, in deserialize
return self.__deserialize(data, response_type)
File "/myenv/lib/python3.9/site-packages/equinix/services/metalv1/api_client.py", line 466, in __deserialize
return self.__deserialize_model(data, klass)
File "/myenv/lib/python3.9/site-packages/equinix/services/metalv1/api_client.py", line 796, in __deserialize_model
return klass.from_dict(data)
File "/myenv/lib/python3.9/site-packages/equinix/services/metalv1/models/project_usage_list.py", line 92, in from_dict
"usages": [ProjectUsage.from_dict(_item) for _item in obj["usages"]] if obj.get("usages") is not None else None
File "/myenv/lib/python3.9/site-packages/equinix/services/metalv1/models/project_usage_list.py", line 92, in
"usages": [ProjectUsage.from_dict(_item) for _item in obj["usages"]] if obj.get("usages") is not None else None
File "/myenv/lib/python3.9/site-packages/equinix/services/metalv1/models/project_usage.py", line 90, in from_dict
_obj = cls.model_validate({
File "/myenv/lib/python3.9/site-packages/pydantic/main.py", line 703, in model_validate
return cls.__pydantic_validator__.validate_python(
pydantic_core._pydantic_core.ValidationError: 3 validation errors for ProjectUsage
price
Input should be a valid string [type=string_type, input_value=1.1, input_type=float]
For further information visit https://errors.pydantic.dev/2.11/v/string_type
quantity
Input should be a valid string [type=string_type, input_value=24.0, input_type=float]
For further information visit https://errors.pydantic.dev/2.11/v/string_type
total
Input should be a valid string [type=string_type, input_value=26.4, input_type=float]
For further information visit https://errors.pydantic.dev/2.11/v/string_type
```

I am using version 0.10.0
```
equinix==0.10.0
```

It would seem that a string is expected but a float is being returned, causing the validation to fail.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.