From d555f80b6ee24cb1f5453af90a6c31df51f3ce3d Mon Sep 17 00:00:00 2001 From: Brad Heller Date: Thu, 8 May 2025 14:47:50 +0200 Subject: [PATCH 1/5] chore: Upgrade to the latest API --- Cargo.lock | 2 +- crates/tower-api/Cargo.toml | 11 ++- crates/tower-api/README.md | 12 ++- crates/tower-api/src/apis/configuration.rs | 2 +- crates/tower-api/src/apis/default_api.rs | 88 +++++++++++++------ .../src/models/accept_invitation_params.rs | 2 +- .../src/models/accept_invitation_response.rs | 2 +- crates/tower-api/src/models/account.rs | 2 +- .../src/models/acknowledge_alert_response.rs | 2 +- crates/tower-api/src/models/alert.rs | 2 +- crates/tower-api/src/models/alert_detail.rs | 2 +- crates/tower-api/src/models/api_key.rs | 2 +- crates/tower-api/src/models/app.rs | 2 +- crates/tower-api/src/models/app_statistics.rs | 2 +- crates/tower-api/src/models/app_summary.rs | 2 +- crates/tower-api/src/models/app_version.rs | 2 +- .../src/models/cancel_run_response.rs | 2 +- crates/tower-api/src/models/catalog.rs | 2 +- .../tower-api/src/models/catalog_property.rs | 2 +- .../claim_device_login_ticket_params.rs | 2 +- .../claim_device_login_ticket_response.rs | 2 +- .../src/models/create_account_params.rs | 2 +- .../create_account_params_flags_struct.rs | 2 +- .../src/models/create_account_response.rs | 2 +- .../src/models/create_api_key_params.rs | 2 +- .../src/models/create_api_key_response.rs | 2 +- .../tower-api/src/models/create_app_params.rs | 2 +- .../src/models/create_app_response.rs | 2 +- .../src/models/create_catalog_params.rs | 2 +- .../src/models/create_catalog_response.rs | 2 +- .../create_device_login_ticket_response.rs | 2 +- .../src/models/create_secret_params.rs | 2 +- .../src/models/create_secret_response.rs | 2 +- .../src/models/create_session_params.rs | 2 +- .../src/models/create_session_response.rs | 2 +- .../src/models/create_team_params.rs | 2 +- .../src/models/create_team_response.rs | 2 +- .../src/models/delete_api_key_params.rs | 2 +- .../src/models/delete_api_key_response.rs | 2 +- .../src/models/delete_app_response.rs | 2 +- .../src/models/delete_catalog_response.rs | 2 +- ...ts_params.rs => delete_secret_response.rs} | 16 ++-- .../models/delete_team_invitation_params.rs | 2 +- .../models/delete_team_invitation_response.rs | 2 +- .../src/models/delete_team_params.rs | 2 +- .../src/models/delete_team_response.rs | 2 +- .../src/models/deploy_app_response.rs | 2 +- .../src/models/describe_app_response.rs | 2 +- .../models/describe_app_version_response.rs | 2 +- .../describe_device_login_session_response.rs | 2 +- .../src/models/describe_run_logs_response.rs | 2 +- .../src/models/describe_run_response.rs | 2 +- .../models/describe_secrets_key_response.rs | 2 +- .../src/models/describe_session_response.rs | 2 +- .../src/models/encrypted_catalog_property.rs | 2 +- crates/tower-api/src/models/error_detail.rs | 2 +- crates/tower-api/src/models/error_model.rs | 2 +- .../src/models/export_catalogs_params.rs | 48 ++++++++++ .../src/models/export_catalogs_response.rs | 34 +++++++ .../src/models/export_secrets_params.rs | 48 ++++++++++ .../src/models/export_secrets_response.rs | 2 +- .../tower-api/src/models/exported_catalog.rs | 42 +++++++++ .../src/models/exported_catalog_property.rs | 33 +++++++ .../tower-api/src/models/exported_secret.rs | 2 +- .../generate_app_statistics_response.rs | 2 +- .../generate_run_statistics_response.rs | 2 +- .../src/models/invite_team_member_params.rs | 2 +- .../src/models/invite_team_member_response.rs | 2 +- .../src/models/leave_team_response.rs | 2 +- .../src/models/list_alerts_response.rs | 2 +- .../src/models/list_api_keys_response.rs | 2 +- .../models/list_app_environments_response.rs | 2 +- .../src/models/list_app_versions_response.rs | 2 +- .../src/models/list_apps_response.rs | 2 +- .../src/models/list_catalogs_response.rs | 2 +- .../list_my_team_invitations_response.rs | 2 +- .../src/models/list_runs_response.rs | 2 +- .../list_secret_environments_response.rs | 2 +- .../src/models/list_secrets_response.rs | 2 +- .../models/list_team_invitations_response.rs | 2 +- .../src/models/list_team_members_response.rs | 2 +- .../src/models/list_teams_response.rs | 2 +- crates/tower-api/src/models/log_line.rs | 2 +- crates/tower-api/src/models/log_line_error.rs | 2 +- crates/tower-api/src/models/mod.rs | 14 ++- crates/tower-api/src/models/pagination.rs | 2 +- crates/tower-api/src/models/parameter.rs | 2 +- .../src/models/refresh_session_params.rs | 2 +- .../src/models/refresh_session_response.rs | 2 +- .../src/models/remove_team_member_params.rs | 2 +- .../src/models/remove_team_member_response.rs | 2 +- .../models/resend_team_invitation_params.rs | 2 +- .../models/resend_team_invitation_response.rs | 2 +- crates/tower-api/src/models/run.rs | 2 +- crates/tower-api/src/models/run_app_params.rs | 2 +- .../tower-api/src/models/run_app_response.rs | 2 +- crates/tower-api/src/models/run_log_line.rs | 2 +- crates/tower-api/src/models/run_parameter.rs | 2 +- crates/tower-api/src/models/run_results.rs | 2 +- crates/tower-api/src/models/run_statistics.rs | 2 +- crates/tower-api/src/models/secret.rs | 2 +- crates/tower-api/src/models/series_point.rs | 2 +- crates/tower-api/src/models/session.rs | 2 +- .../src/models/statistics_settings.rs | 2 +- .../stream_run_logs_200_response_inner.rs | 2 +- crates/tower-api/src/models/team.rs | 2 +- .../tower-api/src/models/team_invitation.rs | 2 +- crates/tower-api/src/models/token.rs | 2 +- .../src/models/update_account_slug_params.rs | 2 +- .../models/update_account_slug_response.rs | 2 +- .../tower-api/src/models/update_app_params.rs | 2 +- .../src/models/update_app_response.rs | 2 +- .../src/models/update_catalog_params.rs | 2 +- .../src/models/update_catalog_response.rs | 2 +- .../update_my_team_invitation_params.rs | 2 +- .../update_my_team_invitation_response.rs | 2 +- .../src/models/update_secret_params.rs | 2 +- .../src/models/update_secret_response.rs | 2 +- .../src/models/update_team_params.rs | 2 +- .../src/models/update_team_response.rs | 2 +- .../src/models/update_user_params.rs | 5 +- .../src/models/update_user_response.rs | 2 +- crates/tower-api/src/models/user.rs | 2 +- crates/tower-cmd/src/api.rs | 16 ++-- scripts/rust-client-templates/Cargo.mustache | 35 ++------ 125 files changed, 431 insertions(+), 195 deletions(-) rename crates/tower-api/src/models/{export_user_secrets_params.rs => delete_secret_response.rs} (60%) create mode 100644 crates/tower-api/src/models/export_catalogs_params.rs create mode 100644 crates/tower-api/src/models/export_catalogs_response.rs create mode 100644 crates/tower-api/src/models/export_secrets_params.rs create mode 100644 crates/tower-api/src/models/exported_catalog.rs create mode 100644 crates/tower-api/src/models/exported_catalog_property.rs diff --git a/Cargo.lock b/Cargo.lock index ca4de8d3..d0a0982e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2653,7 +2653,7 @@ dependencies = [ [[package]] name = "tower-api" -version = "1.0.0" +version = "0.3.12" dependencies = [ "log", "reqwest", diff --git a/crates/tower-api/Cargo.toml b/crates/tower-api/Cargo.toml index eae002a1..b524ab77 100644 --- a/crates/tower-api/Cargo.toml +++ b/crates/tower-api/Cargo.toml @@ -1,11 +1,10 @@ [package] name = "tower-api" -version = "1.0.0" -authors = ["hello@tower.dev"] -description = "REST API to interact with Tower Services." -# Override this license by providing a License Object in the OpenAPI. -license = "Unlicense" -edition = "2021" +version = { workspace = true } +authors = { workspace = true } +edition = { workspace = true } +rust-version = { workspace = true } +license = { workspace = true } [dependencies] log = { workspace = true } diff --git a/crates/tower-api/README.md b/crates/tower-api/README.md index 0f6326b2..597a7ff6 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.5.9 +- API version: v0.5.12 - Package version: 1.0.0 - Generator version: 7.13.0 - Build package: `org.openapitools.codegen.languages.RustClientCodegen` @@ -54,7 +54,8 @@ Class | Method | HTTP request | Description *DefaultApi* | [**describe_run_logs**](docs/DefaultApi.md#describe_run_logs) | **GET** /apps/{slug}/runs/{seq}/logs | Describe run logs *DefaultApi* | [**describe_secrets_key**](docs/DefaultApi.md#describe_secrets_key) | **GET** /secrets/key | Describe encryption key *DefaultApi* | [**describe_session**](docs/DefaultApi.md#describe_session) | **GET** /session | Describe session -*DefaultApi* | [**export_secrets**](docs/DefaultApi.md#export_secrets) | **GET** /secrets/export | Export secrets +*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_run_statistics**](docs/DefaultApi.md#generate_run_statistics) | **GET** /stats/runs | Generate run statistics *DefaultApi* | [**invite_team_member**](docs/DefaultApi.md#invite_team_member) | **POST** /teams/{slug}/invites | Invite team member @@ -124,6 +125,7 @@ Class | Method | HTTP request | Description - [DeleteApiKeyResponse](docs/DeleteApiKeyResponse.md) - [DeleteAppResponse](docs/DeleteAppResponse.md) - [DeleteCatalogResponse](docs/DeleteCatalogResponse.md) + - [DeleteSecretResponse](docs/DeleteSecretResponse.md) - [DeleteTeamInvitationParams](docs/DeleteTeamInvitationParams.md) - [DeleteTeamInvitationResponse](docs/DeleteTeamInvitationResponse.md) - [DeleteTeamParams](docs/DeleteTeamParams.md) @@ -139,8 +141,12 @@ Class | Method | HTTP request | Description - [EncryptedCatalogProperty](docs/EncryptedCatalogProperty.md) - [ErrorDetail](docs/ErrorDetail.md) - [ErrorModel](docs/ErrorModel.md) + - [ExportCatalogsParams](docs/ExportCatalogsParams.md) + - [ExportCatalogsResponse](docs/ExportCatalogsResponse.md) + - [ExportSecretsParams](docs/ExportSecretsParams.md) - [ExportSecretsResponse](docs/ExportSecretsResponse.md) - - [ExportUserSecretsParams](docs/ExportUserSecretsParams.md) + - [ExportedCatalog](docs/ExportedCatalog.md) + - [ExportedCatalogProperty](docs/ExportedCatalogProperty.md) - [ExportedSecret](docs/ExportedSecret.md) - [GenerateAppStatisticsResponse](docs/GenerateAppStatisticsResponse.md) - [GenerateRunStatisticsResponse](docs/GenerateRunStatisticsResponse.md) diff --git a/crates/tower-api/src/apis/configuration.rs b/crates/tower-api/src/apis/configuration.rs index 60dcd450..c6db6118 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 b3c86e06..ec8ab122 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.5.9 + * The version of the OpenAPI document: v0.5.12 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ @@ -195,18 +195,16 @@ pub struct DescribeSecretsKeyParams { pub format: Option } +/// struct for passing parameters to the method [`export_catalogs`] +#[derive(Clone, Debug)] +pub struct ExportCatalogsParams { + pub export_catalogs_params: models::ExportCatalogsParams +} + /// struct for passing parameters to the method [`export_secrets`] #[derive(Clone, Debug)] pub struct ExportSecretsParams { - pub export_user_secrets_params: models::ExportUserSecretsParams, - /// The environment to filter by. - pub environment: Option, - /// Whether to fetch all secrets or only the ones that are not marked as deleted. - pub all: Option, - /// The page number to fetch. - pub page: Option, - /// The number of records to fetch on each page. - pub page_size: Option + pub export_secrets_params: models::ExportSecretsParams } /// struct for passing parameters to the method [`generate_run_statistics`] @@ -559,7 +557,7 @@ pub enum DeleteCatalogSuccess { #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(untagged)] pub enum DeleteSecretSuccess { - Status204(), + Status200(models::DeleteSecretResponse), UnknownValue(serde_json::Value), } @@ -643,6 +641,14 @@ pub enum DescribeSessionSuccess { UnknownValue(serde_json::Value), } +/// struct for typed successes of method [`export_catalogs`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ExportCatalogsSuccess { + Status200(models::ExportCatalogsResponse), + UnknownValue(serde_json::Value), +} + /// struct for typed successes of method [`export_secrets`] #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(untagged)] @@ -1103,6 +1109,14 @@ pub enum DescribeSessionError { UnknownValue(serde_json::Value), } +/// struct for typed errors of method [`export_catalogs`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ExportCatalogsError { + DefaultResponse(models::ErrorModel), + UnknownValue(serde_json::Value), +} + /// struct for typed errors of method [`export_secrets`] #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(untagged)] @@ -2307,31 +2321,55 @@ pub async fn describe_session(configuration: &configuration::Configuration) -> R } } +/// Lists all the catalogs in your current account and re-encrypt them with the public key you supplied. +pub async fn export_catalogs(configuration: &configuration::Configuration, params: ExportCatalogsParams) -> Result, Error> { + + let uri_str = format!("{}/catalogs/export", 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()); + }; + req_builder = req_builder.json(¶ms.export_catalogs_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 })) + } +} + /// Lists all the secrets in your current account and re-encrypt them with the public key you supplied. pub async fn export_secrets(configuration: &configuration::Configuration, params: ExportSecretsParams) -> Result, Error> { let uri_str = format!("{}/secrets/export", configuration.base_path); - let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + let mut req_builder = configuration.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 { - req_builder = req_builder.query(&[("all", ¶m_value.to_string())]); - } - if let Some(ref param_value) = params.page { - req_builder = req_builder.query(&[("page", ¶m_value.to_string())]); - } - if let Some(ref param_value) = params.page_size { - req_builder = req_builder.query(&[("page_size", ¶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()); } if let Some(ref token) = configuration.bearer_access_token { req_builder = req_builder.bearer_auth(token.to_owned()); }; - req_builder = req_builder.json(¶ms.export_user_secrets_params); + req_builder = req_builder.json(¶ms.export_secrets_params); let req = req_builder.build()?; let resp = configuration.client.execute(req).await?; diff --git a/crates/tower-api/src/models/accept_invitation_params.rs b/crates/tower-api/src/models/accept_invitation_params.rs index 42c07c12..e4dc95be 100644 --- a/crates/tower-api/src/models/accept_invitation_params.rs +++ b/crates/tower-api/src/models/accept_invitation_params.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.5.9 + * The version of the OpenAPI document: v0.5.12 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/accept_invitation_response.rs b/crates/tower-api/src/models/accept_invitation_response.rs index c63bfb7b..4584f8c4 100644 --- a/crates/tower-api/src/models/accept_invitation_response.rs +++ b/crates/tower-api/src/models/accept_invitation_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 ca96476e..08b36505 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 0e6d9c54..934d7cee 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 f7f7dc8d..b592aa12 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.5.9 + * The version of the OpenAPI document: v0.5.12 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/alert_detail.rs b/crates/tower-api/src/models/alert_detail.rs index f3bc5ee1..82663615 100644 --- a/crates/tower-api/src/models/alert_detail.rs +++ b/crates/tower-api/src/models/alert_detail.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 f8dd800a..bf2cd330 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 d70d33b9..e10fe77f 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 7c5b4c3f..89851687 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 204795c7..5b414a46 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 8297184b..a93449e5 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 402e43e7..852b2180 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.5.9 + * The version of the OpenAPI document: v0.5.12 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/catalog.rs b/crates/tower-api/src/models/catalog.rs index 7be361a5..1433ee28 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 7c3b7e50..c6f61589 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 dc89f14d..59412a28 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 fcee5163..1ea942be 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 86981a3c..5f6003ad 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 82ea3d50..efff7a38 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 3245b701..14e73ba9 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 d7e12be6..839e226d 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 6c9b9184..11750a23 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 3b9e2ca1..f8c8e5a5 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 0c2e3a19..c8425bdd 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 bd4bf3fe..86ef802a 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.5.9 + * The version of the OpenAPI document: v0.5.12 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/create_catalog_response.rs b/crates/tower-api/src/models/create_catalog_response.rs index 6cbbf74c..05449907 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 f70d8d9b..cd34ff4d 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 c39e5eed..f79b778f 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 db08d26f..f5cab284 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 5c0bcf74..5e902182 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 84e288d5..ae9c3bfc 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 c4878123..5758f2e5 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 9f7d542f..fcbb9562 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 45085ce2..64c362c7 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 fce18fd0..db765c61 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 bb8882f0..44bd1b6c 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 4c188fb9..36d3bf21 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.5.9 + * The version of the OpenAPI document: v0.5.12 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/export_user_secrets_params.rs b/crates/tower-api/src/models/delete_secret_response.rs similarity index 60% rename from crates/tower-api/src/models/export_user_secrets_params.rs rename to crates/tower-api/src/models/delete_secret_response.rs index ede929dc..d4bc4869 100644 --- a/crates/tower-api/src/models/export_user_secrets_params.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.5.9 + * The version of the OpenAPI document: v0.5.12 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ @@ -12,19 +12,19 @@ use crate::models; use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] -pub struct ExportUserSecretsParams { +pub struct DeleteSecretResponse { /// A URL to the JSON Schema for this object. #[serde(rename = "$schema", skip_serializing_if = "Option::is_none")] pub schema: Option, - #[serde(rename = "public_key")] - pub public_key: String, + #[serde(rename = "secret")] + pub secret: Box, } -impl ExportUserSecretsParams { - pub fn new(public_key: String) -> ExportUserSecretsParams { - ExportUserSecretsParams { +impl DeleteSecretResponse { + pub fn new(secret: models::Secret) -> DeleteSecretResponse { + DeleteSecretResponse { schema: None, - public_key, + secret: Box::new(secret), } } } 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 bb3a6dfd..391dbf4f 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 e1eee20f..ac694118 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 293d6b43..dd692dc7 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 c679e3bd..a655a2b2 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 bbffc569..ff1568b5 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 4af26166..3d134da2 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 bdfd604f..5d3a7480 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 02132c3f..4af97828 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 acaf0e33..d62e17ba 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 63c4381e..515ae310 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 7fd64875..47306707 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 85a3c0d7..2ca6baf1 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 59732b20..5ab10f25 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 3732c59f..9967b533 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 b22e9d4f..bf5d113b 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 new file mode 100644 index 00000000..051c04f8 --- /dev/null +++ b/crates/tower-api/src/models/export_catalogs_params.rs @@ -0,0 +1,48 @@ +/* + * Tower API + * + * REST API to interact with Tower Services. + * + * The version of the OpenAPI document: v0.5.12 + * Contact: hello@tower.dev + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ExportCatalogsParams { + /// A URL to the JSON Schema for this object. + #[serde(rename = "$schema", skip_serializing_if = "Option::is_none")] + pub schema: Option, + /// Whether to fetch all catalogs or only the ones in the supplied environment. + #[serde(rename = "all")] + pub all: bool, + /// The environment to filter by. + #[serde(rename = "environment")] + pub environment: String, + /// The page number to fetch. + #[serde(rename = "page")] + pub page: i64, + /// The number of records to fetch on each page. + #[serde(rename = "page_size")] + pub page_size: i64, + /// The PEM-encoded public key you want to use to encrypt sensitive catalog properties. + #[serde(rename = "public_key")] + pub public_key: String, +} + +impl ExportCatalogsParams { + pub fn new(all: bool, environment: String, page: i64, page_size: i64, public_key: String) -> ExportCatalogsParams { + ExportCatalogsParams { + schema: None, + all, + environment, + page, + page_size, + public_key, + } + } +} + diff --git a/crates/tower-api/src/models/export_catalogs_response.rs b/crates/tower-api/src/models/export_catalogs_response.rs new file mode 100644 index 00000000..42e98068 --- /dev/null +++ b/crates/tower-api/src/models/export_catalogs_response.rs @@ -0,0 +1,34 @@ +/* + * Tower API + * + * REST API to interact with Tower Services. + * + * The version of the OpenAPI document: v0.5.12 + * Contact: hello@tower.dev + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ExportCatalogsResponse { + /// A URL to the JSON Schema for this object. + #[serde(rename = "$schema", skip_serializing_if = "Option::is_none")] + pub schema: Option, + #[serde(rename = "catalogs")] + pub catalogs: Vec, + #[serde(rename = "pages")] + pub pages: Box, +} + +impl ExportCatalogsResponse { + pub fn new(catalogs: Vec, pages: models::Pagination) -> ExportCatalogsResponse { + ExportCatalogsResponse { + schema: None, + catalogs, + pages: Box::new(pages), + } + } +} + diff --git a/crates/tower-api/src/models/export_secrets_params.rs b/crates/tower-api/src/models/export_secrets_params.rs new file mode 100644 index 00000000..e35fcebd --- /dev/null +++ b/crates/tower-api/src/models/export_secrets_params.rs @@ -0,0 +1,48 @@ +/* + * Tower API + * + * REST API to interact with Tower Services. + * + * The version of the OpenAPI document: v0.5.12 + * Contact: hello@tower.dev + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ExportSecretsParams { + /// A URL to the JSON Schema for this object. + #[serde(rename = "$schema", skip_serializing_if = "Option::is_none")] + pub schema: Option, + /// Whether to fetch all secrets or only the ones that are not marked as deleted. + #[serde(rename = "all")] + pub all: bool, + /// The environment to filter by. + #[serde(rename = "environment")] + pub environment: String, + /// The page number to fetch. + #[serde(rename = "page")] + pub page: i64, + /// The number of records to fetch on each page. + #[serde(rename = "page_size")] + pub page_size: i64, + /// The PEM-encoded public key you want to use to encrypt sensitive secret values. + #[serde(rename = "public_key")] + pub public_key: String, +} + +impl ExportSecretsParams { + pub fn new(all: bool, environment: String, page: i64, page_size: i64, public_key: String) -> ExportSecretsParams { + ExportSecretsParams { + schema: None, + all, + environment, + page, + page_size, + public_key, + } + } +} + diff --git a/crates/tower-api/src/models/export_secrets_response.rs b/crates/tower-api/src/models/export_secrets_response.rs index 94d29790..1526d3b1 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 new file mode 100644 index 00000000..6f70f1ed --- /dev/null +++ b/crates/tower-api/src/models/exported_catalog.rs @@ -0,0 +1,42 @@ +/* + * Tower API + * + * REST API to interact with Tower Services. + * + * The version of the OpenAPI document: v0.5.12 + * Contact: hello@tower.dev + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ExportedCatalog { + #[serde(rename = "CreatedAt")] + pub created_at: String, + #[serde(rename = "environment")] + pub environment: String, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "properties")] + pub properties: Vec, + #[serde(rename = "slug")] + pub slug: String, + #[serde(rename = "type")] + pub r#type: String, +} + +impl ExportedCatalog { + pub fn new(created_at: String, environment: String, name: String, properties: Vec, slug: String, r#type: String) -> ExportedCatalog { + ExportedCatalog { + created_at, + environment, + name, + properties, + slug, + r#type, + } + } +} + diff --git a/crates/tower-api/src/models/exported_catalog_property.rs b/crates/tower-api/src/models/exported_catalog_property.rs new file mode 100644 index 00000000..c9326cc3 --- /dev/null +++ b/crates/tower-api/src/models/exported_catalog_property.rs @@ -0,0 +1,33 @@ +/* + * Tower API + * + * REST API to interact with Tower Services. + * + * The version of the OpenAPI document: v0.5.12 + * Contact: hello@tower.dev + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ExportedCatalogProperty { + #[serde(rename = "encrypted_value")] + pub encrypted_value: String, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "preview")] + pub preview: String, +} + +impl ExportedCatalogProperty { + pub fn new(encrypted_value: String, name: String, preview: String) -> ExportedCatalogProperty { + ExportedCatalogProperty { + encrypted_value, + name, + preview, + } + } +} + diff --git a/crates/tower-api/src/models/exported_secret.rs b/crates/tower-api/src/models/exported_secret.rs index 17c70dca..a8eeb5d4 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 caf8a377..3482ad17 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.5.9 + * The version of the OpenAPI document: v0.5.12 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ 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 157c97a9..040812f8 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 6e9a6195..803c0763 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 26a8c9e3..f003d430 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 d177eebd..a6bf83a8 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 3dddfced..fac9c817 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 6795b261..2b8699d2 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 78e33fcd..0c17f6b4 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 d48ce900..3dec792f 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 efabc7de..6be23d21 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 360ba1ef..e05a77e7 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 adc9378f..146d876f 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 886c4f68..abbbe4df 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 d930c1ef..f46773e0 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 4b555826..18224e78 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 b1626a7c..8b33aec5 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 c9068564..c7447e9c 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 99ecb55f..b3f48a0a 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.5.9 + * The version of the OpenAPI document: v0.5.12 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/log_line.rs b/crates/tower-api/src/models/log_line.rs index 07a81fd0..7484e098 100644 --- a/crates/tower-api/src/models/log_line.rs +++ b/crates/tower-api/src/models/log_line.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.5.9 + * The version of the OpenAPI document: v0.5.12 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/log_line_error.rs b/crates/tower-api/src/models/log_line_error.rs index b685301c..01318c9f 100644 --- a/crates/tower-api/src/models/log_line_error.rs +++ b/crates/tower-api/src/models/log_line_error.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 b70b1f0e..60dd66fb 100644 --- a/crates/tower-api/src/models/mod.rs +++ b/crates/tower-api/src/models/mod.rs @@ -70,6 +70,8 @@ pub mod delete_app_response; pub use self::delete_app_response::DeleteAppResponse; pub mod delete_catalog_response; pub use self::delete_catalog_response::DeleteCatalogResponse; +pub mod delete_secret_response; +pub use self::delete_secret_response::DeleteSecretResponse; pub mod delete_team_invitation_params; pub use self::delete_team_invitation_params::DeleteTeamInvitationParams; pub mod delete_team_invitation_response; @@ -100,10 +102,18 @@ pub mod error_detail; pub use self::error_detail::ErrorDetail; pub mod error_model; pub use self::error_model::ErrorModel; +pub mod export_catalogs_params; +pub use self::export_catalogs_params::ExportCatalogsParams; +pub mod export_catalogs_response; +pub use self::export_catalogs_response::ExportCatalogsResponse; +pub mod export_secrets_params; +pub use self::export_secrets_params::ExportSecretsParams; pub mod export_secrets_response; pub use self::export_secrets_response::ExportSecretsResponse; -pub mod export_user_secrets_params; -pub use self::export_user_secrets_params::ExportUserSecretsParams; +pub mod exported_catalog; +pub use self::exported_catalog::ExportedCatalog; +pub mod exported_catalog_property; +pub use self::exported_catalog_property::ExportedCatalogProperty; pub mod exported_secret; pub use self::exported_secret::ExportedSecret; pub mod generate_app_statistics_response; diff --git a/crates/tower-api/src/models/pagination.rs b/crates/tower-api/src/models/pagination.rs index ec157f79..8061df7d 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 1890d83a..644c3201 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 391ee86d..c8caa271 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 011633d4..df3f8363 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 359e806d..5fc39c69 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 7f0c24d3..f4bece2f 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 9a37d025..aaebdbf2 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 791f8472..65fdb3a8 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 18f8f183..ec101797 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 60a306ca..c6d2b168 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 b340dc52..afa53167 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 d8486c35..eba7e8f6 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 b342df4b..83a9f7b6 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.5.9 + * The version of the OpenAPI document: v0.5.12 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/run_results.rs b/crates/tower-api/src/models/run_results.rs index e8743378..aa6fa4f6 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 f20a767c..81046e1a 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 4d2024bf..a541f52e 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.5.9 + * The version of the OpenAPI document: v0.5.12 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/series_point.rs b/crates/tower-api/src/models/series_point.rs index 2f4b0d8d..8f4adbd2 100644 --- a/crates/tower-api/src/models/series_point.rs +++ b/crates/tower-api/src/models/series_point.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 8e0d0656..704fbad8 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 3adfe640..3e40adbe 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.5.9 + * The version of the OpenAPI document: v0.5.12 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/stream_run_logs_200_response_inner.rs b/crates/tower-api/src/models/stream_run_logs_200_response_inner.rs index 08d0f1a4..d7a351dd 100644 --- a/crates/tower-api/src/models/stream_run_logs_200_response_inner.rs +++ b/crates/tower-api/src/models/stream_run_logs_200_response_inner.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 593b786d..deed961b 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 e466fc10..c9221a87 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 7f2c947b..b44c365b 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.5.9 + * The version of the OpenAPI document: v0.5.12 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/update_account_slug_params.rs b/crates/tower-api/src/models/update_account_slug_params.rs index b5192976..5c3352fa 100644 --- a/crates/tower-api/src/models/update_account_slug_params.rs +++ b/crates/tower-api/src/models/update_account_slug_params.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.5.9 + * The version of the OpenAPI document: v0.5.12 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/update_account_slug_response.rs b/crates/tower-api/src/models/update_account_slug_response.rs index 58dda7bd..ed8e2b5e 100644 --- a/crates/tower-api/src/models/update_account_slug_response.rs +++ b/crates/tower-api/src/models/update_account_slug_response.rs @@ -3,7 +3,7 @@ * * REST API to interact with Tower Services. * - * The version of the OpenAPI document: v0.5.9 + * The version of the OpenAPI document: v0.5.12 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/update_app_params.rs b/crates/tower-api/src/models/update_app_params.rs index e340d33c..d348c530 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 0afde58f..d4768dce 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 8fe5d7d0..1fdba428 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 95ae3b79..d5b5d724 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 efb56e9d..96b20287 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 1e33da85..2dc99a76 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 7dcb3ec2..8c432cb7 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 7806d835..2503c27b 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 873ac06f..64a8baed 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 8cdc9df2..27099203 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 a68b6fed..a5300710 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.5.9 + * The version of the OpenAPI document: v0.5.12 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ @@ -26,6 +26,8 @@ pub struct UpdateUserParams { pub is_alerts_enabled: Option>, #[serde(rename = "last_name", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] pub last_name: Option>, + #[serde(rename = "password", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub password: Option>, } impl UpdateUserParams { @@ -37,6 +39,7 @@ impl UpdateUserParams { first_name: None, is_alerts_enabled: None, last_name: None, + password: None, } } } diff --git a/crates/tower-api/src/models/update_user_response.rs b/crates/tower-api/src/models/update_user_response.rs index 122dca0e..e6eccfb4 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.5.9 + * The version of the OpenAPI document: v0.5.12 * Contact: hello@tower.dev * Generated by: https://openapi-generator.tech */ diff --git a/crates/tower-api/src/models/user.rs b/crates/tower-api/src/models/user.rs index b94f84c0..ffc0d03c 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.5.9 + * The version of the OpenAPI document: v0.5.12 * 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 2240e0e4..f4b11c42 100644 --- a/crates/tower-cmd/src/api.rs +++ b/crates/tower-cmd/src/api.rs @@ -95,14 +95,14 @@ pub async fn export_secrets(config: &Config, env: &str, all: bool, public_key: r let api_config = &config.into(); let params = tower_api::apis::default_api::ExportSecretsParams { - export_user_secrets_params: tower_api::models::ExportUserSecretsParams { + export_secrets_params: tower_api::models::ExportSecretsParams { schema: None, + all, public_key: crypto::serialize_public_key(public_key), + environment: env.to_string(), + page: 1, + page_size: 100, }, - environment: Some(env.to_string()), - all: Some(all), - page: None, - page_size: None, }; unwrap_api_response(tower_api::apis::default_api::export_secrets(api_config, params)).await @@ -147,7 +147,7 @@ pub async fn describe_secrets_key(config: &Config) -> Result Result<(), Error> { +pub async fn delete_secret(config: &Config, name: &str, env: &str) -> Result> { let api_config = &config.into(); let params = tower_api::apis::default_api::DeleteSecretParams { @@ -315,11 +315,11 @@ impl ResponseEntity for tower_api::apis::default_api::DeleteAppSuccess { } impl ResponseEntity for tower_api::apis::default_api::DeleteSecretSuccess { - type Data = (); + type Data = tower_api::models::DeleteSecretResponse; fn extract_data(self) -> Option { match self { - Self::Status204() => Some(()), + Self::Status200(res) => Some(res), Self::UnknownValue(_) => None, } } diff --git a/scripts/rust-client-templates/Cargo.mustache b/scripts/rust-client-templates/Cargo.mustache index 2e21ce53..69e86f6f 100644 --- a/scripts/rust-client-templates/Cargo.mustache +++ b/scripts/rust-client-templates/Cargo.mustache @@ -1,35 +1,10 @@ [package] name = "{{{packageName}}}" -version = "{{#lambdaVersion}}{{{packageVersion}}}{{/lambdaVersion}}" -{{#infoEmail}} -authors = ["{{{.}}}"] -{{/infoEmail}} -{{^infoEmail}} -authors = ["OpenAPI Generator team and contributors"] -{{/infoEmail}} -{{#appDescription}} -description = "{{{.}}}" -{{/appDescription}} -{{#licenseInfo}} -license = "{{.}}" -{{/licenseInfo}} -{{^licenseInfo}} -# Override this license by providing a License Object in the OpenAPI. -license = "Unlicense" -{{/licenseInfo}} -edition = "2021" -{{#publishRustRegistry}} -publish = ["{{.}}"] -{{/publishRustRegistry}} -{{#repositoryUrl}} -repository = "{{.}}" -{{/repositoryUrl}} -{{#documentationUrl}} -documentation = "{{.}}" -{{/documentationUrl}} -{{#homePageUrl}} -homepage = "{{.}}" -{{/homePageUrl}} +version = { workspace = true } +authors = { workspace = true } +edition = { workspace = true } +rust-version = { workspace = true } +license = { workspace = true } [dependencies] log = { workspace = true } From 7be06f93f3ad0cdae67cc093a28c34064ea8c10d Mon Sep 17 00:00:00 2001 From: Brad Heller Date: Thu, 8 May 2025 14:49:15 +0200 Subject: [PATCH 2/5] chore: Upgrade python client --- .../api/default/delete_secret.py | 79 +++++++- .../api/default/export_catalogs.py | 168 ++++++++++++++++++ .../api/default/export_secrets.py | 93 ++-------- src/tower/tower_api_client/models/__init__.py | 14 +- ...ts_params.py => delete_secret_response.py} | 30 ++-- .../models/export_catalogs_params.py | 83 +++++++++ .../models/export_catalogs_response.py | 75 ++++++++ .../models/export_secrets_params.py | 83 +++++++++ .../models/exported_catalog.py | 95 ++++++++++ .../models/exported_catalog_property.py | 55 ++++++ .../models/update_user_params.py | 20 +++ 11 files changed, 692 insertions(+), 103 deletions(-) create mode 100644 src/tower/tower_api_client/api/default/export_catalogs.py rename src/tower/tower_api_client/models/{export_user_secrets_params.py => delete_secret_response.py} (56%) create mode 100644 src/tower/tower_api_client/models/export_catalogs_params.py create mode 100644 src/tower/tower_api_client/models/export_catalogs_response.py create mode 100644 src/tower/tower_api_client/models/export_secrets_params.py create mode 100644 src/tower/tower_api_client/models/exported_catalog.py create mode 100644 src/tower/tower_api_client/models/exported_catalog_property.py diff --git a/src/tower/tower_api_client/api/default/delete_secret.py b/src/tower/tower_api_client/api/default/delete_secret.py index ad7e8047..20f7d4aa 100644 --- a/src/tower/tower_api_client/api/default/delete_secret.py +++ b/src/tower/tower_api_client/api/default/delete_secret.py @@ -5,6 +5,7 @@ from ... import errors from ...client import AuthenticatedClient, Client +from ...models.delete_secret_response import DeleteSecretResponse from ...types import UNSET, Response, Unset @@ -32,9 +33,11 @@ def _get_kwargs( def _parse_response( *, client: Union[AuthenticatedClient, Client], response: httpx.Response -) -> Optional[Any]: - if response.status_code == 204: - return None +) -> Optional[DeleteSecretResponse]: + if response.status_code == 200: + response_200 = DeleteSecretResponse.from_dict(response.json()) + + return response_200 if client.raise_on_unexpected_status: raise errors.UnexpectedStatus(response.status_code, response.content) else: @@ -43,7 +46,7 @@ def _parse_response( def _build_response( *, client: Union[AuthenticatedClient, Client], response: httpx.Response -) -> Response[Any]: +) -> Response[DeleteSecretResponse]: return Response( status_code=HTTPStatus(response.status_code), content=response.content, @@ -57,7 +60,7 @@ def sync_detailed( *, client: AuthenticatedClient, environment: Union[Unset, str] = UNSET, -) -> Response[Any]: +) -> Response[DeleteSecretResponse]: """Delete secret Delete a secret by name. @@ -71,7 +74,7 @@ def sync_detailed( httpx.TimeoutException: If the request takes longer than Client.timeout. Returns: - Response[Any] + Response[DeleteSecretResponse] """ kwargs = _get_kwargs( @@ -86,12 +89,41 @@ def sync_detailed( return _build_response(client=client, response=response) +def sync( + name: str, + *, + client: AuthenticatedClient, + environment: Union[Unset, str] = UNSET, +) -> Optional[DeleteSecretResponse]: + """Delete secret + + Delete a secret by name. + + Args: + name (str): The name of the secret to delete. + environment (Union[Unset, str]): The environment of the secret to delete. + + 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: + DeleteSecretResponse + """ + + return sync_detailed( + name=name, + client=client, + environment=environment, + ).parsed + + async def asyncio_detailed( name: str, *, client: AuthenticatedClient, environment: Union[Unset, str] = UNSET, -) -> Response[Any]: +) -> Response[DeleteSecretResponse]: """Delete secret Delete a secret by name. @@ -105,7 +137,7 @@ async def asyncio_detailed( httpx.TimeoutException: If the request takes longer than Client.timeout. Returns: - Response[Any] + Response[DeleteSecretResponse] """ kwargs = _get_kwargs( @@ -116,3 +148,34 @@ async def asyncio_detailed( response = await client.get_async_httpx_client().request(**kwargs) return _build_response(client=client, response=response) + + +async def asyncio( + name: str, + *, + client: AuthenticatedClient, + environment: Union[Unset, str] = UNSET, +) -> Optional[DeleteSecretResponse]: + """Delete secret + + Delete a secret by name. + + Args: + name (str): The name of the secret to delete. + environment (Union[Unset, str]): The environment of the secret to delete. + + 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: + DeleteSecretResponse + """ + + return ( + await asyncio_detailed( + name=name, + client=client, + environment=environment, + ) + ).parsed diff --git a/src/tower/tower_api_client/api/default/export_catalogs.py b/src/tower/tower_api_client/api/default/export_catalogs.py new file mode 100644 index 00000000..dfd86518 --- /dev/null +++ b/src/tower/tower_api_client/api/default/export_catalogs.py @@ -0,0 +1,168 @@ +from http import HTTPStatus +from typing import Any, Optional, Union + +import httpx + +from ... import errors +from ...client import AuthenticatedClient, Client +from ...models.export_catalogs_params import ExportCatalogsParams +from ...models.export_catalogs_response import ExportCatalogsResponse +from ...types import Response + + +def _get_kwargs( + *, + body: ExportCatalogsParams, +) -> dict[str, Any]: + headers: dict[str, Any] = {} + + _kwargs: dict[str, Any] = { + "method": "post", + "url": "/catalogs/export", + } + + _body = body.to_dict() + + _kwargs["json"] = _body + headers["Content-Type"] = "application/json" + + _kwargs["headers"] = headers + return _kwargs + + +def _parse_response( + *, client: Union[AuthenticatedClient, Client], response: httpx.Response +) -> Optional[ExportCatalogsResponse]: + if response.status_code == 200: + response_200 = ExportCatalogsResponse.from_dict(response.json()) + + return response_200 + if client.raise_on_unexpected_status: + raise errors.UnexpectedStatus(response.status_code, response.content) + else: + return None + + +def _build_response( + *, client: Union[AuthenticatedClient, Client], response: httpx.Response +) -> Response[ExportCatalogsResponse]: + 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: ExportCatalogsParams, +) -> Response[ExportCatalogsResponse]: + """Export catalogs + + Lists all the catalogs in your current account and re-encrypt them with the public key you supplied. + + Args: + body (ExportCatalogsParams): + + 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[ExportCatalogsResponse] + """ + + kwargs = _get_kwargs( + body=body, + ) + + response = client.get_httpx_client().request( + **kwargs, + ) + + return _build_response(client=client, response=response) + + +def sync( + *, + client: AuthenticatedClient, + body: ExportCatalogsParams, +) -> Optional[ExportCatalogsResponse]: + """Export catalogs + + Lists all the catalogs in your current account and re-encrypt them with the public key you supplied. + + Args: + body (ExportCatalogsParams): + + 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: + ExportCatalogsResponse + """ + + return sync_detailed( + client=client, + body=body, + ).parsed + + +async def asyncio_detailed( + *, + client: AuthenticatedClient, + body: ExportCatalogsParams, +) -> Response[ExportCatalogsResponse]: + """Export catalogs + + Lists all the catalogs in your current account and re-encrypt them with the public key you supplied. + + Args: + body (ExportCatalogsParams): + + 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[ExportCatalogsResponse] + """ + + 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: ExportCatalogsParams, +) -> Optional[ExportCatalogsResponse]: + """Export catalogs + + Lists all the catalogs in your current account and re-encrypt them with the public key you supplied. + + Args: + body (ExportCatalogsParams): + + 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: + ExportCatalogsResponse + """ + + return ( + await asyncio_detailed( + client=client, + body=body, + ) + ).parsed diff --git a/src/tower/tower_api_client/api/default/export_secrets.py b/src/tower/tower_api_client/api/default/export_secrets.py index 90c2ffb4..38a62491 100644 --- a/src/tower/tower_api_client/api/default/export_secrets.py +++ b/src/tower/tower_api_client/api/default/export_secrets.py @@ -5,37 +5,20 @@ from ... import errors from ...client import AuthenticatedClient, Client +from ...models.export_secrets_params import ExportSecretsParams from ...models.export_secrets_response import ExportSecretsResponse -from ...models.export_user_secrets_params import ExportUserSecretsParams -from ...types import UNSET, Response, Unset +from ...types import Response def _get_kwargs( *, - body: ExportUserSecretsParams, - environment: Union[Unset, str] = UNSET, - all_: Union[Unset, bool] = UNSET, - page: Union[Unset, int] = UNSET, - page_size: Union[Unset, int] = UNSET, + body: ExportSecretsParams, ) -> dict[str, Any]: headers: dict[str, Any] = {} - params: dict[str, Any] = {} - - params["environment"] = environment - - params["all"] = all_ - - params["page"] = page - - params["page_size"] = page_size - - params = {k: v for k, v in params.items() if v is not UNSET and v is not None} - _kwargs: dict[str, Any] = { - "method": "get", + "method": "post", "url": "/secrets/export", - "params": params, } _body = body.to_dict() @@ -74,23 +57,14 @@ def _build_response( def sync_detailed( *, client: AuthenticatedClient, - body: ExportUserSecretsParams, - environment: Union[Unset, str] = UNSET, - all_: Union[Unset, bool] = UNSET, - page: Union[Unset, int] = UNSET, - page_size: Union[Unset, int] = UNSET, + body: ExportSecretsParams, ) -> Response[ExportSecretsResponse]: """Export secrets Lists all the secrets in your current account and re-encrypt them with the public key you supplied. Args: - environment (Union[Unset, str]): The environment to filter by. - all_ (Union[Unset, bool]): Whether to fetch all secrets or only the ones that are not - marked as deleted. - page (Union[Unset, int]): The page number to fetch. - page_size (Union[Unset, int]): The number of records to fetch on each page. - body (ExportUserSecretsParams): + body (ExportSecretsParams): Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. @@ -102,10 +76,6 @@ def sync_detailed( kwargs = _get_kwargs( body=body, - environment=environment, - all_=all_, - page=page, - page_size=page_size, ) response = client.get_httpx_client().request( @@ -118,23 +88,14 @@ def sync_detailed( def sync( *, client: AuthenticatedClient, - body: ExportUserSecretsParams, - environment: Union[Unset, str] = UNSET, - all_: Union[Unset, bool] = UNSET, - page: Union[Unset, int] = UNSET, - page_size: Union[Unset, int] = UNSET, + body: ExportSecretsParams, ) -> Optional[ExportSecretsResponse]: """Export secrets Lists all the secrets in your current account and re-encrypt them with the public key you supplied. Args: - environment (Union[Unset, str]): The environment to filter by. - all_ (Union[Unset, bool]): Whether to fetch all secrets or only the ones that are not - marked as deleted. - page (Union[Unset, int]): The page number to fetch. - page_size (Union[Unset, int]): The number of records to fetch on each page. - body (ExportUserSecretsParams): + body (ExportSecretsParams): Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. @@ -147,33 +108,20 @@ def sync( return sync_detailed( client=client, body=body, - environment=environment, - all_=all_, - page=page, - page_size=page_size, ).parsed async def asyncio_detailed( *, client: AuthenticatedClient, - body: ExportUserSecretsParams, - environment: Union[Unset, str] = UNSET, - all_: Union[Unset, bool] = UNSET, - page: Union[Unset, int] = UNSET, - page_size: Union[Unset, int] = UNSET, + body: ExportSecretsParams, ) -> Response[ExportSecretsResponse]: """Export secrets Lists all the secrets in your current account and re-encrypt them with the public key you supplied. Args: - environment (Union[Unset, str]): The environment to filter by. - all_ (Union[Unset, bool]): Whether to fetch all secrets or only the ones that are not - marked as deleted. - page (Union[Unset, int]): The page number to fetch. - page_size (Union[Unset, int]): The number of records to fetch on each page. - body (ExportUserSecretsParams): + body (ExportSecretsParams): Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. @@ -185,10 +133,6 @@ async def asyncio_detailed( kwargs = _get_kwargs( body=body, - environment=environment, - all_=all_, - page=page, - page_size=page_size, ) response = await client.get_async_httpx_client().request(**kwargs) @@ -199,23 +143,14 @@ async def asyncio_detailed( async def asyncio( *, client: AuthenticatedClient, - body: ExportUserSecretsParams, - environment: Union[Unset, str] = UNSET, - all_: Union[Unset, bool] = UNSET, - page: Union[Unset, int] = UNSET, - page_size: Union[Unset, int] = UNSET, + body: ExportSecretsParams, ) -> Optional[ExportSecretsResponse]: """Export secrets Lists all the secrets in your current account and re-encrypt them with the public key you supplied. Args: - environment (Union[Unset, str]): The environment to filter by. - all_ (Union[Unset, bool]): Whether to fetch all secrets or only the ones that are not - marked as deleted. - page (Union[Unset, int]): The page number to fetch. - page_size (Union[Unset, int]): The number of records to fetch on each page. - body (ExportUserSecretsParams): + body (ExportSecretsParams): Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. @@ -229,9 +164,5 @@ async def asyncio( await asyncio_detailed( client=client, body=body, - environment=environment, - all_=all_, - page=page, - page_size=page_size, ) ).parsed diff --git a/src/tower/tower_api_client/models/__init__.py b/src/tower/tower_api_client/models/__init__.py index 2f55e087..a1a30cfe 100644 --- a/src/tower/tower_api_client/models/__init__.py +++ b/src/tower/tower_api_client/models/__init__.py @@ -40,6 +40,7 @@ from .delete_api_key_response import DeleteAPIKeyResponse from .delete_app_response import DeleteAppResponse from .delete_catalog_response import DeleteCatalogResponse +from .delete_secret_response import DeleteSecretResponse from .delete_team_invitation_params import DeleteTeamInvitationParams from .delete_team_invitation_response import DeleteTeamInvitationResponse from .delete_team_params import DeleteTeamParams @@ -55,8 +56,12 @@ from .encrypted_catalog_property import EncryptedCatalogProperty from .error_detail import ErrorDetail from .error_model import ErrorModel +from .export_catalogs_params import ExportCatalogsParams +from .export_catalogs_response import ExportCatalogsResponse +from .export_secrets_params import ExportSecretsParams from .export_secrets_response import ExportSecretsResponse -from .export_user_secrets_params import ExportUserSecretsParams +from .exported_catalog import ExportedCatalog +from .exported_catalog_property import ExportedCatalogProperty from .exported_secret import ExportedSecret from .generate_app_statistics_response import GenerateAppStatisticsResponse from .generate_run_statistics_response import GenerateRunStatisticsResponse @@ -163,6 +168,7 @@ "DeleteAPIKeyResponse", "DeleteAppResponse", "DeleteCatalogResponse", + "DeleteSecretResponse", "DeleteTeamInvitationParams", "DeleteTeamInvitationResponse", "DeleteTeamParams", @@ -178,9 +184,13 @@ "EncryptedCatalogProperty", "ErrorDetail", "ErrorModel", + "ExportCatalogsParams", + "ExportCatalogsResponse", + "ExportedCatalog", + "ExportedCatalogProperty", "ExportedSecret", + "ExportSecretsParams", "ExportSecretsResponse", - "ExportUserSecretsParams", "GenerateAppStatisticsResponse", "GenerateRunStatisticsResponse", "InviteTeamMemberParams", diff --git a/src/tower/tower_api_client/models/export_user_secrets_params.py b/src/tower/tower_api_client/models/delete_secret_response.py similarity index 56% rename from src/tower/tower_api_client/models/export_user_secrets_params.py rename to src/tower/tower_api_client/models/delete_secret_response.py index 26fca1a5..274d6c7a 100644 --- a/src/tower/tower_api_client/models/export_user_secrets_params.py +++ b/src/tower/tower_api_client/models/delete_secret_response.py @@ -1,34 +1,38 @@ from collections.abc import Mapping -from typing import Any, TypeVar, Union +from typing import TYPE_CHECKING, Any, TypeVar, Union from attrs import define as _attrs_define from ..types import UNSET, Unset -T = TypeVar("T", bound="ExportUserSecretsParams") +if TYPE_CHECKING: + from ..models.secret import Secret + + +T = TypeVar("T", bound="DeleteSecretResponse") @_attrs_define -class ExportUserSecretsParams: +class DeleteSecretResponse: """ Attributes: - public_key (str): + secret (Secret): schema (Union[Unset, str]): A URL to the JSON Schema for this object. Example: - https://api.tower.dev/v1/schemas/ExportUserSecretsParams.json. + https://api.tower.dev/v1/schemas/DeleteSecretResponse.json. """ - public_key: str + secret: "Secret" schema: Union[Unset, str] = UNSET def to_dict(self) -> dict[str, Any]: - public_key = self.public_key + secret = self.secret.to_dict() schema = self.schema field_dict: dict[str, Any] = {} field_dict.update( { - "public_key": public_key, + "secret": secret, } ) if schema is not UNSET: @@ -38,14 +42,16 @@ def to_dict(self) -> dict[str, Any]: @classmethod def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + from ..models.secret import Secret + d = dict(src_dict) - public_key = d.pop("public_key") + secret = Secret.from_dict(d.pop("secret")) schema = d.pop("$schema", UNSET) - export_user_secrets_params = cls( - public_key=public_key, + delete_secret_response = cls( + secret=secret, schema=schema, ) - return export_user_secrets_params + return delete_secret_response diff --git a/src/tower/tower_api_client/models/export_catalogs_params.py b/src/tower/tower_api_client/models/export_catalogs_params.py new file mode 100644 index 00000000..0959f686 --- /dev/null +++ b/src/tower/tower_api_client/models/export_catalogs_params.py @@ -0,0 +1,83 @@ +from collections.abc import Mapping +from typing import Any, TypeVar, Union + +from attrs import define as _attrs_define + +from ..types import UNSET, Unset + +T = TypeVar("T", bound="ExportCatalogsParams") + + +@_attrs_define +class ExportCatalogsParams: + """ + Attributes: + all_ (bool): Whether to fetch all catalogs or only the ones in the supplied environment. Default: False. + environment (str): The environment to filter by. Default: 'default'. + page (int): The page number to fetch. Default: 1. + page_size (int): The number of records to fetch on each page. Default: 20. + public_key (str): The PEM-encoded public key you want to use to encrypt sensitive catalog properties. + schema (Union[Unset, str]): A URL to the JSON Schema for this object. Example: + https://api.tower.dev/v1/schemas/ExportCatalogsParams.json. + """ + + public_key: str + all_: bool = False + environment: str = "default" + page: int = 1 + page_size: int = 20 + schema: Union[Unset, str] = UNSET + + def to_dict(self) -> dict[str, Any]: + all_ = self.all_ + + environment = self.environment + + page = self.page + + page_size = self.page_size + + public_key = self.public_key + + schema = self.schema + + field_dict: dict[str, Any] = {} + field_dict.update( + { + "all": all_, + "environment": environment, + "page": page, + "page_size": page_size, + "public_key": public_key, + } + ) + 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) + all_ = d.pop("all") + + environment = d.pop("environment") + + page = d.pop("page") + + page_size = d.pop("page_size") + + public_key = d.pop("public_key") + + schema = d.pop("$schema", UNSET) + + export_catalogs_params = cls( + all_=all_, + environment=environment, + page=page, + page_size=page_size, + public_key=public_key, + schema=schema, + ) + + return export_catalogs_params diff --git a/src/tower/tower_api_client/models/export_catalogs_response.py b/src/tower/tower_api_client/models/export_catalogs_response.py new file mode 100644 index 00000000..9a825c09 --- /dev/null +++ b/src/tower/tower_api_client/models/export_catalogs_response.py @@ -0,0 +1,75 @@ +from collections.abc import Mapping +from typing import TYPE_CHECKING, Any, TypeVar, Union + +from attrs import define as _attrs_define + +from ..types import UNSET, Unset + +if TYPE_CHECKING: + from ..models.exported_catalog import ExportedCatalog + from ..models.pagination import Pagination + + +T = TypeVar("T", bound="ExportCatalogsResponse") + + +@_attrs_define +class ExportCatalogsResponse: + """ + Attributes: + catalogs (list['ExportedCatalog']): + pages (Pagination): + schema (Union[Unset, str]): A URL to the JSON Schema for this object. Example: + https://api.tower.dev/v1/schemas/ExportCatalogsResponse.json. + """ + + catalogs: list["ExportedCatalog"] + pages: "Pagination" + schema: Union[Unset, str] = UNSET + + def to_dict(self) -> dict[str, Any]: + catalogs = [] + for catalogs_item_data in self.catalogs: + catalogs_item = catalogs_item_data.to_dict() + catalogs.append(catalogs_item) + + pages = self.pages.to_dict() + + schema = self.schema + + field_dict: dict[str, Any] = {} + field_dict.update( + { + "catalogs": catalogs, + "pages": pages, + } + ) + 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.exported_catalog import ExportedCatalog + from ..models.pagination import Pagination + + d = dict(src_dict) + catalogs = [] + _catalogs = d.pop("catalogs") + for catalogs_item_data in _catalogs: + catalogs_item = ExportedCatalog.from_dict(catalogs_item_data) + + catalogs.append(catalogs_item) + + pages = Pagination.from_dict(d.pop("pages")) + + schema = d.pop("$schema", UNSET) + + export_catalogs_response = cls( + catalogs=catalogs, + pages=pages, + schema=schema, + ) + + return export_catalogs_response diff --git a/src/tower/tower_api_client/models/export_secrets_params.py b/src/tower/tower_api_client/models/export_secrets_params.py new file mode 100644 index 00000000..2fc31955 --- /dev/null +++ b/src/tower/tower_api_client/models/export_secrets_params.py @@ -0,0 +1,83 @@ +from collections.abc import Mapping +from typing import Any, TypeVar, Union + +from attrs import define as _attrs_define + +from ..types import UNSET, Unset + +T = TypeVar("T", bound="ExportSecretsParams") + + +@_attrs_define +class ExportSecretsParams: + """ + Attributes: + all_ (bool): Whether to fetch all secrets or only the ones that are not marked as deleted. Default: False. + environment (str): The environment to filter by. Default: 'default'. + page (int): The page number to fetch. Default: 1. + page_size (int): The number of records to fetch on each page. Default: 20. + public_key (str): The PEM-encoded public key you want to use to encrypt sensitive secret values. + schema (Union[Unset, str]): A URL to the JSON Schema for this object. Example: + https://api.tower.dev/v1/schemas/ExportSecretsParams.json. + """ + + public_key: str + all_: bool = False + environment: str = "default" + page: int = 1 + page_size: int = 20 + schema: Union[Unset, str] = UNSET + + def to_dict(self) -> dict[str, Any]: + all_ = self.all_ + + environment = self.environment + + page = self.page + + page_size = self.page_size + + public_key = self.public_key + + schema = self.schema + + field_dict: dict[str, Any] = {} + field_dict.update( + { + "all": all_, + "environment": environment, + "page": page, + "page_size": page_size, + "public_key": public_key, + } + ) + 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) + all_ = d.pop("all") + + environment = d.pop("environment") + + page = d.pop("page") + + page_size = d.pop("page_size") + + public_key = d.pop("public_key") + + schema = d.pop("$schema", UNSET) + + export_secrets_params = cls( + all_=all_, + environment=environment, + page=page, + page_size=page_size, + public_key=public_key, + schema=schema, + ) + + return export_secrets_params diff --git a/src/tower/tower_api_client/models/exported_catalog.py b/src/tower/tower_api_client/models/exported_catalog.py new file mode 100644 index 00000000..79dedf88 --- /dev/null +++ b/src/tower/tower_api_client/models/exported_catalog.py @@ -0,0 +1,95 @@ +import datetime +from collections.abc import Mapping +from typing import TYPE_CHECKING, Any, TypeVar + +from attrs import define as _attrs_define +from dateutil.parser import isoparse + +if TYPE_CHECKING: + from ..models.exported_catalog_property import ExportedCatalogProperty + + +T = TypeVar("T", bound="ExportedCatalog") + + +@_attrs_define +class ExportedCatalog: + """ + Attributes: + created_at (datetime.datetime): + environment (str): + name (str): + properties (list['ExportedCatalogProperty']): + slug (str): + type_ (str): + """ + + created_at: datetime.datetime + environment: str + name: str + properties: list["ExportedCatalogProperty"] + slug: str + type_: str + + def to_dict(self) -> dict[str, Any]: + created_at = self.created_at.isoformat() + + environment = self.environment + + name = self.name + + properties = [] + for properties_item_data in self.properties: + properties_item = properties_item_data.to_dict() + properties.append(properties_item) + + slug = self.slug + + type_ = self.type_ + + field_dict: dict[str, Any] = {} + field_dict.update( + { + "CreatedAt": created_at, + "environment": environment, + "name": name, + "properties": properties, + "slug": slug, + "type": type_, + } + ) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + from ..models.exported_catalog_property import ExportedCatalogProperty + + d = dict(src_dict) + created_at = isoparse(d.pop("CreatedAt")) + + environment = d.pop("environment") + + name = d.pop("name") + + properties = [] + _properties = d.pop("properties") + for properties_item_data in _properties: + properties_item = ExportedCatalogProperty.from_dict(properties_item_data) + + properties.append(properties_item) + + slug = d.pop("slug") + + type_ = d.pop("type") + + exported_catalog = cls( + created_at=created_at, + environment=environment, + name=name, + properties=properties, + slug=slug, + type_=type_, + ) + + return exported_catalog diff --git a/src/tower/tower_api_client/models/exported_catalog_property.py b/src/tower/tower_api_client/models/exported_catalog_property.py new file mode 100644 index 00000000..0da6c872 --- /dev/null +++ b/src/tower/tower_api_client/models/exported_catalog_property.py @@ -0,0 +1,55 @@ +from collections.abc import Mapping +from typing import Any, TypeVar + +from attrs import define as _attrs_define + +T = TypeVar("T", bound="ExportedCatalogProperty") + + +@_attrs_define +class ExportedCatalogProperty: + """ + Attributes: + encrypted_value (str): + name (str): + preview (str): + """ + + encrypted_value: str + name: str + preview: str + + def to_dict(self) -> dict[str, Any]: + encrypted_value = self.encrypted_value + + name = self.name + + preview = self.preview + + field_dict: dict[str, Any] = {} + field_dict.update( + { + "encrypted_value": encrypted_value, + "name": name, + "preview": preview, + } + ) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + encrypted_value = d.pop("encrypted_value") + + name = d.pop("name") + + preview = d.pop("preview") + + exported_catalog_property = cls( + encrypted_value=encrypted_value, + name=name, + preview=preview, + ) + + return exported_catalog_property diff --git a/src/tower/tower_api_client/models/update_user_params.py b/src/tower/tower_api_client/models/update_user_params.py index 4549c47c..42a3a5cb 100644 --- a/src/tower/tower_api_client/models/update_user_params.py +++ b/src/tower/tower_api_client/models/update_user_params.py @@ -19,6 +19,7 @@ class UpdateUserParams: first_name (Union[None, Unset, str]): is_alerts_enabled (Union[None, Unset, bool]): last_name (Union[None, Unset, str]): + password (Union[None, Unset, str]): """ schema: Union[Unset, str] = UNSET @@ -27,6 +28,7 @@ class UpdateUserParams: first_name: Union[None, Unset, str] = UNSET is_alerts_enabled: Union[None, Unset, bool] = UNSET last_name: Union[None, Unset, str] = UNSET + password: Union[None, Unset, str] = UNSET def to_dict(self) -> dict[str, Any]: schema = self.schema @@ -61,6 +63,12 @@ def to_dict(self) -> dict[str, Any]: else: last_name = self.last_name + password: Union[None, Unset, str] + if isinstance(self.password, Unset): + password = UNSET + else: + password = self.password + field_dict: dict[str, Any] = {} field_dict.update({}) if schema is not UNSET: @@ -75,6 +83,8 @@ def to_dict(self) -> dict[str, Any]: field_dict["is_alerts_enabled"] = is_alerts_enabled if last_name is not UNSET: field_dict["last_name"] = last_name + if password is not UNSET: + field_dict["password"] = password return field_dict @@ -128,6 +138,15 @@ def _parse_last_name(data: object) -> Union[None, Unset, str]: last_name = _parse_last_name(d.pop("last_name", UNSET)) + def _parse_password(data: object) -> Union[None, Unset, str]: + if data is None: + return data + if isinstance(data, Unset): + return data + return cast(Union[None, Unset, str], data) + + password = _parse_password(d.pop("password", UNSET)) + update_user_params = cls( schema=schema, company=company, @@ -135,6 +154,7 @@ def _parse_last_name(data: object) -> Union[None, Unset, str]: first_name=first_name, is_alerts_enabled=is_alerts_enabled, last_name=last_name, + password=password, ) return update_user_params From 9f1be44f36c8f8e32f91bfb1b6150fc6cf6d8a0f Mon Sep 17 00:00:00 2001 From: Brad Heller Date: Thu, 8 May 2025 15:07:10 +0200 Subject: [PATCH 3/5] chore: Bump version to v0.3.13 --- Cargo.lock | 18 +++++++++--------- Cargo.toml | 4 +++- pyproject.toml | 4 +++- uv.lock | 2 +- 4 files changed, 16 insertions(+), 12 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d0a0982e..ff985dbe 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -310,7 +310,7 @@ dependencies = [ [[package]] name = "config" -version = "0.3.12" +version = "0.3.13" dependencies = [ "chrono", "clap", @@ -382,7 +382,7 @@ dependencies = [ [[package]] name = "crypto" -version = "0.3.12" +version = "0.3.13" dependencies = [ "base64", "pem", @@ -2425,7 +2425,7 @@ dependencies = [ [[package]] name = "testutils" -version = "0.3.12" +version = "0.3.13" dependencies = [ "pem", "rsa", @@ -2629,7 +2629,7 @@ dependencies = [ [[package]] name = "tower" -version = "0.3.12" +version = "0.3.13" dependencies = [ "tokio", "tower-api", @@ -2653,7 +2653,7 @@ dependencies = [ [[package]] name = "tower-api" -version = "0.3.12" +version = "0.3.13" dependencies = [ "log", "reqwest", @@ -2666,7 +2666,7 @@ dependencies = [ [[package]] name = "tower-cmd" -version = "0.3.12" +version = "0.3.13" dependencies = [ "anyhow", "bytes", @@ -2705,7 +2705,7 @@ checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" [[package]] name = "tower-package" -version = "0.3.12" +version = "0.3.13" dependencies = [ "async-compression", "config", @@ -2724,7 +2724,7 @@ dependencies = [ [[package]] name = "tower-runtime" -version = "0.3.12" +version = "0.3.13" dependencies = [ "chrono", "log", @@ -2741,7 +2741,7 @@ checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tower-version" -version = "0.3.12" +version = "0.3.13" dependencies = [ "anyhow", "chrono", diff --git a/Cargo.toml b/Cargo.toml index 1f635348..a4732ca9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,7 +4,9 @@ resolver = "2" [workspace.package] edition = "2021" -version = "0.3.12" +version = "0.3.13" + + description = "Tower is the best way to host Python data apps in production" rust-version = "1.77" diff --git a/pyproject.toml b/pyproject.toml index 3fcad844..71efe0ab 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,9 @@ build-backend = "maturin" [project] name = "tower" -version = "0.3.12" +version = "0.3.13" + + diff --git a/uv.lock b/uv.lock index d6b5fe8a..e8c5a210 100644 --- a/uv.lock +++ b/uv.lock @@ -1176,7 +1176,7 @@ wheels = [ [[package]] name = "tower" -version = "0.3.12" +version = "0.3.13" source = { editable = "." } dependencies = [ { name = "attrs" }, From e144ef7afdd5e91c3844cab61603f6d0e6fb2c21 Mon Sep 17 00:00:00 2001 From: Brad Heller Date: Thu, 8 May 2025 15:10:46 +0200 Subject: [PATCH 4/5] fix: Migrate to a blocking browser opening implementation --- Cargo.lock | 232 ++++++++++++++++++++++++++------ Cargo.toml | 2 +- crates/tower-cmd/Cargo.toml | 2 +- crates/tower-cmd/src/session.rs | 4 +- 4 files changed, 198 insertions(+), 42 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ff985dbe..03039ce9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -197,6 +197,12 @@ dependencies = [ "shlex", ] +[[package]] +name = "cesu8" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" + [[package]] name = "cfg-if" version = "1.0.0" @@ -308,6 +314,16 @@ dependencies = [ "windows-sys 0.59.0", ] +[[package]] +name = "combine" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" +dependencies = [ + "bytes", + "memchr", +] + [[package]] name = "config" version = "0.3.13" @@ -356,6 +372,16 @@ dependencies = [ "libc", ] +[[package]] +name = "core-foundation" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b55271e5c8c478ad3f38ad24ef34923091e0548492a266d19b3c0b4d82574c63" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "core-foundation-sys" version = "0.8.7" @@ -871,6 +897,15 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +[[package]] +name = "home" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" +dependencies = [ + "windows-sys 0.59.0", +] + [[package]] name = "http" version = "1.3.1" @@ -1194,25 +1229,6 @@ version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" -[[package]] -name = "is-docker" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "928bae27f42bc99b60d9ac7334e3a21d10ad8f1835a4e12ec3ec0464765ed1b3" -dependencies = [ - "once_cell", -] - -[[package]] -name = "is-wsl" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "173609498df190136aa7dea1a91db051746d339e18476eed5ca40521f02d7aa5" -dependencies = [ - "is-docker", - "once_cell", -] - [[package]] name = "is_terminal_polyfill" version = "1.70.1" @@ -1249,6 +1265,28 @@ dependencies = [ "syn 2.0.100", ] +[[package]] +name = "jni" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" +dependencies = [ + "cesu8", + "cfg-if", + "combine", + "jni-sys", + "log", + "thiserror", + "walkdir", + "windows-sys 0.45.0", +] + +[[package]] +name = "jni-sys" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" + [[package]] name = "js-sys" version = "0.3.77" @@ -1399,6 +1437,12 @@ dependencies = [ "tempfile", ] +[[package]] +name = "ndk-context" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" + [[package]] name = "nibble_vec" version = "0.1.0" @@ -1489,6 +1533,31 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" +[[package]] +name = "objc2" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88c6597e14493ab2e44ce58f2fdecf095a51f12ca57bec060a11c57332520551" +dependencies = [ + "objc2-encode", +] + +[[package]] +name = "objc2-encode" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" + +[[package]] +name = "objc2-foundation" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "900831247d2fe1a09a683278e5384cfb8c80c79fe6b166f9d14bfdde0ea1b03c" +dependencies = [ + "bitflags 2.9.0", + "objc2", +] + [[package]] name = "object" version = "0.36.7" @@ -1504,17 +1573,6 @@ version = "1.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" -[[package]] -name = "open" -version = "5.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2483562e62ea94312f3576a7aca397306df7990b8d89033e18766744377ef95" -dependencies = [ - "is-wsl", - "libc", - "pathdiff", -] - [[package]] name = "openssl" version = "0.10.72" @@ -1598,12 +1656,6 @@ dependencies = [ "windows-targets 0.52.6", ] -[[package]] -name = "pathdiff" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3" - [[package]] name = "pem" version = "3.0.5" @@ -2038,6 +2090,15 @@ version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + [[package]] name = "schannel" version = "0.1.27" @@ -2060,7 +2121,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ "bitflags 2.9.0", - "core-foundation", + "core-foundation 0.9.4", "core-foundation-sys", "libc", "security-framework-sys", @@ -2387,7 +2448,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" dependencies = [ "bitflags 2.9.0", - "core-foundation", + "core-foundation 0.9.4", "system-configuration-sys", ] @@ -2680,7 +2741,6 @@ dependencies = [ "http", "indicatif", "log", - "open", "promptly", "reqwest", "rpassword", @@ -2695,6 +2755,7 @@ dependencies = [ "tower-package", "tower-runtime", "tower-version", + "webbrowser", ] [[package]] @@ -2860,6 +2921,16 @@ version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + [[package]] name = "want" version = "0.3.1" @@ -2988,6 +3059,23 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "webbrowser" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5df295f8451142f1856b1bd86a606dfe9587d439bc036e319c827700dbd555e" +dependencies = [ + "core-foundation 0.10.0", + "home", + "jni", + "log", + "ndk-context", + "objc2", + "objc2-foundation", + "url", + "web-sys", +] + [[package]] name = "winapi" version = "0.3.9" @@ -3098,6 +3186,15 @@ dependencies = [ "windows-link", ] +[[package]] +name = "windows-sys" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets 0.42.2", +] + [[package]] name = "windows-sys" version = "0.48.0" @@ -3125,6 +3222,21 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-targets" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", +] + [[package]] name = "windows-targets" version = "0.48.5" @@ -3172,6 +3284,12 @@ dependencies = [ "windows_x86_64_msvc 0.53.0", ] +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + [[package]] name = "windows_aarch64_gnullvm" version = "0.48.5" @@ -3190,6 +3308,12 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + [[package]] name = "windows_aarch64_msvc" version = "0.48.5" @@ -3208,6 +3332,12 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" +[[package]] +name = "windows_i686_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" + [[package]] name = "windows_i686_gnu" version = "0.48.5" @@ -3238,6 +3368,12 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" +[[package]] +name = "windows_i686_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" + [[package]] name = "windows_i686_msvc" version = "0.48.5" @@ -3256,6 +3392,12 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" + [[package]] name = "windows_x86_64_gnu" version = "0.48.5" @@ -3274,6 +3416,12 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + [[package]] name = "windows_x86_64_gnullvm" version = "0.48.5" @@ -3292,6 +3440,12 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" + [[package]] name = "windows_x86_64_msvc" version = "0.48.5" diff --git a/Cargo.toml b/Cargo.toml index a4732ca9..0894f68b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -33,7 +33,6 @@ glob = "0.3" http = "1.1" indicatif = "0.17" log = "0.4" -open = "5" pem = "3" promptly = "0.3" rand = "0.8" @@ -63,6 +62,7 @@ tower-cmd = { path = "crates/tower-cmd" } tower-package = { path = "crates/tower-package" } tower-runtime = { path = "crates/tower-runtime" } url = { version = "2", features = ["serde"] } +webbrowser = "1" # The profile that 'dist' will build with [profile.dist] diff --git a/crates/tower-cmd/Cargo.toml b/crates/tower-cmd/Cargo.toml index 67218857..5afbdf9d 100644 --- a/crates/tower-cmd/Cargo.toml +++ b/crates/tower-cmd/Cargo.toml @@ -16,7 +16,6 @@ futures-util = { workspace = true } http = { workspace = true } indicatif = { workspace = true } log = { workspace = true } -open = { workspace = true } promptly = { workspace = true } reqwest = { workspace = true } rpassword = { workspace = true } @@ -31,3 +30,4 @@ tower-api = { workspace = true } tower-package = { workspace = true } tower-runtime = { workspace = true } tower-version = { path = "../tower-version" } +webbrowser = { workspace = true } diff --git a/crates/tower-cmd/src/session.rs b/crates/tower-cmd/src/session.rs index edae1506..f5e504b5 100644 --- a/crates/tower-cmd/src/session.rs +++ b/crates/tower-cmd/src/session.rs @@ -32,7 +32,9 @@ async fn handle_device_login( claim: CreateDeviceLoginTicketResponse, ) { // Try to open the login URL in browser - if let Err(_) = open::that(&claim.login_url) { + if let Err(err) = webbrowser::open(&claim.login_url) { + log::debug!("failed to open web browser: {}", err); + let line = format!( "Please open the following URL in your browser: {}", claim.login_url From fd7e54902f73ef575dd88d896f91b1e133836bf9 Mon Sep 17 00:00:00 2001 From: Brad Heller Date: Thu, 8 May 2025 13:22:22 +0000 Subject: [PATCH 5/5] chore: Spinner overwriting help message --- crates/tower-cmd/src/session.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/crates/tower-cmd/src/session.rs b/crates/tower-cmd/src/session.rs index f5e504b5..75084060 100644 --- a/crates/tower-cmd/src/session.rs +++ b/crates/tower-cmd/src/session.rs @@ -36,10 +36,12 @@ async fn handle_device_login( log::debug!("failed to open web browser: {}", err); let line = format!( - "Please open the following URL in your browser: {}", + "Please open the following URL in your browser: {}\n", claim.login_url ); output::write(&line); + } else { + log::debug!("opened browser to {}", claim.login_url); } let mut spinner = output::spinner("Waiting for login...");