diff --git a/crates/tower-api/README.md b/crates/tower-api/README.md index cf17a590..34128aec 100644 --- a/crates/tower-api/README.md +++ b/crates/tower-api/README.md @@ -8,7 +8,7 @@ For more information, please visit [https://tower.dev](https://tower.dev) This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using the [openapi-spec](https://openapis.org) from a remote server, you can easily generate an API client. -- API version: v0.10.17 +- API version: v0.10.24 - Package version: 1.0.0 - Generator version: 7.19.0 - Build package: `org.openapitools.codegen.languages.RustClientCodegen` @@ -36,12 +36,10 @@ Class | Method | HTTP request | Description *DefaultApi* | [**create_account**](docs/DefaultApi.md#create_account) | **POST** /accounts | Create account *DefaultApi* | [**create_api_key**](docs/DefaultApi.md#create_api_key) | **POST** /api-keys | Create API Key *DefaultApi* | [**create_app**](docs/DefaultApi.md#create_app) | **POST** /apps | Create app -*DefaultApi* | [**create_authenticator**](docs/DefaultApi.md#create_authenticator) | **POST** /authenticators | Create authenticator *DefaultApi* | [**create_catalog**](docs/DefaultApi.md#create_catalog) | **POST** /catalogs | Create catalog *DefaultApi* | [**create_device_login_ticket**](docs/DefaultApi.md#create_device_login_ticket) | **GET** /login/device | Create device login ticket *DefaultApi* | [**create_environment**](docs/DefaultApi.md#create_environment) | **POST** /environments | Create environment *DefaultApi* | [**create_guest**](docs/DefaultApi.md#create_guest) | **POST** /guests | Create guest -*DefaultApi* | [**create_password_reset**](docs/DefaultApi.md#create_password_reset) | **POST** /accounts/password-reset | Create password reset *DefaultApi* | [**create_sandbox_secrets**](docs/DefaultApi.md#create_sandbox_secrets) | **POST** /sandbox/secrets | Create Tower-provided sandbox secrets *DefaultApi* | [**create_schedule**](docs/DefaultApi.md#create_schedule) | **POST** /schedules | Create schedule *DefaultApi* | [**create_secret**](docs/DefaultApi.md#create_secret) | **POST** /secrets | Create secret @@ -52,7 +50,6 @@ Class | Method | HTTP request | Description *DefaultApi* | [**delete_alert**](docs/DefaultApi.md#delete_alert) | **DELETE** /alerts/{alert_id} | Delete alert *DefaultApi* | [**delete_api_key**](docs/DefaultApi.md#delete_api_key) | **DELETE** /api-keys | Delete API key *DefaultApi* | [**delete_app**](docs/DefaultApi.md#delete_app) | **DELETE** /apps/{name} | Delete app -*DefaultApi* | [**delete_authenticator**](docs/DefaultApi.md#delete_authenticator) | **DELETE** /authenticators | Delete authenticator *DefaultApi* | [**delete_catalog**](docs/DefaultApi.md#delete_catalog) | **DELETE** /catalogs/{name} | Delete catalog *DefaultApi* | [**delete_guest**](docs/DefaultApi.md#delete_guest) | **DELETE** /guests/{guest_id} | Delete guest *DefaultApi* | [**delete_schedule**](docs/DefaultApi.md#delete_schedule) | **DELETE** /schedules | Delete schedule @@ -81,7 +78,7 @@ Class | Method | HTTP request | Description *DefaultApi* | [**export_catalogs**](docs/DefaultApi.md#export_catalogs) | **POST** /catalogs/export | Export catalogs *DefaultApi* | [**export_secrets**](docs/DefaultApi.md#export_secrets) | **POST** /secrets/export | Export secrets *DefaultApi* | [**generate_app_statistics**](docs/DefaultApi.md#generate_app_statistics) | **GET** /stats/apps | Generate app statistics -*DefaultApi* | [**generate_authenticator**](docs/DefaultApi.md#generate_authenticator) | **POST** /authenticators/generate | Generate authenticator +*DefaultApi* | [**generate_organization_usage_time_series**](docs/DefaultApi.md#generate_organization_usage_time_series) | **GET** /usage/time-series | Get organization usage as time series *DefaultApi* | [**generate_run_statistics**](docs/DefaultApi.md#generate_run_statistics) | **GET** /stats/runs | Generate run statistics *DefaultApi* | [**generate_runner_credentials**](docs/DefaultApi.md#generate_runner_credentials) | **POST** /runners/credentials | Generate runner credentials *DefaultApi* | [**invite_team_member**](docs/DefaultApi.md#invite_team_member) | **POST** /teams/{name}/invites | Invite team member @@ -91,7 +88,6 @@ Class | Method | HTTP request | Description *DefaultApi* | [**list_app_environments**](docs/DefaultApi.md#list_app_environments) | **GET** /apps/{name}/environments | List app environments *DefaultApi* | [**list_app_versions**](docs/DefaultApi.md#list_app_versions) | **GET** /apps/{name}/versions | List app versions *DefaultApi* | [**list_apps**](docs/DefaultApi.md#list_apps) | **GET** /apps | List apps -*DefaultApi* | [**list_authenticators**](docs/DefaultApi.md#list_authenticators) | **GET** /authenticators | List authenticators *DefaultApi* | [**list_catalogs**](docs/DefaultApi.md#list_catalogs) | **GET** /catalogs | List catalogs *DefaultApi* | [**list_environments**](docs/DefaultApi.md#list_environments) | **GET** /environments | List environments *DefaultApi* | [**list_guests**](docs/DefaultApi.md#list_guests) | **GET** /guests | List guests @@ -108,7 +104,6 @@ Class | Method | HTTP request | Description *DefaultApi* | [**refresh_session**](docs/DefaultApi.md#refresh_session) | **POST** /session/refresh | Refresh session *DefaultApi* | [**regenerate_guest_login_url**](docs/DefaultApi.md#regenerate_guest_login_url) | **POST** /guests/{guest_id}/login-url | Regenerate guest login URL *DefaultApi* | [**remove_team_member**](docs/DefaultApi.md#remove_team_member) | **DELETE** /teams/{name}/members | Remove team member -*DefaultApi* | [**resend_email_verification**](docs/DefaultApi.md#resend_email_verification) | **POST** /user/resend-verification | Resent email verification *DefaultApi* | [**resend_team_invitation**](docs/DefaultApi.md#resend_team_invitation) | **POST** /teams/{name}/invites/resend | Resend team invitation *DefaultApi* | [**run_app**](docs/DefaultApi.md#run_app) | **POST** /apps/{name}/runs | Run app *DefaultApi* | [**search_runs**](docs/DefaultApi.md#search_runs) | **GET** /runs | Search runs @@ -117,12 +112,12 @@ Class | Method | HTTP request | Description *DefaultApi* | [**stream_shouldertaps**](docs/DefaultApi.md#stream_shouldertaps) | **GET** /shouldertaps/stream | Stream shouldertaps *DefaultApi* | [**update_account**](docs/DefaultApi.md#update_account) | **PUT** /accounts/{name} | Update account *DefaultApi* | [**update_app**](docs/DefaultApi.md#update_app) | **PUT** /apps/{name} | Update app +*DefaultApi* | [**update_app_environment**](docs/DefaultApi.md#update_app_environment) | **PUT** /apps/{name}/environments/{environment} | Update app environment *DefaultApi* | [**update_catalog**](docs/DefaultApi.md#update_catalog) | **PUT** /catalogs/{name} | Update catalog *DefaultApi* | [**update_email_preferences**](docs/DefaultApi.md#update_email_preferences) | **PUT** /user/email-preferences | Update email preferences *DefaultApi* | [**update_environment**](docs/DefaultApi.md#update_environment) | **PUT** /environments/{name} | Update environment *DefaultApi* | [**update_my_team_invitation**](docs/DefaultApi.md#update_my_team_invitation) | **PUT** /team-invites | Update my team invitation *DefaultApi* | [**update_organization**](docs/DefaultApi.md#update_organization) | **PUT** /organizations/{name} | Update organization -*DefaultApi* | [**update_password_reset**](docs/DefaultApi.md#update_password_reset) | **POST** /accounts/password-reset/{code} | Update password reset *DefaultApi* | [**update_plan**](docs/DefaultApi.md#update_plan) | **PUT** /plan | Update plan *DefaultApi* | [**update_schedule**](docs/DefaultApi.md#update_schedule) | **PUT** /schedules/{idOrName} | Update schedule *DefaultApi* | [**update_secret**](docs/DefaultApi.md#update_secret) | **PUT** /secrets/{name} | Update secret @@ -130,7 +125,6 @@ Class | Method | HTTP request | Description *DefaultApi* | [**update_team_member**](docs/DefaultApi.md#update_team_member) | **PUT** /teams/{name}/members | Update team member *DefaultApi* | [**update_user**](docs/DefaultApi.md#update_user) | **PUT** /user | Update user profile *DefaultApi* | [**update_webhook**](docs/DefaultApi.md#update_webhook) | **PUT** /webhooks/{name} | Update webhook -*DefaultApi* | [**verify_email**](docs/DefaultApi.md#verify_email) | **POST** /user/verify | Verify email *FeatureFlagsApi* | [**get_feature_flag_value**](docs/FeatureFlagsApi.md#get_feature_flag_value) | **GET** /feature-flags/{key} | Get feature flag value @@ -160,8 +154,6 @@ Class | Method | HTTP request | Description - [CreateApiKeyResponse](docs/CreateApiKeyResponse.md) - [CreateAppParams](docs/CreateAppParams.md) - [CreateAppResponse](docs/CreateAppResponse.md) - - [CreateAuthenticatorParams](docs/CreateAuthenticatorParams.md) - - [CreateAuthenticatorResponse](docs/CreateAuthenticatorResponse.md) - [CreateCatalogParams](docs/CreateCatalogParams.md) - [CreateCatalogResponse](docs/CreateCatalogResponse.md) - [CreateDeviceLoginTicketResponse](docs/CreateDeviceLoginTicketResponse.md) @@ -169,8 +161,6 @@ Class | Method | HTTP request | Description - [CreateEnvironmentResponse](docs/CreateEnvironmentResponse.md) - [CreateGuestParams](docs/CreateGuestParams.md) - [CreateGuestResponse](docs/CreateGuestResponse.md) - - [CreatePasswordResetParams](docs/CreatePasswordResetParams.md) - - [CreatePasswordResetResponse](docs/CreatePasswordResetResponse.md) - [CreateSandboxSecretsParams](docs/CreateSandboxSecretsParams.md) - [CreateSandboxSecretsResponse](docs/CreateSandboxSecretsResponse.md) - [CreateScheduleParams](docs/CreateScheduleParams.md) @@ -186,8 +176,6 @@ Class | Method | HTTP request | Description - [DeleteApiKeyParams](docs/DeleteApiKeyParams.md) - [DeleteApiKeyResponse](docs/DeleteApiKeyResponse.md) - [DeleteAppResponse](docs/DeleteAppResponse.md) - - [DeleteAuthenticatorParams](docs/DeleteAuthenticatorParams.md) - - [DeleteAuthenticatorResponse](docs/DeleteAuthenticatorResponse.md) - [DeleteCatalogResponse](docs/DeleteCatalogResponse.md) - [DeleteGuestOutputBody](docs/DeleteGuestOutputBody.md) - [DeleteScheduleParams](docs/DeleteScheduleParams.md) @@ -238,7 +226,7 @@ Class | Method | HTTP request | Description - [Feature](docs/Feature.md) - [FeaturebaseIdentity](docs/FeaturebaseIdentity.md) - [GenerateAppStatisticsResponse](docs/GenerateAppStatisticsResponse.md) - - [GenerateAuthenticatorResponse](docs/GenerateAuthenticatorResponse.md) + - [GenerateOrganizationUsageTimeSeriesResponse](docs/GenerateOrganizationUsageTimeSeriesResponse.md) - [GenerateRunStatisticsResponse](docs/GenerateRunStatisticsResponse.md) - [GenerateRunnerCredentialsResponse](docs/GenerateRunnerCredentialsResponse.md) - [GetFeatureFlagResponseBody](docs/GetFeatureFlagResponseBody.md) @@ -251,7 +239,6 @@ Class | Method | HTTP request | Description - [ListAppEnvironmentsResponse](docs/ListAppEnvironmentsResponse.md) - [ListAppVersionsResponse](docs/ListAppVersionsResponse.md) - [ListAppsResponse](docs/ListAppsResponse.md) - - [ListAuthenticatorsResponse](docs/ListAuthenticatorsResponse.md) - [ListCatalogsResponse](docs/ListCatalogsResponse.md) - [ListEnvironmentsResponse](docs/ListEnvironmentsResponse.md) - [ListGuestsResponse](docs/ListGuestsResponse.md) @@ -313,9 +300,10 @@ Class | Method | HTTP request | Description - [TeamMembership](docs/TeamMembership.md) - [TestWebhookResponse](docs/TestWebhookResponse.md) - [Token](docs/Token.md) - - [UnverifiedAuthenticator](docs/UnverifiedAuthenticator.md) - [UpdateAccountParams](docs/UpdateAccountParams.md) - [UpdateAccountResponse](docs/UpdateAccountResponse.md) + - [UpdateAppEnvironmentParams](docs/UpdateAppEnvironmentParams.md) + - [UpdateAppEnvironmentResponse](docs/UpdateAppEnvironmentResponse.md) - [UpdateAppParams](docs/UpdateAppParams.md) - [UpdateAppResponse](docs/UpdateAppResponse.md) - [UpdateCatalogParams](docs/UpdateCatalogParams.md) @@ -327,8 +315,6 @@ Class | Method | HTTP request | Description - [UpdateMyTeamInvitationResponse](docs/UpdateMyTeamInvitationResponse.md) - [UpdateOrganizationParams](docs/UpdateOrganizationParams.md) - [UpdateOrganizationResponse](docs/UpdateOrganizationResponse.md) - - [UpdatePasswordResetParams](docs/UpdatePasswordResetParams.md) - - [UpdatePasswordResetResponse](docs/UpdatePasswordResetResponse.md) - [UpdatePlanParams](docs/UpdatePlanParams.md) - [UpdatePlanResponse](docs/UpdatePlanResponse.md) - [UpdateScheduleParams](docs/UpdateScheduleParams.md) @@ -344,10 +330,8 @@ Class | Method | HTTP request | Description - [UpdateWebhookParams](docs/UpdateWebhookParams.md) - [UpdateWebhookResponse](docs/UpdateWebhookResponse.md) - [UsageLimit](docs/UsageLimit.md) + - [UsageMetricTimeSeriesPoint](docs/UsageMetricTimeSeriesPoint.md) - [User](docs/User.md) - - [VerifiedAuthenticator](docs/VerifiedAuthenticator.md) - - [VerifyEmailParams](docs/VerifyEmailParams.md) - - [VerifyEmailResponse](docs/VerifyEmailResponse.md) - [Webhook](docs/Webhook.md) diff --git a/crates/tower-api/src/apis/configuration.rs b/crates/tower-api/src/apis/configuration.rs index 2fb4a64e..8c0cc1d9 100644 --- a/crates/tower-api/src/apis/configuration.rs +++ b/crates/tower-api/src/apis/configuration.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/apis/default_api.rs b/crates/tower-api/src/apis/default_api.rs index d80db99c..3b081631 100644 --- a/crates/tower-api/src/apis/default_api.rs +++ b/crates/tower-api/src/apis/default_api.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ @@ -67,12 +67,6 @@ pub struct CreateAppParams { pub create_app_params: models::CreateAppParams, } -/// struct for passing parameters to the method [`create_authenticator`] -#[derive(Clone, Debug)] -pub struct CreateAuthenticatorParams { - pub create_authenticator_params: models::CreateAuthenticatorParams, -} - /// struct for passing parameters to the method [`create_catalog`] #[derive(Clone, Debug)] pub struct CreateCatalogParams { @@ -91,12 +85,6 @@ pub struct CreateGuestParams { pub create_guest_params: models::CreateGuestParams, } -/// struct for passing parameters to the method [`create_password_reset`] -#[derive(Clone, Debug)] -pub struct CreatePasswordResetParams { - pub create_password_reset_params: models::CreatePasswordResetParams, -} - /// struct for passing parameters to the method [`create_sandbox_secrets`] #[derive(Clone, Debug)] pub struct CreateSandboxSecretsParams { @@ -159,12 +147,6 @@ pub struct DeleteAppParams { pub name: String, } -/// struct for passing parameters to the method [`delete_authenticator`] -#[derive(Clone, Debug)] -pub struct DeleteAuthenticatorParams { - pub delete_authenticator_params: models::DeleteAuthenticatorParams, -} - /// struct for passing parameters to the method [`delete_catalog`] #[derive(Clone, Debug)] pub struct DeleteCatalogParams { @@ -234,6 +216,10 @@ pub struct DeployAppParams { pub x_tower_checksum_sha256: Option, /// Size of the uploaded bundle in bytes. pub content_length: Option, + /// The environment to deploy to. + pub environment: Option, + /// Whether to deploy to all environments for this app. If true, the 'environment' query parameter is ignored. + pub all_environments: Option, } /// struct for passing parameters to the method [`describe_account`] @@ -256,6 +242,8 @@ pub struct DescribeAppParams { pub end_at: Option, /// Timezone for the statistics (e.g., 'Europe/Berlin'). Defaults to UTC. pub timezone: Option, + /// The environment to resolve the app version against. Defaults to 'default'. + pub environment: Option, } /// struct for passing parameters to the method [`describe_app_version`] @@ -645,6 +633,16 @@ pub struct UpdateAppParams { pub update_app_params: models::UpdateAppParams, } +/// struct for passing parameters to the method [`update_app_environment`] +#[derive(Clone, Debug)] +pub struct UpdateAppEnvironmentParams { + /// The name of the app. + pub name: String, + /// The name of the environment. + pub environment: String, + pub update_app_environment_params: models::UpdateAppEnvironmentParams, +} + /// struct for passing parameters to the method [`update_catalog`] #[derive(Clone, Debug)] pub struct UpdateCatalogParams { @@ -681,14 +679,6 @@ pub struct UpdateOrganizationParams { pub update_organization_params: models::UpdateOrganizationParams, } -/// struct for passing parameters to the method [`update_password_reset`] -#[derive(Clone, Debug)] -pub struct UpdatePasswordResetParams { - /// The password reset code that was sent to you - pub code: String, - pub update_password_reset_params: models::UpdatePasswordResetParams, -} - /// struct for passing parameters to the method [`update_plan`] #[derive(Clone, Debug)] pub struct UpdatePlanParams { @@ -740,12 +730,6 @@ pub struct UpdateWebhookParams { pub update_webhook_params: models::UpdateWebhookParams, } -/// struct for passing parameters to the method [`verify_email`] -#[derive(Clone, Debug)] -pub struct VerifyEmailParams { - pub verify_email_params: models::VerifyEmailParams, -} - /// struct for typed successes of method [`acknowledge_alert`] #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(untagged)] @@ -818,14 +802,6 @@ pub enum CreateAppSuccess { UnknownValue(serde_json::Value), } -/// struct for typed successes of method [`create_authenticator`] -#[derive(Debug, Clone, Serialize, Deserialize)] -#[serde(untagged)] -pub enum CreateAuthenticatorSuccess { - Status200(models::CreateAuthenticatorResponse), - UnknownValue(serde_json::Value), -} - /// struct for typed successes of method [`create_catalog`] #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(untagged)] @@ -858,14 +834,6 @@ pub enum CreateGuestSuccess { UnknownValue(serde_json::Value), } -/// struct for typed successes of method [`create_password_reset`] -#[derive(Debug, Clone, Serialize, Deserialize)] -#[serde(untagged)] -pub enum CreatePasswordResetSuccess { - Status200(models::CreatePasswordResetResponse), - UnknownValue(serde_json::Value), -} - /// struct for typed successes of method [`create_sandbox_secrets`] #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(untagged)] @@ -946,14 +914,6 @@ pub enum DeleteAppSuccess { UnknownValue(serde_json::Value), } -/// struct for typed successes of method [`delete_authenticator`] -#[derive(Debug, Clone, Serialize, Deserialize)] -#[serde(untagged)] -pub enum DeleteAuthenticatorSuccess { - Status200(models::DeleteAuthenticatorResponse), - UnknownValue(serde_json::Value), -} - /// struct for typed successes of method [`delete_catalog`] #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(untagged)] @@ -1178,11 +1138,11 @@ pub enum GenerateAppStatisticsSuccess { UnknownValue(serde_json::Value), } -/// struct for typed successes of method [`generate_authenticator`] +/// struct for typed successes of method [`generate_organization_usage_time_series`] #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(untagged)] -pub enum GenerateAuthenticatorSuccess { - Status200(models::GenerateAuthenticatorResponse), +pub enum GenerateOrganizationUsageTimeSeriesSuccess { + Status200(models::GenerateOrganizationUsageTimeSeriesResponse), UnknownValue(serde_json::Value), } @@ -1258,14 +1218,6 @@ pub enum ListAppsSuccess { UnknownValue(serde_json::Value), } -/// struct for typed successes of method [`list_authenticators`] -#[derive(Debug, Clone, Serialize, Deserialize)] -#[serde(untagged)] -pub enum ListAuthenticatorsSuccess { - Status200(models::ListAuthenticatorsResponse), - UnknownValue(serde_json::Value), -} - /// struct for typed successes of method [`list_catalogs`] #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(untagged)] @@ -1394,14 +1346,6 @@ pub enum RemoveTeamMemberSuccess { UnknownValue(serde_json::Value), } -/// struct for typed successes of method [`resend_email_verification`] -#[derive(Debug, Clone, Serialize, Deserialize)] -#[serde(untagged)] -pub enum ResendEmailVerificationSuccess { - Status204(), - UnknownValue(serde_json::Value), -} - /// struct for typed successes of method [`resend_team_invitation`] #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(untagged)] @@ -1466,6 +1410,14 @@ pub enum UpdateAppSuccess { UnknownValue(serde_json::Value), } +/// struct for typed successes of method [`update_app_environment`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum UpdateAppEnvironmentSuccess { + Status200(models::UpdateAppEnvironmentResponse), + UnknownValue(serde_json::Value), +} + /// struct for typed successes of method [`update_catalog`] #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(untagged)] @@ -1506,14 +1458,6 @@ pub enum UpdateOrganizationSuccess { UnknownValue(serde_json::Value), } -/// struct for typed successes of method [`update_password_reset`] -#[derive(Debug, Clone, Serialize, Deserialize)] -#[serde(untagged)] -pub enum UpdatePasswordResetSuccess { - Status200(models::UpdatePasswordResetResponse), - UnknownValue(serde_json::Value), -} - /// struct for typed successes of method [`update_plan`] #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(untagged)] @@ -1570,14 +1514,6 @@ pub enum UpdateWebhookSuccess { UnknownValue(serde_json::Value), } -/// struct for typed successes of method [`verify_email`] -#[derive(Debug, Clone, Serialize, Deserialize)] -#[serde(untagged)] -pub enum VerifyEmailSuccess { - Status200(models::VerifyEmailResponse), - UnknownValue(serde_json::Value), -} - /// struct for typed errors of method [`acknowledge_alert`] #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(untagged)] @@ -1650,14 +1586,6 @@ pub enum CreateAppError { UnknownValue(serde_json::Value), } -/// struct for typed errors of method [`create_authenticator`] -#[derive(Debug, Clone, Serialize, Deserialize)] -#[serde(untagged)] -pub enum CreateAuthenticatorError { - DefaultResponse(models::ErrorModel), - UnknownValue(serde_json::Value), -} - /// struct for typed errors of method [`create_catalog`] #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(untagged)] @@ -1690,14 +1618,6 @@ pub enum CreateGuestError { UnknownValue(serde_json::Value), } -/// struct for typed errors of method [`create_password_reset`] -#[derive(Debug, Clone, Serialize, Deserialize)] -#[serde(untagged)] -pub enum CreatePasswordResetError { - DefaultResponse(models::ErrorModel), - UnknownValue(serde_json::Value), -} - /// struct for typed errors of method [`create_sandbox_secrets`] #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(untagged)] @@ -1781,14 +1701,6 @@ pub enum DeleteAppError { UnknownValue(serde_json::Value), } -/// struct for typed errors of method [`delete_authenticator`] -#[derive(Debug, Clone, Serialize, Deserialize)] -#[serde(untagged)] -pub enum DeleteAuthenticatorError { - DefaultResponse(models::ErrorModel), - UnknownValue(serde_json::Value), -} - /// struct for typed errors of method [`delete_catalog`] #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(untagged)] @@ -2017,10 +1929,10 @@ pub enum GenerateAppStatisticsError { UnknownValue(serde_json::Value), } -/// struct for typed errors of method [`generate_authenticator`] +/// struct for typed errors of method [`generate_organization_usage_time_series`] #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(untagged)] -pub enum GenerateAuthenticatorError { +pub enum GenerateOrganizationUsageTimeSeriesError { DefaultResponse(models::ErrorModel), UnknownValue(serde_json::Value), } @@ -2097,14 +2009,6 @@ pub enum ListAppsError { UnknownValue(serde_json::Value), } -/// struct for typed errors of method [`list_authenticators`] -#[derive(Debug, Clone, Serialize, Deserialize)] -#[serde(untagged)] -pub enum ListAuthenticatorsError { - DefaultResponse(models::ErrorModel), - UnknownValue(serde_json::Value), -} - /// struct for typed errors of method [`list_catalogs`] #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(untagged)] @@ -2233,14 +2137,6 @@ pub enum RemoveTeamMemberError { UnknownValue(serde_json::Value), } -/// struct for typed errors of method [`resend_email_verification`] -#[derive(Debug, Clone, Serialize, Deserialize)] -#[serde(untagged)] -pub enum ResendEmailVerificationError { - DefaultResponse(models::ErrorModel), - UnknownValue(serde_json::Value), -} - /// struct for typed errors of method [`resend_team_invitation`] #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(untagged)] @@ -2305,6 +2201,14 @@ pub enum UpdateAppError { UnknownValue(serde_json::Value), } +/// struct for typed errors of method [`update_app_environment`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum UpdateAppEnvironmentError { + DefaultResponse(models::ErrorModel), + UnknownValue(serde_json::Value), +} + /// struct for typed errors of method [`update_catalog`] #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(untagged)] @@ -2351,14 +2255,6 @@ pub enum UpdateOrganizationError { UnknownValue(serde_json::Value), } -/// struct for typed errors of method [`update_password_reset`] -#[derive(Debug, Clone, Serialize, Deserialize)] -#[serde(untagged)] -pub enum UpdatePasswordResetError { - DefaultResponse(models::ErrorModel), - UnknownValue(serde_json::Value), -} - /// struct for typed errors of method [`update_plan`] #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(untagged)] @@ -2415,14 +2311,6 @@ pub enum UpdateWebhookError { UnknownValue(serde_json::Value), } -/// struct for typed errors of method [`verify_email`] -#[derive(Debug, Clone, Serialize, Deserialize)] -#[serde(untagged)] -pub enum VerifyEmailError { - DefaultResponse(models::ErrorModel), - UnknownValue(serde_json::Value), -} - /// Mark an alert as acknowledged pub async fn acknowledge_alert( configuration: &configuration::Configuration, @@ -2940,64 +2828,6 @@ pub async fn create_app( } } -/// Associates an authenticator with your account, where the authenticator is identified by the URL with an otpauth URI scheme. -pub async fn create_authenticator( - configuration: &configuration::Configuration, - params: CreateAuthenticatorParams, -) -> Result, Error> { - let uri_str = format!("{}/authenticators", configuration.base_path); - let mut req_builder = configuration - .client - .request(reqwest::Method::POST, &uri_str); - - if let Some(ref user_agent) = configuration.user_agent { - req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); - } - if let Some(ref token) = configuration.bearer_access_token { - req_builder = req_builder.bearer_auth(token.to_owned()); - }; - if let Some(ref apikey) = configuration.api_key { - let key = apikey.key.clone(); - let value = match apikey.prefix { - Some(ref prefix) => format!("{} {}", prefix, key), - None => key, - }; - req_builder = req_builder.header("X-API-Key", value); - }; - req_builder = req_builder.json(¶ms.create_authenticator_params); - - let req = req_builder.build()?; - let resp = configuration.client.execute(req).await?; - - let status = resp.status(); - - let tower_trace_id = resp - .headers() - .get("x-tower-trace-id") - .and_then(|v| v.to_str().ok()) - .map_or(String::from(DEFAULT_TOWER_TRACE_ID), String::from); - - if !status.is_client_error() && !status.is_server_error() { - let content = resp.text().await?; - let entity: Option = serde_json::from_str(&content).ok(); - Ok(ResponseContent { - tower_trace_id, - status, - content, - entity, - }) - } else { - let content = resp.text().await?; - let entity: Option = serde_json::from_str(&content).ok(); - Err(Error::ResponseError(ResponseContent { - tower_trace_id, - status, - content, - entity, - })) - } -} - /// Create a new catalog object in the currently authenticated account. pub async fn create_catalog( configuration: &configuration::Configuration, @@ -3215,53 +3045,6 @@ pub async fn create_guest( } } -/// Starts the password reset process for an account. If an email address exists for the account supplied, you will get a reset password email. -pub async fn create_password_reset( - configuration: &configuration::Configuration, - params: CreatePasswordResetParams, -) -> Result, Error> { - let uri_str = format!("{}/accounts/password-reset", configuration.base_path); - let mut req_builder = configuration - .client - .request(reqwest::Method::POST, &uri_str); - - if let Some(ref user_agent) = configuration.user_agent { - req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); - } - req_builder = req_builder.json(¶ms.create_password_reset_params); - - let req = req_builder.build()?; - let resp = configuration.client.execute(req).await?; - - let status = resp.status(); - - let tower_trace_id = resp - .headers() - .get("x-tower-trace-id") - .and_then(|v| v.to_str().ok()) - .map_or(String::from(DEFAULT_TOWER_TRACE_ID), String::from); - - if !status.is_client_error() && !status.is_server_error() { - let content = resp.text().await?; - let entity: Option = serde_json::from_str(&content).ok(); - Ok(ResponseContent { - tower_trace_id, - status, - content, - entity, - }) - } else { - let content = resp.text().await?; - let entity: Option = serde_json::from_str(&content).ok(); - Err(Error::ResponseError(ResponseContent { - tower_trace_id, - status, - content, - entity, - })) - } -} - /// Creates secrets with Tower-provided default values for the specified keys in the given environment. pub async fn create_sandbox_secrets( configuration: &configuration::Configuration, @@ -3835,64 +3618,6 @@ pub async fn delete_app( } } -/// Removes an authenticator from your account so you're no longer required to provide it at login. -pub async fn delete_authenticator( - configuration: &configuration::Configuration, - params: DeleteAuthenticatorParams, -) -> Result, Error> { - let uri_str = format!("{}/authenticators", configuration.base_path); - let mut req_builder = configuration - .client - .request(reqwest::Method::DELETE, &uri_str); - - if let Some(ref user_agent) = configuration.user_agent { - req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); - } - if let Some(ref token) = configuration.bearer_access_token { - req_builder = req_builder.bearer_auth(token.to_owned()); - }; - if let Some(ref apikey) = configuration.api_key { - let key = apikey.key.clone(); - let value = match apikey.prefix { - Some(ref prefix) => format!("{} {}", prefix, key), - None => key, - }; - req_builder = req_builder.header("X-API-Key", value); - }; - req_builder = req_builder.json(¶ms.delete_authenticator_params); - - let req = req_builder.build()?; - let resp = configuration.client.execute(req).await?; - - let status = resp.status(); - - let tower_trace_id = resp - .headers() - .get("x-tower-trace-id") - .and_then(|v| v.to_str().ok()) - .map_or(String::from(DEFAULT_TOWER_TRACE_ID), String::from); - - if !status.is_client_error() && !status.is_server_error() { - let content = resp.text().await?; - let entity: Option = serde_json::from_str(&content).ok(); - Ok(ResponseContent { - tower_trace_id, - status, - content, - entity, - }) - } else { - let content = resp.text().await?; - let entity: Option = serde_json::from_str(&content).ok(); - Err(Error::ResponseError(ResponseContent { - tower_trace_id, - status, - content, - entity, - })) - } -} - /// Delete a new catalog object in the currently authenticated account. pub async fn delete_catalog( configuration: &configuration::Configuration, @@ -4392,6 +4117,12 @@ pub async fn deploy_app( .client .request(reqwest::Method::POST, &uri_str); + if let Some(ref param_value) = params.environment { + req_builder = req_builder.query(&[("environment", ¶m_value.to_string())]); + } + if let Some(ref param_value) = params.all_environments { + req_builder = req_builder.query(&[("all_environments", ¶m_value.to_string())]); + } if let Some(ref user_agent) = configuration.user_agent { req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); } @@ -4529,6 +4260,9 @@ pub async fn describe_app( if let Some(ref param_value) = params.timezone { req_builder = req_builder.query(&[("timezone", ¶m_value.to_string())]); } + if let Some(ref param_value) = params.environment { + req_builder = req_builder.query(&[("environment", ¶m_value.to_string())]); + } if let Some(ref user_agent) = configuration.user_agent { req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); } @@ -4863,7 +4597,7 @@ pub async fn describe_email_preferences( } } -/// Describe usage statistics for the user's organization. +/// Describe usage statistics for the user's organization for the current billing cycle. pub async fn describe_organization_usage( configuration: &configuration::Configuration, ) -> Result, Error> @@ -5565,14 +5299,15 @@ pub async fn generate_app_statistics( } } -/// Generates a new authenticator for the user. This is used to set up two-factor authentication. -pub async fn generate_authenticator( +/// Get the current billing cycle usage as a time series. +pub async fn generate_organization_usage_time_series( configuration: &configuration::Configuration, -) -> Result, Error> { - let uri_str = format!("{}/authenticators/generate", configuration.base_path); - let mut req_builder = configuration - .client - .request(reqwest::Method::POST, &uri_str); +) -> Result< + ResponseContent, + Error, +> { + let uri_str = format!("{}/usage/time-series", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); if let Some(ref user_agent) = configuration.user_agent { req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); @@ -5602,7 +5337,8 @@ pub async fn generate_authenticator( if !status.is_client_error() && !status.is_server_error() { let content = resp.text().await?; - let entity: Option = serde_json::from_str(&content).ok(); + let entity: Option = + serde_json::from_str(&content).ok(); Ok(ResponseContent { tower_trace_id, status, @@ -5611,7 +5347,8 @@ pub async fn generate_authenticator( }) } else { let content = resp.text().await?; - let entity: Option = serde_json::from_str(&content).ok(); + let entity: Option = + serde_json::from_str(&content).ok(); Err(Error::ResponseError(ResponseContent { tower_trace_id, status, @@ -6214,60 +5951,6 @@ pub async fn list_apps( } } -/// Enumerates the authenticators associated with the current users' account -pub async fn list_authenticators( - configuration: &configuration::Configuration, -) -> Result, Error> { - let uri_str = format!("{}/authenticators", configuration.base_path); - let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); - - if let Some(ref user_agent) = configuration.user_agent { - req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); - } - if let Some(ref token) = configuration.bearer_access_token { - req_builder = req_builder.bearer_auth(token.to_owned()); - }; - if let Some(ref apikey) = configuration.api_key { - let key = apikey.key.clone(); - let value = match apikey.prefix { - Some(ref prefix) => format!("{} {}", prefix, key), - None => key, - }; - req_builder = req_builder.header("X-API-Key", value); - }; - - let req = req_builder.build()?; - let resp = configuration.client.execute(req).await?; - - let status = resp.status(); - - let tower_trace_id = resp - .headers() - .get("x-tower-trace-id") - .and_then(|v| v.to_str().ok()) - .map_or(String::from(DEFAULT_TOWER_TRACE_ID), String::from); - - if !status.is_client_error() && !status.is_server_error() { - let content = resp.text().await?; - let entity: Option = serde_json::from_str(&content).ok(); - Ok(ResponseContent { - tower_trace_id, - status, - content, - entity, - }) - } else { - let content = resp.text().await?; - let entity: Option = serde_json::from_str(&content).ok(); - Err(Error::ResponseError(ResponseContent { - tower_trace_id, - status, - content, - entity, - })) - } -} - /// Lists all the catalogs associated with your current account. pub async fn list_catalogs( configuration: &configuration::Configuration, @@ -7267,62 +6950,6 @@ pub async fn remove_team_member( } } -/// If a user doesn't have a verified email address, this API endpoint will send a new confirmation email to them -pub async fn resend_email_verification( - configuration: &configuration::Configuration, -) -> Result, Error> { - let uri_str = format!("{}/user/resend-verification", configuration.base_path); - let mut req_builder = configuration - .client - .request(reqwest::Method::POST, &uri_str); - - if let Some(ref user_agent) = configuration.user_agent { - req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); - } - if let Some(ref token) = configuration.bearer_access_token { - req_builder = req_builder.bearer_auth(token.to_owned()); - }; - if let Some(ref apikey) = configuration.api_key { - let key = apikey.key.clone(); - let value = match apikey.prefix { - Some(ref prefix) => format!("{} {}", prefix, key), - None => key, - }; - req_builder = req_builder.header("X-API-Key", value); - }; - - let req = req_builder.build()?; - let resp = configuration.client.execute(req).await?; - - let status = resp.status(); - - let tower_trace_id = resp - .headers() - .get("x-tower-trace-id") - .and_then(|v| v.to_str().ok()) - .map_or(String::from(DEFAULT_TOWER_TRACE_ID), String::from); - - if !status.is_client_error() && !status.is_server_error() { - let content = resp.text().await?; - let entity: Option = serde_json::from_str(&content).ok(); - Ok(ResponseContent { - tower_trace_id, - status, - content, - entity, - }) - } else { - let content = resp.text().await?; - let entity: Option = serde_json::from_str(&content).ok(); - Err(Error::ResponseError(ResponseContent { - tower_trace_id, - status, - content, - entity, - })) - } -} - /// Resend a team invitation to a user if they need a reminder or if they lost it pub async fn resend_team_invitation( configuration: &configuration::Configuration, @@ -7824,6 +7451,67 @@ pub async fn update_app( } } +/// Update the configuration of an app in a specific environment, such as which version is deployed. +pub async fn update_app_environment( + configuration: &configuration::Configuration, + params: UpdateAppEnvironmentParams, +) -> Result, Error> { + let uri_str = format!( + "{}/apps/{name}/environments/{environment}", + configuration.base_path, + name = crate::apis::urlencode(params.name), + environment = crate::apis::urlencode(params.environment) + ); + let mut req_builder = configuration.client.request(reqwest::Method::PUT, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref apikey) = configuration.api_key { + let key = apikey.key.clone(); + let value = match apikey.prefix { + Some(ref prefix) => format!("{} {}", prefix, key), + None => key, + }; + req_builder = req_builder.header("X-API-Key", value); + }; + req_builder = req_builder.json(¶ms.update_app_environment_params); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + + let tower_trace_id = resp + .headers() + .get("x-tower-trace-id") + .and_then(|v| v.to_str().ok()) + .map_or(String::from(DEFAULT_TOWER_TRACE_ID), String::from); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Ok(ResponseContent { + tower_trace_id, + status, + content, + entity, + }) + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { + tower_trace_id, + status, + content, + entity, + })) + } +} + /// Update a new catalog object in the currently authenticated account. pub async fn update_catalog( configuration: &configuration::Configuration, @@ -8116,57 +7804,6 @@ pub async fn update_organization( } } -/// Updates the password reset code with the new password -pub async fn update_password_reset( - configuration: &configuration::Configuration, - params: UpdatePasswordResetParams, -) -> Result, Error> { - let uri_str = format!( - "{}/accounts/password-reset/{code}", - configuration.base_path, - code = crate::apis::urlencode(params.code) - ); - let mut req_builder = configuration - .client - .request(reqwest::Method::POST, &uri_str); - - if let Some(ref user_agent) = configuration.user_agent { - req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); - } - req_builder = req_builder.json(¶ms.update_password_reset_params); - - let req = req_builder.build()?; - let resp = configuration.client.execute(req).await?; - - let status = resp.status(); - - let tower_trace_id = resp - .headers() - .get("x-tower-trace-id") - .and_then(|v| v.to_str().ok()) - .map_or(String::from(DEFAULT_TOWER_TRACE_ID), String::from); - - if !status.is_client_error() && !status.is_server_error() { - let content = resp.text().await?; - let entity: Option = serde_json::from_str(&content).ok(); - Ok(ResponseContent { - tower_trace_id, - status, - content, - entity, - }) - } else { - let content = resp.text().await?; - let entity: Option = serde_json::from_str(&content).ok(); - Err(Error::ResponseError(ResponseContent { - tower_trace_id, - status, - content, - entity, - })) - } -} - pub async fn update_plan( configuration: &configuration::Configuration, params: UpdatePlanParams, @@ -8576,61 +8213,3 @@ pub async fn update_webhook( })) } } - -/// If the user hasn't verified their email address, this API endpoint allows them to send a confirmation token they received via email to indeed verify they can receive emails. -pub async fn verify_email( - configuration: &configuration::Configuration, - params: VerifyEmailParams, -) -> Result, Error> { - let uri_str = format!("{}/user/verify", configuration.base_path); - let mut req_builder = configuration - .client - .request(reqwest::Method::POST, &uri_str); - - if let Some(ref user_agent) = configuration.user_agent { - req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); - } - if let Some(ref token) = configuration.bearer_access_token { - req_builder = req_builder.bearer_auth(token.to_owned()); - }; - if let Some(ref apikey) = configuration.api_key { - let key = apikey.key.clone(); - let value = match apikey.prefix { - Some(ref prefix) => format!("{} {}", prefix, key), - None => key, - }; - req_builder = req_builder.header("X-API-Key", value); - }; - req_builder = req_builder.json(¶ms.verify_email_params); - - let req = req_builder.build()?; - let resp = configuration.client.execute(req).await?; - - let status = resp.status(); - - let tower_trace_id = resp - .headers() - .get("x-tower-trace-id") - .and_then(|v| v.to_str().ok()) - .map_or(String::from(DEFAULT_TOWER_TRACE_ID), String::from); - - if !status.is_client_error() && !status.is_server_error() { - let content = resp.text().await?; - let entity: Option = serde_json::from_str(&content).ok(); - Ok(ResponseContent { - tower_trace_id, - status, - content, - entity, - }) - } else { - let content = resp.text().await?; - let entity: Option = serde_json::from_str(&content).ok(); - Err(Error::ResponseError(ResponseContent { - tower_trace_id, - status, - content, - entity, - })) - } -} diff --git a/crates/tower-api/src/apis/feature_flags_api.rs b/crates/tower-api/src/apis/feature_flags_api.rs index df1a7e95..1e9a0237 100644 --- a/crates/tower-api/src/apis/feature_flags_api.rs +++ b/crates/tower-api/src/apis/feature_flags_api.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/account.rs b/crates/tower-api/src/models/account.rs index 6bc16d2f..116672a5 100644 --- a/crates/tower-api/src/models/account.rs +++ b/crates/tower-api/src/models/account.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/acknowledge_alert_response.rs b/crates/tower-api/src/models/acknowledge_alert_response.rs index 69a4d41e..3cf58938 100644 --- a/crates/tower-api/src/models/acknowledge_alert_response.rs +++ b/crates/tower-api/src/models/acknowledge_alert_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/acknowledge_all_alerts_response.rs b/crates/tower-api/src/models/acknowledge_all_alerts_response.rs index 0d7abb66..91060002 100644 --- a/crates/tower-api/src/models/acknowledge_all_alerts_response.rs +++ b/crates/tower-api/src/models/acknowledge_all_alerts_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/alert.rs b/crates/tower-api/src/models/alert.rs index 1d0a28f6..16e47b0c 100644 --- a/crates/tower-api/src/models/alert.rs +++ b/crates/tower-api/src/models/alert.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/api_key.rs b/crates/tower-api/src/models/api_key.rs index a6ef1419..1f112ff5 100644 --- a/crates/tower-api/src/models/api_key.rs +++ b/crates/tower-api/src/models/api_key.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/app.rs b/crates/tower-api/src/models/app.rs index e13daf09..abbc4c54 100644 --- a/crates/tower-api/src/models/app.rs +++ b/crates/tower-api/src/models/app.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/app_statistics.rs b/crates/tower-api/src/models/app_statistics.rs index ea5e9193..f2d9c680 100644 --- a/crates/tower-api/src/models/app_statistics.rs +++ b/crates/tower-api/src/models/app_statistics.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/app_summary.rs b/crates/tower-api/src/models/app_summary.rs index 1cc996c9..a2eb79df 100644 --- a/crates/tower-api/src/models/app_summary.rs +++ b/crates/tower-api/src/models/app_summary.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/app_version.rs b/crates/tower-api/src/models/app_version.rs index 7fed8482..d1262e21 100644 --- a/crates/tower-api/src/models/app_version.rs +++ b/crates/tower-api/src/models/app_version.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/authentication_context.rs b/crates/tower-api/src/models/authentication_context.rs index db0ea04f..ba6f7a8b 100644 --- a/crates/tower-api/src/models/authentication_context.rs +++ b/crates/tower-api/src/models/authentication_context.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/batch_schedule_params.rs b/crates/tower-api/src/models/batch_schedule_params.rs index 6283b874..54d803d5 100644 --- a/crates/tower-api/src/models/batch_schedule_params.rs +++ b/crates/tower-api/src/models/batch_schedule_params.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/batch_schedule_response.rs b/crates/tower-api/src/models/batch_schedule_response.rs index 3bbfeb99..95604266 100644 --- a/crates/tower-api/src/models/batch_schedule_response.rs +++ b/crates/tower-api/src/models/batch_schedule_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/cancel_run_response.rs b/crates/tower-api/src/models/cancel_run_response.rs index 49769543..07da93b7 100644 --- a/crates/tower-api/src/models/cancel_run_response.rs +++ b/crates/tower-api/src/models/cancel_run_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ @@ -17,13 +17,21 @@ pub struct CancelRunResponse { /// A URL to the JSON Schema for this object. #[serde(rename = "$schema", skip_serializing_if = "Option::is_none")] pub schema: Option, + /// Number of descendant runs that were also cancelled as part of this cascade. + #[serde_as(as = "DefaultOnNull")] + #[serde(rename = "cancelled_child_runs")] + pub cancelled_child_runs: i64, #[serde_as(as = "DefaultOnNull")] #[serde(rename = "run")] pub run: models::Run, } impl CancelRunResponse { - pub fn new(run: models::Run) -> CancelRunResponse { - CancelRunResponse { schema: None, run } + pub fn new(cancelled_child_runs: i64, run: models::Run) -> CancelRunResponse { + CancelRunResponse { + schema: None, + cancelled_child_runs, + run, + } } } diff --git a/crates/tower-api/src/models/catalog.rs b/crates/tower-api/src/models/catalog.rs index 47c54003..cfc5944f 100644 --- a/crates/tower-api/src/models/catalog.rs +++ b/crates/tower-api/src/models/catalog.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/catalog_property.rs b/crates/tower-api/src/models/catalog_property.rs index 89ecb996..708c9a98 100644 --- a/crates/tower-api/src/models/catalog_property.rs +++ b/crates/tower-api/src/models/catalog_property.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/claim_device_login_ticket_params.rs b/crates/tower-api/src/models/claim_device_login_ticket_params.rs index 1513f934..4571e526 100644 --- a/crates/tower-api/src/models/claim_device_login_ticket_params.rs +++ b/crates/tower-api/src/models/claim_device_login_ticket_params.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/claim_device_login_ticket_response.rs b/crates/tower-api/src/models/claim_device_login_ticket_response.rs index 8d90761f..c671b5eb 100644 --- a/crates/tower-api/src/models/claim_device_login_ticket_response.rs +++ b/crates/tower-api/src/models/claim_device_login_ticket_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/create_account_params.rs b/crates/tower-api/src/models/create_account_params.rs index 84a22a12..336e8686 100644 --- a/crates/tower-api/src/models/create_account_params.rs +++ b/crates/tower-api/src/models/create_account_params.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/create_account_params_flags_struct.rs b/crates/tower-api/src/models/create_account_params_flags_struct.rs index d5ed4904..328e26c0 100644 --- a/crates/tower-api/src/models/create_account_params_flags_struct.rs +++ b/crates/tower-api/src/models/create_account_params_flags_struct.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/create_account_response.rs b/crates/tower-api/src/models/create_account_response.rs index 16828667..1ea4ae6c 100644 --- a/crates/tower-api/src/models/create_account_response.rs +++ b/crates/tower-api/src/models/create_account_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/create_api_key_params.rs b/crates/tower-api/src/models/create_api_key_params.rs index 582d9b5f..2530d81d 100644 --- a/crates/tower-api/src/models/create_api_key_params.rs +++ b/crates/tower-api/src/models/create_api_key_params.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/create_api_key_response.rs b/crates/tower-api/src/models/create_api_key_response.rs index d7bacc8f..d30a2857 100644 --- a/crates/tower-api/src/models/create_api_key_response.rs +++ b/crates/tower-api/src/models/create_api_key_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/create_app_params.rs b/crates/tower-api/src/models/create_app_params.rs index b49de310..4e988c8f 100644 --- a/crates/tower-api/src/models/create_app_params.rs +++ b/crates/tower-api/src/models/create_app_params.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/create_app_response.rs b/crates/tower-api/src/models/create_app_response.rs index 36d1f4b7..cd76db8f 100644 --- a/crates/tower-api/src/models/create_app_response.rs +++ b/crates/tower-api/src/models/create_app_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/create_catalog_params.rs b/crates/tower-api/src/models/create_catalog_params.rs index a48906ae..6d68e41e 100644 --- a/crates/tower-api/src/models/create_catalog_params.rs +++ b/crates/tower-api/src/models/create_catalog_params.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ @@ -60,6 +60,8 @@ pub enum Type { Lakekeeper, #[serde(rename = "tower-catalog")] TowerCatalog, + #[serde(rename = "s3-tables")] + S3Tables, } impl Default for Type { @@ -80,6 +82,7 @@ impl<'de> Deserialize<'de> for Type { "cloudflare-r2-catalog" => Ok(Self::CloudflareR2Catalog), "lakekeeper" => Ok(Self::Lakekeeper), "tower-catalog" => Ok(Self::TowerCatalog), + "s3-tables" => Ok(Self::S3Tables), _ => Err(serde::de::Error::unknown_variant( &s, &[ @@ -88,6 +91,7 @@ impl<'de> Deserialize<'de> for Type { "cloudflare-r2-catalog", "lakekeeper", "tower-catalog", + "s3-tables", ], )), } diff --git a/crates/tower-api/src/models/create_catalog_response.rs b/crates/tower-api/src/models/create_catalog_response.rs index 1b7feab8..b18d7639 100644 --- a/crates/tower-api/src/models/create_catalog_response.rs +++ b/crates/tower-api/src/models/create_catalog_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/create_device_login_ticket_response.rs b/crates/tower-api/src/models/create_device_login_ticket_response.rs index cf2cdf04..8ed291d2 100644 --- a/crates/tower-api/src/models/create_device_login_ticket_response.rs +++ b/crates/tower-api/src/models/create_device_login_ticket_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/create_environment_params.rs b/crates/tower-api/src/models/create_environment_params.rs index 985bfd26..7f5841f2 100644 --- a/crates/tower-api/src/models/create_environment_params.rs +++ b/crates/tower-api/src/models/create_environment_params.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/create_environment_response.rs b/crates/tower-api/src/models/create_environment_response.rs index b92f1e3d..d6b5d4ac 100644 --- a/crates/tower-api/src/models/create_environment_response.rs +++ b/crates/tower-api/src/models/create_environment_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/create_guest_params.rs b/crates/tower-api/src/models/create_guest_params.rs index 1d929417..6d24139a 100644 --- a/crates/tower-api/src/models/create_guest_params.rs +++ b/crates/tower-api/src/models/create_guest_params.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/create_guest_response.rs b/crates/tower-api/src/models/create_guest_response.rs index 797cf9d9..efaa7b59 100644 --- a/crates/tower-api/src/models/create_guest_response.rs +++ b/crates/tower-api/src/models/create_guest_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/create_sandbox_secrets_params.rs b/crates/tower-api/src/models/create_sandbox_secrets_params.rs index 1cec5160..ff6cc634 100644 --- a/crates/tower-api/src/models/create_sandbox_secrets_params.rs +++ b/crates/tower-api/src/models/create_sandbox_secrets_params.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/create_sandbox_secrets_response.rs b/crates/tower-api/src/models/create_sandbox_secrets_response.rs index 85969a9b..afeb5d6b 100644 --- a/crates/tower-api/src/models/create_sandbox_secrets_response.rs +++ b/crates/tower-api/src/models/create_sandbox_secrets_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/create_schedule_params.rs b/crates/tower-api/src/models/create_schedule_params.rs index f1f7b453..a87807d0 100644 --- a/crates/tower-api/src/models/create_schedule_params.rs +++ b/crates/tower-api/src/models/create_schedule_params.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ @@ -21,7 +21,7 @@ pub struct CreateScheduleParams { #[serde_as(as = "DefaultOnNull")] #[serde(rename = "app_name")] pub app_name: String, - /// The specific app version to run (if omitted, will use the app's default version) + /// This property is deprecated and ignored. Schedules inherit the version from their environment. #[serde( rename = "app_version", default, diff --git a/crates/tower-api/src/models/create_schedule_response.rs b/crates/tower-api/src/models/create_schedule_response.rs index a10c413e..f2746869 100644 --- a/crates/tower-api/src/models/create_schedule_response.rs +++ b/crates/tower-api/src/models/create_schedule_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/create_secret_params.rs b/crates/tower-api/src/models/create_secret_params.rs index 695f87d7..d074ecf0 100644 --- a/crates/tower-api/src/models/create_secret_params.rs +++ b/crates/tower-api/src/models/create_secret_params.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/create_secret_response.rs b/crates/tower-api/src/models/create_secret_response.rs index 613dfc98..6e67efbe 100644 --- a/crates/tower-api/src/models/create_secret_response.rs +++ b/crates/tower-api/src/models/create_secret_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/create_session_params.rs b/crates/tower-api/src/models/create_session_params.rs index dca56e2b..f911bb0e 100644 --- a/crates/tower-api/src/models/create_session_params.rs +++ b/crates/tower-api/src/models/create_session_params.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/create_session_response.rs b/crates/tower-api/src/models/create_session_response.rs index fb8368b2..1b522b5b 100644 --- a/crates/tower-api/src/models/create_session_response.rs +++ b/crates/tower-api/src/models/create_session_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/create_team_params.rs b/crates/tower-api/src/models/create_team_params.rs index 9c8d77f3..6b1df789 100644 --- a/crates/tower-api/src/models/create_team_params.rs +++ b/crates/tower-api/src/models/create_team_params.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/create_team_response.rs b/crates/tower-api/src/models/create_team_response.rs index 45004172..a4641a5f 100644 --- a/crates/tower-api/src/models/create_team_response.rs +++ b/crates/tower-api/src/models/create_team_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/create_webhook_params.rs b/crates/tower-api/src/models/create_webhook_params.rs index 613a2a42..2efa854f 100644 --- a/crates/tower-api/src/models/create_webhook_params.rs +++ b/crates/tower-api/src/models/create_webhook_params.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/create_webhook_response.rs b/crates/tower-api/src/models/create_webhook_response.rs index a558436e..905ee30e 100644 --- a/crates/tower-api/src/models/create_webhook_response.rs +++ b/crates/tower-api/src/models/create_webhook_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/delete_api_key_params.rs b/crates/tower-api/src/models/delete_api_key_params.rs index ceea7328..08b09485 100644 --- a/crates/tower-api/src/models/delete_api_key_params.rs +++ b/crates/tower-api/src/models/delete_api_key_params.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/delete_api_key_response.rs b/crates/tower-api/src/models/delete_api_key_response.rs index dd5042f6..6532f3c0 100644 --- a/crates/tower-api/src/models/delete_api_key_response.rs +++ b/crates/tower-api/src/models/delete_api_key_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/delete_app_response.rs b/crates/tower-api/src/models/delete_app_response.rs index 6ad3f4e4..23ee6d59 100644 --- a/crates/tower-api/src/models/delete_app_response.rs +++ b/crates/tower-api/src/models/delete_app_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/delete_catalog_response.rs b/crates/tower-api/src/models/delete_catalog_response.rs index 94a6436f..1eab81e6 100644 --- a/crates/tower-api/src/models/delete_catalog_response.rs +++ b/crates/tower-api/src/models/delete_catalog_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/delete_guest_output_body.rs b/crates/tower-api/src/models/delete_guest_output_body.rs index 494227a2..4cad97b8 100644 --- a/crates/tower-api/src/models/delete_guest_output_body.rs +++ b/crates/tower-api/src/models/delete_guest_output_body.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/delete_schedule_params.rs b/crates/tower-api/src/models/delete_schedule_params.rs index 4cbe866b..7ac3e40a 100644 --- a/crates/tower-api/src/models/delete_schedule_params.rs +++ b/crates/tower-api/src/models/delete_schedule_params.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/delete_schedule_response.rs b/crates/tower-api/src/models/delete_schedule_response.rs index 5a145359..2bb66758 100644 --- a/crates/tower-api/src/models/delete_schedule_response.rs +++ b/crates/tower-api/src/models/delete_schedule_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/delete_secret_response.rs b/crates/tower-api/src/models/delete_secret_response.rs index 13f0c7a5..6b243271 100644 --- a/crates/tower-api/src/models/delete_secret_response.rs +++ b/crates/tower-api/src/models/delete_secret_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/delete_session_params.rs b/crates/tower-api/src/models/delete_session_params.rs index 02e2b3dc..68502ec9 100644 --- a/crates/tower-api/src/models/delete_session_params.rs +++ b/crates/tower-api/src/models/delete_session_params.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/delete_session_response.rs b/crates/tower-api/src/models/delete_session_response.rs index 66eeb6cb..fd2a8cca 100644 --- a/crates/tower-api/src/models/delete_session_response.rs +++ b/crates/tower-api/src/models/delete_session_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/delete_team_invitation_params.rs b/crates/tower-api/src/models/delete_team_invitation_params.rs index edf7fb18..e3612231 100644 --- a/crates/tower-api/src/models/delete_team_invitation_params.rs +++ b/crates/tower-api/src/models/delete_team_invitation_params.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/delete_team_invitation_response.rs b/crates/tower-api/src/models/delete_team_invitation_response.rs index e86f224f..8c158558 100644 --- a/crates/tower-api/src/models/delete_team_invitation_response.rs +++ b/crates/tower-api/src/models/delete_team_invitation_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/delete_team_params.rs b/crates/tower-api/src/models/delete_team_params.rs index d67705a1..68d0be3d 100644 --- a/crates/tower-api/src/models/delete_team_params.rs +++ b/crates/tower-api/src/models/delete_team_params.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/delete_team_response.rs b/crates/tower-api/src/models/delete_team_response.rs index 04902420..0231e905 100644 --- a/crates/tower-api/src/models/delete_team_response.rs +++ b/crates/tower-api/src/models/delete_team_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/delete_webhook_response.rs b/crates/tower-api/src/models/delete_webhook_response.rs index 327a4fc4..f7988d8b 100644 --- a/crates/tower-api/src/models/delete_webhook_response.rs +++ b/crates/tower-api/src/models/delete_webhook_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/deploy_app_request.rs b/crates/tower-api/src/models/deploy_app_request.rs index 4f7a20d5..0636309a 100644 --- a/crates/tower-api/src/models/deploy_app_request.rs +++ b/crates/tower-api/src/models/deploy_app_request.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/deploy_app_response.rs b/crates/tower-api/src/models/deploy_app_response.rs index a4cb448b..e3000f51 100644 --- a/crates/tower-api/src/models/deploy_app_response.rs +++ b/crates/tower-api/src/models/deploy_app_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/describe_account_body.rs b/crates/tower-api/src/models/describe_account_body.rs index ce51e184..d860bc7b 100644 --- a/crates/tower-api/src/models/describe_account_body.rs +++ b/crates/tower-api/src/models/describe_account_body.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/describe_app_response.rs b/crates/tower-api/src/models/describe_app_response.rs index af78089a..252b611f 100644 --- a/crates/tower-api/src/models/describe_app_response.rs +++ b/crates/tower-api/src/models/describe_app_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/describe_app_version_response.rs b/crates/tower-api/src/models/describe_app_version_response.rs index d7d64477..88011575 100644 --- a/crates/tower-api/src/models/describe_app_version_response.rs +++ b/crates/tower-api/src/models/describe_app_version_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/describe_authentication_context_body.rs b/crates/tower-api/src/models/describe_authentication_context_body.rs index 05c1e4fb..49ae2ae9 100644 --- a/crates/tower-api/src/models/describe_authentication_context_body.rs +++ b/crates/tower-api/src/models/describe_authentication_context_body.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/describe_catalog_response.rs b/crates/tower-api/src/models/describe_catalog_response.rs index 3bf15cf2..131c83ca 100644 --- a/crates/tower-api/src/models/describe_catalog_response.rs +++ b/crates/tower-api/src/models/describe_catalog_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/describe_device_login_session_response.rs b/crates/tower-api/src/models/describe_device_login_session_response.rs index 8b2e870c..9f002161 100644 --- a/crates/tower-api/src/models/describe_device_login_session_response.rs +++ b/crates/tower-api/src/models/describe_device_login_session_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/describe_email_preferences_body.rs b/crates/tower-api/src/models/describe_email_preferences_body.rs index b15f801e..37609c33 100644 --- a/crates/tower-api/src/models/describe_email_preferences_body.rs +++ b/crates/tower-api/src/models/describe_email_preferences_body.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/describe_plan_response.rs b/crates/tower-api/src/models/describe_plan_response.rs index 5028d8db..debd454f 100644 --- a/crates/tower-api/src/models/describe_plan_response.rs +++ b/crates/tower-api/src/models/describe_plan_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/describe_run_graph_response.rs b/crates/tower-api/src/models/describe_run_graph_response.rs index 35c2f7d8..63e9f060 100644 --- a/crates/tower-api/src/models/describe_run_graph_response.rs +++ b/crates/tower-api/src/models/describe_run_graph_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/describe_run_links.rs b/crates/tower-api/src/models/describe_run_links.rs index d676a1f6..508248ce 100644 --- a/crates/tower-api/src/models/describe_run_links.rs +++ b/crates/tower-api/src/models/describe_run_links.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/describe_run_logs_response.rs b/crates/tower-api/src/models/describe_run_logs_response.rs index 3118866b..2abee200 100644 --- a/crates/tower-api/src/models/describe_run_logs_response.rs +++ b/crates/tower-api/src/models/describe_run_logs_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/describe_run_response.rs b/crates/tower-api/src/models/describe_run_response.rs index 081e8721..b14ea569 100644 --- a/crates/tower-api/src/models/describe_run_response.rs +++ b/crates/tower-api/src/models/describe_run_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/describe_secrets_key_response.rs b/crates/tower-api/src/models/describe_secrets_key_response.rs index 16bd9f80..cbf925f0 100644 --- a/crates/tower-api/src/models/describe_secrets_key_response.rs +++ b/crates/tower-api/src/models/describe_secrets_key_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/describe_session_response.rs b/crates/tower-api/src/models/describe_session_response.rs index f52d184f..2d6af965 100644 --- a/crates/tower-api/src/models/describe_session_response.rs +++ b/crates/tower-api/src/models/describe_session_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/describe_team_response.rs b/crates/tower-api/src/models/describe_team_response.rs index a1323547..f866d4eb 100644 --- a/crates/tower-api/src/models/describe_team_response.rs +++ b/crates/tower-api/src/models/describe_team_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/describe_webhook_response.rs b/crates/tower-api/src/models/describe_webhook_response.rs index ef66530c..b38ae16e 100644 --- a/crates/tower-api/src/models/describe_webhook_response.rs +++ b/crates/tower-api/src/models/describe_webhook_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/email_subscriptions.rs b/crates/tower-api/src/models/email_subscriptions.rs index 18d42b2d..63f26c6b 100644 --- a/crates/tower-api/src/models/email_subscriptions.rs +++ b/crates/tower-api/src/models/email_subscriptions.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/encrypted_catalog_property.rs b/crates/tower-api/src/models/encrypted_catalog_property.rs index 227a1afe..ae3bad2a 100644 --- a/crates/tower-api/src/models/encrypted_catalog_property.rs +++ b/crates/tower-api/src/models/encrypted_catalog_property.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/environment.rs b/crates/tower-api/src/models/environment.rs index 3e3ec43b..fca84227 100644 --- a/crates/tower-api/src/models/environment.rs +++ b/crates/tower-api/src/models/environment.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/error_detail.rs b/crates/tower-api/src/models/error_detail.rs index ffc77035..b38f2403 100644 --- a/crates/tower-api/src/models/error_detail.rs +++ b/crates/tower-api/src/models/error_detail.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/error_model.rs b/crates/tower-api/src/models/error_model.rs index 43500163..aad23278 100644 --- a/crates/tower-api/src/models/error_model.rs +++ b/crates/tower-api/src/models/error_model.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/event_alert.rs b/crates/tower-api/src/models/event_alert.rs index a43eb580..2be91340 100644 --- a/crates/tower-api/src/models/event_alert.rs +++ b/crates/tower-api/src/models/event_alert.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/event_error.rs b/crates/tower-api/src/models/event_error.rs index f55f33bb..f7728cc3 100644 --- a/crates/tower-api/src/models/event_error.rs +++ b/crates/tower-api/src/models/event_error.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/event_log.rs b/crates/tower-api/src/models/event_log.rs index 00bc043d..2ddb3bdd 100644 --- a/crates/tower-api/src/models/event_log.rs +++ b/crates/tower-api/src/models/event_log.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/event_shouldertap.rs b/crates/tower-api/src/models/event_shouldertap.rs index 38ab0fd6..ae2d8478 100644 --- a/crates/tower-api/src/models/event_shouldertap.rs +++ b/crates/tower-api/src/models/event_shouldertap.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/event_warning.rs b/crates/tower-api/src/models/event_warning.rs index 12907c95..5bf5d34b 100644 --- a/crates/tower-api/src/models/event_warning.rs +++ b/crates/tower-api/src/models/event_warning.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/export_catalogs_params.rs b/crates/tower-api/src/models/export_catalogs_params.rs index 8e347e07..bb3405be 100644 --- a/crates/tower-api/src/models/export_catalogs_params.rs +++ b/crates/tower-api/src/models/export_catalogs_params.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/export_catalogs_response.rs b/crates/tower-api/src/models/export_catalogs_response.rs index d2b43036..97e63115 100644 --- a/crates/tower-api/src/models/export_catalogs_response.rs +++ b/crates/tower-api/src/models/export_catalogs_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/export_secrets_params.rs b/crates/tower-api/src/models/export_secrets_params.rs index a74c2ca8..edbbae54 100644 --- a/crates/tower-api/src/models/export_secrets_params.rs +++ b/crates/tower-api/src/models/export_secrets_params.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/export_secrets_response.rs b/crates/tower-api/src/models/export_secrets_response.rs index 32a1dc7d..3b0abe0e 100644 --- a/crates/tower-api/src/models/export_secrets_response.rs +++ b/crates/tower-api/src/models/export_secrets_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/exported_catalog.rs b/crates/tower-api/src/models/exported_catalog.rs index 24830dd1..487b6316 100644 --- a/crates/tower-api/src/models/exported_catalog.rs +++ b/crates/tower-api/src/models/exported_catalog.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/exported_catalog_property.rs b/crates/tower-api/src/models/exported_catalog_property.rs index c0c8ef2f..d94e101c 100644 --- a/crates/tower-api/src/models/exported_catalog_property.rs +++ b/crates/tower-api/src/models/exported_catalog_property.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/exported_secret.rs b/crates/tower-api/src/models/exported_secret.rs index 3ea9181a..ca789489 100644 --- a/crates/tower-api/src/models/exported_secret.rs +++ b/crates/tower-api/src/models/exported_secret.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/feature.rs b/crates/tower-api/src/models/feature.rs index 8ea4778c..6e5ca4e0 100644 --- a/crates/tower-api/src/models/feature.rs +++ b/crates/tower-api/src/models/feature.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/featurebase_identity.rs b/crates/tower-api/src/models/featurebase_identity.rs index edb77672..faa671c0 100644 --- a/crates/tower-api/src/models/featurebase_identity.rs +++ b/crates/tower-api/src/models/featurebase_identity.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/generate_app_statistics_response.rs b/crates/tower-api/src/models/generate_app_statistics_response.rs index 87930793..f81187c5 100644 --- a/crates/tower-api/src/models/generate_app_statistics_response.rs +++ b/crates/tower-api/src/models/generate_app_statistics_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/generate_organization_usage_time_series_response.rs b/crates/tower-api/src/models/generate_organization_usage_time_series_response.rs new file mode 100644 index 00000000..68ea2be1 --- /dev/null +++ b/crates/tower-api/src/models/generate_organization_usage_time_series_response.rs @@ -0,0 +1,34 @@ +/* + * Tower API + * + * REST API to interact with Tower Services. + * + * The version of the OpenAPI document: v0.10.24 + * Contact: hello@tower.dev + * Generated by: https://openapi-generator.tech + */ +use crate::models; +use serde::{Deserialize, Deserializer, Serialize}; +use serde_with::{serde_as, DefaultOnNull}; + +#[serde_as] +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct GenerateOrganizationUsageTimeSeriesResponse { + /// A URL to the JSON Schema for this object. + #[serde(rename = "$schema", skip_serializing_if = "Option::is_none")] + pub schema: Option, + #[serde_as(as = "DefaultOnNull")] + #[serde(rename = "series")] + pub series: Vec, +} + +impl GenerateOrganizationUsageTimeSeriesResponse { + pub fn new( + series: Vec, + ) -> GenerateOrganizationUsageTimeSeriesResponse { + GenerateOrganizationUsageTimeSeriesResponse { + schema: None, + series, + } + } +} diff --git a/crates/tower-api/src/models/generate_run_statistics_response.rs b/crates/tower-api/src/models/generate_run_statistics_response.rs index e18b3ebb..70bc530f 100644 --- a/crates/tower-api/src/models/generate_run_statistics_response.rs +++ b/crates/tower-api/src/models/generate_run_statistics_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/generate_runner_credentials_response.rs b/crates/tower-api/src/models/generate_runner_credentials_response.rs index aca2d164..0cf2c196 100644 --- a/crates/tower-api/src/models/generate_runner_credentials_response.rs +++ b/crates/tower-api/src/models/generate_runner_credentials_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/get_feature_flag_response_body.rs b/crates/tower-api/src/models/get_feature_flag_response_body.rs index 0ca2be66..cfe6bb45 100644 --- a/crates/tower-api/src/models/get_feature_flag_response_body.rs +++ b/crates/tower-api/src/models/get_feature_flag_response_body.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/guest.rs b/crates/tower-api/src/models/guest.rs index ea2930cd..1d4490cc 100644 --- a/crates/tower-api/src/models/guest.rs +++ b/crates/tower-api/src/models/guest.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/invite_team_member_params.rs b/crates/tower-api/src/models/invite_team_member_params.rs index f730c147..ecf9d14b 100644 --- a/crates/tower-api/src/models/invite_team_member_params.rs +++ b/crates/tower-api/src/models/invite_team_member_params.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/invite_team_member_response.rs b/crates/tower-api/src/models/invite_team_member_response.rs index 8011f368..0d8acffb 100644 --- a/crates/tower-api/src/models/invite_team_member_response.rs +++ b/crates/tower-api/src/models/invite_team_member_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/leave_team_response.rs b/crates/tower-api/src/models/leave_team_response.rs index 095887bc..ec53a0b7 100644 --- a/crates/tower-api/src/models/leave_team_response.rs +++ b/crates/tower-api/src/models/leave_team_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/list_alerts_response.rs b/crates/tower-api/src/models/list_alerts_response.rs index 498bf635..1c076702 100644 --- a/crates/tower-api/src/models/list_alerts_response.rs +++ b/crates/tower-api/src/models/list_alerts_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/list_api_keys_response.rs b/crates/tower-api/src/models/list_api_keys_response.rs index 1fe51b8f..43d8ac38 100644 --- a/crates/tower-api/src/models/list_api_keys_response.rs +++ b/crates/tower-api/src/models/list_api_keys_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/list_app_environments_response.rs b/crates/tower-api/src/models/list_app_environments_response.rs index e2f1c979..76a2c759 100644 --- a/crates/tower-api/src/models/list_app_environments_response.rs +++ b/crates/tower-api/src/models/list_app_environments_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/list_app_versions_response.rs b/crates/tower-api/src/models/list_app_versions_response.rs index 926cb45d..730443b3 100644 --- a/crates/tower-api/src/models/list_app_versions_response.rs +++ b/crates/tower-api/src/models/list_app_versions_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/list_apps_response.rs b/crates/tower-api/src/models/list_apps_response.rs index 216ed560..58d49b1d 100644 --- a/crates/tower-api/src/models/list_apps_response.rs +++ b/crates/tower-api/src/models/list_apps_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/list_catalogs_response.rs b/crates/tower-api/src/models/list_catalogs_response.rs index 829e14fd..c5db3834 100644 --- a/crates/tower-api/src/models/list_catalogs_response.rs +++ b/crates/tower-api/src/models/list_catalogs_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/list_environments_response.rs b/crates/tower-api/src/models/list_environments_response.rs index 4d7e7ea5..de3b3700 100644 --- a/crates/tower-api/src/models/list_environments_response.rs +++ b/crates/tower-api/src/models/list_environments_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/list_guests_response.rs b/crates/tower-api/src/models/list_guests_response.rs index 9dec442d..d8c366c8 100644 --- a/crates/tower-api/src/models/list_guests_response.rs +++ b/crates/tower-api/src/models/list_guests_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/list_my_team_invitations_response.rs b/crates/tower-api/src/models/list_my_team_invitations_response.rs index 53a270c3..9c87365f 100644 --- a/crates/tower-api/src/models/list_my_team_invitations_response.rs +++ b/crates/tower-api/src/models/list_my_team_invitations_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/list_runners_response.rs b/crates/tower-api/src/models/list_runners_response.rs index 745674bd..edcea666 100644 --- a/crates/tower-api/src/models/list_runners_response.rs +++ b/crates/tower-api/src/models/list_runners_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/list_runs_response.rs b/crates/tower-api/src/models/list_runs_response.rs index 6f819a1a..3d622433 100644 --- a/crates/tower-api/src/models/list_runs_response.rs +++ b/crates/tower-api/src/models/list_runs_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/list_schedules_response.rs b/crates/tower-api/src/models/list_schedules_response.rs index 209b42ed..7eaa5f94 100644 --- a/crates/tower-api/src/models/list_schedules_response.rs +++ b/crates/tower-api/src/models/list_schedules_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/list_secret_environments_response.rs b/crates/tower-api/src/models/list_secret_environments_response.rs index fdb1d4d1..1c4a0297 100644 --- a/crates/tower-api/src/models/list_secret_environments_response.rs +++ b/crates/tower-api/src/models/list_secret_environments_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/list_secrets_response.rs b/crates/tower-api/src/models/list_secrets_response.rs index 3292d62c..623502ac 100644 --- a/crates/tower-api/src/models/list_secrets_response.rs +++ b/crates/tower-api/src/models/list_secrets_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/list_team_invitations_response.rs b/crates/tower-api/src/models/list_team_invitations_response.rs index 8ecb25c4..5b138a92 100644 --- a/crates/tower-api/src/models/list_team_invitations_response.rs +++ b/crates/tower-api/src/models/list_team_invitations_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/list_team_members_response.rs b/crates/tower-api/src/models/list_team_members_response.rs index da6d3ba9..8564b6c5 100644 --- a/crates/tower-api/src/models/list_team_members_response.rs +++ b/crates/tower-api/src/models/list_team_members_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/list_teams_response.rs b/crates/tower-api/src/models/list_teams_response.rs index 55c3122e..8fea8f2f 100644 --- a/crates/tower-api/src/models/list_teams_response.rs +++ b/crates/tower-api/src/models/list_teams_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/list_webhooks_response.rs b/crates/tower-api/src/models/list_webhooks_response.rs index abead618..ce232d2b 100644 --- a/crates/tower-api/src/models/list_webhooks_response.rs +++ b/crates/tower-api/src/models/list_webhooks_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/mod.rs b/crates/tower-api/src/models/mod.rs index 400fb7cb..5a3a8045 100644 --- a/crates/tower-api/src/models/mod.rs +++ b/crates/tower-api/src/models/mod.rs @@ -46,10 +46,6 @@ pub mod create_app_params; pub use self::create_app_params::CreateAppParams; pub mod create_app_response; pub use self::create_app_response::CreateAppResponse; -pub mod create_authenticator_params; -pub use self::create_authenticator_params::CreateAuthenticatorParams; -pub mod create_authenticator_response; -pub use self::create_authenticator_response::CreateAuthenticatorResponse; pub mod create_catalog_params; pub use self::create_catalog_params::CreateCatalogParams; pub mod create_catalog_response; @@ -64,10 +60,6 @@ pub mod create_guest_params; pub use self::create_guest_params::CreateGuestParams; pub mod create_guest_response; pub use self::create_guest_response::CreateGuestResponse; -pub mod create_password_reset_params; -pub use self::create_password_reset_params::CreatePasswordResetParams; -pub mod create_password_reset_response; -pub use self::create_password_reset_response::CreatePasswordResetResponse; pub mod create_sandbox_secrets_params; pub use self::create_sandbox_secrets_params::CreateSandboxSecretsParams; pub mod create_sandbox_secrets_response; @@ -98,10 +90,6 @@ pub mod delete_api_key_response; pub use self::delete_api_key_response::DeleteApiKeyResponse; pub mod delete_app_response; pub use self::delete_app_response::DeleteAppResponse; -pub mod delete_authenticator_params; -pub use self::delete_authenticator_params::DeleteAuthenticatorParams; -pub mod delete_authenticator_response; -pub use self::delete_authenticator_response::DeleteAuthenticatorResponse; pub mod delete_catalog_response; pub use self::delete_catalog_response::DeleteCatalogResponse; pub mod delete_guest_output_body; @@ -202,8 +190,8 @@ pub mod featurebase_identity; pub use self::featurebase_identity::FeaturebaseIdentity; pub mod generate_app_statistics_response; pub use self::generate_app_statistics_response::GenerateAppStatisticsResponse; -pub mod generate_authenticator_response; -pub use self::generate_authenticator_response::GenerateAuthenticatorResponse; +pub mod generate_organization_usage_time_series_response; +pub use self::generate_organization_usage_time_series_response::GenerateOrganizationUsageTimeSeriesResponse; pub mod generate_run_statistics_response; pub use self::generate_run_statistics_response::GenerateRunStatisticsResponse; pub mod generate_runner_credentials_response; @@ -228,8 +216,6 @@ pub mod list_app_versions_response; pub use self::list_app_versions_response::ListAppVersionsResponse; pub mod list_apps_response; pub use self::list_apps_response::ListAppsResponse; -pub mod list_authenticators_response; -pub use self::list_authenticators_response::ListAuthenticatorsResponse; pub mod list_catalogs_response; pub use self::list_catalogs_response::ListCatalogsResponse; pub mod list_environments_response; @@ -352,12 +338,14 @@ pub mod test_webhook_response; pub use self::test_webhook_response::TestWebhookResponse; pub mod token; pub use self::token::Token; -pub mod unverified_authenticator; -pub use self::unverified_authenticator::UnverifiedAuthenticator; pub mod update_account_params; pub use self::update_account_params::UpdateAccountParams; pub mod update_account_response; pub use self::update_account_response::UpdateAccountResponse; +pub mod update_app_environment_params; +pub use self::update_app_environment_params::UpdateAppEnvironmentParams; +pub mod update_app_environment_response; +pub use self::update_app_environment_response::UpdateAppEnvironmentResponse; pub mod update_app_params; pub use self::update_app_params::UpdateAppParams; pub mod update_app_response; @@ -380,10 +368,6 @@ pub mod update_organization_params; pub use self::update_organization_params::UpdateOrganizationParams; pub mod update_organization_response; pub use self::update_organization_response::UpdateOrganizationResponse; -pub mod update_password_reset_params; -pub use self::update_password_reset_params::UpdatePasswordResetParams; -pub mod update_password_reset_response; -pub use self::update_password_reset_response::UpdatePasswordResetResponse; pub mod update_plan_params; pub use self::update_plan_params::UpdatePlanParams; pub mod update_plan_response; @@ -414,13 +398,9 @@ pub mod update_webhook_response; pub use self::update_webhook_response::UpdateWebhookResponse; pub mod usage_limit; pub use self::usage_limit::UsageLimit; +pub mod usage_metric_time_series_point; +pub use self::usage_metric_time_series_point::UsageMetricTimeSeriesPoint; pub mod user; pub use self::user::User; -pub mod verified_authenticator; -pub use self::verified_authenticator::VerifiedAuthenticator; -pub mod verify_email_params; -pub use self::verify_email_params::VerifyEmailParams; -pub mod verify_email_response; -pub use self::verify_email_response::VerifyEmailResponse; pub mod webhook; pub use self::webhook::Webhook; diff --git a/crates/tower-api/src/models/organization.rs b/crates/tower-api/src/models/organization.rs index 9ca50392..43aad387 100644 --- a/crates/tower-api/src/models/organization.rs +++ b/crates/tower-api/src/models/organization.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/organization_usage.rs b/crates/tower-api/src/models/organization_usage.rs index a78cc92e..26ee42fb 100644 --- a/crates/tower-api/src/models/organization_usage.rs +++ b/crates/tower-api/src/models/organization_usage.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/pagination.rs b/crates/tower-api/src/models/pagination.rs index d94c1eab..94a36b98 100644 --- a/crates/tower-api/src/models/pagination.rs +++ b/crates/tower-api/src/models/pagination.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/parameter.rs b/crates/tower-api/src/models/parameter.rs index 39ea4fbd..811bd79f 100644 --- a/crates/tower-api/src/models/parameter.rs +++ b/crates/tower-api/src/models/parameter.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/plan.rs b/crates/tower-api/src/models/plan.rs index 6b640e6d..f830dd76 100644 --- a/crates/tower-api/src/models/plan.rs +++ b/crates/tower-api/src/models/plan.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/refresh_session_params.rs b/crates/tower-api/src/models/refresh_session_params.rs index 0350f6e9..37f9619c 100644 --- a/crates/tower-api/src/models/refresh_session_params.rs +++ b/crates/tower-api/src/models/refresh_session_params.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/refresh_session_response.rs b/crates/tower-api/src/models/refresh_session_response.rs index ba3b045a..f8f2d7c4 100644 --- a/crates/tower-api/src/models/refresh_session_response.rs +++ b/crates/tower-api/src/models/refresh_session_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/regenerate_guest_login_url_params.rs b/crates/tower-api/src/models/regenerate_guest_login_url_params.rs index 25bf9376..8030a2ff 100644 --- a/crates/tower-api/src/models/regenerate_guest_login_url_params.rs +++ b/crates/tower-api/src/models/regenerate_guest_login_url_params.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/regenerate_guest_login_url_response.rs b/crates/tower-api/src/models/regenerate_guest_login_url_response.rs index 07778e18..130e4623 100644 --- a/crates/tower-api/src/models/regenerate_guest_login_url_response.rs +++ b/crates/tower-api/src/models/regenerate_guest_login_url_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/remove_team_member_params.rs b/crates/tower-api/src/models/remove_team_member_params.rs index 6a40c0d9..ba59de99 100644 --- a/crates/tower-api/src/models/remove_team_member_params.rs +++ b/crates/tower-api/src/models/remove_team_member_params.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/remove_team_member_response.rs b/crates/tower-api/src/models/remove_team_member_response.rs index 5a21575c..da320640 100644 --- a/crates/tower-api/src/models/remove_team_member_response.rs +++ b/crates/tower-api/src/models/remove_team_member_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/resend_team_invitation_params.rs b/crates/tower-api/src/models/resend_team_invitation_params.rs index 21862271..cbbcbf51 100644 --- a/crates/tower-api/src/models/resend_team_invitation_params.rs +++ b/crates/tower-api/src/models/resend_team_invitation_params.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/resend_team_invitation_response.rs b/crates/tower-api/src/models/resend_team_invitation_response.rs index aae602ff..90181711 100644 --- a/crates/tower-api/src/models/resend_team_invitation_response.rs +++ b/crates/tower-api/src/models/resend_team_invitation_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/run.rs b/crates/tower-api/src/models/run.rs index 90011c99..4e84df41 100644 --- a/crates/tower-api/src/models/run.rs +++ b/crates/tower-api/src/models/run.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ @@ -74,8 +74,12 @@ pub struct Run { #[serde_as(as = "DefaultOnNull")] #[serde(rename = "scheduled_at")] pub scheduled_at: String, + /// When the run started executing your code. #[serde(rename = "started_at", deserialize_with = "Option::deserialize")] pub started_at: Option, + /// When the runner environment started to get setup. + #[serde(rename = "starting_at", deserialize_with = "Option::deserialize")] + pub starting_at: Option, #[serde_as(as = "DefaultOnNull")] #[serde(rename = "status")] pub status: Status, @@ -110,6 +114,7 @@ impl Run { run_id: String, scheduled_at: String, started_at: Option, + starting_at: Option, status: Status, status_group: StatusGroup, ) -> Run { @@ -134,6 +139,7 @@ impl Run { run_id, scheduled_at, started_at, + starting_at, status, status_group, subdomain: None, @@ -149,6 +155,8 @@ pub enum Status { Retrying, #[serde(rename = "pending")] Pending, + #[serde(rename = "starting")] + Starting, #[serde(rename = "running")] Running, #[serde(rename = "crashed")] @@ -177,6 +185,7 @@ impl<'de> Deserialize<'de> for Status { "scheduled" => Ok(Self::Scheduled), "retrying" => Ok(Self::Retrying), "pending" => Ok(Self::Pending), + "starting" => Ok(Self::Starting), "running" => Ok(Self::Running), "crashed" => Ok(Self::Crashed), "errored" => Ok(Self::Errored), @@ -188,6 +197,7 @@ impl<'de> Deserialize<'de> for Status { "scheduled", "retrying", "pending", + "starting", "running", "crashed", "errored", diff --git a/crates/tower-api/src/models/run_app_initiator_data.rs b/crates/tower-api/src/models/run_app_initiator_data.rs index 5f6a080c..6c8556b3 100644 --- a/crates/tower-api/src/models/run_app_initiator_data.rs +++ b/crates/tower-api/src/models/run_app_initiator_data.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/run_app_params.rs b/crates/tower-api/src/models/run_app_params.rs index a630423e..741ed3cd 100644 --- a/crates/tower-api/src/models/run_app_params.rs +++ b/crates/tower-api/src/models/run_app_params.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/run_app_response.rs b/crates/tower-api/src/models/run_app_response.rs index 480407ca..abf80054 100644 --- a/crates/tower-api/src/models/run_app_response.rs +++ b/crates/tower-api/src/models/run_app_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/run_attempt.rs b/crates/tower-api/src/models/run_attempt.rs index 15ca45ac..85b59d80 100644 --- a/crates/tower-api/src/models/run_attempt.rs +++ b/crates/tower-api/src/models/run_attempt.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ @@ -24,9 +24,12 @@ pub struct RunAttempt { #[serde_as(as = "DefaultOnNull")] #[serde(rename = "seq")] pub seq: i64, - /// When this attempt started. + /// When the run started executing your code. #[serde(rename = "started_at", deserialize_with = "Option::deserialize")] pub started_at: Option, + /// When the runner environment started to get setup. + #[serde(rename = "starting_at", deserialize_with = "Option::deserialize")] + pub starting_at: Option, /// Terminal status of this attempt. #[serde_as(as = "DefaultOnNull")] #[serde(rename = "status")] @@ -39,6 +42,7 @@ impl RunAttempt { exit_code: Option, seq: i64, started_at: Option, + starting_at: Option, status: String, ) -> RunAttempt { RunAttempt { @@ -46,6 +50,7 @@ impl RunAttempt { exit_code, seq, started_at, + starting_at, status, } } diff --git a/crates/tower-api/src/models/run_failure_alert.rs b/crates/tower-api/src/models/run_failure_alert.rs index 0f30f2d3..93ce4473 100644 --- a/crates/tower-api/src/models/run_failure_alert.rs +++ b/crates/tower-api/src/models/run_failure_alert.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/run_graph_node.rs b/crates/tower-api/src/models/run_graph_node.rs index d0eb6652..316a3882 100644 --- a/crates/tower-api/src/models/run_graph_node.rs +++ b/crates/tower-api/src/models/run_graph_node.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/run_graph_run_id.rs b/crates/tower-api/src/models/run_graph_run_id.rs index b5f3937f..fc7047d9 100644 --- a/crates/tower-api/src/models/run_graph_run_id.rs +++ b/crates/tower-api/src/models/run_graph_run_id.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/run_initiator.rs b/crates/tower-api/src/models/run_initiator.rs index fac88e3b..00cbf42f 100644 --- a/crates/tower-api/src/models/run_initiator.rs +++ b/crates/tower-api/src/models/run_initiator.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/run_initiator_details.rs b/crates/tower-api/src/models/run_initiator_details.rs index 4c21e555..cc6ff315 100644 --- a/crates/tower-api/src/models/run_initiator_details.rs +++ b/crates/tower-api/src/models/run_initiator_details.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/run_log_line.rs b/crates/tower-api/src/models/run_log_line.rs index b10efadc..1dcad0c9 100644 --- a/crates/tower-api/src/models/run_log_line.rs +++ b/crates/tower-api/src/models/run_log_line.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/run_parameter.rs b/crates/tower-api/src/models/run_parameter.rs index 4f3fb67b..cb98bfcd 100644 --- a/crates/tower-api/src/models/run_parameter.rs +++ b/crates/tower-api/src/models/run_parameter.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ @@ -17,6 +17,14 @@ pub struct RunParameter { /// Whether this parameter is hidden/secret. Defaults to false. #[serde(rename = "hidden", skip_serializing_if = "Option::is_none")] pub hidden: Option, + /// Whether this parameter's value was supplied as an override at run/schedule creation time (true) or comes from the app version's default (false). + #[serde( + rename = "is_override", + default, + with = "::serde_with::rust::double_option", + skip_serializing_if = "Option::is_none" + )] + pub is_override: Option>, #[serde_as(as = "DefaultOnNull")] #[serde(rename = "name")] pub name: String, @@ -29,6 +37,7 @@ impl RunParameter { pub fn new(name: String, value: String) -> RunParameter { RunParameter { hidden: None, + is_override: None, name, value, } diff --git a/crates/tower-api/src/models/run_parameter_input.rs b/crates/tower-api/src/models/run_parameter_input.rs new file mode 100644 index 00000000..08ffe6dd --- /dev/null +++ b/crates/tower-api/src/models/run_parameter_input.rs @@ -0,0 +1,36 @@ +/* + * Tower API + * + * REST API to interact with Tower Services. + * + * The version of the OpenAPI document: 0.10.23-preview + * Contact: hello@tower.dev + * Generated by: https://openapi-generator.tech + */ +use crate::models; +use serde::{Deserialize, Deserializer, Serialize}; +use serde_with::{serde_as, DefaultOnNull}; + +#[serde_as] +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct RunParameterInput { + /// Whether this parameter is hidden/secret. Defaults to false. + #[serde(rename = "hidden", skip_serializing_if = "Option::is_none")] + pub hidden: Option, + #[serde_as(as = "DefaultOnNull")] + #[serde(rename = "name")] + pub name: String, + #[serde_as(as = "DefaultOnNull")] + #[serde(rename = "value")] + pub value: String, +} + +impl RunParameterInput { + pub fn new(name: String, value: String) -> RunParameterInput { + RunParameterInput { + hidden: None, + name, + value, + } + } +} diff --git a/crates/tower-api/src/models/run_results.rs b/crates/tower-api/src/models/run_results.rs index 538fcba3..72d6c3e7 100644 --- a/crates/tower-api/src/models/run_results.rs +++ b/crates/tower-api/src/models/run_results.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ @@ -35,6 +35,9 @@ pub struct RunResults { #[serde_as(as = "DefaultOnNull")] #[serde(rename = "running")] pub running: i64, + #[serde_as(as = "DefaultOnNull")] + #[serde(rename = "starting")] + pub starting: i64, } impl RunResults { @@ -46,6 +49,7 @@ impl RunResults { pending: i64, retrying: i64, running: i64, + starting: i64, ) -> RunResults { RunResults { cancelled, @@ -55,6 +59,7 @@ impl RunResults { pending, retrying, running, + starting, } } } diff --git a/crates/tower-api/src/models/run_retry_policy.rs b/crates/tower-api/src/models/run_retry_policy.rs index 7484ef72..bfe9489d 100644 --- a/crates/tower-api/src/models/run_retry_policy.rs +++ b/crates/tower-api/src/models/run_retry_policy.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/run_run_initiator_details.rs b/crates/tower-api/src/models/run_run_initiator_details.rs index 2f1b3eb4..4015ed98 100644 --- a/crates/tower-api/src/models/run_run_initiator_details.rs +++ b/crates/tower-api/src/models/run_run_initiator_details.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/run_statistics.rs b/crates/tower-api/src/models/run_statistics.rs index 86744b58..af3a61f8 100644 --- a/crates/tower-api/src/models/run_statistics.rs +++ b/crates/tower-api/src/models/run_statistics.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/run_timeseries_point.rs b/crates/tower-api/src/models/run_timeseries_point.rs index a4021b24..23bd370d 100644 --- a/crates/tower-api/src/models/run_timeseries_point.rs +++ b/crates/tower-api/src/models/run_timeseries_point.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ @@ -42,6 +42,9 @@ pub struct RunTimeseriesPoint { #[serde_as(as = "DefaultOnNull")] #[serde(rename = "scheduled")] pub scheduled: i64, + #[serde_as(as = "DefaultOnNull")] + #[serde(rename = "starting")] + pub starting: i64, } impl RunTimeseriesPoint { @@ -55,6 +58,7 @@ impl RunTimeseriesPoint { retrying: i64, running: i64, scheduled: i64, + starting: i64, ) -> RunTimeseriesPoint { RunTimeseriesPoint { cancelled, @@ -66,6 +70,7 @@ impl RunTimeseriesPoint { retrying, running, scheduled, + starting, } } } diff --git a/crates/tower-api/src/models/runner.rs b/crates/tower-api/src/models/runner.rs index 50e4c806..3835beeb 100644 --- a/crates/tower-api/src/models/runner.rs +++ b/crates/tower-api/src/models/runner.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/runner_credentials.rs b/crates/tower-api/src/models/runner_credentials.rs index 9833f13f..1fd53e86 100644 --- a/crates/tower-api/src/models/runner_credentials.rs +++ b/crates/tower-api/src/models/runner_credentials.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/schedule.rs b/crates/tower-api/src/models/schedule.rs index a8dde710..fde474d2 100644 --- a/crates/tower-api/src/models/schedule.rs +++ b/crates/tower-api/src/models/schedule.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ @@ -22,7 +22,7 @@ pub struct Schedule { #[serde_as(as = "DefaultOnNull")] #[serde(rename = "app_status")] pub app_status: AppStatus, - /// The specific app version to run, or null for the default version + /// This property is deprecated. Schedules inherit the version from their environment. This field returns the environment's current version. #[serde(rename = "app_version", skip_serializing_if = "Option::is_none")] pub app_version: Option, /// The timestamp when the schedule was created diff --git a/crates/tower-api/src/models/schedule_run_initiator_details.rs b/crates/tower-api/src/models/schedule_run_initiator_details.rs index 78e15549..ae103d42 100644 --- a/crates/tower-api/src/models/schedule_run_initiator_details.rs +++ b/crates/tower-api/src/models/schedule_run_initiator_details.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/search_runs_response.rs b/crates/tower-api/src/models/search_runs_response.rs index bda0b32c..9971ebaf 100644 --- a/crates/tower-api/src/models/search_runs_response.rs +++ b/crates/tower-api/src/models/search_runs_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/secret.rs b/crates/tower-api/src/models/secret.rs index 29e9025e..fdbc37b9 100644 --- a/crates/tower-api/src/models/secret.rs +++ b/crates/tower-api/src/models/secret.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/server_sent_events_inner.rs b/crates/tower-api/src/models/server_sent_events_inner.rs index 37f57f13..777b2918 100644 --- a/crates/tower-api/src/models/server_sent_events_inner.rs +++ b/crates/tower-api/src/models/server_sent_events_inner.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/server_sent_events_inner_1.rs b/crates/tower-api/src/models/server_sent_events_inner_1.rs index 5e671541..4374a4c9 100644 --- a/crates/tower-api/src/models/server_sent_events_inner_1.rs +++ b/crates/tower-api/src/models/server_sent_events_inner_1.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/server_sent_events_inner_2.rs b/crates/tower-api/src/models/server_sent_events_inner_2.rs index 98911abe..aa3416da 100644 --- a/crates/tower-api/src/models/server_sent_events_inner_2.rs +++ b/crates/tower-api/src/models/server_sent_events_inner_2.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/session.rs b/crates/tower-api/src/models/session.rs index 0cba667a..63873a02 100644 --- a/crates/tower-api/src/models/session.rs +++ b/crates/tower-api/src/models/session.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ @@ -14,6 +14,7 @@ use serde_with::{serde_as, DefaultOnNull}; #[serde_as] #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct Session { + /// This property is deprecated. It will be removed in a future version. #[serde_as(as = "DefaultOnNull")] #[serde(rename = "featurebase_identity")] pub featurebase_identity: models::FeaturebaseIdentity, diff --git a/crates/tower-api/src/models/shoulder_tap.rs b/crates/tower-api/src/models/shoulder_tap.rs index dec17e33..3d5b91f7 100644 --- a/crates/tower-api/src/models/shoulder_tap.rs +++ b/crates/tower-api/src/models/shoulder_tap.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/sse_warning.rs b/crates/tower-api/src/models/sse_warning.rs index 78b4f748..28dc3f9e 100644 --- a/crates/tower-api/src/models/sse_warning.rs +++ b/crates/tower-api/src/models/sse_warning.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/statistics_settings.rs b/crates/tower-api/src/models/statistics_settings.rs index 6ab7bb5e..8026f7dc 100644 --- a/crates/tower-api/src/models/statistics_settings.rs +++ b/crates/tower-api/src/models/statistics_settings.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/team.rs b/crates/tower-api/src/models/team.rs index 08da5e37..537b57a1 100644 --- a/crates/tower-api/src/models/team.rs +++ b/crates/tower-api/src/models/team.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/team_invitation.rs b/crates/tower-api/src/models/team_invitation.rs index f7aeeff6..1a649f7b 100644 --- a/crates/tower-api/src/models/team_invitation.rs +++ b/crates/tower-api/src/models/team_invitation.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/team_membership.rs b/crates/tower-api/src/models/team_membership.rs index 0d19d661..ab61bc59 100644 --- a/crates/tower-api/src/models/team_membership.rs +++ b/crates/tower-api/src/models/team_membership.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/test_webhook_response.rs b/crates/tower-api/src/models/test_webhook_response.rs index 186b1e56..edb69308 100644 --- a/crates/tower-api/src/models/test_webhook_response.rs +++ b/crates/tower-api/src/models/test_webhook_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/token.rs b/crates/tower-api/src/models/token.rs index e0ec1806..bd119e00 100644 --- a/crates/tower-api/src/models/token.rs +++ b/crates/tower-api/src/models/token.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/update_account_params.rs b/crates/tower-api/src/models/update_account_params.rs index 7190e849..7f051a0b 100644 --- a/crates/tower-api/src/models/update_account_params.rs +++ b/crates/tower-api/src/models/update_account_params.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/update_account_response.rs b/crates/tower-api/src/models/update_account_response.rs index 09653197..6b289c94 100644 --- a/crates/tower-api/src/models/update_account_response.rs +++ b/crates/tower-api/src/models/update_account_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/update_app_environment_params.rs b/crates/tower-api/src/models/update_app_environment_params.rs new file mode 100644 index 00000000..d0fbc7f2 --- /dev/null +++ b/crates/tower-api/src/models/update_app_environment_params.rs @@ -0,0 +1,33 @@ +/* + * Tower API + * + * REST API to interact with Tower Services. + * + * The version of the OpenAPI document: v0.10.24 + * Contact: hello@tower.dev + * Generated by: https://openapi-generator.tech + */ +use crate::models; +use serde::{Deserialize, Deserializer, Serialize}; +use serde_with::{serde_as, DefaultOnNull}; + +#[serde_as] +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UpdateAppEnvironmentParams { + /// A URL to the JSON Schema for this object. + #[serde(rename = "$schema", skip_serializing_if = "Option::is_none")] + pub schema: Option, + /// The version to deploy to this environment, e.g. 'v1', 'v2'. + #[serde_as(as = "DefaultOnNull")] + #[serde(rename = "version")] + pub version: String, +} + +impl UpdateAppEnvironmentParams { + pub fn new(version: String) -> UpdateAppEnvironmentParams { + UpdateAppEnvironmentParams { + schema: None, + version, + } + } +} diff --git a/crates/tower-api/src/models/update_app_environment_response.rs b/crates/tower-api/src/models/update_app_environment_response.rs new file mode 100644 index 00000000..0da5a43b --- /dev/null +++ b/crates/tower-api/src/models/update_app_environment_response.rs @@ -0,0 +1,36 @@ +/* + * Tower API + * + * REST API to interact with Tower Services. + * + * The version of the OpenAPI document: v0.10.24 + * Contact: hello@tower.dev + * Generated by: https://openapi-generator.tech + */ +use crate::models; +use serde::{Deserialize, Deserializer, Serialize}; +use serde_with::{serde_as, DefaultOnNull}; + +#[serde_as] +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UpdateAppEnvironmentResponse { + /// A URL to the JSON Schema for this object. + #[serde(rename = "$schema", skip_serializing_if = "Option::is_none")] + pub schema: Option, + #[serde_as(as = "DefaultOnNull")] + #[serde(rename = "environment")] + pub environment: String, + #[serde_as(as = "DefaultOnNull")] + #[serde(rename = "version")] + pub version: String, +} + +impl UpdateAppEnvironmentResponse { + pub fn new(environment: String, version: String) -> UpdateAppEnvironmentResponse { + UpdateAppEnvironmentResponse { + schema: None, + environment, + version, + } + } +} diff --git a/crates/tower-api/src/models/update_app_params.rs b/crates/tower-api/src/models/update_app_params.rs index 72b44704..7b030fa8 100644 --- a/crates/tower-api/src/models/update_app_params.rs +++ b/crates/tower-api/src/models/update_app_params.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/update_app_response.rs b/crates/tower-api/src/models/update_app_response.rs index 6aa3fdfa..1b6e34a0 100644 --- a/crates/tower-api/src/models/update_app_response.rs +++ b/crates/tower-api/src/models/update_app_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/update_catalog_params.rs b/crates/tower-api/src/models/update_catalog_params.rs index 6732636f..8546d7be 100644 --- a/crates/tower-api/src/models/update_catalog_params.rs +++ b/crates/tower-api/src/models/update_catalog_params.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/update_catalog_response.rs b/crates/tower-api/src/models/update_catalog_response.rs index b2db4456..f95ad2df 100644 --- a/crates/tower-api/src/models/update_catalog_response.rs +++ b/crates/tower-api/src/models/update_catalog_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/update_email_preferences_body.rs b/crates/tower-api/src/models/update_email_preferences_body.rs index 5c0f1e0b..03e86fbf 100644 --- a/crates/tower-api/src/models/update_email_preferences_body.rs +++ b/crates/tower-api/src/models/update_email_preferences_body.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/update_environment_params.rs b/crates/tower-api/src/models/update_environment_params.rs index 9be932eb..750e217b 100644 --- a/crates/tower-api/src/models/update_environment_params.rs +++ b/crates/tower-api/src/models/update_environment_params.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/update_environment_response.rs b/crates/tower-api/src/models/update_environment_response.rs index e7a74643..0d94e746 100644 --- a/crates/tower-api/src/models/update_environment_response.rs +++ b/crates/tower-api/src/models/update_environment_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/update_my_team_invitation_params.rs b/crates/tower-api/src/models/update_my_team_invitation_params.rs index 5c17075e..388fce68 100644 --- a/crates/tower-api/src/models/update_my_team_invitation_params.rs +++ b/crates/tower-api/src/models/update_my_team_invitation_params.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/update_my_team_invitation_response.rs b/crates/tower-api/src/models/update_my_team_invitation_response.rs index 8f077b5a..bcbf9136 100644 --- a/crates/tower-api/src/models/update_my_team_invitation_response.rs +++ b/crates/tower-api/src/models/update_my_team_invitation_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/update_organization_params.rs b/crates/tower-api/src/models/update_organization_params.rs index cf153c0d..2912b546 100644 --- a/crates/tower-api/src/models/update_organization_params.rs +++ b/crates/tower-api/src/models/update_organization_params.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/update_organization_response.rs b/crates/tower-api/src/models/update_organization_response.rs index b485de14..782b6124 100644 --- a/crates/tower-api/src/models/update_organization_response.rs +++ b/crates/tower-api/src/models/update_organization_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/update_plan_params.rs b/crates/tower-api/src/models/update_plan_params.rs index 283ce407..6252fb2a 100644 --- a/crates/tower-api/src/models/update_plan_params.rs +++ b/crates/tower-api/src/models/update_plan_params.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/update_plan_response.rs b/crates/tower-api/src/models/update_plan_response.rs index 9cdfcd1b..c1bb2d58 100644 --- a/crates/tower-api/src/models/update_plan_response.rs +++ b/crates/tower-api/src/models/update_plan_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/update_schedule_params.rs b/crates/tower-api/src/models/update_schedule_params.rs index 44a0e210..ba2541c8 100644 --- a/crates/tower-api/src/models/update_schedule_params.rs +++ b/crates/tower-api/src/models/update_schedule_params.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ @@ -17,7 +17,7 @@ pub struct UpdateScheduleParams { /// A URL to the JSON Schema for this object. #[serde(rename = "$schema", skip_serializing_if = "Option::is_none")] pub schema: Option, - /// The specific app version to run (if omitted, will use the app's default version) + /// This property is deprecated and ignored. Schedules inherit the version from their environment. #[serde( rename = "app_version", default, diff --git a/crates/tower-api/src/models/update_schedule_response.rs b/crates/tower-api/src/models/update_schedule_response.rs index 91949516..a75eeca5 100644 --- a/crates/tower-api/src/models/update_schedule_response.rs +++ b/crates/tower-api/src/models/update_schedule_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/update_secret_params.rs b/crates/tower-api/src/models/update_secret_params.rs index 40a5affe..b4f02c80 100644 --- a/crates/tower-api/src/models/update_secret_params.rs +++ b/crates/tower-api/src/models/update_secret_params.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/update_secret_response.rs b/crates/tower-api/src/models/update_secret_response.rs index 33cc1518..589c5013 100644 --- a/crates/tower-api/src/models/update_secret_response.rs +++ b/crates/tower-api/src/models/update_secret_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/update_team_member_params.rs b/crates/tower-api/src/models/update_team_member_params.rs index 8886b6e2..5b34f5d7 100644 --- a/crates/tower-api/src/models/update_team_member_params.rs +++ b/crates/tower-api/src/models/update_team_member_params.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/update_team_member_response.rs b/crates/tower-api/src/models/update_team_member_response.rs index 8c530240..42511c70 100644 --- a/crates/tower-api/src/models/update_team_member_response.rs +++ b/crates/tower-api/src/models/update_team_member_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/update_team_params.rs b/crates/tower-api/src/models/update_team_params.rs index a9796866..4dcef519 100644 --- a/crates/tower-api/src/models/update_team_params.rs +++ b/crates/tower-api/src/models/update_team_params.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/update_team_response.rs b/crates/tower-api/src/models/update_team_response.rs index 8fa559a9..28c1734c 100644 --- a/crates/tower-api/src/models/update_team_response.rs +++ b/crates/tower-api/src/models/update_team_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/update_user_params.rs b/crates/tower-api/src/models/update_user_params.rs index 0377d738..a95860ca 100644 --- a/crates/tower-api/src/models/update_user_params.rs +++ b/crates/tower-api/src/models/update_user_params.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/update_user_response.rs b/crates/tower-api/src/models/update_user_response.rs index 359bb2c3..727a11d9 100644 --- a/crates/tower-api/src/models/update_user_response.rs +++ b/crates/tower-api/src/models/update_user_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/update_webhook_params.rs b/crates/tower-api/src/models/update_webhook_params.rs index 79b84cfd..2272a311 100644 --- a/crates/tower-api/src/models/update_webhook_params.rs +++ b/crates/tower-api/src/models/update_webhook_params.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/update_webhook_response.rs b/crates/tower-api/src/models/update_webhook_response.rs index 833f61ca..90ba489a 100644 --- a/crates/tower-api/src/models/update_webhook_response.rs +++ b/crates/tower-api/src/models/update_webhook_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/usage_limit.rs b/crates/tower-api/src/models/usage_limit.rs index 985ce95b..53252d37 100644 --- a/crates/tower-api/src/models/usage_limit.rs +++ b/crates/tower-api/src/models/usage_limit.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/usage_metric_time_series_point.rs b/crates/tower-api/src/models/usage_metric_time_series_point.rs new file mode 100644 index 00000000..38d14c80 --- /dev/null +++ b/crates/tower-api/src/models/usage_metric_time_series_point.rs @@ -0,0 +1,57 @@ +/* + * Tower API + * + * REST API to interact with Tower Services. + * + * The version of the OpenAPI document: v0.10.24 + * Contact: hello@tower.dev + * Generated by: https://openapi-generator.tech + */ +use crate::models; +use serde::{Deserialize, Deserializer, Serialize}; +use serde_with::{serde_as, DefaultOnNull}; + +#[serde_as] +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UsageMetricTimeSeriesPoint { + #[serde_as(as = "DefaultOnNull")] + #[serde(rename = "date")] + pub date: String, + #[serde_as(as = "DefaultOnNull")] + #[serde(rename = "name")] + pub name: Name, + #[serde_as(as = "DefaultOnNull")] + #[serde(rename = "value")] + pub value: i64, +} + +impl UsageMetricTimeSeriesPoint { + pub fn new(date: String, name: Name, value: i64) -> UsageMetricTimeSeriesPoint { + UsageMetricTimeSeriesPoint { date, name, value } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize)] +pub enum Name { + #[serde(rename = "run_seconds")] + RunSeconds, +} + +impl Default for Name { + fn default() -> Name { + Self::RunSeconds + } +} + +impl<'de> Deserialize<'de> for Name { + fn deserialize(deserializer: D) -> Result + where + D: Deserializer<'de>, + { + let s = String::deserialize(deserializer)?; + match s.to_lowercase().as_str() { + "run_seconds" => Ok(Self::RunSeconds), + _ => Err(serde::de::Error::unknown_variant(&s, &["run_seconds"])), + } + } +} diff --git a/crates/tower-api/src/models/user.rs b/crates/tower-api/src/models/user.rs index 7c641aed..d7e31814 100644 --- a/crates/tower-api/src/models/user.rs +++ b/crates/tower-api/src/models/user.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/webhook.rs b/crates/tower-api/src/models/webhook.rs index 6e3aaab6..ad5db127 100644 --- a/crates/tower-api/src/models/webhook.rs +++ b/crates/tower-api/src/models/webhook.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.10.17 + * The version of the OpenAPI document: v0.10.24 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-cmd/src/api.rs b/crates/tower-cmd/src/api.rs index 0297bf11..1da1637b 100644 --- a/crates/tower-cmd/src/api.rs +++ b/crates/tower-cmd/src/api.rs @@ -34,6 +34,7 @@ pub async fn describe_app( start_at: None, end_at: None, timezone: None, + environment: None, }; unwrap_api_response(tower_api::apis::default_api::describe_app( @@ -404,10 +405,8 @@ pub async fn refresh_session( pub async fn list_teams( config: &Config, -) -> Result< - tower_api::models::ListTeamsResponse, - Error, -> { +) -> Result> +{ let api_config = &config.into(); let params = tower_api::apis::default_api::ListTeamsParams { @@ -935,6 +934,7 @@ pub async fn create_schedule( params .into_iter() .map(|(key, value)| RunParameter { + is_override: None, name: key, value, hidden: None, @@ -973,6 +973,7 @@ pub async fn update_schedule( params .into_iter() .map(|(key, value)| RunParameter { + is_override: None, name: key, value, hidden: None, @@ -1079,10 +1080,8 @@ pub async fn cancel_run( config: &Config, name: &str, seq: i64, -) -> Result< - tower_api::models::CancelRunResponse, - Error, -> { +) -> Result> +{ let api_config = &config.into(); let params = tower_api::apis::default_api::CancelRunParams { @@ -1090,10 +1089,7 @@ pub async fn cancel_run( seq, }; - unwrap_api_response(tower_api::apis::default_api::cancel_run( - api_config, params, - )) - .await + unwrap_api_response(tower_api::apis::default_api::cancel_run(api_config, params)).await } impl ResponseEntity for tower_api::apis::default_api::CancelRunSuccess { diff --git a/crates/tower-cmd/src/apps.rs b/crates/tower-cmd/src/apps.rs index ab632620..9d821d7b 100644 --- a/crates/tower-cmd/src/apps.rs +++ b/crates/tower-cmd/src/apps.rs @@ -97,9 +97,13 @@ pub fn apps_cmd() -> Command { } pub async fn do_logs(config: Config, cmd: &ArgMatches) { - let app_name_raw = cmd.get_one::("app_name").expect("app_name is required"); + let app_name_raw = cmd + .get_one::("app_name") + .expect("app_name is required"); let (name, seq) = if let Some((name, num_str)) = app_name_raw.split_once('#') { - let num = num_str.parse::().unwrap_or_else(|_| output::die("Run number must be a number")); + let num = num_str + .parse::() + .unwrap_or_else(|_| output::die("Run number must be a number")); (name.to_string(), num) } else { let num = match cmd.get_one::("run_number").copied() { @@ -123,7 +127,9 @@ pub async fn do_logs(config: Config, cmd: &ArgMatches) { } pub async fn do_show(config: Config, cmd: &ArgMatches) { - let name = cmd.get_one::("app_name").expect("app_name is required"); + let name = cmd + .get_one::("app_name") + .expect("app_name is required"); match api::describe_app(&config, &name).await { Ok(app_response) => { @@ -236,7 +242,9 @@ pub async fn do_create(config: Config, args: &ArgMatches) { } pub async fn do_delete(config: Config, cmd: &ArgMatches) { - let name = cmd.get_one::("app_name").expect("app_name is required"); + let name = cmd + .get_one::("app_name") + .expect("app_name is required"); output::with_spinner("Deleting app", api::delete_app(&config, name)).await; } @@ -263,7 +271,8 @@ pub async fn do_cancel(config: Config, cmd: &ArgMatches) { async fn latest_run_number(config: &Config, name: &str) -> i64 { match api::describe_app(config, name).await { - Ok(resp) => resp.runs + Ok(resp) => resp + .runs .iter() .map(|r| r.number) .max() @@ -307,7 +316,9 @@ async fn follow_logs(config: Config, name: String, seq: i64) { sleep(RUN_START_POLL_INTERVAL).await; if wait_started.elapsed() > RUN_START_TIMEOUT { - output::error("Timed out waiting for run to start. The runner may be unavailable."); + output::error( + "Timed out waiting for run to start. The runner may be unavailable.", + ); return; } @@ -552,9 +563,9 @@ fn is_run_finished(run: &Run) -> bool { fn is_run_started(run: &Run) -> bool { match run.status { - tower_api::models::run::Status::Scheduled | tower_api::models::run::Status::Pending => { - false - } + tower_api::models::run::Status::Scheduled + | tower_api::models::run::Status::Pending + | tower_api::models::run::Status::Starting => false, _ => true, } } @@ -585,7 +596,9 @@ mod tests { assert_eq!(cmd, "logs"); assert_eq!(sub_matches.get_one::("follow"), Some(&true)); assert_eq!( - sub_matches.get_one::("app_name").map(|s| s.as_str()), + sub_matches + .get_one::("app_name") + .map(|s| s.as_str()), Some("hello-world#11") ); assert_eq!(sub_matches.get_one::("run_number"), None); @@ -599,7 +612,9 @@ mod tests { let (_, sub_matches) = matches.subcommand().unwrap(); assert_eq!( - sub_matches.get_one::("app_name").map(|s| s.as_str()), + sub_matches + .get_one::("app_name") + .map(|s| s.as_str()), Some("hello-world") ); assert_eq!(sub_matches.get_one::("run_number"), Some(&11)); @@ -607,7 +622,12 @@ mod tests { #[test] fn test_terminal_statuses_explicit() { - let non_terminal = [Status::Scheduled, Status::Pending, Status::Running, Status::Retrying]; + let non_terminal = [ + Status::Scheduled, + Status::Pending, + Status::Running, + Status::Retrying, + ]; for status in non_terminal { let run = Run { status, @@ -636,6 +656,7 @@ mod tests { let status = Status::Scheduled; match status { Status::Scheduled => {} + Status::Starting => {} Status::Pending => {} Status::Running => {} Status::Retrying => {} @@ -648,7 +669,7 @@ mod tests { #[test] fn test_run_started_statuses() { - let not_started = [Status::Scheduled, Status::Pending]; + let not_started = [Status::Scheduled, Status::Pending, Status::Starting]; for status in not_started { let run = Run { status, diff --git a/crates/tower-cmd/src/deploy.rs b/crates/tower-cmd/src/deploy.rs index 069c1ca9..c5328f38 100644 --- a/crates/tower-cmd/src/deploy.rs +++ b/crates/tower-cmd/src/deploy.rs @@ -106,12 +106,11 @@ pub async fn deploy_from_dir( let path = dir.join("Towerfile"); let path_display = path.display().to_string(); - let towerfile = Towerfile::from_path(path).map_err(|source| { - crate::Error::TowerfileLoadFailed { + let towerfile = + Towerfile::from_path(path).map_err(|source| crate::Error::TowerfileLoadFailed { path: path_display, source, - } - })?; + })?; let api_config = config.into(); // Add app existence check before proceeding diff --git a/crates/tower-cmd/src/mcp.rs b/crates/tower-cmd/src/mcp.rs index d46ba454..0b069356 100644 --- a/crates/tower-cmd/src/mcp.rs +++ b/crates/tower-cmd/src/mcp.rs @@ -859,12 +859,15 @@ impl TowerService { } let name = request.name.clone(); Self::modify_towerfile(&request.common, |tf| { - tf.set_parameter(&name, Parameter { - name: name.clone(), - description: request.description.unwrap_or_default(), - default: request.default.unwrap_or_default(), - hidden: request.hidden, - }); + tf.set_parameter( + &name, + Parameter { + name: name.clone(), + description: request.description.unwrap_or_default(), + default: request.default.unwrap_or_default(), + hidden: request.hidden, + }, + ); Ok(format!("Added parameter '{name}'")) }) } @@ -878,7 +881,10 @@ impl TowerService { ) -> Result { let name = request.name.clone(); Self::modify_towerfile(&request.common, |tf| { - let existing = tf.parameters.iter().find(|p| p.name == name) + let existing = tf + .parameters + .iter() + .find(|p| p.name == name) .ok_or_else(|| format!("Parameter '{name}' not found"))?; let target_name = request .new_name @@ -889,7 +895,9 @@ impl TowerService { } let param = Parameter { name: target_name, - description: request.description.unwrap_or_else(|| existing.description.clone()), + description: request + .description + .unwrap_or_else(|| existing.description.clone()), default: request.default.unwrap_or_else(|| existing.default.clone()), hidden: request.hidden.unwrap_or(existing.hidden), }; @@ -901,9 +909,7 @@ impl TowerService { }) } - #[tool( - description = "Remove a parameter from the Towerfile. Optional: working_directory." - )] + #[tool(description = "Remove a parameter from the Towerfile. Optional: working_directory.")] async fn tower_file_remove_parameter( &self, Parameters(request): Parameters, diff --git a/crates/tower-cmd/src/run.rs b/crates/tower-cmd/src/run.rs index 3378dc83..190d9f4e 100644 --- a/crates/tower-cmd/src/run.rs +++ b/crates/tower-cmd/src/run.rs @@ -107,10 +107,7 @@ pub async fn do_run(config: Config, args: &ArgMatches) { /// do_run is the primary entrypoint into running apps both locally and remotely in Tower. It will /// use the configuration to determine the requested way of running a Tower app. -pub async fn do_run_inner( - config: Config, - args: &ArgMatches, -) -> Result<(), Error> { +pub async fn do_run_inner(config: Config, args: &ArgMatches) -> Result<(), Error> { let res = get_run_parameters(args); // We always expect there to be an environment due to the fact that there is a @@ -846,7 +843,10 @@ mod tests { #[test] fn app_name_parsed_as_positional_arg() { let m = parse(&["my-app"]).unwrap(); - assert_eq!(m.get_one::("app_name").map(|s| s.as_str()), Some("my-app")); + assert_eq!( + m.get_one::("app_name").map(|s| s.as_str()), + Some("my-app") + ); } #[test] @@ -859,8 +859,14 @@ mod tests { fn unknown_flags_are_rejected() { let err = parse(&["--param", "x=y"]).unwrap_err(); let msg = err.to_string(); - assert!(msg.contains("--param"), "should mention the bad flag: {msg}"); - assert!(msg.contains("--parameter"), "should suggest the correct flag: {msg}"); + assert!( + msg.contains("--param"), + "should mention the bad flag: {msg}" + ); + assert!( + msg.contains("--parameter"), + "should suggest the correct flag: {msg}" + ); } #[test] @@ -878,7 +884,10 @@ mod tests { #[test] fn parameters_after_app_name() { let m = parse(&["my-app", "-p", "key=val"]).unwrap(); - assert_eq!(m.get_one::("app_name").map(|s| s.as_str()), Some("my-app")); + assert_eq!( + m.get_one::("app_name").map(|s| s.as_str()), + Some("my-app") + ); let params: Vec<&String> = m.get_many::("parameters").unwrap().collect(); assert_eq!(params, vec!["key=val"]); } @@ -886,7 +895,10 @@ mod tests { #[test] fn parameters_before_app_name() { let m = parse(&["-p", "key=val", "my-app"]).unwrap(); - assert_eq!(m.get_one::("app_name").map(|s| s.as_str()), Some("my-app")); + assert_eq!( + m.get_one::("app_name").map(|s| s.as_str()), + Some("my-app") + ); let params: Vec<&String> = m.get_many::("parameters").unwrap().collect(); assert_eq!(params, vec!["key=val"]); } diff --git a/crates/tower-cmd/src/schedules.rs b/crates/tower-cmd/src/schedules.rs index 59562cf2..cb6aa499 100644 --- a/crates/tower-cmd/src/schedules.rs +++ b/crates/tower-cmd/src/schedules.rs @@ -171,7 +171,9 @@ pub async fn do_create(config: Config, args: &ArgMatches) { } pub async fn do_update(config: Config, args: &ArgMatches) { - let id_or_name = args.get_one::("id_or_name").expect("id_or_name is required"); + let id_or_name = args + .get_one::("id_or_name") + .expect("id_or_name is required"); let cron = args.get_one::("cron"); let parameters = parse_parameters(args); @@ -185,7 +187,9 @@ pub async fn do_update(config: Config, args: &ArgMatches) { } pub async fn do_delete(config: Config, args: &ArgMatches) { - let schedule_id = args.get_one::("schedule_id").expect("schedule_id is required"); + let schedule_id = args + .get_one::("schedule_id") + .expect("schedule_id is required"); output::with_spinner( "Deleting schedule", diff --git a/crates/tower-cmd/src/secrets.rs b/crates/tower-cmd/src/secrets.rs index e6a95393..f6baf5bd 100644 --- a/crates/tower-cmd/src/secrets.rs +++ b/crates/tower-cmd/src/secrets.rs @@ -185,11 +185,15 @@ pub async fn do_create(config: Config, args: &ArgMatches) { } pub async fn do_delete(config: Config, args: &ArgMatches) { - let secret_name_arg = args.get_one::("secret_name").expect("secret_name is required"); + let secret_name_arg = args + .get_one::("secret_name") + .expect("secret_name is required"); let (environment, name) = if let Some((env, name)) = secret_name_arg.split_once('/') { (env.to_string(), name.to_string()) } else { - let env = args.get_one::("environment").expect("environment has default"); + let env = args + .get_one::("environment") + .expect("environment has default"); (env.clone(), secret_name_arg.clone()) }; debug!("deleting secret, environment={} name={}", environment, name); @@ -240,4 +244,3 @@ async fn encrypt_and_create_secret( .await .map_err(SecretCreationError::CreateFailed) } - diff --git a/crates/tower-cmd/src/session.rs b/crates/tower-cmd/src/session.rs index 409d06cd..32d88987 100644 --- a/crates/tower-cmd/src/session.rs +++ b/crates/tower-cmd/src/session.rs @@ -33,7 +33,8 @@ pub async fn do_login(config: Config, args: &ArgMatches) { eprint!("Do you want to continue? [y/N] "); let mut input = String::new(); - if std::io::stdin().read_line(&mut input).is_err() || !input.trim().eq_ignore_ascii_case("y") + if std::io::stdin().read_line(&mut input).is_err() + || !input.trim().eq_ignore_ascii_case("y") { return; } diff --git a/crates/tower-cmd/src/skill.rs b/crates/tower-cmd/src/skill.rs index 13caca60..be1ee7b7 100644 --- a/crates/tower-cmd/src/skill.rs +++ b/crates/tower-cmd/src/skill.rs @@ -29,10 +29,7 @@ fn generate_skill_md(root: Command) -> String { } fn append_command(out: &mut String, cmd: &Command, path: &[&str], depth: usize) { - let subcommands: Vec<_> = cmd - .get_subcommands() - .filter(|c| !c.is_hide_set()) - .collect(); + let subcommands: Vec<_> = cmd.get_subcommands().filter(|c| !c.is_hide_set()).collect(); for sub in &subcommands { let name = sub.get_name(); @@ -71,12 +68,7 @@ fn append_command(out: &mut String, cmd: &Command, path: &[&str], depth: usize) .get_help() .map(|h| format!(" — {}", h)) .unwrap_or_default(); - out.push_str(&format!( - "- `<{}>` {}{}\n", - arg.get_id(), - req, - help - )); + out.push_str(&format!("- `<{}>` {}{}\n", arg.get_id(), req, help)); } for arg in &named { let long = arg.get_long().unwrap(); @@ -98,10 +90,7 @@ fn append_command(out: &mut String, cmd: &Command, path: &[&str], depth: usize) out.push('\n'); } - let child_subs: Vec<_> = sub - .get_subcommands() - .filter(|c| !c.is_hide_set()) - .collect(); + let child_subs: Vec<_> = sub.get_subcommands().filter(|c| !c.is_hide_set()).collect(); if !child_subs.is_empty() { append_command(out, sub, &full_path, depth + 1); diff --git a/crates/tower-cmd/src/teams.rs b/crates/tower-cmd/src/teams.rs index d0cc2413..abeaa666 100644 --- a/crates/tower-cmd/src/teams.rs +++ b/crates/tower-cmd/src/teams.rs @@ -109,7 +109,9 @@ async fn do_list_via_session(config: &Config) { } pub async fn do_switch(config: Config, args: &ArgMatches) { - let name = args.get_one::("team_name").expect("team_name is required"); + let name = args + .get_one::("team_name") + .expect("team_name is required"); // Refresh the session first to ensure we have the latest teams data let session = refresh_session(&config).await; @@ -140,4 +142,3 @@ pub async fn do_switch(config: Config, args: &ArgMatches) { } } } - diff --git a/crates/tower-cmd/src/util/apps.rs b/crates/tower-cmd/src/util/apps.rs index e6e14524..3b6cf49c 100644 --- a/crates/tower-cmd/src/util/apps.rs +++ b/crates/tower-cmd/src/util/apps.rs @@ -22,6 +22,7 @@ pub async fn ensure_app_exists( start_at: None, end_at: None, timezone: None, + environment: None, }, ) .await; diff --git a/crates/tower-cmd/src/util/deploy.rs b/crates/tower-cmd/src/util/deploy.rs index 5a6d3619..23c56a3c 100644 --- a/crates/tower-cmd/src/util/deploy.rs +++ b/crates/tower-cmd/src/util/deploy.rs @@ -8,8 +8,8 @@ use tower_package::{compute_sha256_file, Package}; use tower_telemetry::debug; use tower_api::apis::configuration::Configuration; -use tower_api::apis::urlencode; use tower_api::apis::default_api::DeployAppError; +use tower_api::apis::urlencode; use tower_api::apis::Error; use tower_api::apis::ResponseContent; use tower_api::models::DeployAppResponse; @@ -122,10 +122,16 @@ pub async fn deploy_app_package( let encoded_app_name = urlencode(app_name); let url = if all_environments { - format!("{}/apps/{}/deploy?all_environments=true", base_url, encoded_app_name) + format!( + "{}/apps/{}/deploy?all_environments=true", + base_url, encoded_app_name + ) } else if let Some(env) = environment { let encoded_environment = urlencode(env); - format!("{}/apps/{}/deploy?environment={}", base_url, encoded_app_name, encoded_environment) + format!( + "{}/apps/{}/deploy?environment={}", + base_url, encoded_app_name, encoded_environment + ) } else { format!("{}/apps/{}/deploy", base_url, encoded_app_name) }; diff --git a/src/tower/_client.py b/src/tower/_client.py index 02124280..9ec118f7 100644 --- a/src/tower/_client.py +++ b/src/tower/_client.py @@ -24,6 +24,7 @@ RunAppParams, RunAppParamsParameters, RunAppResponse, + RunStatus, ) from .tower_api_client.models.error_model import ErrorModel from .tower_api_client.errors import UnexpectedStatus @@ -44,6 +45,33 @@ # API before we just give up entirely. DEFAULT_NUM_TIMEOUT_RETRIES = 5 +# TERMINAL_RUN_STATUSES are the run statuses that indicate that a run has finished, +# regardless of whether it completed successfully or not. +TERMINAL_RUN_STATUSES = [ + RunStatus.EXITED, + RunStatus.CANCELLED, + RunStatus.CRASHED, + RunStatus.ERRORED, +] + +# SUCCESSFUL_RUN_STATUSES are the run statuses that indicate that a run has finished and +# completed successfully. +SUCCESSFUL_RUN_STATUSES = [RunStatus.EXITED] + +# FAILED_RUN_STATUSES are the run statuses that indicate that a run has finished but +# did not complete successfully. +FAILED_RUN_STATUSES = [RunStatus.ERRORED, RunStatus.CANCELLED, RunStatus.CRASHED] + +# AWAITING_RUN_STATUSES are the run statuses that indicate that a run is either currently +# running or is expected to run in the near future. +AWAITING_RUN_STATUSES = [ + RunStatus.PENDING, + RunStatus.SCHEDULED, + RunStatus.RUNNING, + RunStatus.STARTING, + RunStatus.RETRYING, +] + def run_app( name: str, @@ -279,7 +307,7 @@ def _is_failed_run(run: Run) -> bool: Returns: bool: True if the run has failed, False otherwise. """ - return run.status in ["crashed", "cancelled", "errored"] + return run.status in FAILED_RUN_STATUSES def _is_successful_run(run: Run) -> bool: @@ -292,7 +320,7 @@ def _is_successful_run(run: Run) -> bool: Returns: bool: True if the run was successful, False otherwise. """ - return run.status in ["exited"] + return run.status in SUCCESSFUL_RUN_STATUSES def _is_run_awaiting_completion(run: Run) -> bool: @@ -305,7 +333,7 @@ def _is_run_awaiting_completion(run: Run) -> bool: Returns: bool: True if the run is awaiting run or currently running, False otherwise. """ - return run.status in ["pending", "scheduled", "running"] + return run.status in AWAITING_RUN_STATUSES def _env_client( diff --git a/src/tower/tower_api_client/api/default/create_password_reset.py b/src/tower/tower_api_client/api/default/create_password_reset.py deleted file mode 100644 index d109aa3a..00000000 --- a/src/tower/tower_api_client/api/default/create_password_reset.py +++ /dev/null @@ -1,171 +0,0 @@ -from http import HTTPStatus -from typing import Any - -import httpx - -from ...client import AuthenticatedClient, Client -from ...models.create_password_reset_params import CreatePasswordResetParams -from ...models.create_password_reset_response import CreatePasswordResetResponse -from ...models.error_model import ErrorModel -from ...types import Response - - -def _get_kwargs( - *, - body: CreatePasswordResetParams, -) -> dict[str, Any]: - headers: dict[str, Any] = {} - - _kwargs: dict[str, Any] = { - "method": "post", - "url": "/accounts/password-reset", - } - - _kwargs["json"] = body.to_dict() - - headers["Content-Type"] = "application/json" - - _kwargs["headers"] = headers - return _kwargs - - -def _parse_response( - *, client: AuthenticatedClient | Client, response: httpx.Response -) -> CreatePasswordResetResponse | ErrorModel: - if response.status_code == 200: - response_200 = CreatePasswordResetResponse.from_dict(response.json()) - - return response_200 - - response_default = ErrorModel.from_dict(response.json()) - - return response_default - - -def _build_response( - *, client: AuthenticatedClient | Client, response: httpx.Response -) -> Response[CreatePasswordResetResponse | ErrorModel]: - return Response( - status_code=HTTPStatus(response.status_code), - content=response.content, - headers=response.headers, - parsed=_parse_response(client=client, response=response), - ) - - -def sync_detailed( - *, - client: AuthenticatedClient | Client, - body: CreatePasswordResetParams, -) -> Response[CreatePasswordResetResponse | ErrorModel]: - """Create password reset - - Starts the password reset process for an account. If an email address exists for the account - supplied, you will get a reset password email. - - Args: - body (CreatePasswordResetParams): - - Raises: - errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. - httpx.TimeoutException: If the request takes longer than Client.timeout. - - Returns: - Response[CreatePasswordResetResponse | ErrorModel] - """ - - kwargs = _get_kwargs( - body=body, - ) - - response = client.get_httpx_client().request( - **kwargs, - ) - - return _build_response(client=client, response=response) - - -def sync( - *, - client: AuthenticatedClient | Client, - body: CreatePasswordResetParams, -) -> CreatePasswordResetResponse | ErrorModel | None: - """Create password reset - - Starts the password reset process for an account. If an email address exists for the account - supplied, you will get a reset password email. - - Args: - body (CreatePasswordResetParams): - - Raises: - errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. - httpx.TimeoutException: If the request takes longer than Client.timeout. - - Returns: - CreatePasswordResetResponse | ErrorModel - """ - - return sync_detailed( - client=client, - body=body, - ).parsed - - -async def asyncio_detailed( - *, - client: AuthenticatedClient | Client, - body: CreatePasswordResetParams, -) -> Response[CreatePasswordResetResponse | ErrorModel]: - """Create password reset - - Starts the password reset process for an account. If an email address exists for the account - supplied, you will get a reset password email. - - Args: - body (CreatePasswordResetParams): - - Raises: - errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. - httpx.TimeoutException: If the request takes longer than Client.timeout. - - Returns: - Response[CreatePasswordResetResponse | ErrorModel] - """ - - kwargs = _get_kwargs( - body=body, - ) - - response = await client.get_async_httpx_client().request(**kwargs) - - return _build_response(client=client, response=response) - - -async def asyncio( - *, - client: AuthenticatedClient | Client, - body: CreatePasswordResetParams, -) -> CreatePasswordResetResponse | ErrorModel | None: - """Create password reset - - Starts the password reset process for an account. If an email address exists for the account - supplied, you will get a reset password email. - - Args: - body (CreatePasswordResetParams): - - Raises: - errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. - httpx.TimeoutException: If the request takes longer than Client.timeout. - - Returns: - CreatePasswordResetResponse | ErrorModel - """ - - return ( - await asyncio_detailed( - client=client, - body=body, - ) - ).parsed diff --git a/src/tower/tower_api_client/api/default/delete_authenticator.py b/src/tower/tower_api_client/api/default/delete_authenticator.py deleted file mode 100644 index 29997b88..00000000 --- a/src/tower/tower_api_client/api/default/delete_authenticator.py +++ /dev/null @@ -1,167 +0,0 @@ -from http import HTTPStatus -from typing import Any - -import httpx - -from ...client import AuthenticatedClient, Client -from ...models.delete_authenticator_params import DeleteAuthenticatorParams -from ...models.delete_authenticator_response import DeleteAuthenticatorResponse -from ...models.error_model import ErrorModel -from ...types import Response - - -def _get_kwargs( - *, - body: DeleteAuthenticatorParams, -) -> dict[str, Any]: - headers: dict[str, Any] = {} - - _kwargs: dict[str, Any] = { - "method": "delete", - "url": "/authenticators", - } - - _kwargs["json"] = body.to_dict() - - headers["Content-Type"] = "application/json" - - _kwargs["headers"] = headers - return _kwargs - - -def _parse_response( - *, client: AuthenticatedClient | Client, response: httpx.Response -) -> DeleteAuthenticatorResponse | ErrorModel: - if response.status_code == 200: - response_200 = DeleteAuthenticatorResponse.from_dict(response.json()) - - return response_200 - - response_default = ErrorModel.from_dict(response.json()) - - return response_default - - -def _build_response( - *, client: AuthenticatedClient | Client, response: httpx.Response -) -> Response[DeleteAuthenticatorResponse | ErrorModel]: - return Response( - status_code=HTTPStatus(response.status_code), - content=response.content, - headers=response.headers, - parsed=_parse_response(client=client, response=response), - ) - - -def sync_detailed( - *, - client: AuthenticatedClient, - body: DeleteAuthenticatorParams, -) -> Response[DeleteAuthenticatorResponse | ErrorModel]: - """Delete authenticator - - Removes an authenticator from your account so you're no longer required to provide it at login. - - Args: - body (DeleteAuthenticatorParams): - - Raises: - errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. - httpx.TimeoutException: If the request takes longer than Client.timeout. - - Returns: - Response[DeleteAuthenticatorResponse | ErrorModel] - """ - - kwargs = _get_kwargs( - body=body, - ) - - response = client.get_httpx_client().request( - **kwargs, - ) - - return _build_response(client=client, response=response) - - -def sync( - *, - client: AuthenticatedClient, - body: DeleteAuthenticatorParams, -) -> DeleteAuthenticatorResponse | ErrorModel | None: - """Delete authenticator - - Removes an authenticator from your account so you're no longer required to provide it at login. - - Args: - body (DeleteAuthenticatorParams): - - Raises: - errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. - httpx.TimeoutException: If the request takes longer than Client.timeout. - - Returns: - DeleteAuthenticatorResponse | ErrorModel - """ - - return sync_detailed( - client=client, - body=body, - ).parsed - - -async def asyncio_detailed( - *, - client: AuthenticatedClient, - body: DeleteAuthenticatorParams, -) -> Response[DeleteAuthenticatorResponse | ErrorModel]: - """Delete authenticator - - Removes an authenticator from your account so you're no longer required to provide it at login. - - Args: - body (DeleteAuthenticatorParams): - - Raises: - errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. - httpx.TimeoutException: If the request takes longer than Client.timeout. - - Returns: - Response[DeleteAuthenticatorResponse | ErrorModel] - """ - - kwargs = _get_kwargs( - body=body, - ) - - response = await client.get_async_httpx_client().request(**kwargs) - - return _build_response(client=client, response=response) - - -async def asyncio( - *, - client: AuthenticatedClient, - body: DeleteAuthenticatorParams, -) -> DeleteAuthenticatorResponse | ErrorModel | None: - """Delete authenticator - - Removes an authenticator from your account so you're no longer required to provide it at login. - - Args: - body (DeleteAuthenticatorParams): - - Raises: - errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. - httpx.TimeoutException: If the request takes longer than Client.timeout. - - Returns: - DeleteAuthenticatorResponse | ErrorModel - """ - - return ( - await asyncio_detailed( - client=client, - body=body, - ) - ).parsed diff --git a/src/tower/tower_api_client/api/default/deploy_app.py b/src/tower/tower_api_client/api/default/deploy_app.py index 902a7b34..3e822ae0 100644 --- a/src/tower/tower_api_client/api/default/deploy_app.py +++ b/src/tower/tower_api_client/api/default/deploy_app.py @@ -16,6 +16,8 @@ def _get_kwargs( name: str, *, body: DeployAppJsonBody | File | Unset = UNSET, + environment: str | Unset = UNSET, + all_environments: bool | Unset = False, x_tower_checksum_sha256: str | Unset = UNSET, content_length: int | Unset = UNSET, ) -> dict[str, Any]: @@ -26,11 +28,20 @@ def _get_kwargs( if not isinstance(content_length, Unset): headers["Content-Length"] = str(content_length) + params: dict[str, Any] = {} + + params["environment"] = environment + + params["all_environments"] = all_environments + + params = {k: v for k, v in params.items() if v is not UNSET and v is not None} + _kwargs: dict[str, Any] = { "method": "post", "url": "/apps/{name}/deploy".format( name=quote(str(name), safe=""), ), + "params": params, } if isinstance(body, DeployAppJsonBody): @@ -91,6 +102,8 @@ def sync_detailed( *, client: AuthenticatedClient, body: DeployAppJsonBody | File | Unset = UNSET, + environment: str | Unset = UNSET, + all_environments: bool | Unset = False, x_tower_checksum_sha256: str | Unset = UNSET, content_length: int | Unset = UNSET, ) -> Response[DeployAppResponse | ErrorModel]: @@ -101,6 +114,9 @@ def sync_detailed( Args: name (str): The name of the app to deploy. + environment (str | Unset): The environment to deploy to. + all_environments (bool | Unset): Whether to deploy to all environments for this app. If + true, the 'environment' query parameter is ignored. Default: False. x_tower_checksum_sha256 (str | Unset): The SHA256 hash of the content, used to verify integrity. content_length (int | Unset): Size of the uploaded bundle in bytes. @@ -120,6 +136,8 @@ def sync_detailed( kwargs = _get_kwargs( name=name, body=body, + environment=environment, + all_environments=all_environments, x_tower_checksum_sha256=x_tower_checksum_sha256, content_length=content_length, ) @@ -136,6 +154,8 @@ def sync( *, client: AuthenticatedClient, body: DeployAppJsonBody | File | Unset = UNSET, + environment: str | Unset = UNSET, + all_environments: bool | Unset = False, x_tower_checksum_sha256: str | Unset = UNSET, content_length: int | Unset = UNSET, ) -> DeployAppResponse | ErrorModel | None: @@ -146,6 +166,9 @@ def sync( Args: name (str): The name of the app to deploy. + environment (str | Unset): The environment to deploy to. + all_environments (bool | Unset): Whether to deploy to all environments for this app. If + true, the 'environment' query parameter is ignored. Default: False. x_tower_checksum_sha256 (str | Unset): The SHA256 hash of the content, used to verify integrity. content_length (int | Unset): Size of the uploaded bundle in bytes. @@ -166,6 +189,8 @@ def sync( name=name, client=client, body=body, + environment=environment, + all_environments=all_environments, x_tower_checksum_sha256=x_tower_checksum_sha256, content_length=content_length, ).parsed @@ -176,6 +201,8 @@ async def asyncio_detailed( *, client: AuthenticatedClient, body: DeployAppJsonBody | File | Unset = UNSET, + environment: str | Unset = UNSET, + all_environments: bool | Unset = False, x_tower_checksum_sha256: str | Unset = UNSET, content_length: int | Unset = UNSET, ) -> Response[DeployAppResponse | ErrorModel]: @@ -186,6 +213,9 @@ async def asyncio_detailed( Args: name (str): The name of the app to deploy. + environment (str | Unset): The environment to deploy to. + all_environments (bool | Unset): Whether to deploy to all environments for this app. If + true, the 'environment' query parameter is ignored. Default: False. x_tower_checksum_sha256 (str | Unset): The SHA256 hash of the content, used to verify integrity. content_length (int | Unset): Size of the uploaded bundle in bytes. @@ -205,6 +235,8 @@ async def asyncio_detailed( kwargs = _get_kwargs( name=name, body=body, + environment=environment, + all_environments=all_environments, x_tower_checksum_sha256=x_tower_checksum_sha256, content_length=content_length, ) @@ -219,6 +251,8 @@ async def asyncio( *, client: AuthenticatedClient, body: DeployAppJsonBody | File | Unset = UNSET, + environment: str | Unset = UNSET, + all_environments: bool | Unset = False, x_tower_checksum_sha256: str | Unset = UNSET, content_length: int | Unset = UNSET, ) -> DeployAppResponse | ErrorModel | None: @@ -229,6 +263,9 @@ async def asyncio( Args: name (str): The name of the app to deploy. + environment (str | Unset): The environment to deploy to. + all_environments (bool | Unset): Whether to deploy to all environments for this app. If + true, the 'environment' query parameter is ignored. Default: False. x_tower_checksum_sha256 (str | Unset): The SHA256 hash of the content, used to verify integrity. content_length (int | Unset): Size of the uploaded bundle in bytes. @@ -250,6 +287,8 @@ async def asyncio( name=name, client=client, body=body, + environment=environment, + all_environments=all_environments, x_tower_checksum_sha256=x_tower_checksum_sha256, content_length=content_length, ) diff --git a/src/tower/tower_api_client/api/default/describe_app.py b/src/tower/tower_api_client/api/default/describe_app.py index c9561e96..e5b4605d 100644 --- a/src/tower/tower_api_client/api/default/describe_app.py +++ b/src/tower/tower_api_client/api/default/describe_app.py @@ -18,6 +18,7 @@ def _get_kwargs( start_at: datetime.datetime | Unset = UNSET, end_at: datetime.datetime | Unset = UNSET, timezone: str | Unset = "UTC", + environment: str | Unset = "default", ) -> dict[str, Any]: params: dict[str, Any] = {} @@ -35,6 +36,8 @@ def _get_kwargs( params["timezone"] = timezone + params["environment"] = environment + params = {k: v for k, v in params.items() if v is not UNSET and v is not None} _kwargs: dict[str, Any] = { @@ -80,6 +83,7 @@ def sync_detailed( start_at: datetime.datetime | Unset = UNSET, end_at: datetime.datetime | Unset = UNSET, timezone: str | Unset = "UTC", + environment: str | Unset = "default", ) -> Response[DescribeAppResponse | ErrorModel]: """Describe app @@ -94,6 +98,8 @@ def sync_detailed( (inclusive). Provide timestamps in ISO-8601 format. timezone (str | Unset): Timezone for the statistics (e.g., 'Europe/Berlin'). Defaults to UTC. Default: 'UTC'. + environment (str | Unset): The environment to resolve the app version against. Defaults to + 'default'. Default: 'default'. Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. @@ -109,6 +115,7 @@ def sync_detailed( start_at=start_at, end_at=end_at, timezone=timezone, + environment=environment, ) response = client.get_httpx_client().request( @@ -126,6 +133,7 @@ def sync( start_at: datetime.datetime | Unset = UNSET, end_at: datetime.datetime | Unset = UNSET, timezone: str | Unset = "UTC", + environment: str | Unset = "default", ) -> DescribeAppResponse | ErrorModel | None: """Describe app @@ -140,6 +148,8 @@ def sync( (inclusive). Provide timestamps in ISO-8601 format. timezone (str | Unset): Timezone for the statistics (e.g., 'Europe/Berlin'). Defaults to UTC. Default: 'UTC'. + environment (str | Unset): The environment to resolve the app version against. Defaults to + 'default'. Default: 'default'. Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. @@ -156,6 +166,7 @@ def sync( start_at=start_at, end_at=end_at, timezone=timezone, + environment=environment, ).parsed @@ -167,6 +178,7 @@ async def asyncio_detailed( start_at: datetime.datetime | Unset = UNSET, end_at: datetime.datetime | Unset = UNSET, timezone: str | Unset = "UTC", + environment: str | Unset = "default", ) -> Response[DescribeAppResponse | ErrorModel]: """Describe app @@ -181,6 +193,8 @@ async def asyncio_detailed( (inclusive). Provide timestamps in ISO-8601 format. timezone (str | Unset): Timezone for the statistics (e.g., 'Europe/Berlin'). Defaults to UTC. Default: 'UTC'. + environment (str | Unset): The environment to resolve the app version against. Defaults to + 'default'. Default: 'default'. Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. @@ -196,6 +210,7 @@ async def asyncio_detailed( start_at=start_at, end_at=end_at, timezone=timezone, + environment=environment, ) response = await client.get_async_httpx_client().request(**kwargs) @@ -211,6 +226,7 @@ async def asyncio( start_at: datetime.datetime | Unset = UNSET, end_at: datetime.datetime | Unset = UNSET, timezone: str | Unset = "UTC", + environment: str | Unset = "default", ) -> DescribeAppResponse | ErrorModel | None: """Describe app @@ -225,6 +241,8 @@ async def asyncio( (inclusive). Provide timestamps in ISO-8601 format. timezone (str | Unset): Timezone for the statistics (e.g., 'Europe/Berlin'). Defaults to UTC. Default: 'UTC'. + environment (str | Unset): The environment to resolve the app version against. Defaults to + 'default'. Default: 'default'. Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. @@ -242,5 +260,6 @@ async def asyncio( start_at=start_at, end_at=end_at, timezone=timezone, + environment=environment, ) ).parsed diff --git a/src/tower/tower_api_client/api/default/describe_organization_usage.py b/src/tower/tower_api_client/api/default/describe_organization_usage.py index 9cfc44c2..ca1759a5 100644 --- a/src/tower/tower_api_client/api/default/describe_organization_usage.py +++ b/src/tower/tower_api_client/api/default/describe_organization_usage.py @@ -48,7 +48,7 @@ def sync_detailed( ) -> Response[ErrorModel | OrganizationUsage]: """Describe organization usage - Describe usage statistics for the user's organization. + Describe usage statistics for the user's organization for the current billing cycle. Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. @@ -73,7 +73,7 @@ def sync( ) -> ErrorModel | OrganizationUsage | None: """Describe organization usage - Describe usage statistics for the user's organization. + Describe usage statistics for the user's organization for the current billing cycle. Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. @@ -94,7 +94,7 @@ async def asyncio_detailed( ) -> Response[ErrorModel | OrganizationUsage]: """Describe organization usage - Describe usage statistics for the user's organization. + Describe usage statistics for the user's organization for the current billing cycle. Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. @@ -117,7 +117,7 @@ async def asyncio( ) -> ErrorModel | OrganizationUsage | None: """Describe organization usage - Describe usage statistics for the user's organization. + Describe usage statistics for the user's organization for the current billing cycle. Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. diff --git a/src/tower/tower_api_client/api/default/generate_authenticator.py b/src/tower/tower_api_client/api/default/generate_authenticator.py deleted file mode 100644 index a2f21bb8..00000000 --- a/src/tower/tower_api_client/api/default/generate_authenticator.py +++ /dev/null @@ -1,134 +0,0 @@ -from http import HTTPStatus -from typing import Any - -import httpx - -from ...client import AuthenticatedClient, Client -from ...models.error_model import ErrorModel -from ...models.generate_authenticator_response import GenerateAuthenticatorResponse -from ...types import Response - - -def _get_kwargs() -> dict[str, Any]: - _kwargs: dict[str, Any] = { - "method": "post", - "url": "/authenticators/generate", - } - - return _kwargs - - -def _parse_response( - *, client: AuthenticatedClient | Client, response: httpx.Response -) -> ErrorModel | GenerateAuthenticatorResponse: - if response.status_code == 200: - response_200 = GenerateAuthenticatorResponse.from_dict(response.json()) - - return response_200 - - response_default = ErrorModel.from_dict(response.json()) - - return response_default - - -def _build_response( - *, client: AuthenticatedClient | Client, response: httpx.Response -) -> Response[ErrorModel | GenerateAuthenticatorResponse]: - return Response( - status_code=HTTPStatus(response.status_code), - content=response.content, - headers=response.headers, - parsed=_parse_response(client=client, response=response), - ) - - -def sync_detailed( - *, - client: AuthenticatedClient, -) -> Response[ErrorModel | GenerateAuthenticatorResponse]: - """Generate authenticator - - Generates a new authenticator for the user. This is used to set up two-factor authentication. - - Raises: - errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. - httpx.TimeoutException: If the request takes longer than Client.timeout. - - Returns: - Response[ErrorModel | GenerateAuthenticatorResponse] - """ - - kwargs = _get_kwargs() - - response = client.get_httpx_client().request( - **kwargs, - ) - - return _build_response(client=client, response=response) - - -def sync( - *, - client: AuthenticatedClient, -) -> ErrorModel | GenerateAuthenticatorResponse | None: - """Generate authenticator - - Generates a new authenticator for the user. This is used to set up two-factor authentication. - - Raises: - errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. - httpx.TimeoutException: If the request takes longer than Client.timeout. - - Returns: - ErrorModel | GenerateAuthenticatorResponse - """ - - return sync_detailed( - client=client, - ).parsed - - -async def asyncio_detailed( - *, - client: AuthenticatedClient, -) -> Response[ErrorModel | GenerateAuthenticatorResponse]: - """Generate authenticator - - Generates a new authenticator for the user. This is used to set up two-factor authentication. - - Raises: - errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. - httpx.TimeoutException: If the request takes longer than Client.timeout. - - Returns: - Response[ErrorModel | GenerateAuthenticatorResponse] - """ - - kwargs = _get_kwargs() - - response = await client.get_async_httpx_client().request(**kwargs) - - return _build_response(client=client, response=response) - - -async def asyncio( - *, - client: AuthenticatedClient, -) -> ErrorModel | GenerateAuthenticatorResponse | None: - """Generate authenticator - - Generates a new authenticator for the user. This is used to set up two-factor authentication. - - Raises: - errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. - httpx.TimeoutException: If the request takes longer than Client.timeout. - - Returns: - ErrorModel | GenerateAuthenticatorResponse - """ - - return ( - await asyncio_detailed( - client=client, - ) - ).parsed diff --git a/src/tower/tower_api_client/api/default/list_authenticators.py b/src/tower/tower_api_client/api/default/generate_organization_usage_time_series.py similarity index 64% rename from src/tower/tower_api_client/api/default/list_authenticators.py rename to src/tower/tower_api_client/api/default/generate_organization_usage_time_series.py index 9029a659..c866ff4c 100644 --- a/src/tower/tower_api_client/api/default/list_authenticators.py +++ b/src/tower/tower_api_client/api/default/generate_organization_usage_time_series.py @@ -5,14 +5,16 @@ from ...client import AuthenticatedClient, Client from ...models.error_model import ErrorModel -from ...models.list_authenticators_response import ListAuthenticatorsResponse +from ...models.generate_organization_usage_time_series_response import ( + GenerateOrganizationUsageTimeSeriesResponse, +) from ...types import Response def _get_kwargs() -> dict[str, Any]: _kwargs: dict[str, Any] = { "method": "get", - "url": "/authenticators", + "url": "/usage/time-series", } return _kwargs @@ -20,9 +22,11 @@ def _get_kwargs() -> dict[str, Any]: def _parse_response( *, client: AuthenticatedClient | Client, response: httpx.Response -) -> ErrorModel | ListAuthenticatorsResponse: +) -> ErrorModel | GenerateOrganizationUsageTimeSeriesResponse: if response.status_code == 200: - response_200 = ListAuthenticatorsResponse.from_dict(response.json()) + response_200 = GenerateOrganizationUsageTimeSeriesResponse.from_dict( + response.json() + ) return response_200 @@ -33,7 +37,7 @@ def _parse_response( def _build_response( *, client: AuthenticatedClient | Client, response: httpx.Response -) -> Response[ErrorModel | ListAuthenticatorsResponse]: +) -> Response[ErrorModel | GenerateOrganizationUsageTimeSeriesResponse]: return Response( status_code=HTTPStatus(response.status_code), content=response.content, @@ -45,17 +49,17 @@ def _build_response( def sync_detailed( *, client: AuthenticatedClient, -) -> Response[ErrorModel | ListAuthenticatorsResponse]: - """List authenticators +) -> Response[ErrorModel | GenerateOrganizationUsageTimeSeriesResponse]: + """Get organization usage as time series - Enumerates the authenticators associated with the current users' account + Get the current billing cycle usage as a time series. Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. httpx.TimeoutException: If the request takes longer than Client.timeout. Returns: - Response[ErrorModel | ListAuthenticatorsResponse] + Response[ErrorModel | GenerateOrganizationUsageTimeSeriesResponse] """ kwargs = _get_kwargs() @@ -70,17 +74,17 @@ def sync_detailed( def sync( *, client: AuthenticatedClient, -) -> ErrorModel | ListAuthenticatorsResponse | None: - """List authenticators +) -> ErrorModel | GenerateOrganizationUsageTimeSeriesResponse | None: + """Get organization usage as time series - Enumerates the authenticators associated with the current users' account + Get the current billing cycle usage as a time series. Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. httpx.TimeoutException: If the request takes longer than Client.timeout. Returns: - ErrorModel | ListAuthenticatorsResponse + ErrorModel | GenerateOrganizationUsageTimeSeriesResponse """ return sync_detailed( @@ -91,17 +95,17 @@ def sync( async def asyncio_detailed( *, client: AuthenticatedClient, -) -> Response[ErrorModel | ListAuthenticatorsResponse]: - """List authenticators +) -> Response[ErrorModel | GenerateOrganizationUsageTimeSeriesResponse]: + """Get organization usage as time series - Enumerates the authenticators associated with the current users' account + Get the current billing cycle usage as a time series. Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. httpx.TimeoutException: If the request takes longer than Client.timeout. Returns: - Response[ErrorModel | ListAuthenticatorsResponse] + Response[ErrorModel | GenerateOrganizationUsageTimeSeriesResponse] """ kwargs = _get_kwargs() @@ -114,17 +118,17 @@ async def asyncio_detailed( async def asyncio( *, client: AuthenticatedClient, -) -> ErrorModel | ListAuthenticatorsResponse | None: - """List authenticators +) -> ErrorModel | GenerateOrganizationUsageTimeSeriesResponse | None: + """Get organization usage as time series - Enumerates the authenticators associated with the current users' account + Get the current billing cycle usage as a time series. Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. httpx.TimeoutException: If the request takes longer than Client.timeout. Returns: - ErrorModel | ListAuthenticatorsResponse + ErrorModel | GenerateOrganizationUsageTimeSeriesResponse """ return ( diff --git a/src/tower/tower_api_client/api/default/resend_email_verification.py b/src/tower/tower_api_client/api/default/resend_email_verification.py deleted file mode 100644 index 3740d15e..00000000 --- a/src/tower/tower_api_client/api/default/resend_email_verification.py +++ /dev/null @@ -1,136 +0,0 @@ -from http import HTTPStatus -from typing import Any, cast - -import httpx - -from ...client import AuthenticatedClient, Client -from ...models.error_model import ErrorModel -from ...types import Response - - -def _get_kwargs() -> dict[str, Any]: - _kwargs: dict[str, Any] = { - "method": "post", - "url": "/user/resend-verification", - } - - return _kwargs - - -def _parse_response( - *, client: AuthenticatedClient | Client, response: httpx.Response -) -> Any | ErrorModel: - if response.status_code == 204: - response_204 = cast(Any, None) - return response_204 - - response_default = ErrorModel.from_dict(response.json()) - - return response_default - - -def _build_response( - *, client: AuthenticatedClient | Client, response: httpx.Response -) -> Response[Any | ErrorModel]: - return Response( - status_code=HTTPStatus(response.status_code), - content=response.content, - headers=response.headers, - parsed=_parse_response(client=client, response=response), - ) - - -def sync_detailed( - *, - client: AuthenticatedClient, -) -> Response[Any | ErrorModel]: - """Resent email verification - - If a user doesn't have a verified email address, this API endpoint will send a new confirmation - email to them - - Raises: - errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. - httpx.TimeoutException: If the request takes longer than Client.timeout. - - Returns: - Response[Any | ErrorModel] - """ - - kwargs = _get_kwargs() - - response = client.get_httpx_client().request( - **kwargs, - ) - - return _build_response(client=client, response=response) - - -def sync( - *, - client: AuthenticatedClient, -) -> Any | ErrorModel | None: - """Resent email verification - - If a user doesn't have a verified email address, this API endpoint will send a new confirmation - email to them - - Raises: - errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. - httpx.TimeoutException: If the request takes longer than Client.timeout. - - Returns: - Any | ErrorModel - """ - - return sync_detailed( - client=client, - ).parsed - - -async def asyncio_detailed( - *, - client: AuthenticatedClient, -) -> Response[Any | ErrorModel]: - """Resent email verification - - If a user doesn't have a verified email address, this API endpoint will send a new confirmation - email to them - - Raises: - errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. - httpx.TimeoutException: If the request takes longer than Client.timeout. - - Returns: - Response[Any | ErrorModel] - """ - - kwargs = _get_kwargs() - - response = await client.get_async_httpx_client().request(**kwargs) - - return _build_response(client=client, response=response) - - -async def asyncio( - *, - client: AuthenticatedClient, -) -> Any | ErrorModel | None: - """Resent email verification - - If a user doesn't have a verified email address, this API endpoint will send a new confirmation - email to them - - Raises: - errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. - httpx.TimeoutException: If the request takes longer than Client.timeout. - - Returns: - Any | ErrorModel - """ - - return ( - await asyncio_detailed( - client=client, - ) - ).parsed diff --git a/src/tower/tower_api_client/api/default/create_authenticator.py b/src/tower/tower_api_client/api/default/update_app_environment.py similarity index 51% rename from src/tower/tower_api_client/api/default/create_authenticator.py rename to src/tower/tower_api_client/api/default/update_app_environment.py index 25d4e6fd..1c3d2ac3 100644 --- a/src/tower/tower_api_client/api/default/create_authenticator.py +++ b/src/tower/tower_api_client/api/default/update_app_environment.py @@ -1,24 +1,30 @@ from http import HTTPStatus from typing import Any +from urllib.parse import quote import httpx from ...client import AuthenticatedClient, Client -from ...models.create_authenticator_params import CreateAuthenticatorParams -from ...models.create_authenticator_response import CreateAuthenticatorResponse from ...models.error_model import ErrorModel +from ...models.update_app_environment_params import UpdateAppEnvironmentParams +from ...models.update_app_environment_response import UpdateAppEnvironmentResponse from ...types import Response def _get_kwargs( + name: str, + environment: str, *, - body: CreateAuthenticatorParams, + body: UpdateAppEnvironmentParams, ) -> dict[str, Any]: headers: dict[str, Any] = {} _kwargs: dict[str, Any] = { - "method": "post", - "url": "/authenticators", + "method": "put", + "url": "/apps/{name}/environments/{environment}".format( + name=quote(str(name), safe=""), + environment=quote(str(environment), safe=""), + ), } _kwargs["json"] = body.to_dict() @@ -31,9 +37,9 @@ def _get_kwargs( def _parse_response( *, client: AuthenticatedClient | Client, response: httpx.Response -) -> CreateAuthenticatorResponse | ErrorModel: +) -> ErrorModel | UpdateAppEnvironmentResponse: if response.status_code == 200: - response_200 = CreateAuthenticatorResponse.from_dict(response.json()) + response_200 = UpdateAppEnvironmentResponse.from_dict(response.json()) return response_200 @@ -44,7 +50,7 @@ def _parse_response( def _build_response( *, client: AuthenticatedClient | Client, response: httpx.Response -) -> Response[CreateAuthenticatorResponse | ErrorModel]: +) -> Response[ErrorModel | UpdateAppEnvironmentResponse]: return Response( status_code=HTTPStatus(response.status_code), content=response.content, @@ -54,27 +60,32 @@ def _build_response( def sync_detailed( + name: str, + environment: str, *, client: AuthenticatedClient, - body: CreateAuthenticatorParams, -) -> Response[CreateAuthenticatorResponse | ErrorModel]: - """Create authenticator + body: UpdateAppEnvironmentParams, +) -> Response[ErrorModel | UpdateAppEnvironmentResponse]: + """Update app environment - Associates an authenticator with your account, where the authenticator is identified by the URL with - an otpauth URI scheme. + Update the configuration of an app in a specific environment, such as which version is deployed. Args: - body (CreateAuthenticatorParams): + name (str): The name of the app. + environment (str): The name of the environment. + body (UpdateAppEnvironmentParams): Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. httpx.TimeoutException: If the request takes longer than Client.timeout. Returns: - Response[CreateAuthenticatorResponse | ErrorModel] + Response[ErrorModel | UpdateAppEnvironmentResponse] """ kwargs = _get_kwargs( + name=name, + environment=environment, body=body, ) @@ -86,54 +97,64 @@ def sync_detailed( def sync( + name: str, + environment: str, *, client: AuthenticatedClient, - body: CreateAuthenticatorParams, -) -> CreateAuthenticatorResponse | ErrorModel | None: - """Create authenticator + body: UpdateAppEnvironmentParams, +) -> ErrorModel | UpdateAppEnvironmentResponse | None: + """Update app environment - Associates an authenticator with your account, where the authenticator is identified by the URL with - an otpauth URI scheme. + Update the configuration of an app in a specific environment, such as which version is deployed. Args: - body (CreateAuthenticatorParams): + name (str): The name of the app. + environment (str): The name of the environment. + body (UpdateAppEnvironmentParams): Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. httpx.TimeoutException: If the request takes longer than Client.timeout. Returns: - CreateAuthenticatorResponse | ErrorModel + ErrorModel | UpdateAppEnvironmentResponse """ return sync_detailed( + name=name, + environment=environment, client=client, body=body, ).parsed async def asyncio_detailed( + name: str, + environment: str, *, client: AuthenticatedClient, - body: CreateAuthenticatorParams, -) -> Response[CreateAuthenticatorResponse | ErrorModel]: - """Create authenticator + body: UpdateAppEnvironmentParams, +) -> Response[ErrorModel | UpdateAppEnvironmentResponse]: + """Update app environment - Associates an authenticator with your account, where the authenticator is identified by the URL with - an otpauth URI scheme. + Update the configuration of an app in a specific environment, such as which version is deployed. Args: - body (CreateAuthenticatorParams): + name (str): The name of the app. + environment (str): The name of the environment. + body (UpdateAppEnvironmentParams): Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. httpx.TimeoutException: If the request takes longer than Client.timeout. Returns: - Response[CreateAuthenticatorResponse | ErrorModel] + Response[ErrorModel | UpdateAppEnvironmentResponse] """ kwargs = _get_kwargs( + name=name, + environment=environment, body=body, ) @@ -143,28 +164,33 @@ async def asyncio_detailed( async def asyncio( + name: str, + environment: str, *, client: AuthenticatedClient, - body: CreateAuthenticatorParams, -) -> CreateAuthenticatorResponse | ErrorModel | None: - """Create authenticator + body: UpdateAppEnvironmentParams, +) -> ErrorModel | UpdateAppEnvironmentResponse | None: + """Update app environment - Associates an authenticator with your account, where the authenticator is identified by the URL with - an otpauth URI scheme. + Update the configuration of an app in a specific environment, such as which version is deployed. Args: - body (CreateAuthenticatorParams): + name (str): The name of the app. + environment (str): The name of the environment. + body (UpdateAppEnvironmentParams): Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. httpx.TimeoutException: If the request takes longer than Client.timeout. Returns: - CreateAuthenticatorResponse | ErrorModel + ErrorModel | UpdateAppEnvironmentResponse """ return ( await asyncio_detailed( + name=name, + environment=environment, client=client, body=body, ) diff --git a/src/tower/tower_api_client/api/default/update_password_reset.py b/src/tower/tower_api_client/api/default/update_password_reset.py deleted file mode 100644 index 33097d74..00000000 --- a/src/tower/tower_api_client/api/default/update_password_reset.py +++ /dev/null @@ -1,183 +0,0 @@ -from http import HTTPStatus -from typing import Any -from urllib.parse import quote - -import httpx - -from ...client import AuthenticatedClient, Client -from ...models.error_model import ErrorModel -from ...models.update_password_reset_params import UpdatePasswordResetParams -from ...models.update_password_reset_response import UpdatePasswordResetResponse -from ...types import Response - - -def _get_kwargs( - code: str, - *, - body: UpdatePasswordResetParams, -) -> dict[str, Any]: - headers: dict[str, Any] = {} - - _kwargs: dict[str, Any] = { - "method": "post", - "url": "/accounts/password-reset/{code}".format( - code=quote(str(code), safe=""), - ), - } - - _kwargs["json"] = body.to_dict() - - headers["Content-Type"] = "application/json" - - _kwargs["headers"] = headers - return _kwargs - - -def _parse_response( - *, client: AuthenticatedClient | Client, response: httpx.Response -) -> ErrorModel | UpdatePasswordResetResponse: - if response.status_code == 200: - response_200 = UpdatePasswordResetResponse.from_dict(response.json()) - - return response_200 - - response_default = ErrorModel.from_dict(response.json()) - - return response_default - - -def _build_response( - *, client: AuthenticatedClient | Client, response: httpx.Response -) -> Response[ErrorModel | UpdatePasswordResetResponse]: - return Response( - status_code=HTTPStatus(response.status_code), - content=response.content, - headers=response.headers, - parsed=_parse_response(client=client, response=response), - ) - - -def sync_detailed( - code: str, - *, - client: AuthenticatedClient | Client, - body: UpdatePasswordResetParams, -) -> Response[ErrorModel | UpdatePasswordResetResponse]: - """Update password reset - - Updates the password reset code with the new password - - Args: - code (str): The password reset code that was sent to you - body (UpdatePasswordResetParams): - - Raises: - errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. - httpx.TimeoutException: If the request takes longer than Client.timeout. - - Returns: - Response[ErrorModel | UpdatePasswordResetResponse] - """ - - kwargs = _get_kwargs( - code=code, - body=body, - ) - - response = client.get_httpx_client().request( - **kwargs, - ) - - return _build_response(client=client, response=response) - - -def sync( - code: str, - *, - client: AuthenticatedClient | Client, - body: UpdatePasswordResetParams, -) -> ErrorModel | UpdatePasswordResetResponse | None: - """Update password reset - - Updates the password reset code with the new password - - Args: - code (str): The password reset code that was sent to you - body (UpdatePasswordResetParams): - - Raises: - errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. - httpx.TimeoutException: If the request takes longer than Client.timeout. - - Returns: - ErrorModel | UpdatePasswordResetResponse - """ - - return sync_detailed( - code=code, - client=client, - body=body, - ).parsed - - -async def asyncio_detailed( - code: str, - *, - client: AuthenticatedClient | Client, - body: UpdatePasswordResetParams, -) -> Response[ErrorModel | UpdatePasswordResetResponse]: - """Update password reset - - Updates the password reset code with the new password - - Args: - code (str): The password reset code that was sent to you - body (UpdatePasswordResetParams): - - Raises: - errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. - httpx.TimeoutException: If the request takes longer than Client.timeout. - - Returns: - Response[ErrorModel | UpdatePasswordResetResponse] - """ - - kwargs = _get_kwargs( - code=code, - body=body, - ) - - response = await client.get_async_httpx_client().request(**kwargs) - - return _build_response(client=client, response=response) - - -async def asyncio( - code: str, - *, - client: AuthenticatedClient | Client, - body: UpdatePasswordResetParams, -) -> ErrorModel | UpdatePasswordResetResponse | None: - """Update password reset - - Updates the password reset code with the new password - - Args: - code (str): The password reset code that was sent to you - body (UpdatePasswordResetParams): - - Raises: - errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. - httpx.TimeoutException: If the request takes longer than Client.timeout. - - Returns: - ErrorModel | UpdatePasswordResetResponse - """ - - return ( - await asyncio_detailed( - code=code, - client=client, - body=body, - ) - ).parsed diff --git a/src/tower/tower_api_client/api/default/verify_email.py b/src/tower/tower_api_client/api/default/verify_email.py deleted file mode 100644 index 7a797a8e..00000000 --- a/src/tower/tower_api_client/api/default/verify_email.py +++ /dev/null @@ -1,171 +0,0 @@ -from http import HTTPStatus -from typing import Any - -import httpx - -from ...client import AuthenticatedClient, Client -from ...models.error_model import ErrorModel -from ...models.verify_email_params import VerifyEmailParams -from ...models.verify_email_response import VerifyEmailResponse -from ...types import Response - - -def _get_kwargs( - *, - body: VerifyEmailParams, -) -> dict[str, Any]: - headers: dict[str, Any] = {} - - _kwargs: dict[str, Any] = { - "method": "post", - "url": "/user/verify", - } - - _kwargs["json"] = body.to_dict() - - headers["Content-Type"] = "application/json" - - _kwargs["headers"] = headers - return _kwargs - - -def _parse_response( - *, client: AuthenticatedClient | Client, response: httpx.Response -) -> ErrorModel | VerifyEmailResponse: - if response.status_code == 200: - response_200 = VerifyEmailResponse.from_dict(response.json()) - - return response_200 - - response_default = ErrorModel.from_dict(response.json()) - - return response_default - - -def _build_response( - *, client: AuthenticatedClient | Client, response: httpx.Response -) -> Response[ErrorModel | VerifyEmailResponse]: - return Response( - status_code=HTTPStatus(response.status_code), - content=response.content, - headers=response.headers, - parsed=_parse_response(client=client, response=response), - ) - - -def sync_detailed( - *, - client: AuthenticatedClient, - body: VerifyEmailParams, -) -> Response[ErrorModel | VerifyEmailResponse]: - """Verify email - - If the user hasn't verified their email address, this API endpoint allows them to send a - confirmation token they received via email to indeed verify they can receive emails. - - Args: - body (VerifyEmailParams): - - Raises: - errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. - httpx.TimeoutException: If the request takes longer than Client.timeout. - - Returns: - Response[ErrorModel | VerifyEmailResponse] - """ - - kwargs = _get_kwargs( - body=body, - ) - - response = client.get_httpx_client().request( - **kwargs, - ) - - return _build_response(client=client, response=response) - - -def sync( - *, - client: AuthenticatedClient, - body: VerifyEmailParams, -) -> ErrorModel | VerifyEmailResponse | None: - """Verify email - - If the user hasn't verified their email address, this API endpoint allows them to send a - confirmation token they received via email to indeed verify they can receive emails. - - Args: - body (VerifyEmailParams): - - Raises: - errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. - httpx.TimeoutException: If the request takes longer than Client.timeout. - - Returns: - ErrorModel | VerifyEmailResponse - """ - - return sync_detailed( - client=client, - body=body, - ).parsed - - -async def asyncio_detailed( - *, - client: AuthenticatedClient, - body: VerifyEmailParams, -) -> Response[ErrorModel | VerifyEmailResponse]: - """Verify email - - If the user hasn't verified their email address, this API endpoint allows them to send a - confirmation token they received via email to indeed verify they can receive emails. - - Args: - body (VerifyEmailParams): - - Raises: - errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. - httpx.TimeoutException: If the request takes longer than Client.timeout. - - Returns: - Response[ErrorModel | VerifyEmailResponse] - """ - - kwargs = _get_kwargs( - body=body, - ) - - response = await client.get_async_httpx_client().request(**kwargs) - - return _build_response(client=client, response=response) - - -async def asyncio( - *, - client: AuthenticatedClient, - body: VerifyEmailParams, -) -> ErrorModel | VerifyEmailResponse | None: - """Verify email - - If the user hasn't verified their email address, this API endpoint allows them to send a - confirmation token they received via email to indeed verify they can receive emails. - - Args: - body (VerifyEmailParams): - - Raises: - errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. - httpx.TimeoutException: If the request takes longer than Client.timeout. - - Returns: - ErrorModel | VerifyEmailResponse - """ - - return ( - await asyncio_detailed( - client=client, - body=body, - ) - ).parsed diff --git a/src/tower/tower_api_client/models/__init__.py b/src/tower/tower_api_client/models/__init__.py index ae9cfab0..c3cdbb98 100644 --- a/src/tower/tower_api_client/models/__init__.py +++ b/src/tower/tower_api_client/models/__init__.py @@ -26,8 +26,6 @@ from .create_api_key_response import CreateAPIKeyResponse from .create_app_params import CreateAppParams from .create_app_response import CreateAppResponse -from .create_authenticator_params import CreateAuthenticatorParams -from .create_authenticator_response import CreateAuthenticatorResponse from .create_catalog_params import CreateCatalogParams from .create_catalog_params_type import CreateCatalogParamsType from .create_catalog_response import CreateCatalogResponse @@ -36,8 +34,6 @@ from .create_environment_response import CreateEnvironmentResponse from .create_guest_params import CreateGuestParams from .create_guest_response import CreateGuestResponse -from .create_password_reset_params import CreatePasswordResetParams -from .create_password_reset_response import CreatePasswordResetResponse from .create_sandbox_secrets_params import CreateSandboxSecretsParams from .create_sandbox_secrets_response import CreateSandboxSecretsResponse from .create_schedule_params import CreateScheduleParams @@ -55,8 +51,6 @@ from .delete_api_key_params import DeleteAPIKeyParams from .delete_api_key_response import DeleteAPIKeyResponse from .delete_app_response import DeleteAppResponse -from .delete_authenticator_params import DeleteAuthenticatorParams -from .delete_authenticator_response import DeleteAuthenticatorResponse from .delete_catalog_response import DeleteCatalogResponse from .delete_guest_output_body import DeleteGuestOutputBody from .delete_schedule_params import DeleteScheduleParams @@ -102,7 +96,9 @@ from .feature import Feature from .featurebase_identity import FeaturebaseIdentity from .generate_app_statistics_response import GenerateAppStatisticsResponse -from .generate_authenticator_response import GenerateAuthenticatorResponse +from .generate_organization_usage_time_series_response import ( + GenerateOrganizationUsageTimeSeriesResponse, +) from .generate_run_statistics_response import GenerateRunStatisticsResponse from .generate_run_statistics_status_item import GenerateRunStatisticsStatusItem from .generate_runner_credentials_response import GenerateRunnerCredentialsResponse @@ -122,7 +118,6 @@ from .list_apps_filter import ListAppsFilter from .list_apps_response import ListAppsResponse from .list_apps_sort import ListAppsSort -from .list_authenticators_response import ListAuthenticatorsResponse from .list_catalogs_response import ListCatalogsResponse from .list_environments_response import ListEnvironmentsResponse from .list_guests_response import ListGuestsResponse @@ -198,10 +193,11 @@ from .team_membership_role import TeamMembershipRole from .test_webhook_response import TestWebhookResponse from .token import Token -from .unverified_authenticator import UnverifiedAuthenticator from .update_account_params import UpdateAccountParams from .update_account_params_execution_region import UpdateAccountParamsExecutionRegion from .update_account_response import UpdateAccountResponse +from .update_app_environment_params import UpdateAppEnvironmentParams +from .update_app_environment_response import UpdateAppEnvironmentResponse from .update_app_params import UpdateAppParams from .update_app_response import UpdateAppResponse from .update_catalog_params import UpdateCatalogParams @@ -213,8 +209,6 @@ from .update_my_team_invitation_response import UpdateMyTeamInvitationResponse from .update_organization_params import UpdateOrganizationParams from .update_organization_response import UpdateOrganizationResponse -from .update_password_reset_params import UpdatePasswordResetParams -from .update_password_reset_response import UpdatePasswordResetResponse from .update_plan_params import UpdatePlanParams from .update_plan_response import UpdatePlanResponse from .update_schedule_params import UpdateScheduleParams @@ -234,10 +228,9 @@ from .update_webhook_params import UpdateWebhookParams from .update_webhook_response import UpdateWebhookResponse from .usage_limit import UsageLimit +from .usage_metric_time_series_point import UsageMetricTimeSeriesPoint +from .usage_metric_time_series_point_name import UsageMetricTimeSeriesPointName from .user import User -from .verified_authenticator import VerifiedAuthenticator -from .verify_email_params import VerifyEmailParams -from .verify_email_response import VerifyEmailResponse from .webhook import Webhook from .webhook_state import WebhookState @@ -268,8 +261,6 @@ "CreateAPIKeyResponse", "CreateAppParams", "CreateAppResponse", - "CreateAuthenticatorParams", - "CreateAuthenticatorResponse", "CreateCatalogParams", "CreateCatalogParamsType", "CreateCatalogResponse", @@ -278,8 +269,6 @@ "CreateEnvironmentResponse", "CreateGuestParams", "CreateGuestResponse", - "CreatePasswordResetParams", - "CreatePasswordResetResponse", "CreateSandboxSecretsParams", "CreateSandboxSecretsResponse", "CreateScheduleParams", @@ -297,8 +286,6 @@ "DeleteAPIKeyParams", "DeleteAPIKeyResponse", "DeleteAppResponse", - "DeleteAuthenticatorParams", - "DeleteAuthenticatorResponse", "DeleteCatalogResponse", "DeleteGuestOutputBody", "DeleteScheduleParams", @@ -344,7 +331,7 @@ "Feature", "FeaturebaseIdentity", "GenerateAppStatisticsResponse", - "GenerateAuthenticatorResponse", + "GenerateOrganizationUsageTimeSeriesResponse", "GenerateRunnerCredentialsResponse", "GenerateRunStatisticsResponse", "GenerateRunStatisticsStatusItem", @@ -362,7 +349,6 @@ "ListAppsResponse", "ListAppsSort", "ListAppVersionsResponse", - "ListAuthenticatorsResponse", "ListCatalogsResponse", "ListEnvironmentsResponse", "ListGuestsResponse", @@ -438,10 +424,11 @@ "TeamMembershipRole", "TestWebhookResponse", "Token", - "UnverifiedAuthenticator", "UpdateAccountParams", "UpdateAccountParamsExecutionRegion", "UpdateAccountResponse", + "UpdateAppEnvironmentParams", + "UpdateAppEnvironmentResponse", "UpdateAppParams", "UpdateAppResponse", "UpdateCatalogParams", @@ -453,8 +440,6 @@ "UpdateMyTeamInvitationResponse", "UpdateOrganizationParams", "UpdateOrganizationResponse", - "UpdatePasswordResetParams", - "UpdatePasswordResetResponse", "UpdatePlanParams", "UpdatePlanResponse", "UpdateScheduleParams", @@ -474,10 +459,9 @@ "UpdateWebhookParams", "UpdateWebhookResponse", "UsageLimit", + "UsageMetricTimeSeriesPoint", + "UsageMetricTimeSeriesPointName", "User", - "VerifiedAuthenticator", - "VerifyEmailParams", - "VerifyEmailResponse", "Webhook", "WebhookState", ) diff --git a/src/tower/tower_api_client/models/cancel_run_response.py b/src/tower/tower_api_client/models/cancel_run_response.py index a6a509e3..1d2a63a5 100644 --- a/src/tower/tower_api_client/models/cancel_run_response.py +++ b/src/tower/tower_api_client/models/cancel_run_response.py @@ -18,15 +18,19 @@ class CancelRunResponse: """ Attributes: + cancelled_child_runs (int): Number of descendant runs that were also cancelled as part of this cascade. run (Run): schema (str | Unset): A URL to the JSON Schema for this object. Example: https://api.tower.dev/v1/schemas/CancelRunResponse.json. """ + cancelled_child_runs: int run: Run schema: str | Unset = UNSET def to_dict(self) -> dict[str, Any]: + cancelled_child_runs = self.cancelled_child_runs + run = self.run.to_dict() schema = self.schema @@ -35,6 +39,7 @@ def to_dict(self) -> dict[str, Any]: field_dict.update( { + "cancelled_child_runs": cancelled_child_runs, "run": run, } ) @@ -48,11 +53,14 @@ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: from ..models.run import Run d = dict(src_dict) + cancelled_child_runs = d.pop("cancelled_child_runs") + run = Run.from_dict(d.pop("run")) schema = d.pop("$schema", UNSET) cancel_run_response = cls( + cancelled_child_runs=cancelled_child_runs, run=run, schema=schema, ) diff --git a/src/tower/tower_api_client/models/create_authenticator_params.py b/src/tower/tower_api_client/models/create_authenticator_params.py deleted file mode 100644 index c425e583..00000000 --- a/src/tower/tower_api_client/models/create_authenticator_params.py +++ /dev/null @@ -1,62 +0,0 @@ -from __future__ import annotations - -from collections.abc import Mapping -from typing import Any, TypeVar - -from attrs import define as _attrs_define - -from ..types import UNSET, Unset - -T = TypeVar("T", bound="CreateAuthenticatorParams") - - -@_attrs_define -class CreateAuthenticatorParams: - """ - Attributes: - authenticator_url (str): The authenticator URL with an otpauth scheme that identifies this authenticator - verification_code (str): A code taken from the authenticator as verification that it's correctly configured. - schema (str | Unset): A URL to the JSON Schema for this object. Example: - https://api.tower.dev/v1/schemas/CreateAuthenticatorParams.json. - """ - - authenticator_url: str - verification_code: str - schema: str | Unset = UNSET - - def to_dict(self) -> dict[str, Any]: - authenticator_url = self.authenticator_url - - verification_code = self.verification_code - - schema = self.schema - - field_dict: dict[str, Any] = {} - - field_dict.update( - { - "authenticator_url": authenticator_url, - "verification_code": verification_code, - } - ) - if schema is not UNSET: - field_dict["$schema"] = schema - - return field_dict - - @classmethod - def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: - d = dict(src_dict) - authenticator_url = d.pop("authenticator_url") - - verification_code = d.pop("verification_code") - - schema = d.pop("$schema", UNSET) - - create_authenticator_params = cls( - authenticator_url=authenticator_url, - verification_code=verification_code, - schema=schema, - ) - - return create_authenticator_params diff --git a/src/tower/tower_api_client/models/create_authenticator_response.py b/src/tower/tower_api_client/models/create_authenticator_response.py deleted file mode 100644 index f783573d..00000000 --- a/src/tower/tower_api_client/models/create_authenticator_response.py +++ /dev/null @@ -1,60 +0,0 @@ -from __future__ import annotations - -from collections.abc import Mapping -from typing import TYPE_CHECKING, Any, TypeVar - -from attrs import define as _attrs_define - -from ..types import UNSET, Unset - -if TYPE_CHECKING: - from ..models.verified_authenticator import VerifiedAuthenticator - - -T = TypeVar("T", bound="CreateAuthenticatorResponse") - - -@_attrs_define -class CreateAuthenticatorResponse: - """ - Attributes: - authenticator (VerifiedAuthenticator): - schema (str | Unset): A URL to the JSON Schema for this object. Example: - https://api.tower.dev/v1/schemas/CreateAuthenticatorResponse.json. - """ - - authenticator: VerifiedAuthenticator - schema: str | Unset = UNSET - - def to_dict(self) -> dict[str, Any]: - authenticator = self.authenticator.to_dict() - - schema = self.schema - - field_dict: dict[str, Any] = {} - - field_dict.update( - { - "authenticator": authenticator, - } - ) - if schema is not UNSET: - field_dict["$schema"] = schema - - return field_dict - - @classmethod - def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: - from ..models.verified_authenticator import VerifiedAuthenticator - - d = dict(src_dict) - authenticator = VerifiedAuthenticator.from_dict(d.pop("authenticator")) - - schema = d.pop("$schema", UNSET) - - create_authenticator_response = cls( - authenticator=authenticator, - schema=schema, - ) - - return create_authenticator_response diff --git a/src/tower/tower_api_client/models/create_catalog_params_type.py b/src/tower/tower_api_client/models/create_catalog_params_type.py index 4c186f02..342cdc2a 100644 --- a/src/tower/tower_api_client/models/create_catalog_params_type.py +++ b/src/tower/tower_api_client/models/create_catalog_params_type.py @@ -5,6 +5,7 @@ class CreateCatalogParamsType(str, Enum): APACHE_POLARIS = "apache-polaris" CLOUDFLARE_R2_CATALOG = "cloudflare-r2-catalog" LAKEKEEPER = "lakekeeper" + S3_TABLES = "s3-tables" SNOWFLAKE_OPEN_CATALOG = "snowflake-open-catalog" TOWER_CATALOG = "tower-catalog" diff --git a/src/tower/tower_api_client/models/create_password_reset_params.py b/src/tower/tower_api_client/models/create_password_reset_params.py deleted file mode 100644 index 78c9bac3..00000000 --- a/src/tower/tower_api_client/models/create_password_reset_params.py +++ /dev/null @@ -1,54 +0,0 @@ -from __future__ import annotations - -from collections.abc import Mapping -from typing import Any, TypeVar - -from attrs import define as _attrs_define - -from ..types import UNSET, Unset - -T = TypeVar("T", bound="CreatePasswordResetParams") - - -@_attrs_define -class CreatePasswordResetParams: - """ - Attributes: - email (str): The email address to send the password reset email to - schema (str | Unset): A URL to the JSON Schema for this object. Example: - https://api.tower.dev/v1/schemas/CreatePasswordResetParams.json. - """ - - email: str - schema: str | Unset = UNSET - - def to_dict(self) -> dict[str, Any]: - email = self.email - - schema = self.schema - - field_dict: dict[str, Any] = {} - - field_dict.update( - { - "email": email, - } - ) - if schema is not UNSET: - field_dict["$schema"] = schema - - return field_dict - - @classmethod - def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: - d = dict(src_dict) - email = d.pop("email") - - schema = d.pop("$schema", UNSET) - - create_password_reset_params = cls( - email=email, - schema=schema, - ) - - return create_password_reset_params diff --git a/src/tower/tower_api_client/models/create_password_reset_response.py b/src/tower/tower_api_client/models/create_password_reset_response.py deleted file mode 100644 index 07371f08..00000000 --- a/src/tower/tower_api_client/models/create_password_reset_response.py +++ /dev/null @@ -1,54 +0,0 @@ -from __future__ import annotations - -from collections.abc import Mapping -from typing import Any, TypeVar - -from attrs import define as _attrs_define - -from ..types import UNSET, Unset - -T = TypeVar("T", bound="CreatePasswordResetResponse") - - -@_attrs_define -class CreatePasswordResetResponse: - """ - Attributes: - ok (bool): A boolean indicating the request was successfully processed. - schema (str | Unset): A URL to the JSON Schema for this object. Example: - https://api.tower.dev/v1/schemas/CreatePasswordResetResponse.json. - """ - - ok: bool - schema: str | Unset = UNSET - - def to_dict(self) -> dict[str, Any]: - ok = self.ok - - schema = self.schema - - field_dict: dict[str, Any] = {} - - field_dict.update( - { - "ok": ok, - } - ) - if schema is not UNSET: - field_dict["$schema"] = schema - - return field_dict - - @classmethod - def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: - d = dict(src_dict) - ok = d.pop("ok") - - schema = d.pop("$schema", UNSET) - - create_password_reset_response = cls( - ok=ok, - schema=schema, - ) - - return create_password_reset_response diff --git a/src/tower/tower_api_client/models/create_schedule_params.py b/src/tower/tower_api_client/models/create_schedule_params.py index f722db1d..79b0d774 100644 --- a/src/tower/tower_api_client/models/create_schedule_params.py +++ b/src/tower/tower_api_client/models/create_schedule_params.py @@ -26,8 +26,8 @@ class CreateScheduleParams: cron (str): The cron expression defining when the app should run schema (str | Unset): A URL to the JSON Schema for this object. Example: https://api.tower.dev/v1/schemas/CreateScheduleParams.json. - app_version (None | str | Unset): The specific app version to run (if omitted, will use the app's default - version) + app_version (None | str | Unset): This property is deprecated and ignored. Schedules inherit the version from + their environment. environment (str | Unset): The environment to run the app in Default: 'default'. name (None | str | Unset): The name for this schedule. Must be unique per environment. If not set, one will be generated for you. diff --git a/src/tower/tower_api_client/models/delete_authenticator_response.py b/src/tower/tower_api_client/models/delete_authenticator_response.py deleted file mode 100644 index e4076887..00000000 --- a/src/tower/tower_api_client/models/delete_authenticator_response.py +++ /dev/null @@ -1,60 +0,0 @@ -from __future__ import annotations - -from collections.abc import Mapping -from typing import TYPE_CHECKING, Any, TypeVar - -from attrs import define as _attrs_define - -from ..types import UNSET, Unset - -if TYPE_CHECKING: - from ..models.verified_authenticator import VerifiedAuthenticator - - -T = TypeVar("T", bound="DeleteAuthenticatorResponse") - - -@_attrs_define -class DeleteAuthenticatorResponse: - """ - Attributes: - authenticator (VerifiedAuthenticator): - schema (str | Unset): A URL to the JSON Schema for this object. Example: - https://api.tower.dev/v1/schemas/DeleteAuthenticatorResponse.json. - """ - - authenticator: VerifiedAuthenticator - schema: str | Unset = UNSET - - def to_dict(self) -> dict[str, Any]: - authenticator = self.authenticator.to_dict() - - schema = self.schema - - field_dict: dict[str, Any] = {} - - field_dict.update( - { - "authenticator": authenticator, - } - ) - if schema is not UNSET: - field_dict["$schema"] = schema - - return field_dict - - @classmethod - def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: - from ..models.verified_authenticator import VerifiedAuthenticator - - d = dict(src_dict) - authenticator = VerifiedAuthenticator.from_dict(d.pop("authenticator")) - - schema = d.pop("$schema", UNSET) - - delete_authenticator_response = cls( - authenticator=authenticator, - schema=schema, - ) - - return delete_authenticator_response diff --git a/src/tower/tower_api_client/models/generate_authenticator_response.py b/src/tower/tower_api_client/models/generate_authenticator_response.py deleted file mode 100644 index 1a2a39f0..00000000 --- a/src/tower/tower_api_client/models/generate_authenticator_response.py +++ /dev/null @@ -1,60 +0,0 @@ -from __future__ import annotations - -from collections.abc import Mapping -from typing import TYPE_CHECKING, Any, TypeVar - -from attrs import define as _attrs_define - -from ..types import UNSET, Unset - -if TYPE_CHECKING: - from ..models.unverified_authenticator import UnverifiedAuthenticator - - -T = TypeVar("T", bound="GenerateAuthenticatorResponse") - - -@_attrs_define -class GenerateAuthenticatorResponse: - """ - Attributes: - authenticator (UnverifiedAuthenticator): - schema (str | Unset): A URL to the JSON Schema for this object. Example: - https://api.tower.dev/v1/schemas/GenerateAuthenticatorResponse.json. - """ - - authenticator: UnverifiedAuthenticator - schema: str | Unset = UNSET - - def to_dict(self) -> dict[str, Any]: - authenticator = self.authenticator.to_dict() - - schema = self.schema - - field_dict: dict[str, Any] = {} - - field_dict.update( - { - "authenticator": authenticator, - } - ) - if schema is not UNSET: - field_dict["$schema"] = schema - - return field_dict - - @classmethod - def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: - from ..models.unverified_authenticator import UnverifiedAuthenticator - - d = dict(src_dict) - authenticator = UnverifiedAuthenticator.from_dict(d.pop("authenticator")) - - schema = d.pop("$schema", UNSET) - - generate_authenticator_response = cls( - authenticator=authenticator, - schema=schema, - ) - - return generate_authenticator_response diff --git a/src/tower/tower_api_client/models/generate_organization_usage_time_series_response.py b/src/tower/tower_api_client/models/generate_organization_usage_time_series_response.py new file mode 100644 index 00000000..eb71c6a8 --- /dev/null +++ b/src/tower/tower_api_client/models/generate_organization_usage_time_series_response.py @@ -0,0 +1,68 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import TYPE_CHECKING, Any, TypeVar + +from attrs import define as _attrs_define + +from ..types import UNSET, Unset + +if TYPE_CHECKING: + from ..models.usage_metric_time_series_point import UsageMetricTimeSeriesPoint + + +T = TypeVar("T", bound="GenerateOrganizationUsageTimeSeriesResponse") + + +@_attrs_define +class GenerateOrganizationUsageTimeSeriesResponse: + """ + Attributes: + series (list[UsageMetricTimeSeriesPoint]): + schema (str | Unset): A URL to the JSON Schema for this object. Example: + https://api.tower.dev/v1/schemas/GenerateOrganizationUsageTimeSeriesResponse.json. + """ + + series: list[UsageMetricTimeSeriesPoint] + schema: str | Unset = UNSET + + def to_dict(self) -> dict[str, Any]: + series = [] + for series_item_data in self.series: + series_item = series_item_data.to_dict() + series.append(series_item) + + schema = self.schema + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "series": series, + } + ) + if schema is not UNSET: + field_dict["$schema"] = schema + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + from ..models.usage_metric_time_series_point import UsageMetricTimeSeriesPoint + + d = dict(src_dict) + series = [] + _series = d.pop("series") + for series_item_data in _series: + series_item = UsageMetricTimeSeriesPoint.from_dict(series_item_data) + + series.append(series_item) + + schema = d.pop("$schema", UNSET) + + generate_organization_usage_time_series_response = cls( + series=series, + schema=schema, + ) + + return generate_organization_usage_time_series_response diff --git a/src/tower/tower_api_client/models/generate_run_statistics_status_item.py b/src/tower/tower_api_client/models/generate_run_statistics_status_item.py index 84597b2a..3c11c0e1 100644 --- a/src/tower/tower_api_client/models/generate_run_statistics_status_item.py +++ b/src/tower/tower_api_client/models/generate_run_statistics_status_item.py @@ -9,6 +9,7 @@ class GenerateRunStatisticsStatusItem(str, Enum): PENDING = "pending" RETRYING = "retrying" RUNNING = "running" + STARTING = "starting" def __str__(self) -> str: return str(self.value) diff --git a/src/tower/tower_api_client/models/list_authenticators_response.py b/src/tower/tower_api_client/models/list_authenticators_response.py deleted file mode 100644 index ba5bcac4..00000000 --- a/src/tower/tower_api_client/models/list_authenticators_response.py +++ /dev/null @@ -1,70 +0,0 @@ -from __future__ import annotations - -from collections.abc import Mapping -from typing import TYPE_CHECKING, Any, TypeVar - -from attrs import define as _attrs_define - -from ..types import UNSET, Unset - -if TYPE_CHECKING: - from ..models.verified_authenticator import VerifiedAuthenticator - - -T = TypeVar("T", bound="ListAuthenticatorsResponse") - - -@_attrs_define -class ListAuthenticatorsResponse: - """ - Attributes: - authenticators (list[VerifiedAuthenticator]): - schema (str | Unset): A URL to the JSON Schema for this object. Example: - https://api.tower.dev/v1/schemas/ListAuthenticatorsResponse.json. - """ - - authenticators: list[VerifiedAuthenticator] - schema: str | Unset = UNSET - - def to_dict(self) -> dict[str, Any]: - authenticators = [] - for authenticators_item_data in self.authenticators: - authenticators_item = authenticators_item_data.to_dict() - authenticators.append(authenticators_item) - - schema = self.schema - - field_dict: dict[str, Any] = {} - - field_dict.update( - { - "authenticators": authenticators, - } - ) - if schema is not UNSET: - field_dict["$schema"] = schema - - return field_dict - - @classmethod - def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: - from ..models.verified_authenticator import VerifiedAuthenticator - - d = dict(src_dict) - authenticators = [] - _authenticators = d.pop("authenticators") - for authenticators_item_data in _authenticators: - authenticators_item = VerifiedAuthenticator.from_dict( - authenticators_item_data - ) - - authenticators.append(authenticators_item) - - schema = d.pop("$schema", UNSET) - - list_authenticators_response = cls( - authenticators=authenticators, - schema=schema, - ) - - return list_authenticators_response diff --git a/src/tower/tower_api_client/models/list_runs_status_item.py b/src/tower/tower_api_client/models/list_runs_status_item.py index 46671e20..b05f9cca 100644 --- a/src/tower/tower_api_client/models/list_runs_status_item.py +++ b/src/tower/tower_api_client/models/list_runs_status_item.py @@ -9,6 +9,7 @@ class ListRunsStatusItem(str, Enum): PENDING = "pending" RETRYING = "retrying" RUNNING = "running" + STARTING = "starting" def __str__(self) -> str: return str(self.value) diff --git a/src/tower/tower_api_client/models/run.py b/src/tower/tower_api_client/models/run.py index 3eb0219b..748503d9 100644 --- a/src/tower/tower_api_client/models/run.py +++ b/src/tower/tower_api_client/models/run.py @@ -41,7 +41,8 @@ class Run: parameters (list[RunParameter]): Parameters used to invoke this run. run_id (str): scheduled_at (datetime.datetime): - started_at (datetime.datetime | None): + started_at (datetime.datetime | None): When the run started executing your code. + starting_at (datetime.datetime | None): When the runner environment started to get setup. status (RunStatus): status_group (RunStatusGroup): app_slug (str | Unset): This property is deprecated. Use app_name instead. @@ -68,6 +69,7 @@ class Run: run_id: str scheduled_at: datetime.datetime started_at: datetime.datetime | None + starting_at: datetime.datetime | None status: RunStatus status_group: RunStatusGroup app_slug: str | Unset = UNSET @@ -125,6 +127,12 @@ def to_dict(self) -> dict[str, Any]: else: started_at = self.started_at + starting_at: None | str + if isinstance(self.starting_at, datetime.datetime): + starting_at = self.starting_at.isoformat() + else: + starting_at = self.starting_at + status = self.status.value status_group = self.status_group.value @@ -170,6 +178,7 @@ def to_dict(self) -> dict[str, Any]: "run_id": run_id, "scheduled_at": scheduled_at, "started_at": started_at, + "starting_at": starting_at, "status": status, "status_group": status_group, } @@ -276,6 +285,21 @@ def _parse_started_at(data: object) -> datetime.datetime | None: started_at = _parse_started_at(d.pop("started_at")) + def _parse_starting_at(data: object) -> datetime.datetime | None: + if data is None: + return data + try: + if not isinstance(data, str): + raise TypeError() + starting_at_type_0 = isoparse(data) + + return starting_at_type_0 + except (TypeError, ValueError, AttributeError, KeyError): + pass + return cast(datetime.datetime | None, data) + + starting_at = _parse_starting_at(d.pop("starting_at")) + status = RunStatus(d.pop("status")) status_group = RunStatusGroup(d.pop("status_group")) @@ -326,6 +350,7 @@ def _parse_subdomain(data: object) -> None | str | Unset: run_id=run_id, scheduled_at=scheduled_at, started_at=started_at, + starting_at=starting_at, status=status, status_group=status_group, app_slug=app_slug, diff --git a/src/tower/tower_api_client/models/run_attempt.py b/src/tower/tower_api_client/models/run_attempt.py index da912e6d..bcc3bff9 100644 --- a/src/tower/tower_api_client/models/run_attempt.py +++ b/src/tower/tower_api_client/models/run_attempt.py @@ -17,7 +17,8 @@ class RunAttempt: ended_at (datetime.datetime | None): When this attempt ended. exit_code (int | None): Exit code for this attempt. seq (int): 1-based attempt number. - started_at (datetime.datetime | None): When this attempt started. + started_at (datetime.datetime | None): When the run started executing your code. + starting_at (datetime.datetime | None): When the runner environment started to get setup. status (str): Terminal status of this attempt. """ @@ -25,6 +26,7 @@ class RunAttempt: exit_code: int | None seq: int started_at: datetime.datetime | None + starting_at: datetime.datetime | None status: str def to_dict(self) -> dict[str, Any]: @@ -45,6 +47,12 @@ def to_dict(self) -> dict[str, Any]: else: started_at = self.started_at + starting_at: None | str + if isinstance(self.starting_at, datetime.datetime): + starting_at = self.starting_at.isoformat() + else: + starting_at = self.starting_at + status = self.status field_dict: dict[str, Any] = {} @@ -55,6 +63,7 @@ def to_dict(self) -> dict[str, Any]: "exit_code": exit_code, "seq": seq, "started_at": started_at, + "starting_at": starting_at, "status": status, } ) @@ -104,6 +113,21 @@ def _parse_started_at(data: object) -> datetime.datetime | None: started_at = _parse_started_at(d.pop("started_at")) + def _parse_starting_at(data: object) -> datetime.datetime | None: + if data is None: + return data + try: + if not isinstance(data, str): + raise TypeError() + starting_at_type_0 = isoparse(data) + + return starting_at_type_0 + except (TypeError, ValueError, AttributeError, KeyError): + pass + return cast(datetime.datetime | None, data) + + starting_at = _parse_starting_at(d.pop("starting_at")) + status = d.pop("status") run_attempt = cls( @@ -111,6 +135,7 @@ def _parse_started_at(data: object) -> datetime.datetime | None: exit_code=exit_code, seq=seq, started_at=started_at, + starting_at=starting_at, status=status, ) diff --git a/src/tower/tower_api_client/models/run_parameter.py b/src/tower/tower_api_client/models/run_parameter.py index f668ccc1..6d805c9b 100644 --- a/src/tower/tower_api_client/models/run_parameter.py +++ b/src/tower/tower_api_client/models/run_parameter.py @@ -1,7 +1,7 @@ from __future__ import annotations from collections.abc import Mapping -from typing import Any, TypeVar +from typing import Any, TypeVar, cast from attrs import define as _attrs_define @@ -17,11 +17,14 @@ class RunParameter: name (str): value (str): hidden (bool | Unset): Whether this parameter is hidden/secret. Defaults to false. Default: False. + is_override (bool | None | Unset): Whether this parameter's value was supplied as an override at run/schedule + creation time (true) or comes from the app version's default (false). """ name: str value: str hidden: bool | Unset = False + is_override: bool | None | Unset = UNSET def to_dict(self) -> dict[str, Any]: name = self.name @@ -30,6 +33,12 @@ def to_dict(self) -> dict[str, Any]: hidden = self.hidden + is_override: bool | None | Unset + if isinstance(self.is_override, Unset): + is_override = UNSET + else: + is_override = self.is_override + field_dict: dict[str, Any] = {} field_dict.update( @@ -40,6 +49,8 @@ def to_dict(self) -> dict[str, Any]: ) if hidden is not UNSET: field_dict["hidden"] = hidden + if is_override is not UNSET: + field_dict["is_override"] = is_override return field_dict @@ -52,10 +63,20 @@ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: hidden = d.pop("hidden", UNSET) + def _parse_is_override(data: object) -> bool | None | Unset: + if data is None: + return data + if isinstance(data, Unset): + return data + return cast(bool | None | Unset, data) + + is_override = _parse_is_override(d.pop("is_override", UNSET)) + run_parameter = cls( name=name, value=value, hidden=hidden, + is_override=is_override, ) return run_parameter diff --git a/src/tower/tower_api_client/models/run_results.py b/src/tower/tower_api_client/models/run_results.py index 37c69711..9cdc3f01 100644 --- a/src/tower/tower_api_client/models/run_results.py +++ b/src/tower/tower_api_client/models/run_results.py @@ -19,6 +19,7 @@ class RunResults: pending (int): retrying (int): running (int): + starting (int): """ cancelled: int @@ -28,6 +29,7 @@ class RunResults: pending: int retrying: int running: int + starting: int def to_dict(self) -> dict[str, Any]: cancelled = self.cancelled @@ -44,6 +46,8 @@ def to_dict(self) -> dict[str, Any]: running = self.running + starting = self.starting + field_dict: dict[str, Any] = {} field_dict.update( @@ -55,6 +59,7 @@ def to_dict(self) -> dict[str, Any]: "pending": pending, "retrying": retrying, "running": running, + "starting": starting, } ) @@ -77,6 +82,8 @@ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: running = d.pop("running") + starting = d.pop("starting") + run_results = cls( cancelled=cancelled, crashed=crashed, @@ -85,6 +92,7 @@ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: pending=pending, retrying=retrying, running=running, + starting=starting, ) return run_results diff --git a/src/tower/tower_api_client/models/run_status.py b/src/tower/tower_api_client/models/run_status.py index 1cad2eb3..99e6d8aa 100644 --- a/src/tower/tower_api_client/models/run_status.py +++ b/src/tower/tower_api_client/models/run_status.py @@ -10,6 +10,7 @@ class RunStatus(str, Enum): RETRYING = "retrying" RUNNING = "running" SCHEDULED = "scheduled" + STARTING = "starting" def __str__(self) -> str: return str(self.value) diff --git a/src/tower/tower_api_client/models/run_timeseries_point.py b/src/tower/tower_api_client/models/run_timeseries_point.py index de83c155..99b5bc63 100644 --- a/src/tower/tower_api_client/models/run_timeseries_point.py +++ b/src/tower/tower_api_client/models/run_timeseries_point.py @@ -23,6 +23,7 @@ class RunTimeseriesPoint: retrying (int): running (int): scheduled (int): + starting (int): """ cancelled: int @@ -34,6 +35,7 @@ class RunTimeseriesPoint: retrying: int running: int scheduled: int + starting: int def to_dict(self) -> dict[str, Any]: cancelled = self.cancelled @@ -54,6 +56,8 @@ def to_dict(self) -> dict[str, Any]: scheduled = self.scheduled + starting = self.starting + field_dict: dict[str, Any] = {} field_dict.update( @@ -67,6 +71,7 @@ def to_dict(self) -> dict[str, Any]: "retrying": retrying, "running": running, "scheduled": scheduled, + "starting": starting, } ) @@ -93,6 +98,8 @@ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: scheduled = d.pop("scheduled") + starting = d.pop("starting") + run_timeseries_point = cls( cancelled=cancelled, crashed=crashed, @@ -103,6 +110,7 @@ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: retrying=retrying, running=running, scheduled=scheduled, + starting=starting, ) return run_timeseries_point diff --git a/src/tower/tower_api_client/models/schedule.py b/src/tower/tower_api_client/models/schedule.py index 42f77665..d34ea239 100644 --- a/src/tower/tower_api_client/models/schedule.py +++ b/src/tower/tower_api_client/models/schedule.py @@ -35,7 +35,8 @@ class Schedule: timezone (str): The IANA timezone identifier that the cron expression is evaluated in (e.g., 'America/New_York', 'Europe/London'). Defaults to 'UTC'. updated_at (datetime.datetime): The timestamp when the schedule was last updated - app_version (str | Unset): The specific app version to run, or null for the default version + app_version (str | Unset): This property is deprecated. Schedules inherit the version from their environment. + This field returns the environment's current version. parameters (list[RunParameter] | Unset): The parameters to pass when running the app """ diff --git a/src/tower/tower_api_client/models/search_runs_status_item.py b/src/tower/tower_api_client/models/search_runs_status_item.py index afac0331..b1b65541 100644 --- a/src/tower/tower_api_client/models/search_runs_status_item.py +++ b/src/tower/tower_api_client/models/search_runs_status_item.py @@ -9,6 +9,7 @@ class SearchRunsStatusItem(str, Enum): PENDING = "pending" RETRYING = "retrying" RUNNING = "running" + STARTING = "starting" def __str__(self) -> str: return str(self.value) diff --git a/src/tower/tower_api_client/models/unverified_authenticator.py b/src/tower/tower_api_client/models/unverified_authenticator.py deleted file mode 100644 index 6fd77faa..00000000 --- a/src/tower/tower_api_client/models/unverified_authenticator.py +++ /dev/null @@ -1,66 +0,0 @@ -from __future__ import annotations - -from collections.abc import Mapping -from typing import Any, TypeVar - -from attrs import define as _attrs_define - -T = TypeVar("T", bound="UnverifiedAuthenticator") - - -@_attrs_define -class UnverifiedAuthenticator: - """ - Attributes: - issuer (str): The issuer of the unverified authenticator. - key (str): The key of the unverified authenticator. - label (str): The label that is used for this unverified authenticator. - url (str): The full URL of the authenticator. - """ - - issuer: str - key: str - label: str - url: str - - def to_dict(self) -> dict[str, Any]: - issuer = self.issuer - - key = self.key - - label = self.label - - url = self.url - - field_dict: dict[str, Any] = {} - - field_dict.update( - { - "issuer": issuer, - "key": key, - "label": label, - "url": url, - } - ) - - return field_dict - - @classmethod - def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: - d = dict(src_dict) - issuer = d.pop("issuer") - - key = d.pop("key") - - label = d.pop("label") - - url = d.pop("url") - - unverified_authenticator = cls( - issuer=issuer, - key=key, - label=label, - url=url, - ) - - return unverified_authenticator diff --git a/src/tower/tower_api_client/models/update_password_reset_response.py b/src/tower/tower_api_client/models/update_app_environment_params.py similarity index 62% rename from src/tower/tower_api_client/models/update_password_reset_response.py rename to src/tower/tower_api_client/models/update_app_environment_params.py index 3e18fc74..14fc1f28 100644 --- a/src/tower/tower_api_client/models/update_password_reset_response.py +++ b/src/tower/tower_api_client/models/update_app_environment_params.py @@ -7,23 +7,23 @@ from ..types import UNSET, Unset -T = TypeVar("T", bound="UpdatePasswordResetResponse") +T = TypeVar("T", bound="UpdateAppEnvironmentParams") @_attrs_define -class UpdatePasswordResetResponse: +class UpdateAppEnvironmentParams: """ Attributes: - ok (bool): A boolean indicating the request was successfully processed. + version (str): The version to deploy to this environment, e.g. 'v1', 'v2'. schema (str | Unset): A URL to the JSON Schema for this object. Example: - https://api.tower.dev/v1/schemas/UpdatePasswordResetResponse.json. + https://api.tower.dev/v1/schemas/UpdateAppEnvironmentParams.json. """ - ok: bool + version: str schema: str | Unset = UNSET def to_dict(self) -> dict[str, Any]: - ok = self.ok + version = self.version schema = self.schema @@ -31,7 +31,7 @@ def to_dict(self) -> dict[str, Any]: field_dict.update( { - "ok": ok, + "version": version, } ) if schema is not UNSET: @@ -42,13 +42,13 @@ def to_dict(self) -> dict[str, Any]: @classmethod def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: d = dict(src_dict) - ok = d.pop("ok") + version = d.pop("version") schema = d.pop("$schema", UNSET) - update_password_reset_response = cls( - ok=ok, + update_app_environment_params = cls( + version=version, schema=schema, ) - return update_password_reset_response + return update_app_environment_params diff --git a/src/tower/tower_api_client/models/delete_authenticator_params.py b/src/tower/tower_api_client/models/update_app_environment_response.py similarity index 55% rename from src/tower/tower_api_client/models/delete_authenticator_params.py rename to src/tower/tower_api_client/models/update_app_environment_response.py index 375f3c9b..a64310e4 100644 --- a/src/tower/tower_api_client/models/delete_authenticator_params.py +++ b/src/tower/tower_api_client/models/update_app_environment_response.py @@ -7,23 +7,27 @@ from ..types import UNSET, Unset -T = TypeVar("T", bound="DeleteAuthenticatorParams") +T = TypeVar("T", bound="UpdateAppEnvironmentResponse") @_attrs_define -class DeleteAuthenticatorParams: +class UpdateAppEnvironmentResponse: """ Attributes: - authenticator_id (str): The ID of the authenticator to delete + environment (str): + version (str): schema (str | Unset): A URL to the JSON Schema for this object. Example: - https://api.tower.dev/v1/schemas/DeleteAuthenticatorParams.json. + https://api.tower.dev/v1/schemas/UpdateAppEnvironmentResponse.json. """ - authenticator_id: str + environment: str + version: str schema: str | Unset = UNSET def to_dict(self) -> dict[str, Any]: - authenticator_id = self.authenticator_id + environment = self.environment + + version = self.version schema = self.schema @@ -31,7 +35,8 @@ def to_dict(self) -> dict[str, Any]: field_dict.update( { - "authenticator_id": authenticator_id, + "environment": environment, + "version": version, } ) if schema is not UNSET: @@ -42,13 +47,16 @@ def to_dict(self) -> dict[str, Any]: @classmethod def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: d = dict(src_dict) - authenticator_id = d.pop("authenticator_id") + environment = d.pop("environment") + + version = d.pop("version") schema = d.pop("$schema", UNSET) - delete_authenticator_params = cls( - authenticator_id=authenticator_id, + update_app_environment_response = cls( + environment=environment, + version=version, schema=schema, ) - return delete_authenticator_params + return update_app_environment_response diff --git a/src/tower/tower_api_client/models/update_password_reset_params.py b/src/tower/tower_api_client/models/update_password_reset_params.py deleted file mode 100644 index a7dd2720..00000000 --- a/src/tower/tower_api_client/models/update_password_reset_params.py +++ /dev/null @@ -1,54 +0,0 @@ -from __future__ import annotations - -from collections.abc import Mapping -from typing import Any, TypeVar - -from attrs import define as _attrs_define - -from ..types import UNSET, Unset - -T = TypeVar("T", bound="UpdatePasswordResetParams") - - -@_attrs_define -class UpdatePasswordResetParams: - """ - Attributes: - password (str): The new password that you want to set for your account - schema (str | Unset): A URL to the JSON Schema for this object. Example: - https://api.tower.dev/v1/schemas/UpdatePasswordResetParams.json. - """ - - password: str - schema: str | Unset = UNSET - - def to_dict(self) -> dict[str, Any]: - password = self.password - - schema = self.schema - - field_dict: dict[str, Any] = {} - - field_dict.update( - { - "password": password, - } - ) - if schema is not UNSET: - field_dict["$schema"] = schema - - return field_dict - - @classmethod - def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: - d = dict(src_dict) - password = d.pop("password") - - schema = d.pop("$schema", UNSET) - - update_password_reset_params = cls( - password=password, - schema=schema, - ) - - return update_password_reset_params diff --git a/src/tower/tower_api_client/models/update_schedule_params.py b/src/tower/tower_api_client/models/update_schedule_params.py index 23a80a7e..fdb50089 100644 --- a/src/tower/tower_api_client/models/update_schedule_params.py +++ b/src/tower/tower_api_client/models/update_schedule_params.py @@ -24,8 +24,8 @@ class UpdateScheduleParams: Attributes: schema (str | Unset): A URL to the JSON Schema for this object. Example: https://api.tower.dev/v1/schemas/UpdateScheduleParams.json. - app_version (None | str | Unset): The specific app version to run (if omitted, will use the app's default - version) + app_version (None | str | Unset): This property is deprecated and ignored. Schedules inherit the version from + their environment. cron (str | Unset): The cron expression defining when the app should run environment (str | Unset): The environment to run the app in Default: 'default'. name (None | str | Unset): The name for this schedule. Must be unique per team. diff --git a/src/tower/tower_api_client/models/usage_metric_time_series_point.py b/src/tower/tower_api_client/models/usage_metric_time_series_point.py new file mode 100644 index 00000000..862b7c15 --- /dev/null +++ b/src/tower/tower_api_client/models/usage_metric_time_series_point.py @@ -0,0 +1,62 @@ +from __future__ import annotations + +import datetime +from collections.abc import Mapping +from typing import Any, TypeVar + +from attrs import define as _attrs_define +from dateutil.parser import isoparse + +from ..models.usage_metric_time_series_point_name import UsageMetricTimeSeriesPointName + +T = TypeVar("T", bound="UsageMetricTimeSeriesPoint") + + +@_attrs_define +class UsageMetricTimeSeriesPoint: + """ + Attributes: + date (datetime.datetime): + name (UsageMetricTimeSeriesPointName): + value (int): + """ + + date: datetime.datetime + name: UsageMetricTimeSeriesPointName + value: int + + def to_dict(self) -> dict[str, Any]: + date = self.date.isoformat() + + name = self.name.value + + value = self.value + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "date": date, + "name": name, + "value": value, + } + ) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + date = isoparse(d.pop("date")) + + name = UsageMetricTimeSeriesPointName(d.pop("name")) + + value = d.pop("value") + + usage_metric_time_series_point = cls( + date=date, + name=name, + value=value, + ) + + return usage_metric_time_series_point diff --git a/src/tower/tower_api_client/models/usage_metric_time_series_point_name.py b/src/tower/tower_api_client/models/usage_metric_time_series_point_name.py new file mode 100644 index 00000000..4e55c479 --- /dev/null +++ b/src/tower/tower_api_client/models/usage_metric_time_series_point_name.py @@ -0,0 +1,8 @@ +from enum import Enum + + +class UsageMetricTimeSeriesPointName(str, Enum): + RUN_SECONDS = "run_seconds" + + def __str__(self) -> str: + return str(self.value) diff --git a/src/tower/tower_api_client/models/verified_authenticator.py b/src/tower/tower_api_client/models/verified_authenticator.py deleted file mode 100644 index d9ee4201..00000000 --- a/src/tower/tower_api_client/models/verified_authenticator.py +++ /dev/null @@ -1,68 +0,0 @@ -from __future__ import annotations - -import datetime -from collections.abc import Mapping -from typing import Any, TypeVar - -from attrs import define as _attrs_define -from dateutil.parser import isoparse - -T = TypeVar("T", bound="VerifiedAuthenticator") - - -@_attrs_define -class VerifiedAuthenticator: - """ - Attributes: - created_at (datetime.datetime): The ISO8601 timestamp indicating when this authenticator was created - id (str): The ID of this authenticator - issuer (str): The issuer of the unverified authenticator. - label (str): The label that is used for this unverified authenticator. - """ - - created_at: datetime.datetime - id: str - issuer: str - label: str - - def to_dict(self) -> dict[str, Any]: - created_at = self.created_at.isoformat() - - id = self.id - - issuer = self.issuer - - label = self.label - - field_dict: dict[str, Any] = {} - - field_dict.update( - { - "created_at": created_at, - "id": id, - "issuer": issuer, - "label": label, - } - ) - - return field_dict - - @classmethod - def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: - d = dict(src_dict) - created_at = isoparse(d.pop("created_at")) - - id = d.pop("id") - - issuer = d.pop("issuer") - - label = d.pop("label") - - verified_authenticator = cls( - created_at=created_at, - id=id, - issuer=issuer, - label=label, - ) - - return verified_authenticator diff --git a/src/tower/tower_api_client/models/verify_email_params.py b/src/tower/tower_api_client/models/verify_email_params.py deleted file mode 100644 index 32e1b394..00000000 --- a/src/tower/tower_api_client/models/verify_email_params.py +++ /dev/null @@ -1,54 +0,0 @@ -from __future__ import annotations - -from collections.abc import Mapping -from typing import Any, TypeVar - -from attrs import define as _attrs_define - -from ..types import UNSET, Unset - -T = TypeVar("T", bound="VerifyEmailParams") - - -@_attrs_define -class VerifyEmailParams: - """ - Attributes: - code (str): - schema (str | Unset): A URL to the JSON Schema for this object. Example: - https://api.tower.dev/v1/schemas/VerifyEmailParams.json. - """ - - code: str - schema: str | Unset = UNSET - - def to_dict(self) -> dict[str, Any]: - code = self.code - - schema = self.schema - - field_dict: dict[str, Any] = {} - - field_dict.update( - { - "code": code, - } - ) - if schema is not UNSET: - field_dict["$schema"] = schema - - return field_dict - - @classmethod - def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: - d = dict(src_dict) - code = d.pop("code") - - schema = d.pop("$schema", UNSET) - - verify_email_params = cls( - code=code, - schema=schema, - ) - - return verify_email_params diff --git a/src/tower/tower_api_client/models/verify_email_response.py b/src/tower/tower_api_client/models/verify_email_response.py deleted file mode 100644 index 40f4135d..00000000 --- a/src/tower/tower_api_client/models/verify_email_response.py +++ /dev/null @@ -1,60 +0,0 @@ -from __future__ import annotations - -from collections.abc import Mapping -from typing import TYPE_CHECKING, Any, TypeVar - -from attrs import define as _attrs_define - -from ..types import UNSET, Unset - -if TYPE_CHECKING: - from ..models.user import User - - -T = TypeVar("T", bound="VerifyEmailResponse") - - -@_attrs_define -class VerifyEmailResponse: - """ - Attributes: - user (User): - schema (str | Unset): A URL to the JSON Schema for this object. Example: - https://api.tower.dev/v1/schemas/VerifyEmailResponse.json. - """ - - user: User - schema: str | Unset = UNSET - - def to_dict(self) -> dict[str, Any]: - user = self.user.to_dict() - - schema = self.schema - - field_dict: dict[str, Any] = {} - - field_dict.update( - { - "user": user, - } - ) - if schema is not UNSET: - field_dict["$schema"] = schema - - return field_dict - - @classmethod - def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: - from ..models.user import User - - d = dict(src_dict) - user = User.from_dict(d.pop("user")) - - schema = d.pop("$schema", UNSET) - - verify_email_response = cls( - user=user, - schema=schema, - ) - - return verify_email_response diff --git a/tests/mock-api-server/main.py b/tests/mock-api-server/main.py index 7faff7d0..185c743a 100644 --- a/tests/mock-api-server/main.py +++ b/tests/mock-api-server/main.py @@ -69,6 +69,7 @@ async def log_requests(request: Request, call_next): "pending": 0, "retrying": 0, "running": 0, + "starting": 0, }, "subdomain": None, "is_externally_accessible": False, @@ -160,6 +161,7 @@ async def create_app(app_data: Dict[str, Any]): "pending": 0, "retrying": 0, "running": 0, + "starting": 0, }, "schedule": None, "short_description": description or "", @@ -283,6 +285,7 @@ async def run_app(name: str, run_params: Dict[str, Any]): "created_at": datetime.datetime.now().isoformat(), "scheduled_at": datetime.datetime.now().isoformat(), "cancelled_at": None, + "starting_at": datetime.datetime.now().isoformat(), "started_at": datetime.datetime.now().isoformat(), "ended_at": None, "app_version": mock_apps_db[name].get("version", "1.0.0"), @@ -355,7 +358,7 @@ async def cancel_run(name: str, seq: int): run_data["status"] = "cancelled" run_data["status_group"] = "successful" run_data["cancelled_at"] = now_iso() - return {"run": run_data} + return {"run": run_data, "cancelled_child_runs": 0} raise HTTPException( status_code=404, detail=f"Run sequence {seq} not found for app '{name}'" diff --git a/tests/tower/test_client.py b/tests/tower/test_client.py index beb48cc7..04e44e0d 100644 --- a/tests/tower/test_client.py +++ b/tests/tower/test_client.py @@ -50,6 +50,7 @@ def _create_run_response( "number": number, "run_id": run_id, "scheduled_at": "2025-04-25T20:54:58.761867Z", + "starting_at": "2025-04-25T20:54:59.366937Z", "started_at": "2025-04-25T20:54:59.366937Z", "status": status, "exit_code": None, @@ -100,6 +101,7 @@ def _create_run( number=number, run_id=run_id, scheduled_at="2025-04-25T20:54:58.761867Z", + starting_at="2025-04-25T20:54:59.366937Z", started_at="2025-04-25T20:54:59.366937Z", status=status, status_group=status_group,