devopness 2.4.1__tar.gz → 2.5.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 (454) hide show
  1. {devopness-2.4.1 → devopness-2.5.0}/PKG-INFO +26 -1
  2. {devopness-2.4.1 → devopness-2.5.0}/README.md +25 -0
  3. {devopness-2.4.1 → devopness-2.5.0}/pyproject.toml +3 -3
  4. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/client_config.py +4 -0
  5. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/core/api_error.py +1 -1
  6. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/core/response.py +89 -5
  7. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/__init__.py +0 -0
  8. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/base/__init__.py +0 -0
  9. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/base/base_model.py +0 -0
  10. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/base/base_service.py +0 -0
  11. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/client.py +0 -0
  12. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/core/__init__.py +0 -0
  13. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/core/network_error.py +0 -0
  14. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/core/sdk_error.py +0 -0
  15. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/__init__.py +0 -0
  16. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/api/__init__.py +0 -0
  17. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/api/actions_api.py +0 -0
  18. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/api/actions_logs_api.py +0 -0
  19. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/api/applications_api.py +0 -0
  20. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/api/applications_hooks_api.py +0 -0
  21. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/api/applications_variables_api.py +0 -0
  22. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/api/credentials_api.py +0 -0
  23. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/api/credentials_repositories_api.py +0 -0
  24. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/api/cron_jobs_api.py +0 -0
  25. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/api/daemons_api.py +0 -0
  26. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/api/environments_actions_api.py +0 -0
  27. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/api/environments_api.py +0 -0
  28. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/api/hook_requests_api.py +0 -0
  29. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/api/hooks_api.py +0 -0
  30. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/api/hooks_requests_api.py +0 -0
  31. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/api/network_rules_api.py +0 -0
  32. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/api/networks_api.py +0 -0
  33. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/api/networks_subnets_api.py +0 -0
  34. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/api/organizations_api.py +0 -0
  35. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/api/pipelines_actions_api.py +0 -0
  36. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/api/pipelines_api.py +0 -0
  37. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/api/pipelines_hooks_api.py +0 -0
  38. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/api/pipelines_steps_api.py +0 -0
  39. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/api/projects_actions_api.py +0 -0
  40. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/api/projects_api.py +0 -0
  41. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/api/projects_api_tokens_api.py +0 -0
  42. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/api/projects_archived_environments_api.py +0 -0
  43. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/api/projects_environments_api.py +0 -0
  44. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/api/resource_events_api.py +0 -0
  45. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/api/resource_links_api.py +0 -0
  46. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/api/roles_api.py +0 -0
  47. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/api/servers_api.py +0 -0
  48. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/api/services_api.py +0 -0
  49. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/api/services_variables_api.py +0 -0
  50. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/api/social_accounts_api.py +0 -0
  51. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/api/ssh_keys_api.py +0 -0
  52. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/api/ssl_certificates_api.py +0 -0
  53. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/api/static_data_api.py +0 -0
  54. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/api/subnets_api.py +0 -0
  55. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/api/team_invitations_api.py +0 -0
  56. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/api/teams_api.py +0 -0
  57. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/api/teams_invitations_api.py +0 -0
  58. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/api/teams_members_api.py +0 -0
  59. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/api/users_api.py +0 -0
  60. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/api/users_environments_api.py +0 -0
  61. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/api/users_passwords_api.py +0 -0
  62. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/api/users_personal_access_tokens_api.py +0 -0
  63. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/api/users_projects_api.py +0 -0
  64. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/api/users_team_invitations_api.py +0 -0
  65. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/api/variables_api.py +0 -0
  66. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/api/virtual_hosts_api.py +0 -0
  67. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/__init__.py +0 -0
  68. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/action.py +0 -0
  69. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/action_data.py +0 -0
  70. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/action_deployment_commit.py +0 -0
  71. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/action_deployment_content.py +0 -0
  72. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/action_deployment_data.py +0 -0
  73. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/action_hook_request.py +0 -0
  74. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/action_pipeline_create.py +0 -0
  75. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/action_relation.py +0 -0
  76. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/action_relation_shallow.py +0 -0
  77. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/action_resource.py +0 -0
  78. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/action_resource_data.py +0 -0
  79. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/action_retry_response.py +0 -0
  80. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/action_status.py +0 -0
  81. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/action_status_reason_code.py +0 -0
  82. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/action_step.py +0 -0
  83. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/action_summary.py +0 -0
  84. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/action_summary_target.py +0 -0
  85. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/action_target.py +0 -0
  86. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/action_target_credential_data.py +0 -0
  87. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/action_target_data.py +0 -0
  88. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/action_target_log_step.py +0 -0
  89. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/action_target_network_data.py +0 -0
  90. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/action_target_server_data.py +0 -0
  91. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/action_trigger_type.py +0 -0
  92. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/action_triggered_from.py +0 -0
  93. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/action_type.py +0 -0
  94. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/api_error.py +0 -0
  95. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/api_error_errors.py +0 -0
  96. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/api_error_errors_field_name_inner.py +0 -0
  97. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/api_token.py +0 -0
  98. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/api_token_project_create.py +0 -0
  99. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/api_token_project_rotate.py +0 -0
  100. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/api_token_relation.py +0 -0
  101. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/api_token_rotate_response.py +0 -0
  102. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/api_token_status.py +0 -0
  103. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/api_token_type.py +0 -0
  104. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/api_token_type_prefix.py +0 -0
  105. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/application.py +0 -0
  106. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/application_environment_create.py +0 -0
  107. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/application_last_deployments.py +0 -0
  108. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/application_options.py +0 -0
  109. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/application_pipeline.py +0 -0
  110. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/application_relation.py +0 -0
  111. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/application_update.py +0 -0
  112. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/archived_environment_relation.py +0 -0
  113. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/billing_plan.py +0 -0
  114. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/billing_plans_options_relation.py +0 -0
  115. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/blueprint_service.py +0 -0
  116. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/cloud_instance_relation.py +0 -0
  117. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/cloud_os_version_code.py +0 -0
  118. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/cloud_provider.py +0 -0
  119. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/cloud_provider_code.py +0 -0
  120. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/cloud_provider_input_settings.py +0 -0
  121. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/cloud_provider_input_settings_default_value.py +0 -0
  122. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/cloud_provider_property_type.py +0 -0
  123. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/cloud_provider_property_validation.py +0 -0
  124. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/cloud_provider_relation.py +0 -0
  125. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/cloud_provider_service.py +0 -0
  126. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/cloud_provider_service_code.py +0 -0
  127. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/cloud_provider_service_region.py +0 -0
  128. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/cloud_provider_service_resource_type.py +0 -0
  129. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/cloud_provider_service_resource_type_scope.py +0 -0
  130. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/cloud_provider_settings.py +0 -0
  131. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/cloud_provider_settings_list.py +0 -0
  132. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/cloud_resource_type.py +0 -0
  133. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/cloud_service_settings_aws_ec2.py +0 -0
  134. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/cloud_service_settings_azure_rm.py +0 -0
  135. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/cloud_service_settings_digital_ocean_droplet.py +0 -0
  136. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/cloud_service_settings_gcp_gce.py +0 -0
  137. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/cloud_service_settings_hetzner_hcloud.py +0 -0
  138. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/cloud_service_settings_self_hosted_custom.py +0 -0
  139. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/commit.py +0 -0
  140. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/credential.py +0 -0
  141. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/credential_aws.py +0 -0
  142. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/credential_azure.py +0 -0
  143. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/credential_digital_ocean.py +0 -0
  144. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/credential_google_cloud.py +0 -0
  145. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/credential_hetzner.py +0 -0
  146. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/credential_input_settings.py +0 -0
  147. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/credential_input_settings_credential.py +0 -0
  148. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/credential_options.py +0 -0
  149. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/credential_organization_create.py +0 -0
  150. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/credential_provider.py +0 -0
  151. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/credential_provider_type.py +0 -0
  152. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/credential_relation.py +0 -0
  153. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/credential_setting.py +0 -0
  154. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/credential_source_provider.py +0 -0
  155. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/credential_update.py +0 -0
  156. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/credits.py +0 -0
  157. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/cron_job.py +0 -0
  158. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/cron_job_deploy.py +0 -0
  159. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/cron_job_environment_create.py +0 -0
  160. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/cron_job_options.py +0 -0
  161. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/cron_job_pattern.py +0 -0
  162. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/cron_job_relation.py +0 -0
  163. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/cron_job_update.py +0 -0
  164. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/daemon.py +0 -0
  165. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/daemon_deploy.py +0 -0
  166. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/daemon_environment_create.py +0 -0
  167. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/daemon_get_status.py +0 -0
  168. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/daemon_relation.py +0 -0
  169. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/daemon_restart.py +0 -0
  170. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/daemon_start.py +0 -0
  171. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/daemon_stop.py +0 -0
  172. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/daemon_update.py +0 -0
  173. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/deployment_application_create.py +0 -0
  174. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/deployment_default_step.py +0 -0
  175. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/deployment_type.py +0 -0
  176. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/environment.py +0 -0
  177. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/environment_link.py +0 -0
  178. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/environment_options.py +0 -0
  179. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/environment_project_create.py +0 -0
  180. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/environment_relation.py +0 -0
  181. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/environment_type.py +0 -0
  182. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/environment_update.py +0 -0
  183. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/hook.py +0 -0
  184. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/hook_incoming_settings.py +0 -0
  185. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/hook_outgoing_request_header.py +0 -0
  186. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/hook_outgoing_settings.py +0 -0
  187. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/hook_outgoing_settings_request_body.py +0 -0
  188. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/hook_outgoing_trigger_when_condition.py +0 -0
  189. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/hook_pipeline_create.py +0 -0
  190. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/hook_pipeline_create_settings.py +0 -0
  191. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/hook_relation.py +0 -0
  192. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/hook_request.py +0 -0
  193. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/hook_request_relation.py +0 -0
  194. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/hook_settings.py +0 -0
  195. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/hook_trigger_response.py +0 -0
  196. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/hook_trigger_when.py +0 -0
  197. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/hook_trigger_when_conditions_inner.py +0 -0
  198. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/hook_type.py +0 -0
  199. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/hook_type_param.py +0 -0
  200. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/hook_update.py +0 -0
  201. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/hook_variable.py +0 -0
  202. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/hook_variable_default_value.py +0 -0
  203. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/hook_variable_default_value_one_of_inner.py +0 -0
  204. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/hook_variable_type.py +0 -0
  205. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/invitation.py +0 -0
  206. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/invitation_relation.py +0 -0
  207. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/invitation_team_create.py +0 -0
  208. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/language.py +0 -0
  209. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/language_runtime.py +0 -0
  210. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/language_runtime_engine_versions_inner.py +0 -0
  211. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/language_runtime_framework.py +0 -0
  212. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/language_runtime_framework_commands.py +0 -0
  213. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/language_runtime_framework_defaults.py +0 -0
  214. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/linked_resource_data.py +0 -0
  215. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/linked_resource_summary_field.py +0 -0
  216. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/log.py +0 -0
  217. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/member.py +0 -0
  218. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/member_relation.py +0 -0
  219. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/membership_relation.py +0 -0
  220. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/network.py +0 -0
  221. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/network_environment_create.py +0 -0
  222. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/network_provision_input.py +0 -0
  223. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/network_provision_input_settings.py +0 -0
  224. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/network_provision_input_settings_aws.py +0 -0
  225. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/network_provision_input_settings_azure.py +0 -0
  226. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/network_provision_input_settings_digital_ocean.py +0 -0
  227. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/network_provision_input_settings_gcp.py +0 -0
  228. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/network_relation.py +0 -0
  229. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/network_rule.py +0 -0
  230. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/network_rule_deploy.py +0 -0
  231. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/network_rule_direction.py +0 -0
  232. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/network_rule_environment_create.py +0 -0
  233. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/network_rule_options.py +0 -0
  234. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/network_rule_protocol.py +0 -0
  235. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/network_rule_relation.py +0 -0
  236. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/network_rule_update.py +0 -0
  237. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/network_update.py +0 -0
  238. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/operating_system.py +0 -0
  239. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/operating_system_version.py +0 -0
  240. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/operation_custom_settings.py +0 -0
  241. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/organization.py +0 -0
  242. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/organization_create.py +0 -0
  243. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/organization_relation.py +0 -0
  244. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/organization_update.py +0 -0
  245. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/os_users_inner.py +0 -0
  246. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/password_reset_response.py +0 -0
  247. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/password_user_reset.py +0 -0
  248. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/permission_relation.py +0 -0
  249. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/personal_access_token.py +0 -0
  250. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/personal_access_token_relation.py +0 -0
  251. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/personal_access_token_rotate_response.py +0 -0
  252. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/personal_access_token_user_create.py +0 -0
  253. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/personal_access_token_user_rotate.py +0 -0
  254. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/pipeline.py +0 -0
  255. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/pipeline_create.py +0 -0
  256. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/pipeline_relation.py +0 -0
  257. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/pipeline_settings.py +0 -0
  258. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/pipeline_settings_stage.py +0 -0
  259. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/pipeline_settings_variable.py +0 -0
  260. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/pipeline_step_runner_name.py +0 -0
  261. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/pipeline_trigger_when.py +0 -0
  262. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/pipeline_update.py +0 -0
  263. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/project.py +0 -0
  264. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/project_organization_create.py +0 -0
  265. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/project_relation.py +0 -0
  266. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/project_update.py +0 -0
  267. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/provider_auth_type.py +0 -0
  268. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/provider_callback_config.py +0 -0
  269. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/provider_code.py +0 -0
  270. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/provider_input_settings.py +0 -0
  271. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/provider_input_settings_validation.py +0 -0
  272. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/provider_relation.py +0 -0
  273. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/provider_settings.py +0 -0
  274. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/provider_type.py +0 -0
  275. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/provider_type_list_inner.py +0 -0
  276. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/related_action.py +0 -0
  277. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/repository.py +0 -0
  278. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/repository_branch.py +0 -0
  279. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/repository_relation.py +0 -0
  280. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/repository_tag.py +0 -0
  281. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/repository_tag_commit.py +0 -0
  282. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/request_relation.py +0 -0
  283. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/resource_event.py +0 -0
  284. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/resource_event_relation.py +0 -0
  285. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/resource_link_child.py +0 -0
  286. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/resource_link_relation.py +0 -0
  287. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/resource_operation.py +0 -0
  288. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/resource_summary_item.py +0 -0
  289. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/resource_summary_item_summary.py +0 -0
  290. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/resource_to_be_linked.py +0 -0
  291. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/resource_type.py +0 -0
  292. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/resource_type_related.py +0 -0
  293. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/resource_type_relation.py +0 -0
  294. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/role.py +0 -0
  295. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/role_organization_create.py +0 -0
  296. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/role_relation.py +0 -0
  297. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/role_update.py +0 -0
  298. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/script_runner.py +0 -0
  299. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/server.py +0 -0
  300. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/server_blueprint.py +0 -0
  301. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/server_blueprint_spec.py +0 -0
  302. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/server_cloud_service_code.py +0 -0
  303. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/server_command.py +0 -0
  304. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/server_environment_create.py +0 -0
  305. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/server_options.py +0 -0
  306. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/server_provision_input.py +0 -0
  307. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/server_provision_input_settings.py +0 -0
  308. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/server_relation.py +0 -0
  309. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/server_status.py +0 -0
  310. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/server_update.py +0 -0
  311. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/service.py +0 -0
  312. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/service_deploy.py +0 -0
  313. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/service_environment_create.py +0 -0
  314. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/service_get_status.py +0 -0
  315. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/service_initial_state.py +0 -0
  316. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/service_options.py +0 -0
  317. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/service_relation.py +0 -0
  318. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/service_reload.py +0 -0
  319. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/service_restart.py +0 -0
  320. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/service_start.py +0 -0
  321. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/service_stop.py +0 -0
  322. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/service_type.py +0 -0
  323. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/service_update.py +0 -0
  324. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/social_account.py +0 -0
  325. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/social_account_create.py +0 -0
  326. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/social_account_displayable_name.py +0 -0
  327. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/social_account_provider.py +0 -0
  328. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/social_account_relation.py +0 -0
  329. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/social_account_status.py +0 -0
  330. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/source_provider_auth_method_settings.py +0 -0
  331. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/source_provider_displayable_name.py +0 -0
  332. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/source_provider_name.py +0 -0
  333. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/source_provider_settings.py +0 -0
  334. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/source_type.py +0 -0
  335. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/ssh_key.py +0 -0
  336. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/ssh_key_deploy.py +0 -0
  337. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/ssh_key_environment_create.py +0 -0
  338. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/ssh_key_relation.py +0 -0
  339. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/ssh_key_update.py +0 -0
  340. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/ssl_certificate.py +0 -0
  341. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/ssl_certificate_deploy.py +0 -0
  342. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/ssl_certificate_environment_create.py +0 -0
  343. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/ssl_certificate_issuer.py +0 -0
  344. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/ssl_certificate_relation.py +0 -0
  345. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/ssl_certificate_type.py +0 -0
  346. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/ssl_certificate_validation_level.py +0 -0
  347. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/static_billing_info.py +0 -0
  348. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/static_cloud_provider_code.py +0 -0
  349. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/static_cron_job_frequency.py +0 -0
  350. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/static_environment_type.py +0 -0
  351. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/static_network_rule_direction.py +0 -0
  352. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/static_network_rule_protocol.py +0 -0
  353. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/static_network_rule_protocol_defaults.py +0 -0
  354. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/static_permission.py +0 -0
  355. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/static_service_type.py +0 -0
  356. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/static_service_type_supported_versions_inner.py +0 -0
  357. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/static_virtual_host_type.py +0 -0
  358. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/step.py +0 -0
  359. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/step_pipeline_create.py +0 -0
  360. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/step_pipeline_update.py +0 -0
  361. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/subnet.py +0 -0
  362. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/subnet_network_create.py +0 -0
  363. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/subnet_provision_input.py +0 -0
  364. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/subnet_provision_input_settings.py +0 -0
  365. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/subnet_provision_input_settings_aws.py +0 -0
  366. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/subnet_provision_input_settings_azure.py +0 -0
  367. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/subnet_provision_input_settings_digital_ocean.py +0 -0
  368. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/subnet_provision_input_settings_gcp.py +0 -0
  369. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/subnet_relation.py +0 -0
  370. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/subnet_type.py +0 -0
  371. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/subscription.py +0 -0
  372. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/subscription_balance.py +0 -0
  373. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/subscription_plan.py +0 -0
  374. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/team.py +0 -0
  375. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/team_environment_link.py +0 -0
  376. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/team_invitation_relation.py +0 -0
  377. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/team_invitation_status.py +0 -0
  378. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/team_invitation_type.py +0 -0
  379. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/team_membership_relation.py +0 -0
  380. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/team_organization_create.py +0 -0
  381. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/team_organization_link.py +0 -0
  382. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/team_project_link.py +0 -0
  383. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/team_relation.py +0 -0
  384. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/team_update.py +0 -0
  385. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/trigger_event.py +0 -0
  386. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/trigger_when_condition.py +0 -0
  387. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/trigger_when_condition_accepted_values_inner.py +0 -0
  388. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/trigger_when_condition_type.py +0 -0
  389. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/triggered_action_stats.py +0 -0
  390. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/triggered_action_summary.py +0 -0
  391. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/triggered_actions.py +0 -0
  392. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/user.py +0 -0
  393. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/user_activity.py +0 -0
  394. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/user_billing.py +0 -0
  395. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/user_environment_stats.py +0 -0
  396. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/user_login_response.py +0 -0
  397. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/user_me.py +0 -0
  398. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/user_profile_options.py +0 -0
  399. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/user_project_stats.py +0 -0
  400. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/user_refresh_token.py +0 -0
  401. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/user_refresh_token_response.py +0 -0
  402. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/user_relation.py +0 -0
  403. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/user_resend_verification.py +0 -0
  404. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/user_team_stats.py +0 -0
  405. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/user_type.py +0 -0
  406. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/user_url.py +0 -0
  407. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/variable.py +0 -0
  408. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/variable_application_create.py +0 -0
  409. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/variable_create.py +0 -0
  410. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/variable_relation.py +0 -0
  411. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/variable_service_create.py +0 -0
  412. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/variable_target.py +0 -0
  413. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/variable_targets.py +0 -0
  414. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/variable_type.py +0 -0
  415. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/variable_update.py +0 -0
  416. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/virtual_host.py +0 -0
  417. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/virtual_host_deploy.py +0 -0
  418. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/virtual_host_environment_create.py +0 -0
  419. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/virtual_host_get_status.py +0 -0
  420. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/virtual_host_options.py +0 -0
  421. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/virtual_host_relation.py +0 -0
  422. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/virtual_host_type.py +0 -0
  423. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/models/virtual_host_update.py +0 -0
  424. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/generated/utils.py +0 -0
  425. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/models.py +0 -0
  426. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/py.typed +0 -0
  427. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/services/__init__.py +0 -0
  428. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/services/action_service.py +0 -0
  429. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/services/api_token_service.py +0 -0
  430. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/services/application_service.py +0 -0
  431. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/services/credential_service.py +0 -0
  432. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/services/cron_job_service.py +0 -0
  433. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/services/daemon_service.py +0 -0
  434. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/services/environment_service.py +0 -0
  435. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/services/hook_service.py +0 -0
  436. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/services/network_rule_service.py +0 -0
  437. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/services/network_service.py +0 -0
  438. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/services/organization_service.py +0 -0
  439. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/services/pipeline_service.py +0 -0
  440. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/services/project_service.py +0 -0
  441. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/services/resource_event_service.py +0 -0
  442. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/services/resource_link_service.py +0 -0
  443. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/services/role_service.py +0 -0
  444. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/services/server_service.py +0 -0
  445. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/services/service_service.py +0 -0
  446. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/services/social_account_service.py +0 -0
  447. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/services/ssh_key_service.py +0 -0
  448. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/services/ssl_certificate_service.py +0 -0
  449. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/services/static_service.py +0 -0
  450. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/services/subnet_service.py +0 -0
  451. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/services/team_service.py +0 -0
  452. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/services/user_service.py +0 -0
  453. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/services/variable_service.py +0 -0
  454. {devopness-2.4.1 → devopness-2.5.0}/src/devopness/services/virtual_host_service.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: devopness
3
- Version: 2.4.1
3
+ Version: 2.5.0
4
4
  Summary: Devopness API Python SDK - Painless essential DevOps to everyone
5
5
  License-Expression: MIT
6
6
  Keywords: API Client,Cloud Engineering,Cloud Infrastructure,Cloud Platform,Cloud Resource Management,Configuration Management,Deployment Automation,Devopness,DevOps,Infrastructure as Code,Platform Engineering,Python SDK,Server Management,Server Provisioning,Zero Downtime Deployment
@@ -113,6 +113,31 @@ Configuration options:
113
113
  | `base_url` | `https://api.devopness.com` | Base URL for all API requests |
114
114
  | `timeout` | `30` | Timeout for HTTP requests (in seconds) |
115
115
  | `default_encoding` | `utf-8` | Encoding for response content |
116
+ | `debug` | `False` | Prints HTTP debug output and validation warnings |
117
+ | `strict_validation_mode` | `True` | Raises Pydantic validation errors for API responses |
118
+
119
+
120
+ #### Response validation mode
121
+
122
+ The SDK validates API responses against generated Pydantic models by default. This
123
+ strict behavior helps surface mismatches between the API response and the documented
124
+ contract. Consumers that must keep running when a response does not match the model
125
+ can opt out by setting `strict_validation_mode=False`:
126
+
127
+ ```python
128
+ from devopness import DevopnessClient, DevopnessClientConfig
129
+
130
+ config = DevopnessClientConfig(
131
+ strict_validation_mode=False,
132
+ debug=True,
133
+ )
134
+ devopness = DevopnessClient(config)
135
+ ```
136
+
137
+ When strict validation is disabled, response payloads that fail Pydantic validation
138
+ are returned as opaque data that still supports field access, such as
139
+ `response.data.id` or `response.data["id"]`. If `debug=True`, the SDK emits a
140
+ warning with details about the validation error; otherwise, it continues quietly.
116
141
 
117
142
  ### Authentication
118
143
 
@@ -81,6 +81,31 @@ Configuration options:
81
81
  | `base_url` | `https://api.devopness.com` | Base URL for all API requests |
82
82
  | `timeout` | `30` | Timeout for HTTP requests (in seconds) |
83
83
  | `default_encoding` | `utf-8` | Encoding for response content |
84
+ | `debug` | `False` | Prints HTTP debug output and validation warnings |
85
+ | `strict_validation_mode` | `True` | Raises Pydantic validation errors for API responses |
86
+
87
+
88
+ #### Response validation mode
89
+
90
+ The SDK validates API responses against generated Pydantic models by default. This
91
+ strict behavior helps surface mismatches between the API response and the documented
92
+ contract. Consumers that must keep running when a response does not match the model
93
+ can opt out by setting `strict_validation_mode=False`:
94
+
95
+ ```python
96
+ from devopness import DevopnessClient, DevopnessClientConfig
97
+
98
+ config = DevopnessClientConfig(
99
+ strict_validation_mode=False,
100
+ debug=True,
101
+ )
102
+ devopness = DevopnessClient(config)
103
+ ```
104
+
105
+ When strict validation is disabled, response payloads that fail Pydantic validation
106
+ are returned as opaque data that still supports field access, such as
107
+ `response.data.id` or `response.data["id"]`. If `debug=True`, the SDK emits a
108
+ warning with details about the validation error; otherwise, it continues quietly.
84
109
 
85
110
  ### Authentication
86
111
 
@@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api"
4
4
 
5
5
  [project]
6
6
  name = "devopness"
7
- version = "2.4.1"
7
+ version = "2.5.0"
8
8
  description = "Devopness API Python SDK - Painless essential DevOps to everyone"
9
9
  license = "MIT"
10
10
  readme = "README.md"
@@ -68,8 +68,8 @@ exclude = ["src/devopness/generated/.openapi-generator-ignore"]
68
68
 
69
69
  [tool.poetry.group.dev.dependencies]
70
70
  openapi-generator-cli = { version = "7.22.0", markers = "python_version < '4.0'" }
71
- ruff = "^0.15.13"
72
- mypy = "2.1.0"
71
+ ruff = "^0.15.16"
72
+ mypy = "^2.1.0"
73
73
 
74
74
  [tool.ruff]
75
75
  line-length = 88
@@ -41,6 +41,8 @@ class DevopnessClientConfig(DevopnessBaseModel):
41
41
  no longer necessary with token-based auth.
42
42
  base_url (str): Base URL for API requests.
43
43
  debug (bool): Controls whether debug information is printed to the console.
44
+ strict_validation_mode (bool): Controls whether response validation errors
45
+ raise.
44
46
  default_encoding (str): Default encoding for response content.
45
47
  headers (dict[str, str]): Default headers for API requests.
46
48
  timeout (int): Request timeout in seconds.
@@ -54,6 +56,7 @@ class DevopnessClientConfig(DevopnessBaseModel):
54
56
  """
55
57
  base_url: str = "https://api.devopness.com"
56
58
  debug: bool = False
59
+ strict_validation_mode: bool = True
57
60
  default_encoding: str = "utf-8"
58
61
  headers: dict[str, str] = { # noqa: RUF012
59
62
  "Accept": "application/json",
@@ -105,6 +108,7 @@ class DevopnessClientConfigDict(TypedDict, total=False):
105
108
  auto_refresh_token: bool
106
109
  base_url: str
107
110
  debug: bool
111
+ strict_validation_mode: bool
108
112
  default_encoding: str
109
113
  headers: dict[str, str]
110
114
  timeout: int
@@ -50,7 +50,7 @@ class DevopnessApiError(DevopnessSdkError):
50
50
  self.errors = None
51
51
  self.message = str(err)
52
52
 
53
- try:
53
+ try: # noqa: PLW0717
54
54
  res_data = e_res.json()
55
55
 
56
56
  if isinstance(res_data, dict):
@@ -3,6 +3,7 @@ Devopness API Python SDK - Painless essential DevOps to everyone
3
3
  """
4
4
 
5
5
  import json
6
+ import sys
6
7
  from typing import Any, Generic, TypeVar, cast, get_args, get_origin
7
8
  from urllib.parse import parse_qs, urlparse
8
9
  from warnings import warn
@@ -17,6 +18,19 @@ __all__ = ["DevopnessResponse"]
17
18
  T = TypeVar("T")
18
19
 
19
20
 
21
+ class _OpaqueResponseData(dict[str, Any]):
22
+ """Opaque wrapper for response payloads that fail model validation."""
23
+
24
+ def __getattr__(self, key: str) -> Any: # noqa: ANN401
25
+ try:
26
+ return self[key]
27
+ except KeyError as e:
28
+ raise AttributeError(key) from e
29
+
30
+ def to_dict(self) -> dict[str, Any]:
31
+ return dict(self)
32
+
33
+
20
34
  class DevopnessResponse(Generic[T]):
21
35
  """
22
36
  Represents a typed API response from the Devopness API.
@@ -50,6 +64,7 @@ class DevopnessResponse(Generic[T]):
50
64
  deserialize the response
51
65
  body into.
52
66
  """
67
+ self._is_async_response = False
53
68
  self.status = response.status_code
54
69
  self.data = cast(T, self._parse_data(response, model_cls))
55
70
  self.page_count = self._extract_last_page_number(response)
@@ -73,6 +88,7 @@ class DevopnessResponse(Generic[T]):
73
88
  """
74
89
  result = cls.__new__(cls)
75
90
 
91
+ result._is_async_response = True
76
92
  result.status = response.status_code
77
93
  result.data = cast(T, await result._async_parse_data(response, model_cls))
78
94
  result.page_count = result._extract_last_page_number(response)
@@ -146,7 +162,7 @@ class DevopnessResponse(Generic[T]):
146
162
  model_cls: The target model class to convert the data into
147
163
 
148
164
  Returns:
149
- Parsed data in the requested format or raw string on failure
165
+ Parsed data in the requested format or opaque data in non-strict mode
150
166
  """
151
167
  raw_data: bytes = response.read()
152
168
 
@@ -173,7 +189,7 @@ class DevopnessResponse(Generic[T]):
173
189
  model_cls: The target model class to convert the data into
174
190
 
175
191
  Returns:
176
- Parsed data in the requested format or raw string on failure
192
+ Parsed data in the requested format or opaque data in non-strict mode
177
193
  """
178
194
  raw_data: bytes = await response.aread()
179
195
 
@@ -199,7 +215,7 @@ class DevopnessResponse(Generic[T]):
199
215
  if raw_data == b"" or model_cls is None:
200
216
  return None
201
217
 
202
- try:
218
+ try: # noqa: PLW0717
203
219
  # Handle primitive types
204
220
  if model_cls is str:
205
221
  return raw_data.decode("utf-8")
@@ -229,8 +245,23 @@ class DevopnessResponse(Generic[T]):
229
245
  dict_data: dict[str, Any] = json.loads(raw_data.decode("utf-8"))
230
246
  return model_cls.from_dict(dict_data)
231
247
 
232
- except (json.JSONDecodeError, ValidationError) as e:
233
- model_name = model_cls.__name__ if model_cls else "None"
248
+ except ValidationError as e:
249
+ if self._is_strict_validation_mode():
250
+ raise
251
+
252
+ if self._is_debug_mode():
253
+ model_name = self._model_name(model_cls)
254
+ msg = (
255
+ f"Failed to deserialize response body into {model_name}. "
256
+ "Returning opaque response data instead.\n\n"
257
+ f"Error: {self._safe_validation_error_details(e)}"
258
+ )
259
+ warn(msg, stacklevel=3)
260
+
261
+ return self._opaque_data_from_raw_data(raw_data)
262
+
263
+ except json.JSONDecodeError as e:
264
+ model_name = self._model_name(model_cls)
234
265
  msg = (
235
266
  f"Failed to deserialize response body into {model_name}. "
236
267
  "Returning raw response data instead.\n\n"
@@ -240,3 +271,56 @@ class DevopnessResponse(Generic[T]):
240
271
 
241
272
  # Fallback to raw string data
242
273
  return raw_data.decode("utf-8")
274
+
275
+ @staticmethod
276
+ def _model_name(model_cls: type[DevopnessBaseModel] | type | None) -> str:
277
+ return getattr(model_cls, "__name__", repr(model_cls)) if model_cls else "None"
278
+
279
+ def _config(self) -> object | None:
280
+ base_service_module = sys.modules.get("devopness.base.base_service")
281
+ service_name = (
282
+ "DevopnessBaseServiceAsync"
283
+ if self._is_async_response
284
+ else "DevopnessBaseService"
285
+ )
286
+ service = getattr(base_service_module, service_name, None)
287
+
288
+ return getattr(service, "_config", None)
289
+
290
+ def _is_strict_validation_mode(self) -> bool:
291
+ return getattr(self._config(), "strict_validation_mode", True)
292
+
293
+ def _is_debug_mode(self) -> bool:
294
+ return getattr(self._config(), "debug", False)
295
+
296
+ @staticmethod
297
+ def _safe_validation_error_details(error: ValidationError) -> str:
298
+ error_details: list[str] = []
299
+ for item in error.errors(include_url=False, include_input=False):
300
+ loc = item.get("loc", ())
301
+ loc_text = ".".join(str(part) for part in loc) if loc else "<root>"
302
+ error_type = item.get("type", "unknown")
303
+ error_details.append(f"{loc_text} ({error_type})")
304
+
305
+ return "; ".join(error_details)
306
+
307
+ def _opaque_data_from_raw_data(
308
+ self, raw_data: bytes
309
+ ) -> str | int | float | bool | dict[str, Any] | list[Any] | None:
310
+ try:
311
+ return self._wrap_opaque_data(json.loads(raw_data.decode("utf-8")))
312
+ except json.JSONDecodeError:
313
+ return raw_data.decode("utf-8")
314
+
315
+ def _wrap_opaque_data(
316
+ self, data: object
317
+ ) -> str | int | float | bool | dict[str, Any] | list[Any] | None:
318
+ if isinstance(data, dict):
319
+ return _OpaqueResponseData(
320
+ {key: self._wrap_opaque_data(value) for key, value in data.items()}
321
+ )
322
+
323
+ if isinstance(data, list):
324
+ return [self._wrap_opaque_data(item) for item in data]
325
+
326
+ return cast(str | int | float | bool | None, data)