devopness 2.4.0__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 (455) hide show
  1. {devopness-2.4.0 → devopness-2.5.0}/PKG-INFO +26 -1
  2. {devopness-2.4.0 → devopness-2.5.0}/README.md +25 -0
  3. {devopness-2.4.0 → devopness-2.5.0}/pyproject.toml +3 -3
  4. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/client_config.py +4 -0
  5. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/core/api_error.py +1 -1
  6. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/core/response.py +89 -5
  7. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/credentials_api.py +32 -0
  8. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/__init__.py +24 -0
  9. devopness-2.4.0/src/devopness/generated/models/provider_settings.py → devopness-2.5.0/src/devopness/generated/models/cloud_provider_settings.py +15 -14
  10. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/credential.py +10 -0
  11. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/credential_relation.py +10 -0
  12. devopness-2.5.0/src/devopness/generated/models/credential_source_provider.py +60 -0
  13. devopness-2.5.0/src/devopness/generated/models/provider_auth_type.py +38 -0
  14. devopness-2.5.0/src/devopness/generated/models/provider_callback_config.py +51 -0
  15. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/provider_input_settings_validation.py +7 -1
  16. devopness-2.5.0/src/devopness/generated/models/provider_settings.py +28 -0
  17. devopness-2.5.0/src/devopness/generated/models/source_provider_auth_method_settings.py +83 -0
  18. devopness-2.5.0/src/devopness/generated/models/source_provider_settings.py +49 -0
  19. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/models.py +20 -0
  20. devopness-2.4.0/src/devopness/generated/models/credential_source_provider.py +0 -37
  21. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/__init__.py +0 -0
  22. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/base/__init__.py +0 -0
  23. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/base/base_model.py +0 -0
  24. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/base/base_service.py +0 -0
  25. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/client.py +0 -0
  26. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/core/__init__.py +0 -0
  27. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/core/network_error.py +0 -0
  28. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/core/sdk_error.py +0 -0
  29. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/__init__.py +0 -0
  30. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/__init__.py +0 -0
  31. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/actions_api.py +0 -0
  32. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/actions_logs_api.py +0 -0
  33. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/applications_api.py +0 -0
  34. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/applications_hooks_api.py +0 -0
  35. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/applications_variables_api.py +0 -0
  36. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/credentials_repositories_api.py +0 -0
  37. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/cron_jobs_api.py +0 -0
  38. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/daemons_api.py +0 -0
  39. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/environments_actions_api.py +0 -0
  40. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/environments_api.py +0 -0
  41. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/hook_requests_api.py +0 -0
  42. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/hooks_api.py +0 -0
  43. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/hooks_requests_api.py +0 -0
  44. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/network_rules_api.py +0 -0
  45. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/networks_api.py +0 -0
  46. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/networks_subnets_api.py +0 -0
  47. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/organizations_api.py +0 -0
  48. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/pipelines_actions_api.py +0 -0
  49. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/pipelines_api.py +0 -0
  50. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/pipelines_hooks_api.py +0 -0
  51. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/pipelines_steps_api.py +0 -0
  52. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/projects_actions_api.py +0 -0
  53. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/projects_api.py +0 -0
  54. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/projects_api_tokens_api.py +0 -0
  55. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/projects_archived_environments_api.py +0 -0
  56. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/projects_environments_api.py +0 -0
  57. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/resource_events_api.py +0 -0
  58. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/resource_links_api.py +0 -0
  59. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/roles_api.py +0 -0
  60. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/servers_api.py +0 -0
  61. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/services_api.py +0 -0
  62. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/services_variables_api.py +0 -0
  63. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/social_accounts_api.py +0 -0
  64. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/ssh_keys_api.py +0 -0
  65. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/ssl_certificates_api.py +0 -0
  66. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/static_data_api.py +0 -0
  67. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/subnets_api.py +0 -0
  68. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/team_invitations_api.py +0 -0
  69. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/teams_api.py +0 -0
  70. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/teams_invitations_api.py +0 -0
  71. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/teams_members_api.py +0 -0
  72. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/users_api.py +0 -0
  73. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/users_environments_api.py +0 -0
  74. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/users_passwords_api.py +0 -0
  75. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/users_personal_access_tokens_api.py +0 -0
  76. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/users_projects_api.py +0 -0
  77. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/users_team_invitations_api.py +0 -0
  78. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/variables_api.py +0 -0
  79. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/virtual_hosts_api.py +0 -0
  80. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/action.py +0 -0
  81. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/action_data.py +0 -0
  82. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/action_deployment_commit.py +0 -0
  83. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/action_deployment_content.py +0 -0
  84. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/action_deployment_data.py +0 -0
  85. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/action_hook_request.py +0 -0
  86. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/action_pipeline_create.py +0 -0
  87. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/action_relation.py +0 -0
  88. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/action_relation_shallow.py +0 -0
  89. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/action_resource.py +0 -0
  90. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/action_resource_data.py +0 -0
  91. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/action_retry_response.py +0 -0
  92. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/action_status.py +0 -0
  93. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/action_status_reason_code.py +0 -0
  94. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/action_step.py +0 -0
  95. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/action_summary.py +0 -0
  96. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/action_summary_target.py +0 -0
  97. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/action_target.py +0 -0
  98. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/action_target_credential_data.py +0 -0
  99. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/action_target_data.py +0 -0
  100. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/action_target_log_step.py +0 -0
  101. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/action_target_network_data.py +0 -0
  102. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/action_target_server_data.py +0 -0
  103. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/action_trigger_type.py +0 -0
  104. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/action_triggered_from.py +0 -0
  105. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/action_type.py +0 -0
  106. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/api_error.py +0 -0
  107. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/api_error_errors.py +0 -0
  108. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/api_error_errors_field_name_inner.py +0 -0
  109. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/api_token.py +0 -0
  110. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/api_token_project_create.py +0 -0
  111. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/api_token_project_rotate.py +0 -0
  112. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/api_token_relation.py +0 -0
  113. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/api_token_rotate_response.py +0 -0
  114. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/api_token_status.py +0 -0
  115. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/api_token_type.py +0 -0
  116. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/api_token_type_prefix.py +0 -0
  117. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/application.py +0 -0
  118. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/application_environment_create.py +0 -0
  119. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/application_last_deployments.py +0 -0
  120. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/application_options.py +0 -0
  121. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/application_pipeline.py +0 -0
  122. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/application_relation.py +0 -0
  123. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/application_update.py +0 -0
  124. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/archived_environment_relation.py +0 -0
  125. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/billing_plan.py +0 -0
  126. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/billing_plans_options_relation.py +0 -0
  127. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/blueprint_service.py +0 -0
  128. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cloud_instance_relation.py +0 -0
  129. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cloud_os_version_code.py +0 -0
  130. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cloud_provider.py +0 -0
  131. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cloud_provider_code.py +0 -0
  132. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cloud_provider_input_settings.py +0 -0
  133. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cloud_provider_input_settings_default_value.py +0 -0
  134. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cloud_provider_property_type.py +0 -0
  135. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cloud_provider_property_validation.py +0 -0
  136. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cloud_provider_relation.py +0 -0
  137. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cloud_provider_service.py +0 -0
  138. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cloud_provider_service_code.py +0 -0
  139. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cloud_provider_service_region.py +0 -0
  140. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cloud_provider_service_resource_type.py +0 -0
  141. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cloud_provider_service_resource_type_scope.py +0 -0
  142. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cloud_provider_settings_list.py +0 -0
  143. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cloud_resource_type.py +0 -0
  144. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cloud_service_settings_aws_ec2.py +0 -0
  145. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cloud_service_settings_azure_rm.py +0 -0
  146. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cloud_service_settings_digital_ocean_droplet.py +0 -0
  147. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cloud_service_settings_gcp_gce.py +0 -0
  148. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cloud_service_settings_hetzner_hcloud.py +0 -0
  149. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cloud_service_settings_self_hosted_custom.py +0 -0
  150. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/commit.py +0 -0
  151. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/credential_aws.py +0 -0
  152. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/credential_azure.py +0 -0
  153. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/credential_digital_ocean.py +0 -0
  154. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/credential_google_cloud.py +0 -0
  155. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/credential_hetzner.py +0 -0
  156. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/credential_input_settings.py +0 -0
  157. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/credential_input_settings_credential.py +0 -0
  158. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/credential_options.py +0 -0
  159. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/credential_organization_create.py +0 -0
  160. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/credential_provider.py +0 -0
  161. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/credential_provider_type.py +0 -0
  162. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/credential_setting.py +0 -0
  163. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/credential_update.py +0 -0
  164. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/credits.py +0 -0
  165. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cron_job.py +0 -0
  166. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cron_job_deploy.py +0 -0
  167. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cron_job_environment_create.py +0 -0
  168. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cron_job_options.py +0 -0
  169. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cron_job_pattern.py +0 -0
  170. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cron_job_relation.py +0 -0
  171. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cron_job_update.py +0 -0
  172. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/daemon.py +0 -0
  173. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/daemon_deploy.py +0 -0
  174. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/daemon_environment_create.py +0 -0
  175. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/daemon_get_status.py +0 -0
  176. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/daemon_relation.py +0 -0
  177. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/daemon_restart.py +0 -0
  178. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/daemon_start.py +0 -0
  179. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/daemon_stop.py +0 -0
  180. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/daemon_update.py +0 -0
  181. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/deployment_application_create.py +0 -0
  182. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/deployment_default_step.py +0 -0
  183. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/deployment_type.py +0 -0
  184. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/environment.py +0 -0
  185. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/environment_link.py +0 -0
  186. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/environment_options.py +0 -0
  187. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/environment_project_create.py +0 -0
  188. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/environment_relation.py +0 -0
  189. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/environment_type.py +0 -0
  190. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/environment_update.py +0 -0
  191. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/hook.py +0 -0
  192. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/hook_incoming_settings.py +0 -0
  193. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/hook_outgoing_request_header.py +0 -0
  194. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/hook_outgoing_settings.py +0 -0
  195. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/hook_outgoing_settings_request_body.py +0 -0
  196. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/hook_outgoing_trigger_when_condition.py +0 -0
  197. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/hook_pipeline_create.py +0 -0
  198. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/hook_pipeline_create_settings.py +0 -0
  199. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/hook_relation.py +0 -0
  200. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/hook_request.py +0 -0
  201. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/hook_request_relation.py +0 -0
  202. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/hook_settings.py +0 -0
  203. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/hook_trigger_response.py +0 -0
  204. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/hook_trigger_when.py +0 -0
  205. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/hook_trigger_when_conditions_inner.py +0 -0
  206. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/hook_type.py +0 -0
  207. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/hook_type_param.py +0 -0
  208. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/hook_update.py +0 -0
  209. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/hook_variable.py +0 -0
  210. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/hook_variable_default_value.py +0 -0
  211. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/hook_variable_default_value_one_of_inner.py +0 -0
  212. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/hook_variable_type.py +0 -0
  213. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/invitation.py +0 -0
  214. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/invitation_relation.py +0 -0
  215. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/invitation_team_create.py +0 -0
  216. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/language.py +0 -0
  217. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/language_runtime.py +0 -0
  218. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/language_runtime_engine_versions_inner.py +0 -0
  219. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/language_runtime_framework.py +0 -0
  220. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/language_runtime_framework_commands.py +0 -0
  221. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/language_runtime_framework_defaults.py +0 -0
  222. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/linked_resource_data.py +0 -0
  223. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/linked_resource_summary_field.py +0 -0
  224. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/log.py +0 -0
  225. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/member.py +0 -0
  226. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/member_relation.py +0 -0
  227. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/membership_relation.py +0 -0
  228. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/network.py +0 -0
  229. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/network_environment_create.py +0 -0
  230. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/network_provision_input.py +0 -0
  231. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/network_provision_input_settings.py +0 -0
  232. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/network_provision_input_settings_aws.py +0 -0
  233. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/network_provision_input_settings_azure.py +0 -0
  234. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/network_provision_input_settings_digital_ocean.py +0 -0
  235. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/network_provision_input_settings_gcp.py +0 -0
  236. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/network_relation.py +0 -0
  237. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/network_rule.py +0 -0
  238. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/network_rule_deploy.py +0 -0
  239. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/network_rule_direction.py +0 -0
  240. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/network_rule_environment_create.py +0 -0
  241. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/network_rule_options.py +0 -0
  242. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/network_rule_protocol.py +0 -0
  243. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/network_rule_relation.py +0 -0
  244. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/network_rule_update.py +0 -0
  245. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/network_update.py +0 -0
  246. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/operating_system.py +0 -0
  247. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/operating_system_version.py +0 -0
  248. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/operation_custom_settings.py +0 -0
  249. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/organization.py +0 -0
  250. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/organization_create.py +0 -0
  251. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/organization_relation.py +0 -0
  252. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/organization_update.py +0 -0
  253. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/os_users_inner.py +0 -0
  254. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/password_reset_response.py +0 -0
  255. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/password_user_reset.py +0 -0
  256. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/permission_relation.py +0 -0
  257. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/personal_access_token.py +0 -0
  258. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/personal_access_token_relation.py +0 -0
  259. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/personal_access_token_rotate_response.py +0 -0
  260. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/personal_access_token_user_create.py +0 -0
  261. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/personal_access_token_user_rotate.py +0 -0
  262. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/pipeline.py +0 -0
  263. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/pipeline_create.py +0 -0
  264. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/pipeline_relation.py +0 -0
  265. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/pipeline_settings.py +0 -0
  266. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/pipeline_settings_stage.py +0 -0
  267. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/pipeline_settings_variable.py +0 -0
  268. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/pipeline_step_runner_name.py +0 -0
  269. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/pipeline_trigger_when.py +0 -0
  270. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/pipeline_update.py +0 -0
  271. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/project.py +0 -0
  272. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/project_organization_create.py +0 -0
  273. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/project_relation.py +0 -0
  274. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/project_update.py +0 -0
  275. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/provider_code.py +0 -0
  276. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/provider_input_settings.py +0 -0
  277. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/provider_relation.py +0 -0
  278. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/provider_type.py +0 -0
  279. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/provider_type_list_inner.py +0 -0
  280. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/related_action.py +0 -0
  281. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/repository.py +0 -0
  282. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/repository_branch.py +0 -0
  283. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/repository_relation.py +0 -0
  284. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/repository_tag.py +0 -0
  285. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/repository_tag_commit.py +0 -0
  286. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/request_relation.py +0 -0
  287. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/resource_event.py +0 -0
  288. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/resource_event_relation.py +0 -0
  289. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/resource_link_child.py +0 -0
  290. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/resource_link_relation.py +0 -0
  291. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/resource_operation.py +0 -0
  292. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/resource_summary_item.py +0 -0
  293. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/resource_summary_item_summary.py +0 -0
  294. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/resource_to_be_linked.py +0 -0
  295. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/resource_type.py +0 -0
  296. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/resource_type_related.py +0 -0
  297. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/resource_type_relation.py +0 -0
  298. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/role.py +0 -0
  299. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/role_organization_create.py +0 -0
  300. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/role_relation.py +0 -0
  301. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/role_update.py +0 -0
  302. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/script_runner.py +0 -0
  303. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/server.py +0 -0
  304. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/server_blueprint.py +0 -0
  305. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/server_blueprint_spec.py +0 -0
  306. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/server_cloud_service_code.py +0 -0
  307. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/server_command.py +0 -0
  308. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/server_environment_create.py +0 -0
  309. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/server_options.py +0 -0
  310. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/server_provision_input.py +0 -0
  311. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/server_provision_input_settings.py +0 -0
  312. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/server_relation.py +0 -0
  313. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/server_status.py +0 -0
  314. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/server_update.py +0 -0
  315. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/service.py +0 -0
  316. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/service_deploy.py +0 -0
  317. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/service_environment_create.py +0 -0
  318. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/service_get_status.py +0 -0
  319. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/service_initial_state.py +0 -0
  320. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/service_options.py +0 -0
  321. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/service_relation.py +0 -0
  322. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/service_reload.py +0 -0
  323. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/service_restart.py +0 -0
  324. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/service_start.py +0 -0
  325. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/service_stop.py +0 -0
  326. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/service_type.py +0 -0
  327. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/service_update.py +0 -0
  328. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/social_account.py +0 -0
  329. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/social_account_create.py +0 -0
  330. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/social_account_displayable_name.py +0 -0
  331. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/social_account_provider.py +0 -0
  332. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/social_account_relation.py +0 -0
  333. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/social_account_status.py +0 -0
  334. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/source_provider_displayable_name.py +0 -0
  335. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/source_provider_name.py +0 -0
  336. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/source_type.py +0 -0
  337. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/ssh_key.py +0 -0
  338. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/ssh_key_deploy.py +0 -0
  339. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/ssh_key_environment_create.py +0 -0
  340. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/ssh_key_relation.py +0 -0
  341. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/ssh_key_update.py +0 -0
  342. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/ssl_certificate.py +0 -0
  343. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/ssl_certificate_deploy.py +0 -0
  344. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/ssl_certificate_environment_create.py +0 -0
  345. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/ssl_certificate_issuer.py +0 -0
  346. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/ssl_certificate_relation.py +0 -0
  347. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/ssl_certificate_type.py +0 -0
  348. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/ssl_certificate_validation_level.py +0 -0
  349. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/static_billing_info.py +0 -0
  350. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/static_cloud_provider_code.py +0 -0
  351. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/static_cron_job_frequency.py +0 -0
  352. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/static_environment_type.py +0 -0
  353. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/static_network_rule_direction.py +0 -0
  354. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/static_network_rule_protocol.py +0 -0
  355. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/static_network_rule_protocol_defaults.py +0 -0
  356. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/static_permission.py +0 -0
  357. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/static_service_type.py +0 -0
  358. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/static_service_type_supported_versions_inner.py +0 -0
  359. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/static_virtual_host_type.py +0 -0
  360. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/step.py +0 -0
  361. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/step_pipeline_create.py +0 -0
  362. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/step_pipeline_update.py +0 -0
  363. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/subnet.py +0 -0
  364. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/subnet_network_create.py +0 -0
  365. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/subnet_provision_input.py +0 -0
  366. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/subnet_provision_input_settings.py +0 -0
  367. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/subnet_provision_input_settings_aws.py +0 -0
  368. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/subnet_provision_input_settings_azure.py +0 -0
  369. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/subnet_provision_input_settings_digital_ocean.py +0 -0
  370. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/subnet_provision_input_settings_gcp.py +0 -0
  371. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/subnet_relation.py +0 -0
  372. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/subnet_type.py +0 -0
  373. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/subscription.py +0 -0
  374. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/subscription_balance.py +0 -0
  375. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/subscription_plan.py +0 -0
  376. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/team.py +0 -0
  377. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/team_environment_link.py +0 -0
  378. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/team_invitation_relation.py +0 -0
  379. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/team_invitation_status.py +0 -0
  380. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/team_invitation_type.py +0 -0
  381. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/team_membership_relation.py +0 -0
  382. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/team_organization_create.py +0 -0
  383. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/team_organization_link.py +0 -0
  384. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/team_project_link.py +0 -0
  385. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/team_relation.py +0 -0
  386. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/team_update.py +0 -0
  387. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/trigger_event.py +0 -0
  388. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/trigger_when_condition.py +0 -0
  389. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/trigger_when_condition_accepted_values_inner.py +0 -0
  390. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/trigger_when_condition_type.py +0 -0
  391. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/triggered_action_stats.py +0 -0
  392. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/triggered_action_summary.py +0 -0
  393. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/triggered_actions.py +0 -0
  394. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/user.py +0 -0
  395. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/user_activity.py +0 -0
  396. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/user_billing.py +0 -0
  397. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/user_environment_stats.py +0 -0
  398. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/user_login_response.py +0 -0
  399. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/user_me.py +0 -0
  400. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/user_profile_options.py +0 -0
  401. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/user_project_stats.py +0 -0
  402. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/user_refresh_token.py +0 -0
  403. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/user_refresh_token_response.py +0 -0
  404. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/user_relation.py +0 -0
  405. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/user_resend_verification.py +0 -0
  406. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/user_team_stats.py +0 -0
  407. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/user_type.py +0 -0
  408. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/user_url.py +0 -0
  409. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/variable.py +0 -0
  410. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/variable_application_create.py +0 -0
  411. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/variable_create.py +0 -0
  412. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/variable_relation.py +0 -0
  413. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/variable_service_create.py +0 -0
  414. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/variable_target.py +0 -0
  415. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/variable_targets.py +0 -0
  416. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/variable_type.py +0 -0
  417. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/variable_update.py +0 -0
  418. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/virtual_host.py +0 -0
  419. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/virtual_host_deploy.py +0 -0
  420. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/virtual_host_environment_create.py +0 -0
  421. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/virtual_host_get_status.py +0 -0
  422. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/virtual_host_options.py +0 -0
  423. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/virtual_host_relation.py +0 -0
  424. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/virtual_host_type.py +0 -0
  425. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/virtual_host_update.py +0 -0
  426. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/utils.py +0 -0
  427. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/py.typed +0 -0
  428. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/__init__.py +0 -0
  429. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/action_service.py +0 -0
  430. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/api_token_service.py +0 -0
  431. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/application_service.py +0 -0
  432. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/credential_service.py +0 -0
  433. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/cron_job_service.py +0 -0
  434. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/daemon_service.py +0 -0
  435. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/environment_service.py +0 -0
  436. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/hook_service.py +0 -0
  437. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/network_rule_service.py +0 -0
  438. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/network_service.py +0 -0
  439. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/organization_service.py +0 -0
  440. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/pipeline_service.py +0 -0
  441. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/project_service.py +0 -0
  442. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/resource_event_service.py +0 -0
  443. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/resource_link_service.py +0 -0
  444. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/role_service.py +0 -0
  445. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/server_service.py +0 -0
  446. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/service_service.py +0 -0
  447. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/social_account_service.py +0 -0
  448. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/ssh_key_service.py +0 -0
  449. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/ssl_certificate_service.py +0 -0
  450. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/static_service.py +0 -0
  451. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/subnet_service.py +0 -0
  452. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/team_service.py +0 -0
  453. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/user_service.py +0 -0
  454. {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/variable_service.py +0 -0
  455. {devopness-2.4.0 → 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.0
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.0"
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.12"
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)
@@ -97,6 +97,7 @@ class CredentialsApiService(DevopnessBaseService):
97
97
  self,
98
98
  environment_id: int,
99
99
  provider_code: str,
100
+ state: str | None = None,
100
101
  ) -> DevopnessResponse[CredentialSetting]:
101
102
  """
102
103
  Return provider settings
@@ -106,8 +107,15 @@ class CredentialsApiService(DevopnessBaseService):
106
107
  DevopnessNetworkError: If a network error occurs.
107
108
  """
108
109
 
110
+ query_string = parse_query_string(
111
+ {
112
+ "state": state,
113
+ }
114
+ )
115
+
109
116
  endpoint_parts = [
110
117
  f"/environments/{environment_id}/credentials/{provider_code}/settings",
118
+ f"?{query_string}",
111
119
  ]
112
120
 
113
121
  endpoint: str = "".join(endpoint_parts)
@@ -119,6 +127,7 @@ class CredentialsApiService(DevopnessBaseService):
119
127
  self,
120
128
  organization_id: str,
121
129
  provider_code: str,
130
+ state: str | None = None,
122
131
  ) -> DevopnessResponse[CredentialSetting]:
123
132
  """
124
133
  Return provider settings
@@ -128,8 +137,15 @@ class CredentialsApiService(DevopnessBaseService):
128
137
  DevopnessNetworkError: If a network error occurs.
129
138
  """
130
139
 
140
+ query_string = parse_query_string(
141
+ {
142
+ "state": state,
143
+ }
144
+ )
145
+
131
146
  endpoint_parts = [
132
147
  f"/organizations/{organization_id}/credentials/{provider_code}/settings",
148
+ f"?{query_string}",
133
149
  ]
134
150
 
135
151
  endpoint: str = "".join(endpoint_parts)
@@ -374,6 +390,7 @@ class CredentialsApiServiceAsync(DevopnessBaseServiceAsync):
374
390
  self,
375
391
  environment_id: int,
376
392
  provider_code: str,
393
+ state: str | None = None,
377
394
  ) -> DevopnessResponse[CredentialSetting]:
378
395
  """
379
396
  Return provider settings
@@ -383,8 +400,15 @@ class CredentialsApiServiceAsync(DevopnessBaseServiceAsync):
383
400
  DevopnessNetworkError: If a network error occurs.
384
401
  """
385
402
 
403
+ query_string = parse_query_string(
404
+ {
405
+ "state": state,
406
+ }
407
+ )
408
+
386
409
  endpoint_parts = [
387
410
  f"/environments/{environment_id}/credentials/{provider_code}/settings",
411
+ f"?{query_string}",
388
412
  ]
389
413
 
390
414
  endpoint: str = "".join(endpoint_parts)
@@ -396,6 +420,7 @@ class CredentialsApiServiceAsync(DevopnessBaseServiceAsync):
396
420
  self,
397
421
  organization_id: str,
398
422
  provider_code: str,
423
+ state: str | None = None,
399
424
  ) -> DevopnessResponse[CredentialSetting]:
400
425
  """
401
426
  Return provider settings
@@ -405,8 +430,15 @@ class CredentialsApiServiceAsync(DevopnessBaseServiceAsync):
405
430
  DevopnessNetworkError: If a network error occurs.
406
431
  """
407
432
 
433
+ query_string = parse_query_string(
434
+ {
435
+ "state": state,
436
+ }
437
+ )
438
+
408
439
  endpoint_parts = [
409
440
  f"/organizations/{organization_id}/credentials/{provider_code}/settings",
441
+ f"?{query_string}",
410
442
  ]
411
443
 
412
444
  endpoint: str = "".join(endpoint_parts)
@@ -128,6 +128,7 @@ from .cloud_provider_service_resource_type_scope import (
128
128
  CloudProviderServiceResourceTypeScope,
129
129
  CloudProviderServiceResourceTypeScopePlain,
130
130
  )
131
+ from .cloud_provider_settings import CloudProviderSettings, CloudProviderSettingsPlain
131
132
  from .cloud_provider_settings_list import (
132
133
  CloudProviderSettingsList,
133
134
  CloudProviderSettingsListPlain,
@@ -399,6 +400,11 @@ from .project_organization_create import (
399
400
  )
400
401
  from .project_relation import ProjectRelation, ProjectRelationPlain
401
402
  from .project_update import ProjectUpdate, ProjectUpdatePlain
403
+ from .provider_auth_type import ProviderAuthType, ProviderAuthTypePlain
404
+ from .provider_callback_config import (
405
+ ProviderCallbackConfig,
406
+ ProviderCallbackConfigPlain,
407
+ )
402
408
  from .provider_code import ProviderCode, ProviderCodePlain
403
409
  from .provider_input_settings import ProviderInputSettings, ProviderInputSettingsPlain
404
410
  from .provider_input_settings_validation import (
@@ -484,11 +490,19 @@ from .social_account_displayable_name import (
484
490
  from .social_account_provider import SocialAccountProvider, SocialAccountProviderPlain
485
491
  from .social_account_relation import SocialAccountRelation, SocialAccountRelationPlain
486
492
  from .social_account_status import SocialAccountStatus, SocialAccountStatusPlain
493
+ from .source_provider_auth_method_settings import (
494
+ SourceProviderAuthMethodSettings,
495
+ SourceProviderAuthMethodSettingsPlain,
496
+ )
487
497
  from .source_provider_displayable_name import (
488
498
  SourceProviderDisplayableName,
489
499
  SourceProviderDisplayableNamePlain,
490
500
  )
491
501
  from .source_provider_name import SourceProviderName, SourceProviderNamePlain
502
+ from .source_provider_settings import (
503
+ SourceProviderSettings,
504
+ SourceProviderSettingsPlain,
505
+ )
492
506
  from .source_type import SourceType, SourceTypePlain
493
507
  from .ssh_key import SshKey, SshKeyPlain
494
508
  from .ssh_key_deploy import SshKeyDeploy, SshKeyDeployPlain
@@ -780,8 +794,10 @@ __all__ = [
780
794
  "CloudProviderServiceResourceTypePlain",
781
795
  "CloudProviderServiceResourceTypeScope",
782
796
  "CloudProviderServiceResourceTypeScopePlain",
797
+ "CloudProviderSettings",
783
798
  "CloudProviderSettingsList",
784
799
  "CloudProviderSettingsListPlain",
800
+ "CloudProviderSettingsPlain",
785
801
  "CloudResourceType",
786
802
  "CloudResourceTypePlain",
787
803
  "CloudServiceSettingsAwsEc2",
@@ -1052,6 +1068,10 @@ __all__ = [
1052
1068
  "ProjectRelationPlain",
1053
1069
  "ProjectUpdate",
1054
1070
  "ProjectUpdatePlain",
1071
+ "ProviderAuthType",
1072
+ "ProviderAuthTypePlain",
1073
+ "ProviderCallbackConfig",
1074
+ "ProviderCallbackConfigPlain",
1055
1075
  "ProviderCode",
1056
1076
  "ProviderCodePlain",
1057
1077
  "ProviderInputSettings",
@@ -1174,10 +1194,14 @@ __all__ = [
1174
1194
  "SocialAccountRelationPlain",
1175
1195
  "SocialAccountStatus",
1176
1196
  "SocialAccountStatusPlain",
1197
+ "SourceProviderAuthMethodSettings",
1198
+ "SourceProviderAuthMethodSettingsPlain",
1177
1199
  "SourceProviderDisplayableName",
1178
1200
  "SourceProviderDisplayableNamePlain",
1179
1201
  "SourceProviderName",
1180
1202
  "SourceProviderNamePlain",
1203
+ "SourceProviderSettings",
1204
+ "SourceProviderSettingsPlain",
1181
1205
  "SourceType",
1182
1206
  "SourceTypePlain",
1183
1207
  "SshKey",
@@ -12,39 +12,33 @@ from typing import (
12
12
  Union,
13
13
  )
14
14
 
15
- from pydantic import Field, StrictStr
15
+ from pydantic import Field
16
16
 
17
17
  from .. import DevopnessBaseModel
18
18
  from .cloud_provider_service import CloudProviderService, CloudProviderServicePlain
19
19
  from .provider_input_settings import ProviderInputSettings, ProviderInputSettingsPlain
20
20
 
21
21
 
22
- class ProviderSettings(DevopnessBaseModel):
22
+ class CloudProviderSettings(DevopnessBaseModel):
23
23
  """
24
- ProviderSettings
24
+ CloudProviderSettings
25
25
 
26
26
  Attributes:
27
- connect_url (str, optional): The URL used to connect Devopness to a credential provider of type &#x60;source_provider&#x60;
28
27
  input_settings (List[ProviderInputSettings]): The list of input settings for credentials of specific provider
29
- cloud_services (List[CloudProviderService], optional):
28
+ cloud_services (List[CloudProviderService]):
30
29
  """
31
30
 
32
- connect_url: StrictStr | None = Field(
33
- default=None,
34
- description="The URL used to connect Devopness to a credential provider of type `source_provider`",
35
- )
36
31
  input_settings: list[ProviderInputSettings] = Field(
37
32
  description="The list of input settings for credentials of specific provider"
38
33
  )
39
- cloud_services: list[CloudProviderService] | None = None
34
+ cloud_services: list[CloudProviderService]
40
35
 
41
36
 
42
- class ProviderSettingsPlain(TypedDict, total=False):
37
+ class CloudProviderSettingsPlain(TypedDict, total=False):
43
38
  """
44
- Plain version of ProviderSettings.
39
+ Plain version of CloudProviderSettings.
45
40
  """
46
41
 
47
- connect_url: str | None
48
42
  input_settings: Required[
49
43
  list[
50
44
  Union[
@@ -53,4 +47,11 @@ class ProviderSettingsPlain(TypedDict, total=False):
53
47
  ]
54
48
  ]
55
49
  ]
56
- cloud_services: list[Union[CloudProviderService, CloudProviderServicePlain]] | None
50
+ cloud_services: Required[
51
+ list[
52
+ Union[
53
+ CloudProviderService,
54
+ CloudProviderServicePlain,
55
+ ]
56
+ ]
57
+ ]
@@ -31,6 +31,8 @@ class Credential(DevopnessBaseModel):
31
31
  provider (ProviderRelation):
32
32
  provider_type (str): The type of the credential
33
33
  provider_type_human_readable (str): The human readable version of the type of the credential
34
+ provider_auth_type (str): The authentication type of the credential
35
+ provider_auth_type_human_readable (str): The human readable version of the authentication type
34
36
  active (bool): If this credential is active or not
35
37
  organization (OrganizationRelation, optional, nullable):
36
38
  created_by_user (UserRelation, optional, nullable):
@@ -46,6 +48,12 @@ class Credential(DevopnessBaseModel):
46
48
  provider_type_human_readable: StrictStr = Field(
47
49
  description="The human readable version of the type of the credential"
48
50
  )
51
+ provider_auth_type: StrictStr = Field(
52
+ description="The authentication type of the credential"
53
+ )
54
+ provider_auth_type_human_readable: StrictStr = Field(
55
+ description="The human readable version of the authentication type"
56
+ )
49
57
  active: StrictBool = Field(description="If this credential is active or not")
50
58
  organization: OrganizationRelation | None = None
51
59
  created_by_user: UserRelation | None
@@ -73,6 +81,8 @@ class CredentialPlain(TypedDict, total=False):
73
81
  ]
74
82
  provider_type: Required[str]
75
83
  provider_type_human_readable: Required[str]
84
+ provider_auth_type: Required[str]
85
+ provider_auth_type_human_readable: Required[str]
76
86
  active: Required[bool]
77
87
  organization: Union[OrganizationRelation, OrganizationRelationPlain] | None
78
88
  created_by_user: Union[UserRelation, UserRelationPlain] | None
@@ -31,6 +31,8 @@ class CredentialRelation(DevopnessBaseModel):
31
31
  provider (ProviderRelation):
32
32
  provider_type (ProviderType):
33
33
  provider_type_human_readable (str): The human readable version of the type of the credential
34
+ provider_auth_type (str): The authentication type of the credential
35
+ provider_auth_type_human_readable (str): The human readable version of the authentication type
34
36
  active (bool): If this credential is active or not
35
37
  created_by_user (UserRelation, optional, nullable):
36
38
  last_action (ActionRelationShallow, optional, nullable):
@@ -45,6 +47,12 @@ class CredentialRelation(DevopnessBaseModel):
45
47
  provider_type_human_readable: StrictStr = Field(
46
48
  description="The human readable version of the type of the credential"
47
49
  )
50
+ provider_auth_type: StrictStr = Field(
51
+ description="The authentication type of the credential"
52
+ )
53
+ provider_auth_type_human_readable: StrictStr = Field(
54
+ description="The human readable version of the authentication type"
55
+ )
48
56
  active: StrictBool = Field(description="If this credential is active or not")
49
57
  created_by_user: UserRelation | None
50
58
  last_action: ActionRelationShallow | None = None
@@ -76,6 +84,8 @@ class CredentialRelationPlain(TypedDict, total=False):
76
84
  ]
77
85
  ]
78
86
  provider_type_human_readable: Required[str]
87
+ provider_auth_type: Required[str]
88
+ provider_auth_type_human_readable: Required[str]
79
89
  active: Required[bool]
80
90
  created_by_user: Union[UserRelation, UserRelationPlain] | None
81
91
  last_action: Union[ActionRelationShallow, ActionRelationShallowPlain] | None
@@ -0,0 +1,60 @@
1
+ """
2
+ Devopness API Python SDK - Painless essential DevOps to everyone
3
+
4
+ Note:
5
+ This is auto generated by OpenAPI Generator.
6
+ https://openapi-generator.tech
7
+ """
8
+
9
+ from typing import (
10
+ Required,
11
+ TypedDict,
12
+ Union,
13
+ )
14
+
15
+ from pydantic import Field, StrictStr
16
+
17
+ from .. import DevopnessBaseModel
18
+ from .provider_auth_type import ProviderAuthType, ProviderAuthTypePlain
19
+
20
+
21
+ class CredentialSourceProvider(DevopnessBaseModel):
22
+ """
23
+ CredentialSourceProvider
24
+
25
+ Attributes:
26
+ auth_type (ProviderAuthType):
27
+ callback_code (str, optional): The temporary code forwarded by the OAuth provider as a parameter to our callback URL
28
+ installation_id (str, optional): The installation ID of the source provider integration installation.
29
+ setup_action (str, optional): The action to be performed with the provided callback code.
30
+ """
31
+
32
+ auth_type: ProviderAuthType
33
+ callback_code: StrictStr | None = Field(
34
+ default=None,
35
+ description="The temporary code forwarded by the OAuth provider as a parameter to our callback URL",
36
+ )
37
+ installation_id: StrictStr | None = Field(
38
+ default=None,
39
+ description="The installation ID of the source provider integration installation.",
40
+ )
41
+ setup_action: StrictStr | None = Field(
42
+ default=None,
43
+ description="The action to be performed with the provided callback code.",
44
+ )
45
+
46
+
47
+ class CredentialSourceProviderPlain(TypedDict, total=False):
48
+ """
49
+ Plain version of CredentialSourceProvider.
50
+ """
51
+
52
+ auth_type: Required[
53
+ Union[
54
+ ProviderAuthType,
55
+ ProviderAuthTypePlain,
56
+ ]
57
+ ]
58
+ callback_code: str | None
59
+ installation_id: str | None
60
+ setup_action: str | None
@@ -0,0 +1,38 @@
1
+ """
2
+ Devopness API Python SDK - Painless essential DevOps to everyone
3
+
4
+ Note:
5
+ This is auto generated by OpenAPI Generator.
6
+ https://openapi-generator.tech
7
+ """
8
+
9
+ import json
10
+ from enum import Enum
11
+ from typing import Literal, Self
12
+
13
+
14
+ class ProviderAuthType(str, Enum):
15
+ """
16
+ Authentication method for provider credentials.
17
+ """
18
+
19
+ OAUTH = "oauth"
20
+ APPLICATION = "application"
21
+ API_CREDENTIALS = "api_credentials"
22
+
23
+ def __str__(self) -> str:
24
+ """Return the string representation of the ProviderAuthType"""
25
+ return self.value
26
+
27
+ @classmethod
28
+ def from_json(cls, json_str: str) -> Self:
29
+ """Create an instance of ProviderAuthType from a JSON string"""
30
+ return cls(json.loads(json_str))
31
+
32
+
33
+ # The plain version of ProviderAuthType
34
+ ProviderAuthTypePlain = Literal[
35
+ "oauth",
36
+ "application",
37
+ "api_credentials",
38
+ ]