[package]
edition = "2024"
rust-version = "1.88"
name = "openstack_sdk"
version = "0.22.6"
authors = ["Artem Goncharov (gtema)"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "OpenStack SDK"
homepage = "https://github.com/gtema/openstack"
readme = "README.md"
keywords = [
"api",
"openstack",
]
categories = ["api-bindings"]
license = "Apache-2.0"
repository = "https://github.com/gtema/openstack"
[features]
async = [
"openstack_sdk_core/async",
"openstack-sdk-block-storage/async",
"openstack-sdk-compute/async",
"openstack-sdk-container-infrastructure-management/async",
"openstack-sdk-dns/async",
"openstack-sdk-identity/async",
"openstack-sdk-image/async",
"openstack-sdk-load-balancer/async",
"openstack-sdk-network/async",
"openstack-sdk-object-store/async",
"openstack-sdk-placement/async",
]
block_storage = ["dep:openstack-sdk-block-storage"]
client_der = []
client_pem = []
compute = ["dep:openstack-sdk-compute"]
container_infra = ["dep:openstack-sdk-container-infrastructure-management"]
default = [
"async",
"sync",
"block_storage",
"compute",
"container_infra",
"dns",
"identity",
"image",
"load_balancer",
"network",
"object_store",
"placement",
]
dns = ["dep:openstack-sdk-dns"]
identity = ["dep:openstack-sdk-identity"]
image = ["dep:openstack-sdk-image"]
keystone_ng = [
"dep:openstack-sdk-auth-jwt",
"dep:openstack-sdk-auth-federation",
]
load_balancer = ["dep:openstack-sdk-load-balancer"]
network = ["dep:openstack-sdk-network"]
object_store = ["dep:openstack-sdk-object-store"]
passkey = [
"keystone_ng",
"dep:openstack-sdk-auth-passkey",
]
placement = ["dep:openstack-sdk-placement"]
sync = [
"openstack_sdk_core/sync",
"openstack-sdk-block-storage/sync",
"openstack-sdk-compute/sync",
"openstack-sdk-container-infrastructure-management/sync",
"openstack-sdk-dns/sync",
"openstack-sdk-identity/sync",
"openstack-sdk-image/sync",
"openstack-sdk-load-balancer/sync",
"openstack-sdk-network/sync",
"openstack-sdk-object-store/sync",
"openstack-sdk-placement/sync",
]
[lib]
name = "openstack_sdk"
path = "src/lib.rs"
[[example]]
name = "ignore"
path = "examples/ignore.rs"
required-features = [
"async",
"compute",
]
[[example]]
name = "paged"
path = "examples/paged.rs"
required-features = [
"async",
"compute",
]
[[example]]
name = "query"
path = "examples/query.rs"
required-features = [
"async",
"compute",
]
[[example]]
name = "query_find"
path = "examples/query_find.rs"
required-features = [
"async",
"compute",
]
[[test]]
name = "functional"
path = "tests/main.rs"
test = false
[dependencies.async-trait]
version = "^0.1"
[dependencies.bytes]
version = "^1.11"
[dependencies.chrono]
version = "^0.4"
features = [
"clock",
"serde",
]
default-features = false
[dependencies.derive_builder]
version = "^0.20"
[dependencies.futures]
version = "^0.3"
[dependencies.futures-util]
version = "^0.3"
default-features = false
[dependencies.http]
version = "^1.4"
[dependencies.inventory]
version = "0.3"
[dependencies.openstack-sdk-auth-applicationcredential]
version = "0.22"
[dependencies.openstack-sdk-auth-core]
version = "0.22.5"
[dependencies.openstack-sdk-auth-federation]
version = "0.22"
optional = true
[dependencies.openstack-sdk-auth-jwt]
version = "0.22"
optional = true
[dependencies.openstack-sdk-auth-oidcaccesstoken]
version = "0.22"
[dependencies.openstack-sdk-auth-passkey]
version = "0.22"
optional = true
[dependencies.openstack-sdk-auth-password]
version = "0.1"
[dependencies.openstack-sdk-auth-receipt]
version = "0.1"
[dependencies.openstack-sdk-auth-token]
version = "0.1"
[dependencies.openstack-sdk-auth-totp]
version = "0.1"
[dependencies.openstack-sdk-auth-websso]
version = "0.22"
[dependencies.openstack-sdk-block-storage]
version = "^0.1"
optional = true
[dependencies.openstack-sdk-compute]
version = "^0.1"
optional = true
[dependencies.openstack-sdk-container-infrastructure-management]
version = "^0.1"
optional = true
[dependencies.openstack-sdk-dns]
version = "^0.1"
optional = true
[dependencies.openstack-sdk-identity]
version = "^0.1"
optional = true
[dependencies.openstack-sdk-image]
version = "^0.1"
optional = true
[dependencies.openstack-sdk-load-balancer]
version = "^0.1"
optional = true
[dependencies.openstack-sdk-network]
version = "^0.1"
optional = true
[dependencies.openstack-sdk-object-store]
version = "^0.1"
optional = true
[dependencies.openstack-sdk-placement]
version = "^0.1"
optional = true
[dependencies.openstack_sdk_core]
version = "0.22.6"
[dependencies.reqwest]
version = "^0.13"
features = [
"rustls",
"stream",
"gzip",
"deflate",
"json",
"http2",
"socks",
"system-proxy",
]
default-features = false
[dependencies.secrecy]
version = "0.10"
features = ["serde"]
[dependencies.serde]
version = "^1.0"
features = ["derive"]
[dependencies.serde_json]
version = "^1.0"
[dependencies.thiserror]
version = "^2.0"
[dependencies.tokio]
version = "^1.52"
features = [
"macros",
"rt-multi-thread",
]
default-features = false
[dependencies.tokio-util]
version = "^0.7"
features = [
"io",
"compat",
]
[dependencies.tracing]
version = "^0.1"
[dev-dependencies.bytes]
version = "^1.11"
[dev-dependencies.httpmock]
version = "0.8"
[dev-dependencies.tokio]
version = "^1.52"
features = [
"macros",
"macros",
"rt-multi-thread",
]
default-features = false
[dev-dependencies.tracing-test]
version = "^0.2"
[lints.clippy]
enum_glob_use = "deny"
expect_used = "deny"
module_inception = "allow"
result_large_err = "allow"
unwrap_used = "deny"