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.
- {devopness-2.4.0 → devopness-2.5.0}/PKG-INFO +26 -1
- {devopness-2.4.0 → devopness-2.5.0}/README.md +25 -0
- {devopness-2.4.0 → devopness-2.5.0}/pyproject.toml +3 -3
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/client_config.py +4 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/core/api_error.py +1 -1
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/core/response.py +89 -5
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/credentials_api.py +32 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/__init__.py +24 -0
- 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
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/credential.py +10 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/credential_relation.py +10 -0
- devopness-2.5.0/src/devopness/generated/models/credential_source_provider.py +60 -0
- devopness-2.5.0/src/devopness/generated/models/provider_auth_type.py +38 -0
- devopness-2.5.0/src/devopness/generated/models/provider_callback_config.py +51 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/provider_input_settings_validation.py +7 -1
- devopness-2.5.0/src/devopness/generated/models/provider_settings.py +28 -0
- devopness-2.5.0/src/devopness/generated/models/source_provider_auth_method_settings.py +83 -0
- devopness-2.5.0/src/devopness/generated/models/source_provider_settings.py +49 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/models.py +20 -0
- devopness-2.4.0/src/devopness/generated/models/credential_source_provider.py +0 -37
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/__init__.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/base/__init__.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/base/base_model.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/base/base_service.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/client.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/core/__init__.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/core/network_error.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/core/sdk_error.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/__init__.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/__init__.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/actions_api.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/actions_logs_api.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/applications_api.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/applications_hooks_api.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/applications_variables_api.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/credentials_repositories_api.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/cron_jobs_api.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/daemons_api.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/environments_actions_api.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/environments_api.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/hook_requests_api.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/hooks_api.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/hooks_requests_api.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/network_rules_api.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/networks_api.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/networks_subnets_api.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/organizations_api.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/pipelines_actions_api.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/pipelines_api.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/pipelines_hooks_api.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/pipelines_steps_api.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/projects_actions_api.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/projects_api.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/projects_api_tokens_api.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/projects_archived_environments_api.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/projects_environments_api.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/resource_events_api.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/resource_links_api.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/roles_api.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/servers_api.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/services_api.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/services_variables_api.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/social_accounts_api.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/ssh_keys_api.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/ssl_certificates_api.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/static_data_api.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/subnets_api.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/team_invitations_api.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/teams_api.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/teams_invitations_api.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/teams_members_api.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/users_api.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/users_environments_api.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/users_passwords_api.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/users_personal_access_tokens_api.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/users_projects_api.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/users_team_invitations_api.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/variables_api.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/api/virtual_hosts_api.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/action.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/action_data.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/action_deployment_commit.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/action_deployment_content.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/action_deployment_data.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/action_hook_request.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/action_pipeline_create.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/action_relation.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/action_relation_shallow.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/action_resource.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/action_resource_data.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/action_retry_response.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/action_status.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/action_status_reason_code.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/action_step.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/action_summary.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/action_summary_target.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/action_target.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/action_target_credential_data.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/action_target_data.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/action_target_log_step.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/action_target_network_data.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/action_target_server_data.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/action_trigger_type.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/action_triggered_from.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/action_type.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/api_error.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/api_error_errors.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/api_error_errors_field_name_inner.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/api_token.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/api_token_project_create.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/api_token_project_rotate.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/api_token_relation.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/api_token_rotate_response.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/api_token_status.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/api_token_type.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/api_token_type_prefix.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/application.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/application_environment_create.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/application_last_deployments.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/application_options.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/application_pipeline.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/application_relation.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/application_update.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/archived_environment_relation.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/billing_plan.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/billing_plans_options_relation.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/blueprint_service.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cloud_instance_relation.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cloud_os_version_code.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cloud_provider.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cloud_provider_code.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cloud_provider_input_settings.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cloud_provider_input_settings_default_value.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cloud_provider_property_type.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cloud_provider_property_validation.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cloud_provider_relation.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cloud_provider_service.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cloud_provider_service_code.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cloud_provider_service_region.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cloud_provider_service_resource_type.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cloud_provider_service_resource_type_scope.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cloud_provider_settings_list.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cloud_resource_type.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cloud_service_settings_aws_ec2.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cloud_service_settings_azure_rm.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cloud_service_settings_digital_ocean_droplet.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cloud_service_settings_gcp_gce.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cloud_service_settings_hetzner_hcloud.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cloud_service_settings_self_hosted_custom.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/commit.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/credential_aws.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/credential_azure.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/credential_digital_ocean.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/credential_google_cloud.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/credential_hetzner.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/credential_input_settings.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/credential_input_settings_credential.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/credential_options.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/credential_organization_create.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/credential_provider.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/credential_provider_type.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/credential_setting.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/credential_update.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/credits.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cron_job.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cron_job_deploy.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cron_job_environment_create.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cron_job_options.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cron_job_pattern.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cron_job_relation.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/cron_job_update.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/daemon.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/daemon_deploy.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/daemon_environment_create.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/daemon_get_status.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/daemon_relation.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/daemon_restart.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/daemon_start.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/daemon_stop.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/daemon_update.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/deployment_application_create.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/deployment_default_step.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/deployment_type.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/environment.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/environment_link.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/environment_options.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/environment_project_create.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/environment_relation.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/environment_type.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/environment_update.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/hook.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/hook_incoming_settings.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/hook_outgoing_request_header.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/hook_outgoing_settings.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/hook_outgoing_settings_request_body.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/hook_outgoing_trigger_when_condition.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/hook_pipeline_create.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/hook_pipeline_create_settings.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/hook_relation.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/hook_request.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/hook_request_relation.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/hook_settings.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/hook_trigger_response.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/hook_trigger_when.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/hook_trigger_when_conditions_inner.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/hook_type.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/hook_type_param.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/hook_update.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/hook_variable.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/hook_variable_default_value.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/hook_variable_default_value_one_of_inner.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/hook_variable_type.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/invitation.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/invitation_relation.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/invitation_team_create.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/language.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/language_runtime.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/language_runtime_engine_versions_inner.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/language_runtime_framework.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/language_runtime_framework_commands.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/language_runtime_framework_defaults.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/linked_resource_data.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/linked_resource_summary_field.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/log.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/member.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/member_relation.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/membership_relation.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/network.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/network_environment_create.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/network_provision_input.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/network_provision_input_settings.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/network_provision_input_settings_aws.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/network_provision_input_settings_azure.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/network_provision_input_settings_digital_ocean.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/network_provision_input_settings_gcp.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/network_relation.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/network_rule.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/network_rule_deploy.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/network_rule_direction.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/network_rule_environment_create.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/network_rule_options.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/network_rule_protocol.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/network_rule_relation.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/network_rule_update.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/network_update.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/operating_system.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/operating_system_version.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/operation_custom_settings.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/organization.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/organization_create.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/organization_relation.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/organization_update.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/os_users_inner.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/password_reset_response.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/password_user_reset.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/permission_relation.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/personal_access_token.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/personal_access_token_relation.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/personal_access_token_rotate_response.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/personal_access_token_user_create.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/personal_access_token_user_rotate.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/pipeline.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/pipeline_create.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/pipeline_relation.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/pipeline_settings.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/pipeline_settings_stage.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/pipeline_settings_variable.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/pipeline_step_runner_name.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/pipeline_trigger_when.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/pipeline_update.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/project.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/project_organization_create.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/project_relation.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/project_update.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/provider_code.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/provider_input_settings.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/provider_relation.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/provider_type.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/provider_type_list_inner.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/related_action.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/repository.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/repository_branch.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/repository_relation.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/repository_tag.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/repository_tag_commit.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/request_relation.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/resource_event.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/resource_event_relation.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/resource_link_child.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/resource_link_relation.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/resource_operation.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/resource_summary_item.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/resource_summary_item_summary.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/resource_to_be_linked.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/resource_type.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/resource_type_related.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/resource_type_relation.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/role.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/role_organization_create.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/role_relation.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/role_update.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/script_runner.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/server.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/server_blueprint.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/server_blueprint_spec.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/server_cloud_service_code.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/server_command.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/server_environment_create.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/server_options.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/server_provision_input.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/server_provision_input_settings.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/server_relation.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/server_status.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/server_update.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/service.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/service_deploy.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/service_environment_create.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/service_get_status.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/service_initial_state.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/service_options.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/service_relation.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/service_reload.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/service_restart.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/service_start.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/service_stop.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/service_type.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/service_update.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/social_account.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/social_account_create.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/social_account_displayable_name.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/social_account_provider.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/social_account_relation.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/social_account_status.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/source_provider_displayable_name.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/source_provider_name.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/source_type.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/ssh_key.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/ssh_key_deploy.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/ssh_key_environment_create.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/ssh_key_relation.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/ssh_key_update.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/ssl_certificate.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/ssl_certificate_deploy.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/ssl_certificate_environment_create.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/ssl_certificate_issuer.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/ssl_certificate_relation.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/ssl_certificate_type.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/ssl_certificate_validation_level.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/static_billing_info.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/static_cloud_provider_code.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/static_cron_job_frequency.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/static_environment_type.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/static_network_rule_direction.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/static_network_rule_protocol.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/static_network_rule_protocol_defaults.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/static_permission.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/static_service_type.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/static_service_type_supported_versions_inner.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/static_virtual_host_type.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/step.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/step_pipeline_create.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/step_pipeline_update.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/subnet.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/subnet_network_create.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/subnet_provision_input.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/subnet_provision_input_settings.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/subnet_provision_input_settings_aws.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/subnet_provision_input_settings_azure.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/subnet_provision_input_settings_digital_ocean.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/subnet_provision_input_settings_gcp.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/subnet_relation.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/subnet_type.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/subscription.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/subscription_balance.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/subscription_plan.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/team.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/team_environment_link.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/team_invitation_relation.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/team_invitation_status.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/team_invitation_type.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/team_membership_relation.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/team_organization_create.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/team_organization_link.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/team_project_link.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/team_relation.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/team_update.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/trigger_event.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/trigger_when_condition.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/trigger_when_condition_accepted_values_inner.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/trigger_when_condition_type.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/triggered_action_stats.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/triggered_action_summary.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/triggered_actions.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/user.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/user_activity.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/user_billing.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/user_environment_stats.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/user_login_response.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/user_me.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/user_profile_options.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/user_project_stats.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/user_refresh_token.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/user_refresh_token_response.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/user_relation.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/user_resend_verification.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/user_team_stats.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/user_type.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/user_url.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/variable.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/variable_application_create.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/variable_create.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/variable_relation.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/variable_service_create.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/variable_target.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/variable_targets.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/variable_type.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/variable_update.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/virtual_host.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/virtual_host_deploy.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/virtual_host_environment_create.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/virtual_host_get_status.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/virtual_host_options.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/virtual_host_relation.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/virtual_host_type.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/models/virtual_host_update.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/generated/utils.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/py.typed +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/__init__.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/action_service.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/api_token_service.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/application_service.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/credential_service.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/cron_job_service.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/daemon_service.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/environment_service.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/hook_service.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/network_rule_service.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/network_service.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/organization_service.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/pipeline_service.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/project_service.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/resource_event_service.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/resource_link_service.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/role_service.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/server_service.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/service_service.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/social_account_service.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/ssh_key_service.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/ssl_certificate_service.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/static_service.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/subnet_service.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/team_service.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/user_service.py +0 -0
- {devopness-2.4.0 → devopness-2.5.0}/src/devopness/services/variable_service.py +0 -0
- {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.
|
|
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.
|
|
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.
|
|
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
|
|
@@ -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
|
|
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
|
|
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
|
|
233
|
-
|
|
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
|
|
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
|
|
22
|
+
class CloudProviderSettings(DevopnessBaseModel):
|
|
23
23
|
"""
|
|
24
|
-
|
|
24
|
+
CloudProviderSettings
|
|
25
25
|
|
|
26
26
|
Attributes:
|
|
27
|
-
connect_url (str, optional): The URL used to connect Devopness to a credential provider of type `source_provider`
|
|
28
27
|
input_settings (List[ProviderInputSettings]): The list of input settings for credentials of specific provider
|
|
29
|
-
cloud_services (List[CloudProviderService]
|
|
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]
|
|
34
|
+
cloud_services: list[CloudProviderService]
|
|
40
35
|
|
|
41
36
|
|
|
42
|
-
class
|
|
37
|
+
class CloudProviderSettingsPlain(TypedDict, total=False):
|
|
43
38
|
"""
|
|
44
|
-
Plain version of
|
|
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:
|
|
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
|
+
]
|