clickhouse-cloud-api 0.3.1

Typed Rust client for the ClickHouse Cloud API
Documentation
[package]
name = "clickhouse-cloud-api"
version = "0.3.1"
edition = "2024"
description = "Typed Rust client for the ClickHouse Cloud API"
license = "Apache-2.0"
repository = "https://github.com/ClickHouse/clickhousectl"
homepage = "https://github.com/ClickHouse/clickhousectl"
keywords = ["clickhouse", "cloud", "api", "client"]
categories = ["api-bindings", "database"]

[features]
# When enabled, deprecated fields are present on the request and response
# structs and serialized like any other field. By default they are removed from
# the structs entirely, so consumers — including this crate's own CLI — can
# neither read a deprecated response field (referencing it is a compile error
# and it never appears in output) nor send a deprecated request field (it can't
# be set and stays off the wire). See `DEPRECATED_FIELDS` in `src/meta.rs` for
# the affected fields.
deprecated-fields = []

[dependencies]
reqwest = { version = "0.13", default-features = false, features = ["json", "query", "rustls"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
thiserror = "2"
url = "2"
uuid = { version = "1", features = ["serde", "v4"] }
chrono = { version = "0.4", features = ["serde"] }

[dev-dependencies]
aws-config = { version = "1.8.16", features = ["credentials-login"] }
aws-credential-types = "1.2.14"
# Disable default features on aws-sdk-* crates to drop the legacy `rustls` feature,
# which pulls in vulnerable rustls 0.21 / rustls-webpki 0.101 (GHSA / RUSTSEC).
# `default-https-client` gives us the modern rustls-aws-lc-based HTTP client.
aws-sdk-ec2 = { version = "1.225.0", default-features = false, features = ["default-https-client", "rt-tokio"] }
aws-sdk-iam = { version = "1.108.1", default-features = false, features = ["default-https-client", "rt-tokio"] }
aws-sdk-kinesis = { version = "1.104.0", default-features = false, features = ["default-https-client", "rt-tokio"] }
aws-sdk-s3 = { version = "1.132.0", default-features = false, features = ["default-https-client", "rt-tokio", "sigv4a", "http-1x"] }
base64 = "0.22.1"
chrono = "0.4"
rcgen = "0.14.8"
rustls = { version = "0.23.40", default-features = false, features = ["ring", "std", "tls12"] }
rustls-native-certs = "0.8.3"
rustls-pemfile = "2.2.0"
tokio = { version = "1", features = ["macros", "rt-multi-thread"] }
tokio-postgres = "0.7.17"
tokio-postgres-rustls = "0.13.0"
uuid = "1"
wiremock = "0.6"

# ClickPipes E2E test binaries live under tests/clickpipes/. Cargo only
# auto-discovers .rs files directly under tests/, so each one is declared here.

[[test]]
name = "clickpipe_e2e_test"
path = "tests/clickpipes/e2e_test.rs"

[[test]]
name = "clickpipe_kafka_test"
path = "tests/clickpipes/kafka_test.rs"

[[test]]
name = "clickpipe_kinesis_test"
path = "tests/clickpipes/kinesis_test.rs"

[[test]]
name = "clickpipe_mongo_test"
path = "tests/clickpipes/mongo_test.rs"

[[test]]
name = "clickpipe_mysql_test"
path = "tests/clickpipes/mysql_test.rs"

[[test]]
name = "clickpipe_postgres_cdc_test"
path = "tests/clickpipes/postgres_cdc_test.rs"

[[test]]
name = "clickpipe_postgres_ec2_test"
path = "tests/clickpipes/postgres_ec2_test.rs"

[[test]]
name = "clickpipe_s3_test"
path = "tests/clickpipes/s3_test.rs"

[[test]]
name = "clickpipe_smoke_test"
path = "tests/clickpipes/smoke_test.rs"