stackit-iaas 1.2.2__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.2.2 → stackit_iaas-1.4.0}/PKG-INFO +1 -1
  2. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/pyproject.toml +1 -1
  3. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/api/default_api.py +17 -0
  4. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/api_client.py +15 -17
  5. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/add_routes_to_routing_table_payload.py +4 -3
  6. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/add_routing_table_to_area_payload.py +10 -3
  7. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/add_volume_to_server_payload.py +10 -3
  8. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/affinity_group.py +10 -3
  9. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/affinity_group_list_response.py +4 -3
  10. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/availability_zone_list_response.py +4 -3
  11. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/backup.py +16 -3
  12. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/backup_list_response.py +4 -3
  13. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/backup_source.py +7 -3
  14. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/base_security_group_rule.py +16 -3
  15. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/boot_volume.py +10 -3
  16. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/boot_volume_source.py +7 -3
  17. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_affinity_group_payload.py +10 -3
  18. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_backup_payload.py +7 -3
  19. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_image_payload.py +13 -3
  20. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_isolated_network_payload.py +7 -3
  21. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_key_pair_payload.py +13 -3
  22. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_network_area_payload.py +4 -3
  23. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_network_area_range_payload.py +4 -3
  24. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_network_area_region_payload.py +4 -3
  25. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_network_area_route_payload.py +4 -3
  26. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_network_ipv4_with_prefix.py +10 -3
  27. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_network_ipv4_with_prefix_length.py +4 -3
  28. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_network_ipv6_with_prefix.py +10 -3
  29. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_network_ipv6_with_prefix_length.py +4 -3
  30. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_network_payload.py +10 -3
  31. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_nic_payload.py +25 -3
  32. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_public_ip_payload.py +13 -3
  33. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_security_group_payload.py +10 -3
  34. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_security_group_rule_payload.py +16 -3
  35. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_security_group_rule_protocol.py +4 -3
  36. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_server_networking.py +7 -3
  37. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_server_networking_with_nics.py +4 -3
  38. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_server_payload.py +28 -3
  39. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_snapshot_payload.py +13 -3
  40. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_volume_payload.py +16 -3
  41. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/destination_cidrv4.py +7 -3
  42. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/destination_cidrv6.py +7 -3
  43. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/error.py +4 -3
  44. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/get_server_log200_response.py +4 -3
  45. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/icmp_parameters.py +4 -3
  46. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/image.py +13 -3
  47. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/image_agent.py +4 -3
  48. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/image_checksum.py +7 -3
  49. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/image_config.py +4 -3
  50. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/image_create_response.py +7 -3
  51. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/image_from_volume_payload.py +7 -3
  52. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/image_list_response.py +4 -3
  53. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/image_share.py +4 -3
  54. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/image_share_consumer.py +10 -3
  55. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/key_pair_list_response.py +4 -3
  56. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/keypair.py +13 -3
  57. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/machine_type.py +7 -3
  58. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/machine_type_list_response.py +4 -3
  59. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/network.py +10 -3
  60. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/network_area.py +7 -3
  61. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/network_area_list_response.py +4 -3
  62. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/network_ipv4.py +10 -3
  63. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/network_ipv6.py +7 -3
  64. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/network_list_response.py +4 -3
  65. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/network_range.py +10 -3
  66. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/network_range_list_response.py +4 -3
  67. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/nexthop_blackhole.py +4 -3
  68. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/nexthop_internet.py +4 -3
  69. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/nexthop_ipv4.py +7 -3
  70. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/nexthop_ipv6.py +7 -3
  71. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/nic.py +25 -3
  72. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/nic_list_response.py +4 -3
  73. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/partial_update_network_area_payload.py +4 -3
  74. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/partial_update_network_payload.py +10 -3
  75. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/port_range.py +4 -3
  76. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/project.py +7 -3
  77. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/project_list_response.py +4 -3
  78. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/protocol.py +4 -3
  79. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/public_ip.py +13 -3
  80. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/public_ip_list_response.py +4 -3
  81. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/public_network.py +7 -3
  82. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/public_network_list_response.py +4 -3
  83. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/quota.py +4 -3
  84. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/quota_list.py +4 -3
  85. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/quota_list_response.py +4 -3
  86. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/regional_area.py +4 -3
  87. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/regional_area_ipv4.py +7 -3
  88. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/regional_area_list_response.py +4 -3
  89. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/request.py +7 -3
  90. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/request_resource.py +7 -3
  91. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/rescue_server_payload.py +7 -3
  92. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/resize_server_payload.py +7 -3
  93. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/resize_volume_payload.py +4 -3
  94. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/route.py +7 -3
  95. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/route_list_response.py +4 -3
  96. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/routing_table.py +10 -3
  97. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/routing_table_list_response.py +4 -3
  98. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/security_group.py +10 -3
  99. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/security_group_list_response.py +4 -3
  100. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/security_group_rule.py +16 -3
  101. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/security_group_rule_list_response.py +4 -3
  102. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/security_group_rule_protocol.py +4 -3
  103. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/server.py +28 -3
  104. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/server_agent.py +4 -3
  105. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/server_console_url.py +4 -3
  106. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/server_list_response.py +4 -3
  107. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/server_maintenance.py +4 -3
  108. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/server_network.py +25 -3
  109. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/service_account_mail_list_response.py +4 -3
  110. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/set_image_share_payload.py +4 -3
  111. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/snapshot.py +13 -3
  112. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/snapshot_list_response.py +4 -3
  113. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/update_attached_volume_payload.py +10 -3
  114. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/update_backup_payload.py +16 -3
  115. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/update_image_payload.py +7 -3
  116. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/update_image_share_payload.py +4 -3
  117. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/update_key_pair_payload.py +4 -3
  118. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/update_network_area_region_payload.py +4 -3
  119. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/update_network_area_route_payload.py +4 -3
  120. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/update_network_ipv4_body.py +7 -3
  121. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/update_network_ipv6_body.py +7 -3
  122. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/update_nic_payload.py +7 -3
  123. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/update_public_ip_payload.py +13 -3
  124. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/update_regional_area_ipv4.py +4 -3
  125. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/update_route_of_routing_table_payload.py +4 -3
  126. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/update_routing_table_of_area_payload.py +7 -3
  127. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/update_security_group_payload.py +7 -3
  128. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/update_server_payload.py +7 -3
  129. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/update_snapshot_payload.py +7 -3
  130. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/update_volume_payload.py +7 -3
  131. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/volume.py +16 -3
  132. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/volume_attachment.py +10 -3
  133. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/volume_attachment_list_response.py +4 -3
  134. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/volume_encryption_parameter.py +16 -3
  135. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/volume_list_response.py +4 -3
  136. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/volume_performance_class.py +7 -3
  137. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/volume_performance_class_list_response.py +4 -3
  138. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/volume_source.py +7 -3
  139. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/.gitignore +0 -0
  140. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/LICENSE.md +0 -0
  141. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/NOTICE.txt +0 -0
  142. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/README.md +0 -0
  143. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/__init__.py +0 -0
  144. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/api/__init__.py +0 -0
  145. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/api_response.py +0 -0
  146. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/configuration.py +0 -0
  147. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/exceptions.py +0 -0
  148. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/__init__.py +0 -0
  149. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/allowed_addresses_inner.py +0 -0
  150. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/area_id.py +0 -0
  151. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_network_ipv4.py +0 -0
  152. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_network_ipv6.py +0 -0
  153. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_protocol.py +0 -0
  154. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/create_server_payload_all_of_networking.py +0 -0
  155. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/route_destination.py +0 -0
  156. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/route_nexthop.py +0 -0
  157. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/server_networking.py +0 -0
  158. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/models/static_area_id.py +0 -0
  159. {stackit_iaas-1.2.2 → stackit_iaas-1.4.0}/src/stackit/iaas/py.typed +0 -0
  160. {stackit_iaas-1.2.2 → 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.2.2
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.2.2"
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"
@@ -12965,6 +12965,7 @@ class DefaultApi:
12965
12965
  project_id: Annotated[UUID, Field(description="The identifier (ID) of a STACKIT Project.")],
12966
12966
  region: Annotated[StrictStr, Field(description="The STACKIT Region of the resources.")],
12967
12967
  volume_id: Annotated[UUID, Field(description="The identifier (ID) of a STACKIT Volume.")],
12968
+ cascade: Annotated[Optional[StrictBool], Field(description="Cascade action.")] = None,
12968
12969
  _request_timeout: Union[
12969
12970
  None,
12970
12971
  Annotated[StrictFloat, Field(gt=0)],
@@ -12985,6 +12986,8 @@ class DefaultApi:
12985
12986
  :type region: str
12986
12987
  :param volume_id: The identifier (ID) of a STACKIT Volume. (required)
12987
12988
  :type volume_id: UUID
12989
+ :param cascade: Cascade action.
12990
+ :type cascade: bool
12988
12991
  :param _request_timeout: timeout setting for this request. If one
12989
12992
  number provided, it will be total request
12990
12993
  timeout. It can also be a pair (tuple) of
@@ -13011,6 +13014,7 @@ class DefaultApi:
13011
13014
  project_id=project_id,
13012
13015
  region=region,
13013
13016
  volume_id=volume_id,
13017
+ cascade=cascade,
13014
13018
  _request_auth=_request_auth,
13015
13019
  _content_type=_content_type,
13016
13020
  _headers=_headers,
@@ -13039,6 +13043,7 @@ class DefaultApi:
13039
13043
  project_id: Annotated[UUID, Field(description="The identifier (ID) of a STACKIT Project.")],
13040
13044
  region: Annotated[StrictStr, Field(description="The STACKIT Region of the resources.")],
13041
13045
  volume_id: Annotated[UUID, Field(description="The identifier (ID) of a STACKIT Volume.")],
13046
+ cascade: Annotated[Optional[StrictBool], Field(description="Cascade action.")] = None,
13042
13047
  _request_timeout: Union[
13043
13048
  None,
13044
13049
  Annotated[StrictFloat, Field(gt=0)],
@@ -13059,6 +13064,8 @@ class DefaultApi:
13059
13064
  :type region: str
13060
13065
  :param volume_id: The identifier (ID) of a STACKIT Volume. (required)
13061
13066
  :type volume_id: UUID
13067
+ :param cascade: Cascade action.
13068
+ :type cascade: bool
13062
13069
  :param _request_timeout: timeout setting for this request. If one
13063
13070
  number provided, it will be total request
13064
13071
  timeout. It can also be a pair (tuple) of
@@ -13085,6 +13092,7 @@ class DefaultApi:
13085
13092
  project_id=project_id,
13086
13093
  region=region,
13087
13094
  volume_id=volume_id,
13095
+ cascade=cascade,
13088
13096
  _request_auth=_request_auth,
13089
13097
  _content_type=_content_type,
13090
13098
  _headers=_headers,
@@ -13113,6 +13121,7 @@ class DefaultApi:
13113
13121
  project_id: Annotated[UUID, Field(description="The identifier (ID) of a STACKIT Project.")],
13114
13122
  region: Annotated[StrictStr, Field(description="The STACKIT Region of the resources.")],
13115
13123
  volume_id: Annotated[UUID, Field(description="The identifier (ID) of a STACKIT Volume.")],
13124
+ cascade: Annotated[Optional[StrictBool], Field(description="Cascade action.")] = None,
13116
13125
  _request_timeout: Union[
13117
13126
  None,
13118
13127
  Annotated[StrictFloat, Field(gt=0)],
@@ -13133,6 +13142,8 @@ class DefaultApi:
13133
13142
  :type region: str
13134
13143
  :param volume_id: The identifier (ID) of a STACKIT Volume. (required)
13135
13144
  :type volume_id: UUID
13145
+ :param cascade: Cascade action.
13146
+ :type cascade: bool
13136
13147
  :param _request_timeout: timeout setting for this request. If one
13137
13148
  number provided, it will be total request
13138
13149
  timeout. It can also be a pair (tuple) of
@@ -13159,6 +13170,7 @@ class DefaultApi:
13159
13170
  project_id=project_id,
13160
13171
  region=region,
13161
13172
  volume_id=volume_id,
13173
+ cascade=cascade,
13162
13174
  _request_auth=_request_auth,
13163
13175
  _content_type=_content_type,
13164
13176
  _headers=_headers,
@@ -13182,6 +13194,7 @@ class DefaultApi:
13182
13194
  project_id,
13183
13195
  region,
13184
13196
  volume_id,
13197
+ cascade,
13185
13198
  _request_auth,
13186
13199
  _content_type,
13187
13200
  _headers,
@@ -13207,6 +13220,10 @@ class DefaultApi:
13207
13220
  if volume_id is not None:
13208
13221
  _path_params["volumeId"] = volume_id
13209
13222
  # process the query parameters
13223
+ if cascade is not None:
13224
+
13225
+ _query_params.append(("cascade", cascade))
13226
+
13210
13227
  # process the header parameters
13211
13228
  # process the form parameters
13212
13229
  # process the body parameter
@@ -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]: