[package]
name = "openstack_sdk"
description = "OpenStack SDK"
version = "0.22.6"
keywords = ["api", "openstack"]
categories = ["api-bindings"]
authors = ["Artem Goncharov (gtema)"]
rust-version.workspace = true
edition.workspace = true
license.workspace = true
homepage.workspace = true
repository.workspace = true
[features]
default = [
"async",
"sync",
"block_storage",
"compute",
"container_infra",
"dns",
"identity",
"image",
"load_balancer",
"network",
"object_store",
"placement"
]
block_storage = ["dep:openstack-sdk-block-storage"]
compute = ["dep:openstack-sdk-compute"]
container_infra = ["dep:openstack-sdk-container-infrastructure-management"]
dns = ["dep:openstack-sdk-dns"]
identity = ["dep:openstack-sdk-identity"]
image = ["dep:openstack-sdk-image"]
load_balancer = ["dep:openstack-sdk-load-balancer"]
network = ["dep:openstack-sdk-network"]
object_store = ["dep:openstack-sdk-object-store"]
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"
]
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"
]
client_der = []
client_pem = []
keystone_ng = ["dep:openstack-sdk-auth-jwt", "dep:openstack-sdk-auth-federation"]
passkey = ["keystone_ng", "dep:openstack-sdk-auth-passkey"]
[dependencies]
async-trait.workspace = true
bytes.workspace = true
chrono.workspace= true
derive_builder.workspace = true
futures.workspace = true
futures-util.workspace = true
http.workspace = true
inventory.workspace = true
openstack-sdk-auth-applicationcredential = { version = "0.22", path = "../sdk/auth-application-credential/" }
openstack-sdk-auth-core.workspace = true
openstack-sdk-auth-federation = { version = "0.22", path = "../sdk/auth-federation/", optional = true }
openstack-sdk-auth-jwt = { version = "0.22", path = "../sdk/auth-jwt/", optional = true }
openstack-sdk-auth-oidcaccesstoken = { version = "0.22", path = "../sdk/auth-oidcaccesstoken/" }
openstack-sdk-auth-passkey = { version = "0.22", path = "../sdk/auth-passkey/", optional = true }
openstack-sdk-auth-password = { version = "0.1", path = "../sdk/auth-password/" }
openstack-sdk-auth-receipt = { version = "0.1", path = "../sdk/auth-receipt/" }
openstack-sdk-auth-token = { version = "0.1", path = "../sdk/auth-token/" }
openstack-sdk-auth-totp = { version = "0.1", path = "../sdk/auth-totp/" }
openstack-sdk-auth-websso = { version = "0.22", path = "../sdk/auth-websso/" }
openstack_sdk_core.workspace = true
openstack-sdk-block-storage = { path = "../sdk/block-storage/", version = "^0.1", optional = true }
openstack-sdk-compute = { path = "../sdk/compute/", version = "^0.1", optional = true }
openstack-sdk-container-infrastructure-management = { path = "../sdk/container-infrastructure-management/", version = "^0.1", optional = true }
openstack-sdk-dns = { path = "../sdk/dns/", version = "^0.1", optional = true }
openstack-sdk-identity = { path = "../sdk/identity/", version = "^0.1", optional = true }
openstack-sdk-image = { path = "../sdk/image/", version = "^0.1", optional = true }
openstack-sdk-load-balancer = { path = "../sdk/load-balancer/", version = "^0.1", optional = true }
openstack-sdk-network = { path = "../sdk/network/", version = "^0.1", optional = true }
openstack-sdk-object-store = { path = "../sdk/object-store/", version = "^0.1", optional = true }
openstack-sdk-placement= { path = "../sdk/placement/", version = "^0.1", optional = true }
reqwest = { workspace = true, features = ["rustls", "stream", "gzip", "deflate", "json", "http2",
"socks", "system-proxy"] }
secrecy.workspace = true
serde.workspace = true
serde_json.workspace = true
thiserror.workspace = true
tokio = { workspace = true, features = ["rt-multi-thread"] }
tokio-util.workspace = true
tracing.workspace = true
[dev-dependencies]
bytes.workspace = true
httpmock.workspace = true
tokio = { workspace = true, features = ["macros", "rt-multi-thread"] }
tracing-test.workspace = true
[[test]]
name = "functional"
path = "tests/main.rs"
test = false
[[example]]
name = "query_find"
required-features = ["async", "compute"]
[[example]]
name = "paged"
required-features = ["async", "compute"]
[[example]]
name = "query"
required-features = ["async", "compute"]
[[example]]
name = "ignore"
required-features = ["async", "compute"]
[lints]
workspace = true