Skip to content
This repository has been archived by the owner on Mar 14, 2024. It is now read-only.

ApplicationsApi.list_application fails #1

Open
ramnes opened this issue Mar 29, 2022 · 4 comments
Open

ApplicationsApi.list_application fails #1

ramnes opened this issue Mar 29, 2022 · 4 comments

Comments

@ramnes
Copy link

ramnes commented Mar 29, 2022

Running

applications = ApplicationsApi(client).list_application(environment_id)["results"]

fails with

Traceback (most recent call last):
  File ".venv/lib/python3.10/site-packages/qovery/model_utils.py", line 1785, in get_allof_instances
    allof_instance = allof_class._from_openapi_data(**model_args, **constant_args)
  File ".venv/lib/python3.10/site-packages/qovery/model_utils.py", line 46, in wrapped_init
    return fn(_self, *args, **kwargs)
  File ".venv/lib/python3.10/site-packages/qovery/model/application_port_response.py", line 179, in _from_openapi_data
    setattr(self, var_name, var_value)
  File ".venv/lib/python3.10/site-packages/qovery/model_utils.py", line 185, in __setattr__
    self[attr] = value
  File ".venv/lib/python3.10/site-packages/qovery/model_utils.py", line 510, in __setitem__
    self.set_attribute(name, value)
  File ".venv/lib/python3.10/site-packages/qovery/model_utils.py", line 157, in set_attribute
    value = validate_and_convert_types(
  File ".venv/lib/python3.10/site-packages/qovery/model_utils.py", line 1620, in validate_and_convert_types
    input_value[index] = validate_and_convert_types(
  File ".venv/lib/python3.10/site-packages/qovery/model_utils.py", line 1570, in validate_and_convert_types
    converted_instance = attempt_convert_item(
  File ".venv/lib/python3.10/site-packages/qovery/model_utils.py", line 1463, in attempt_convert_item
    raise conversion_exc
  File ".venv/lib/python3.10/site-packages/qovery/model_utils.py", line 1454, in attempt_convert_item
    return deserialize_model(input_value, valid_class,
  File ".venv/lib/python3.10/site-packages/qovery/model_utils.py", line 1374, in deserialize_model
    return model_class._new_from_openapi_data(**kw_args)
  File ".venv/lib/python3.10/site-packages/qovery/model_utils.py", line 46, in wrapped_init
    return fn(_self, *args, **kwargs)
  File ".venv/lib/python3.10/site-packages/qovery/model_utils.py", line 370, in _new_from_openapi_data
    return cls._from_openapi_data(*args, **kwargs)
  File ".venv/lib/python3.10/site-packages/qovery/model_utils.py", line 46, in wrapped_init
    return fn(_self, *args, **kwargs)
  File ".venv/lib/python3.10/site-packages/qovery/model/application_port_response_ports.py", line 198, in _from_openapi_data
    setattr(self, var_name, var_value)
  File ".venv/lib/python3.10/site-packages/qovery/model_utils.py", line 185, in __setattr__
    self[attr] = value
  File ".venv/lib/python3.10/site-packages/qovery/model_utils.py", line 510, in __setitem__
    self.set_attribute(name, value)
  File ".venv/lib/python3.10/site-packages/qovery/model_utils.py", line 157, in set_attribute
    value = validate_and_convert_types(
  File ".venv/lib/python3.10/site-packages/qovery/model_utils.py", line 1570, in validate_and_convert_types
    converted_instance = attempt_convert_item(
  File ".venv/lib/python3.10/site-packages/qovery/model_utils.py", line 1449, in attempt_convert_item
    raise get_type_error(input_value, path_to_item, valid_classes,
qovery.exceptions.ApiTypeError: Invalid type for variable 'external_port'. Required value type is int and passed type was NoneType at ['received_data']['results'][0]['ports'][0]['external_port']

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "run.py", line 29, in <module>
    applications = ApplicationsApi(client).list_application(environment_id)["results"]
  File ".venv/lib/python3.10/site-packages/qovery/api/applications_api.py", line 1095, in list_application
    return self.list_application_endpoint.call_with_http_info(**kwargs)
  File ".venv/lib/python3.10/site-packages/qovery/api_client.py", line 851, in call_with_http_info
    return self.api_client.call_api(
  File ".venv/lib/python3.10/site-packages/qovery/api_client.py", line 410, in call_api
    return self.__call_api(resource_path, method,
  File ".venv/lib/python3.10/site-packages/qovery/api_client.py", line 225, in __call_api
    return_data = self.deserialize(
  File ".venv/lib/python3.10/site-packages/qovery/api_client.py", line 326, in deserialize
    deserialized_data = validate_and_convert_types(
  File ".venv/lib/python3.10/site-packages/qovery/model_utils.py", line 1570, in validate_and_convert_types
    converted_instance = attempt_convert_item(
  File ".venv/lib/python3.10/site-packages/qovery/model_utils.py", line 1463, in attempt_convert_item
    raise conversion_exc
  File ".venv/lib/python3.10/site-packages/qovery/model_utils.py", line 1454, in attempt_convert_item
    return deserialize_model(input_value, valid_class,
  File ".venv/lib/python3.10/site-packages/qovery/model_utils.py", line 1374, in deserialize_model
    return model_class._new_from_openapi_data(**kw_args)
  File ".venv/lib/python3.10/site-packages/qovery/model_utils.py", line 46, in wrapped_init
    return fn(_self, *args, **kwargs)
  File ".venv/lib/python3.10/site-packages/qovery/model_utils.py", line 370, in _new_from_openapi_data
    return cls._from_openapi_data(*args, **kwargs)
  File ".venv/lib/python3.10/site-packages/qovery/model_utils.py", line 46, in wrapped_init
    return fn(_self, *args, **kwargs)
  File ".venv/lib/python3.10/site-packages/qovery/model/application_response_list.py", line 179, in _from_openapi_data
    setattr(self, var_name, var_value)
  File ".venv/lib/python3.10/site-packages/qovery/model_utils.py", line 185, in __setattr__
    self[attr] = value
  File ".venv/lib/python3.10/site-packages/qovery/model_utils.py", line 510, in __setitem__
    self.set_attribute(name, value)
  File ".venv/lib/python3.10/site-packages/qovery/model_utils.py", line 157, in set_attribute
    value = validate_and_convert_types(
  File ".venv/lib/python3.10/site-packages/qovery/model_utils.py", line 1620, in validate_and_convert_types
    input_value[index] = validate_and_convert_types(
  File ".venv/lib/python3.10/site-packages/qovery/model_utils.py", line 1570, in validate_and_convert_types
    converted_instance = attempt_convert_item(
  File ".venv/lib/python3.10/site-packages/qovery/model_utils.py", line 1463, in attempt_convert_item
    raise conversion_exc
  File ".venv/lib/python3.10/site-packages/qovery/model_utils.py", line 1454, in attempt_convert_item
    return deserialize_model(input_value, valid_class,
  File ".venv/lib/python3.10/site-packages/qovery/model_utils.py", line 1374, in deserialize_model
    return model_class._new_from_openapi_data(**kw_args)
  File ".venv/lib/python3.10/site-packages/qovery/model_utils.py", line 46, in wrapped_init
    return fn(_self, *args, **kwargs)
  File ".venv/lib/python3.10/site-packages/qovery/model_utils.py", line 370, in _new_from_openapi_data
    return cls._from_openapi_data(*args, **kwargs)
  File ".venv/lib/python3.10/site-packages/qovery/model_utils.py", line 46, in wrapped_init
    return fn(_self, *args, **kwargs)
  File ".venv/lib/python3.10/site-packages/qovery/model/application_response.py", line 260, in _from_openapi_data
    composed_info = validate_get_composed_info(
  File ".venv/lib/python3.10/site-packages/qovery/model_utils.py", line 1993, in validate_get_composed_info
    allof_instances = get_allof_instances(self, model_args, constant_args)
  File ".venv/lib/python3.10/site-packages/qovery/model_utils.py", line 1790, in get_allof_instances
    raise ApiValueError(
qovery.exceptions.ApiValueError: Invalid inputs given to generate an instance of 'ApplicationPortResponse'. The input data was invalid for the allOf schema 'ApplicationPortResponse' in the composed schema 'ApplicationResponse'. Error=Invalid type for variable 'external_port'. Required value type is int and passed type was NoneType at ['received_data']['results'][0]['ports'][0]['external_port']
@ramnes
Copy link
Author

ramnes commented Mar 29, 2022

Running the example here gives:

Exception when calling ApplicationsApi->list_application: (400)
Reason:
HTTP response headers: HTTPHeaderDict({'Date': 'Tue, 29 Mar 2022 09:13:52 GMT', 'Content-Length': '0', 'Connection': 'keep-alive', 'X-Content-Type-Options': 'nosniff', 'X-XSS-Protection': '1; mode=block', 'Cache-Control': 'no-cache, no-store, max-age=0, must-revalidate', 'Pragma': 'no-cache', 'Expires': '0', 'Strict-Transport-Security': 'max-age=15724800; includeSubDomains', 'X-Frame-Options': 'DENY'})

@gridworkz
Copy link

Did you ever get this to work?

@ramnes
Copy link
Author

ramnes commented Aug 2, 2022

No, but here is a workaround. :)

import json
import os.path

import httpx


def list_applications(client, context):
    environments = client.get(f"/project/{context['project_id']}/environment").json()["results"]
    for environment in environments:
        applications = client.get(f"/environment/{environment['id']}/application").json()["results"]
        for application in applications:
            yield application


context_path = os.path.expanduser("~/.qovery/context.json")
with open(context_path) as context_file:
    context = json.load(context_file)

client = httpx.Client(
    base_url="https://api.qovery.com",
    headers={"Authorization": f"Bearer {context['access_token']}"},
)

for application in list_applications(client, context):
    ...

@gridworkz
Copy link

gridworkz commented Aug 2, 2022

Awesome, thanks so much! Would you happen to have any small apps built with the APIs that you could share? We're struggling a bit to get off the ground using these APIs. We've been trying to get this puppy to spit out an organizationId for the past two weeks.

UPDATE: Got it figured out using your code snippet above and digging into qovery-cli. Thanks again for the pointers...

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants