stackit-iaas 1.3.0__tar.gz → 1.4.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/PKG-INFO +1 -1
  2. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/pyproject.toml +1 -1
  3. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/api_client.py +15 -17
  4. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/add_routes_to_routing_table_payload.py +4 -3
  5. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/add_routing_table_to_area_payload.py +10 -3
  6. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/add_volume_to_server_payload.py +10 -3
  7. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/affinity_group.py +10 -3
  8. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/affinity_group_list_response.py +4 -3
  9. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/availability_zone_list_response.py +4 -3
  10. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/backup.py +16 -3
  11. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/backup_list_response.py +4 -3
  12. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/backup_source.py +7 -3
  13. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/base_security_group_rule.py +16 -3
  14. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/boot_volume.py +10 -3
  15. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/boot_volume_source.py +7 -3
  16. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_affinity_group_payload.py +10 -3
  17. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_backup_payload.py +7 -3
  18. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_image_payload.py +13 -3
  19. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_isolated_network_payload.py +7 -3
  20. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_key_pair_payload.py +13 -3
  21. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_network_area_payload.py +4 -3
  22. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_network_area_range_payload.py +4 -3
  23. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_network_area_region_payload.py +4 -3
  24. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_network_area_route_payload.py +4 -3
  25. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_network_ipv4_with_prefix.py +10 -3
  26. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_network_ipv4_with_prefix_length.py +4 -3
  27. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_network_ipv6_with_prefix.py +10 -3
  28. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_network_ipv6_with_prefix_length.py +4 -3
  29. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_network_payload.py +10 -3
  30. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_nic_payload.py +25 -3
  31. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_public_ip_payload.py +13 -3
  32. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_security_group_payload.py +10 -3
  33. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_security_group_rule_payload.py +16 -3
  34. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_security_group_rule_protocol.py +4 -3
  35. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_server_networking.py +7 -3
  36. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_server_networking_with_nics.py +4 -3
  37. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_server_payload.py +22 -3
  38. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_snapshot_payload.py +13 -3
  39. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_volume_payload.py +16 -3
  40. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/destination_cidrv4.py +7 -3
  41. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/destination_cidrv6.py +7 -3
  42. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/error.py +4 -3
  43. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/get_server_log200_response.py +4 -3
  44. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/icmp_parameters.py +4 -3
  45. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/image.py +13 -3
  46. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/image_agent.py +4 -3
  47. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/image_checksum.py +7 -3
  48. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/image_config.py +4 -3
  49. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/image_create_response.py +7 -3
  50. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/image_from_volume_payload.py +7 -3
  51. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/image_list_response.py +4 -3
  52. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/image_share.py +4 -3
  53. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/image_share_consumer.py +10 -3
  54. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/key_pair_list_response.py +4 -3
  55. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/keypair.py +13 -3
  56. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/machine_type.py +7 -3
  57. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/machine_type_list_response.py +4 -3
  58. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/network.py +10 -3
  59. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/network_area.py +7 -3
  60. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/network_area_list_response.py +4 -3
  61. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/network_ipv4.py +10 -3
  62. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/network_ipv6.py +7 -3
  63. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/network_list_response.py +4 -3
  64. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/network_range.py +10 -3
  65. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/network_range_list_response.py +4 -3
  66. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/nexthop_blackhole.py +4 -3
  67. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/nexthop_internet.py +4 -3
  68. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/nexthop_ipv4.py +7 -3
  69. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/nexthop_ipv6.py +7 -3
  70. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/nic.py +25 -3
  71. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/nic_list_response.py +4 -3
  72. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/partial_update_network_area_payload.py +4 -3
  73. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/partial_update_network_payload.py +10 -3
  74. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/port_range.py +4 -3
  75. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/project.py +7 -3
  76. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/project_list_response.py +4 -3
  77. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/protocol.py +4 -3
  78. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/public_ip.py +13 -3
  79. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/public_ip_list_response.py +4 -3
  80. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/public_network.py +7 -3
  81. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/public_network_list_response.py +4 -3
  82. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/quota.py +4 -3
  83. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/quota_list.py +4 -3
  84. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/quota_list_response.py +4 -3
  85. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/regional_area.py +4 -3
  86. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/regional_area_ipv4.py +7 -3
  87. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/regional_area_list_response.py +4 -3
  88. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/request.py +7 -3
  89. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/request_resource.py +7 -3
  90. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/rescue_server_payload.py +7 -3
  91. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/resize_server_payload.py +7 -3
  92. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/resize_volume_payload.py +4 -3
  93. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/route.py +7 -3
  94. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/route_list_response.py +4 -3
  95. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/routing_table.py +10 -3
  96. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/routing_table_list_response.py +4 -3
  97. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/security_group.py +10 -3
  98. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/security_group_list_response.py +4 -3
  99. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/security_group_rule.py +16 -3
  100. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/security_group_rule_list_response.py +4 -3
  101. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/security_group_rule_protocol.py +4 -3
  102. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/server.py +22 -3
  103. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/server_agent.py +4 -3
  104. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/server_console_url.py +4 -3
  105. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/server_list_response.py +4 -3
  106. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/server_maintenance.py +4 -3
  107. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/server_network.py +25 -3
  108. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/service_account_mail_list_response.py +4 -3
  109. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/set_image_share_payload.py +4 -3
  110. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/snapshot.py +13 -3
  111. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/snapshot_list_response.py +4 -3
  112. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/update_attached_volume_payload.py +10 -3
  113. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/update_backup_payload.py +16 -3
  114. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/update_image_payload.py +7 -3
  115. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/update_image_share_payload.py +4 -3
  116. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/update_key_pair_payload.py +4 -3
  117. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/update_network_area_region_payload.py +4 -3
  118. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/update_network_area_route_payload.py +4 -3
  119. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/update_network_ipv4_body.py +7 -3
  120. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/update_network_ipv6_body.py +7 -3
  121. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/update_nic_payload.py +7 -3
  122. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/update_public_ip_payload.py +13 -3
  123. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/update_regional_area_ipv4.py +4 -3
  124. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/update_route_of_routing_table_payload.py +4 -3
  125. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/update_routing_table_of_area_payload.py +7 -3
  126. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/update_security_group_payload.py +7 -3
  127. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/update_server_payload.py +7 -3
  128. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/update_snapshot_payload.py +7 -3
  129. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/update_volume_payload.py +7 -3
  130. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/volume.py +16 -3
  131. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/volume_attachment.py +10 -3
  132. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/volume_attachment_list_response.py +4 -3
  133. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/volume_encryption_parameter.py +16 -3
  134. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/volume_list_response.py +4 -3
  135. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/volume_performance_class.py +7 -3
  136. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/volume_performance_class_list_response.py +4 -3
  137. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/volume_source.py +7 -3
  138. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/.gitignore +0 -0
  139. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/LICENSE.md +0 -0
  140. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/NOTICE.txt +0 -0
  141. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/README.md +0 -0
  142. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/__init__.py +0 -0
  143. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/api/__init__.py +0 -0
  144. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/api/default_api.py +0 -0
  145. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/api_response.py +0 -0
  146. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/configuration.py +0 -0
  147. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/exceptions.py +0 -0
  148. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/__init__.py +0 -0
  149. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/allowed_addresses_inner.py +0 -0
  150. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/area_id.py +0 -0
  151. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_network_ipv4.py +0 -0
  152. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_network_ipv6.py +0 -0
  153. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_protocol.py +0 -0
  154. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_server_payload_all_of_networking.py +0 -0
  155. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/route_destination.py +0 -0
  156. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/route_nexthop.py +0 -0
  157. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/server_networking.py +0 -0
  158. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/models/static_area_id.py +0 -0
  159. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/py.typed +0 -0
  160. {stackit_iaas-1.3.0 → stackit_iaas-1.4.0}/src/stackit/iaas/rest.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: stackit-iaas
3
- Version: 1.3.0
3
+ Version: 1.4.0
4
4
  Summary: IaaS-API
5
5
  Project-URL: Homepage, https://github.com/stackitcloud/stackit-sdk-python
6
6
  Project-URL: Issues, https://github.com/stackitcloud/stackit-sdk-python/issues
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "stackit-iaas"
3
- version = "v1.3.0"
3
+ version = "v1.4.0"
4
4
  description = "IaaS-API"
5
5
  authors = [{ name = "STACKIT Developer Tools", email = "developer-tools@stackit.cloud" }]
6
6
  requires-python = ">=3.9,<4.0"
@@ -67,6 +67,7 @@ class ApiClient:
67
67
  "date": datetime.date,
68
68
  "datetime": datetime.datetime,
69
69
  "decimal": decimal.Decimal,
70
+ "UUID": uuid.UUID,
70
71
  "object": object,
71
72
  }
72
73
  _pool = None
@@ -266,7 +267,7 @@ class ApiClient:
266
267
  response_text = None
267
268
  return_data = None
268
269
  try:
269
- if response_type == "bytearray":
270
+ if response_type in ("bytearray", "bytes"):
270
271
  return_data = response_data.data
271
272
  elif response_type == "file":
272
273
  return_data = self.__deserialize_file(response_data)
@@ -327,25 +328,20 @@ class ApiClient:
327
328
  return obj.isoformat()
328
329
  elif isinstance(obj, decimal.Decimal):
329
330
  return str(obj)
330
-
331
331
  elif isinstance(obj, dict):
332
- obj_dict = obj
332
+ return {key: self.sanitize_for_serialization(val) for key, val in obj.items()}
333
+
334
+ # Convert model obj to dict except
335
+ # attributes `openapi_types`, `attribute_map`
336
+ # and attributes which value is not None.
337
+ # Convert attribute name to json key in
338
+ # model definition for request.
339
+ if hasattr(obj, "to_dict") and callable(getattr(obj, "to_dict")): # noqa: B009
340
+ obj_dict = obj.to_dict()
333
341
  else:
334
- # Convert model obj to dict except
335
- # attributes `openapi_types`, `attribute_map`
336
- # and attributes which value is not None.
337
- # Convert attribute name to json key in
338
- # model definition for request.
339
- if hasattr(obj, "to_dict") and callable(getattr(obj, "to_dict")): # noqa: B009
340
- obj_dict = obj.to_dict()
341
- else:
342
- obj_dict = obj.__dict__
343
-
344
- if isinstance(obj_dict, list):
345
- # here we handle instances that can either be a list or something else, and only became a real list by calling to_dict() # noqa: E501
346
- return self.sanitize_for_serialization(obj_dict)
342
+ obj_dict = obj.__dict__
347
343
 
348
- return {key: self.sanitize_for_serialization(val) for key, val in obj_dict.items()}
344
+ return self.sanitize_for_serialization(obj_dict)
349
345
 
350
346
  def deserialize(self, response_text: str, response_type: str, content_type: Optional[str]):
351
347
  """Deserializes response into an object.
@@ -418,6 +414,8 @@ class ApiClient:
418
414
  return self.__deserialize_datetime(data)
419
415
  elif klass is decimal.Decimal:
420
416
  return decimal.Decimal(data)
417
+ elif klass is uuid.UUID:
418
+ return uuid.UUID(data)
421
419
  elif issubclass(klass, Enum):
422
420
  return self.__deserialize_enum(data, klass)
423
421
  else:
@@ -19,6 +19,7 @@ import pprint
19
19
  from typing import Any, ClassVar, Dict, List, Optional, Set
20
20
 
21
21
  from pydantic import BaseModel, ConfigDict, Field
22
+ from pydantic_core import to_jsonable_python
22
23
  from typing_extensions import Self
23
24
 
24
25
  from stackit.iaas.models.route import Route
@@ -33,7 +34,8 @@ class AddRoutesToRoutingTablePayload(BaseModel):
33
34
  __properties: ClassVar[List[str]] = ["items"]
34
35
 
35
36
  model_config = ConfigDict(
36
- populate_by_name=True,
37
+ validate_by_name=True,
38
+ validate_by_alias=True,
37
39
  validate_assignment=True,
38
40
  protected_namespaces=(),
39
41
  )
@@ -44,8 +46,7 @@ class AddRoutesToRoutingTablePayload(BaseModel):
44
46
 
45
47
  def to_json(self) -> str:
46
48
  """Returns the JSON representation of the model using alias"""
47
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
48
- return json.dumps(self.to_dict())
49
+ return json.dumps(to_jsonable_python(self.to_dict()))
49
50
 
50
51
  @classmethod
51
52
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Set
22
22
  from uuid import UUID
23
23
 
24
24
  from pydantic import BaseModel, ConfigDict, Field, StrictBool, field_validator
25
+ from pydantic_core import to_jsonable_python
25
26
  from typing_extensions import Annotated, Self
26
27
 
27
28
 
@@ -92,6 +93,9 @@ class AddRoutingTableToAreaPayload(BaseModel):
92
93
  if value is None:
93
94
  return value
94
95
 
96
+ if not isinstance(value, str):
97
+ value = str(value)
98
+
95
99
  if not re.match(r"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", value):
96
100
  raise ValueError(
97
101
  r"must validate the regular expression /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/"
@@ -101,6 +105,9 @@ class AddRoutingTableToAreaPayload(BaseModel):
101
105
  @field_validator("name")
102
106
  def name_validate_regular_expression(cls, value):
103
107
  """Validates the regular expression"""
108
+ if not isinstance(value, str):
109
+ value = str(value)
110
+
104
111
  if not re.match(r"^[A-Za-z0-9]+([ \/._-]*[A-Za-z0-9]+)*$", value):
105
112
  raise ValueError(r"must validate the regular expression /^[A-Za-z0-9]+([ \/._-]*[A-Za-z0-9]+)*$/")
106
113
  return value
@@ -119,7 +126,8 @@ class AddRoutingTableToAreaPayload(BaseModel):
119
126
  return value
120
127
 
121
128
  model_config = ConfigDict(
122
- populate_by_name=True,
129
+ validate_by_name=True,
130
+ validate_by_alias=True,
123
131
  validate_assignment=True,
124
132
  protected_namespaces=(),
125
133
  )
@@ -130,8 +138,7 @@ class AddRoutingTableToAreaPayload(BaseModel):
130
138
 
131
139
  def to_json(self) -> str:
132
140
  """Returns the JSON representation of the model using alias"""
133
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
134
- return json.dumps(self.to_dict())
141
+ return json.dumps(to_jsonable_python(self.to_dict()))
135
142
 
136
143
  @classmethod
137
144
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -21,6 +21,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Set
21
21
  from uuid import UUID
22
22
 
23
23
  from pydantic import BaseModel, ConfigDict, Field, StrictBool, field_validator
24
+ from pydantic_core import to_jsonable_python
24
25
  from typing_extensions import Self
25
26
 
26
27
 
@@ -48,6 +49,9 @@ class AddVolumeToServerPayload(BaseModel):
48
49
  if value is None:
49
50
  return value
50
51
 
52
+ if not isinstance(value, str):
53
+ value = str(value)
54
+
51
55
  if not re.match(r"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", value):
52
56
  raise ValueError(
53
57
  r"must validate the regular expression /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/"
@@ -60,6 +64,9 @@ class AddVolumeToServerPayload(BaseModel):
60
64
  if value is None:
61
65
  return value
62
66
 
67
+ if not isinstance(value, str):
68
+ value = str(value)
69
+
63
70
  if not re.match(r"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", value):
64
71
  raise ValueError(
65
72
  r"must validate the regular expression /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/"
@@ -67,7 +74,8 @@ class AddVolumeToServerPayload(BaseModel):
67
74
  return value
68
75
 
69
76
  model_config = ConfigDict(
70
- populate_by_name=True,
77
+ validate_by_name=True,
78
+ validate_by_alias=True,
71
79
  validate_assignment=True,
72
80
  protected_namespaces=(),
73
81
  )
@@ -78,8 +86,7 @@ class AddVolumeToServerPayload(BaseModel):
78
86
 
79
87
  def to_json(self) -> str:
80
88
  """Returns the JSON representation of the model using alias"""
81
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
82
- return json.dumps(self.to_dict())
89
+ return json.dumps(to_jsonable_python(self.to_dict()))
83
90
 
84
91
  @classmethod
85
92
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -21,6 +21,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Set
21
21
  from uuid import UUID
22
22
 
23
23
  from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
24
+ from pydantic_core import to_jsonable_python
24
25
  from typing_extensions import Annotated, Self
25
26
 
26
27
 
@@ -45,6 +46,9 @@ class AffinityGroup(BaseModel):
45
46
  if value is None:
46
47
  return value
47
48
 
49
+ if not isinstance(value, str):
50
+ value = str(value)
51
+
48
52
  if not re.match(r"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", value):
49
53
  raise ValueError(
50
54
  r"must validate the regular expression /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/"
@@ -54,12 +58,16 @@ class AffinityGroup(BaseModel):
54
58
  @field_validator("name")
55
59
  def name_validate_regular_expression(cls, value):
56
60
  """Validates the regular expression"""
61
+ if not isinstance(value, str):
62
+ value = str(value)
63
+
57
64
  if not re.match(r"^[A-Za-z0-9]+([ \/._-]*[A-Za-z0-9]+)*$", value):
58
65
  raise ValueError(r"must validate the regular expression /^[A-Za-z0-9]+([ \/._-]*[A-Za-z0-9]+)*$/")
59
66
  return value
60
67
 
61
68
  model_config = ConfigDict(
62
- populate_by_name=True,
69
+ validate_by_name=True,
70
+ validate_by_alias=True,
63
71
  validate_assignment=True,
64
72
  protected_namespaces=(),
65
73
  )
@@ -70,8 +78,7 @@ class AffinityGroup(BaseModel):
70
78
 
71
79
  def to_json(self) -> str:
72
80
  """Returns the JSON representation of the model using alias"""
73
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
74
- return json.dumps(self.to_dict())
81
+ return json.dumps(to_jsonable_python(self.to_dict()))
75
82
 
76
83
  @classmethod
77
84
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -19,6 +19,7 @@ import pprint
19
19
  from typing import Any, ClassVar, Dict, List, Optional, Set
20
20
 
21
21
  from pydantic import BaseModel, ConfigDict, Field
22
+ from pydantic_core import to_jsonable_python
22
23
  from typing_extensions import Self
23
24
 
24
25
  from stackit.iaas.models.affinity_group import AffinityGroup
@@ -33,7 +34,8 @@ class AffinityGroupListResponse(BaseModel):
33
34
  __properties: ClassVar[List[str]] = ["items"]
34
35
 
35
36
  model_config = ConfigDict(
36
- populate_by_name=True,
37
+ validate_by_name=True,
38
+ validate_by_alias=True,
37
39
  validate_assignment=True,
38
40
  protected_namespaces=(),
39
41
  )
@@ -44,8 +46,7 @@ class AffinityGroupListResponse(BaseModel):
44
46
 
45
47
  def to_json(self) -> str:
46
48
  """Returns the JSON representation of the model using alias"""
47
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
48
- return json.dumps(self.to_dict())
49
+ return json.dumps(to_jsonable_python(self.to_dict()))
49
50
 
50
51
  @classmethod
51
52
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -19,6 +19,7 @@ import pprint
19
19
  from typing import Any, ClassVar, Dict, List, Optional, Set
20
20
 
21
21
  from pydantic import BaseModel, ConfigDict, Field, StrictStr
22
+ from pydantic_core import to_jsonable_python
22
23
  from typing_extensions import Self
23
24
 
24
25
 
@@ -31,7 +32,8 @@ class AvailabilityZoneListResponse(BaseModel):
31
32
  __properties: ClassVar[List[str]] = ["items"]
32
33
 
33
34
  model_config = ConfigDict(
34
- populate_by_name=True,
35
+ validate_by_name=True,
36
+ validate_by_alias=True,
35
37
  validate_assignment=True,
36
38
  protected_namespaces=(),
37
39
  )
@@ -42,8 +44,7 @@ class AvailabilityZoneListResponse(BaseModel):
42
44
 
43
45
  def to_json(self) -> str:
44
46
  """Returns the JSON representation of the model using alias"""
45
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
46
- return json.dumps(self.to_dict())
47
+ return json.dumps(to_jsonable_python(self.to_dict()))
47
48
 
48
49
  @classmethod
49
50
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -30,6 +30,7 @@ from pydantic import (
30
30
  StrictStr,
31
31
  field_validator,
32
32
  )
33
+ from pydantic_core import to_jsonable_python
33
34
  from typing_extensions import Annotated, Self
34
35
 
35
36
 
@@ -104,6 +105,9 @@ class Backup(BaseModel):
104
105
  if value is None:
105
106
  return value
106
107
 
108
+ if not isinstance(value, str):
109
+ value = str(value)
110
+
107
111
  if not re.match(r"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", value):
108
112
  raise ValueError(
109
113
  r"must validate the regular expression /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/"
@@ -116,6 +120,9 @@ class Backup(BaseModel):
116
120
  if value is None:
117
121
  return value
118
122
 
123
+ if not isinstance(value, str):
124
+ value = str(value)
125
+
119
126
  if not re.match(r"^[A-Za-z0-9]+([ \/._-]*[A-Za-z0-9]+)*$", value):
120
127
  raise ValueError(r"must validate the regular expression /^[A-Za-z0-9]+([ \/._-]*[A-Za-z0-9]+)*$/")
121
128
  return value
@@ -126,6 +133,9 @@ class Backup(BaseModel):
126
133
  if value is None:
127
134
  return value
128
135
 
136
+ if not isinstance(value, str):
137
+ value = str(value)
138
+
129
139
  if not re.match(r"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", value):
130
140
  raise ValueError(
131
141
  r"must validate the regular expression /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/"
@@ -151,6 +161,9 @@ class Backup(BaseModel):
151
161
  if value is None:
152
162
  return value
153
163
 
164
+ if not isinstance(value, str):
165
+ value = str(value)
166
+
154
167
  if not re.match(r"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", value):
155
168
  raise ValueError(
156
169
  r"must validate the regular expression /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/"
@@ -158,7 +171,8 @@ class Backup(BaseModel):
158
171
  return value
159
172
 
160
173
  model_config = ConfigDict(
161
- populate_by_name=True,
174
+ validate_by_name=True,
175
+ validate_by_alias=True,
162
176
  validate_assignment=True,
163
177
  protected_namespaces=(),
164
178
  )
@@ -169,8 +183,7 @@ class Backup(BaseModel):
169
183
 
170
184
  def to_json(self) -> str:
171
185
  """Returns the JSON representation of the model using alias"""
172
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
173
- return json.dumps(self.to_dict())
186
+ return json.dumps(to_jsonable_python(self.to_dict()))
174
187
 
175
188
  @classmethod
176
189
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -19,6 +19,7 @@ import pprint
19
19
  from typing import Any, ClassVar, Dict, List, Optional, Set
20
20
 
21
21
  from pydantic import BaseModel, ConfigDict, Field
22
+ from pydantic_core import to_jsonable_python
22
23
  from typing_extensions import Self
23
24
 
24
25
  from stackit.iaas.models.backup import Backup
@@ -33,7 +34,8 @@ class BackupListResponse(BaseModel):
33
34
  __properties: ClassVar[List[str]] = ["items"]
34
35
 
35
36
  model_config = ConfigDict(
36
- populate_by_name=True,
37
+ validate_by_name=True,
38
+ validate_by_alias=True,
37
39
  validate_assignment=True,
38
40
  protected_namespaces=(),
39
41
  )
@@ -44,8 +46,7 @@ class BackupListResponse(BaseModel):
44
46
 
45
47
  def to_json(self) -> str:
46
48
  """Returns the JSON representation of the model using alias"""
47
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
48
- return json.dumps(self.to_dict())
49
+ return json.dumps(to_jsonable_python(self.to_dict()))
49
50
 
50
51
  @classmethod
51
52
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -21,6 +21,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Set
21
21
  from uuid import UUID
22
22
 
23
23
  from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
24
+ from pydantic_core import to_jsonable_python
24
25
  from typing_extensions import Self
25
26
 
26
27
 
@@ -36,6 +37,9 @@ class BackupSource(BaseModel):
36
37
  @field_validator("id")
37
38
  def id_validate_regular_expression(cls, value):
38
39
  """Validates the regular expression"""
40
+ if not isinstance(value, str):
41
+ value = str(value)
42
+
39
43
  if not re.match(r"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", value):
40
44
  raise ValueError(
41
45
  r"must validate the regular expression /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/"
@@ -43,7 +47,8 @@ class BackupSource(BaseModel):
43
47
  return value
44
48
 
45
49
  model_config = ConfigDict(
46
- populate_by_name=True,
50
+ validate_by_name=True,
51
+ validate_by_alias=True,
47
52
  validate_assignment=True,
48
53
  protected_namespaces=(),
49
54
  )
@@ -54,8 +59,7 @@ class BackupSource(BaseModel):
54
59
 
55
60
  def to_json(self) -> str:
56
61
  """Returns the JSON representation of the model using alias"""
57
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
58
- return json.dumps(self.to_dict())
62
+ return json.dumps(to_jsonable_python(self.to_dict()))
59
63
 
60
64
  @classmethod
61
65
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Set
22
22
  from uuid import UUID
23
23
 
24
24
  from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
25
+ from pydantic_core import to_jsonable_python
25
26
  from typing_extensions import Annotated, Self
26
27
 
27
28
  from stackit.iaas.models.icmp_parameters import ICMPParameters
@@ -95,6 +96,9 @@ class BaseSecurityGroupRule(BaseModel):
95
96
  if value is None:
96
97
  return value
97
98
 
99
+ if not isinstance(value, str):
100
+ value = str(value)
101
+
98
102
  if not re.match(r"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", value):
99
103
  raise ValueError(
100
104
  r"must validate the regular expression /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/"
@@ -107,6 +111,9 @@ class BaseSecurityGroupRule(BaseModel):
107
111
  if value is None:
108
112
  return value
109
113
 
114
+ if not isinstance(value, str):
115
+ value = str(value)
116
+
110
117
  if not re.match(
111
118
  r"^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\/(3[0-2]|2[0-9]|1[0-9]|[0-9]))$|^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))(\/((1(1[0-9]|2[0-8]))|([0-9][0-9])|([0-9])))?$",
112
119
  value,
@@ -122,6 +129,9 @@ class BaseSecurityGroupRule(BaseModel):
122
129
  if value is None:
123
130
  return value
124
131
 
132
+ if not isinstance(value, str):
133
+ value = str(value)
134
+
125
135
  if not re.match(r"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", value):
126
136
  raise ValueError(
127
137
  r"must validate the regular expression /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/"
@@ -134,6 +144,9 @@ class BaseSecurityGroupRule(BaseModel):
134
144
  if value is None:
135
145
  return value
136
146
 
147
+ if not isinstance(value, str):
148
+ value = str(value)
149
+
137
150
  if not re.match(r"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", value):
138
151
  raise ValueError(
139
152
  r"must validate the regular expression /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/"
@@ -154,7 +167,8 @@ class BaseSecurityGroupRule(BaseModel):
154
167
  return value
155
168
 
156
169
  model_config = ConfigDict(
157
- populate_by_name=True,
170
+ validate_by_name=True,
171
+ validate_by_alias=True,
158
172
  validate_assignment=True,
159
173
  protected_namespaces=(),
160
174
  )
@@ -165,8 +179,7 @@ class BaseSecurityGroupRule(BaseModel):
165
179
 
166
180
  def to_json(self) -> str:
167
181
  """Returns the JSON representation of the model using alias"""
168
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
169
- return json.dumps(self.to_dict())
182
+ return json.dumps(to_jsonable_python(self.to_dict()))
170
183
 
171
184
  @classmethod
172
185
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -28,6 +28,7 @@ from pydantic import (
28
28
  StrictInt,
29
29
  field_validator,
30
30
  )
31
+ from pydantic_core import to_jsonable_python
31
32
  from typing_extensions import Annotated, Self
32
33
 
33
34
  from stackit.iaas.models.boot_volume_source import BootVolumeSource
@@ -59,6 +60,9 @@ class BootVolume(BaseModel):
59
60
  if value is None:
60
61
  return value
61
62
 
63
+ if not isinstance(value, str):
64
+ value = str(value)
65
+
62
66
  if not re.match(r"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", value):
63
67
  raise ValueError(
64
68
  r"must validate the regular expression /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/"
@@ -71,12 +75,16 @@ class BootVolume(BaseModel):
71
75
  if value is None:
72
76
  return value
73
77
 
78
+ if not isinstance(value, str):
79
+ value = str(value)
80
+
74
81
  if not re.match(r"^[A-Za-z0-9]+([ \/._-]*[A-Za-z0-9]+)*$", value):
75
82
  raise ValueError(r"must validate the regular expression /^[A-Za-z0-9]+([ \/._-]*[A-Za-z0-9]+)*$/")
76
83
  return value
77
84
 
78
85
  model_config = ConfigDict(
79
- populate_by_name=True,
86
+ validate_by_name=True,
87
+ validate_by_alias=True,
80
88
  validate_assignment=True,
81
89
  protected_namespaces=(),
82
90
  )
@@ -87,8 +95,7 @@ class BootVolume(BaseModel):
87
95
 
88
96
  def to_json(self) -> str:
89
97
  """Returns the JSON representation of the model using alias"""
90
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
91
- return json.dumps(self.to_dict())
98
+ return json.dumps(to_jsonable_python(self.to_dict()))
92
99
 
93
100
  @classmethod
94
101
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -21,6 +21,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Set
21
21
  from uuid import UUID
22
22
 
23
23
  from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
24
+ from pydantic_core import to_jsonable_python
24
25
  from typing_extensions import Self
25
26
 
26
27
 
@@ -36,6 +37,9 @@ class BootVolumeSource(BaseModel):
36
37
  @field_validator("id")
37
38
  def id_validate_regular_expression(cls, value):
38
39
  """Validates the regular expression"""
40
+ if not isinstance(value, str):
41
+ value = str(value)
42
+
39
43
  if not re.match(r"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", value):
40
44
  raise ValueError(
41
45
  r"must validate the regular expression /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/"
@@ -43,7 +47,8 @@ class BootVolumeSource(BaseModel):
43
47
  return value
44
48
 
45
49
  model_config = ConfigDict(
46
- populate_by_name=True,
50
+ validate_by_name=True,
51
+ validate_by_alias=True,
47
52
  validate_assignment=True,
48
53
  protected_namespaces=(),
49
54
  )
@@ -54,8 +59,7 @@ class BootVolumeSource(BaseModel):
54
59
 
55
60
  def to_json(self) -> str:
56
61
  """Returns the JSON representation of the model using alias"""
57
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
58
- return json.dumps(self.to_dict())
62
+ return json.dumps(to_jsonable_python(self.to_dict()))
59
63
 
60
64
  @classmethod
61
65
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -21,6 +21,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Set
21
21
  from uuid import UUID
22
22
 
23
23
  from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
24
+ from pydantic_core import to_jsonable_python
24
25
  from typing_extensions import Annotated, Self
25
26
 
26
27
 
@@ -45,6 +46,9 @@ class CreateAffinityGroupPayload(BaseModel):
45
46
  if value is None:
46
47
  return value
47
48
 
49
+ if not isinstance(value, str):
50
+ value = str(value)
51
+
48
52
  if not re.match(r"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", value):
49
53
  raise ValueError(
50
54
  r"must validate the regular expression /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/"
@@ -54,12 +58,16 @@ class CreateAffinityGroupPayload(BaseModel):
54
58
  @field_validator("name")
55
59
  def name_validate_regular_expression(cls, value):
56
60
  """Validates the regular expression"""
61
+ if not isinstance(value, str):
62
+ value = str(value)
63
+
57
64
  if not re.match(r"^[A-Za-z0-9]+([ \/._-]*[A-Za-z0-9]+)*$", value):
58
65
  raise ValueError(r"must validate the regular expression /^[A-Za-z0-9]+([ \/._-]*[A-Za-z0-9]+)*$/")
59
66
  return value
60
67
 
61
68
  model_config = ConfigDict(
62
- populate_by_name=True,
69
+ validate_by_name=True,
70
+ validate_by_alias=True,
63
71
  validate_assignment=True,
64
72
  protected_namespaces=(),
65
73
  )
@@ -70,8 +78,7 @@ class CreateAffinityGroupPayload(BaseModel):
70
78
 
71
79
  def to_json(self) -> str:
72
80
  """Returns the JSON representation of the model using alias"""
73
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
74
- return json.dumps(self.to_dict())
81
+ return json.dumps(to_jsonable_python(self.to_dict()))
75
82
 
76
83
  @classmethod
77
84
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -20,6 +20,7 @@ import re # noqa: F401
20
20
  from typing import Any, ClassVar, Dict, List, Optional, Set
21
21
 
22
22
  from pydantic import BaseModel, ConfigDict, Field, field_validator
23
+ from pydantic_core import to_jsonable_python
23
24
  from typing_extensions import Annotated, Self
24
25
 
25
26
  from stackit.iaas.models.backup_source import BackupSource
@@ -49,12 +50,16 @@ class CreateBackupPayload(BaseModel):
49
50
  if value is None:
50
51
  return value
51
52
 
53
+ if not isinstance(value, str):
54
+ value = str(value)
55
+
52
56
  if not re.match(r"^[A-Za-z0-9]+([ \/._-]*[A-Za-z0-9]+)*$", value):
53
57
  raise ValueError(r"must validate the regular expression /^[A-Za-z0-9]+([ \/._-]*[A-Za-z0-9]+)*$/")
54
58
  return value
55
59
 
56
60
  model_config = ConfigDict(
57
- populate_by_name=True,
61
+ validate_by_name=True,
62
+ validate_by_alias=True,
58
63
  validate_assignment=True,
59
64
  protected_namespaces=(),
60
65
  )
@@ -65,8 +70,7 @@ class CreateBackupPayload(BaseModel):
65
70
 
66
71
  def to_json(self) -> str:
67
72
  """Returns the JSON representation of the model using alias"""
68
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
69
- return json.dumps(self.to_dict())
73
+ return json.dumps(to_jsonable_python(self.to_dict()))
70
74
 
71
75
  @classmethod
72
76
  def from_json(cls, json_str: str) -> Optional[Self]: