Skip to content

chore: upgrade openapi-generator to v7.10.0#40

Merged
ctreatma merged 3 commits intomainfrom
generator-upgrade
Jan 22, 2025
Merged

chore: upgrade openapi-generator to v7.10.0#40
ctreatma merged 3 commits intomainfrom
generator-upgrade

Conversation

@ctreatma
Copy link
Contributor

No description provided.

@ctreatma ctreatma requested review from a team as code owners January 17, 2025 15:23
Comment on lines +313 to +318
if 'Accept' not in _header_params:
_header_params['Accept'] = self.api_client.select_header_accept(
[
'application/json'
]
)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes like these in the API classes are a result of OpenAPITools/openapi-generator#19025, which enables overriding the Accept header

access_point_dict = access_point_instance.to_dict()
# create an instance of AccessPoint from a dict
access_point_form_dict = access_point.from_dict(access_point_dict)
access_point_from_dict = AccessPoint.from_dict(access_point_dict)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These changes in the docs are a result of OpenAPITools/openapi-generator#18359, which fixes invalid code samples in docs.

Comment on lines +7 to +11
* `COLO` (value: `'COLO'`)

* `VD` (value: `'VD'`)

* `NETWORK` (value: `'NETWORK'`)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These kinds of changes are a result of OpenAPITools/openapi-generator#18804, which includes supported enum values in the docs for enum models

Comment on lines +83 to +85
for _item_data in self.data:
if _item_data:
_items.append(_item_data.to_dict())
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These sorts of changes are a result of OpenAPITools/openapi-generator#19223, which fixes a potential bug when models contain multiple list attributes with different element types.

Comment on lines +268 to +270
_files: Dict[
str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
] = {}
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These changes add support for multiple file parameters; I suspect this isn't relevant to us but it should be backwards-compatible anyway since the str type is still a member of the updated union type. OpenAPITools/openapi-generator#19329

'bool': bool,
'date': datetime.date,
'datetime': datetime.datetime,
'decimal': decimal.Decimal,
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Decimal support added in OpenAPITools/openapi-generator#19203

encoding = match.group(1) if match else "utf-8"
response_text = response_data.data.decode(encoding)
return_data = self.deserialize(response_text, response_type)
return_data = self.deserialize(response_text, response_type, content_type)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix for issues with deserialization not matching the specified content type: OpenAPITools/openapi-generator#18800

"""Builds a JSON POST object.

If obj is None, return None.
If obj is SecretStr, return obj.get_secret_value()
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix for handling credentials & other sensitive strings, which would previously crash: OpenAPITools/openapi-generator#18023

Comment on lines +168 to +187
_default: ClassVar[Optional[Self]] = None

def __init__(
self,
host: Optional[str]=None,
api_key: Optional[Dict[str, str]]=None,
api_key_prefix: Optional[Dict[str, str]]=None,
username: Optional[str]=None,
password: Optional[str]=None,
access_token: Optional[str]=None,
server_index: Optional[int]=None,
server_variables: Optional[ServerVariablesT]=None,
server_operation_index: Optional[Dict[int, int]]=None,
server_operation_variables: Optional[Dict[int, ServerVariablesT]]=None,
ignore_operation_servers: bool=False,
ssl_ca_cert: Optional[str]=None,
retries: Optional[int] = None,
*,
debug: Optional[bool] = None,
) -> None:
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stronger typing for Python configuration class: OpenAPITools/openapi-generator#20014

@@ -40,7 +40,7 @@ class CloudRouterActionsSearchFilter(BaseModel):
actual_instance: Optional[Union[CloudRouterActionsSearchExpression, CloudRouterActionsSearchOrFilter]] = None
else:
actual_instance: Any = None
any_of_schemas: List[str] = Field(default=Literal["CloudRouterActionsSearchExpression", "CloudRouterActionsSearchOrFilter"])
any_of_schemas: Set[str] = { "CloudRouterActionsSearchExpression", "CloudRouterActionsSearchOrFilter" }
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Addressing Pydantic warnings when serializing complex models: OpenAPITools/openapi-generator#17941

@ctreatma
Copy link
Contributor Author

Ansible collection E2E tests passing with this generator upgrade: https://github.com/equinix/ansible-collection-equinix/actions/runs/12912927895/job/36008933210

@ctreatma ctreatma merged commit 62dbc7d into main Jan 22, 2025
3 checks passed
@ctreatma ctreatma deleted the generator-upgrade branch January 22, 2025 17:37
@github-actions
Copy link
Contributor

This PR is included in version 0.8.0 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant