[package]
name = "openstack_cli"
version = "0.13.1"
authors = [
"Artem Goncharov (gtema)",
]
description = "OpenStack client rewritten in Rust"
categories = ["command-line-interface"]
edition = "2024"
rust-version = "1.85"
license.workspace = true
homepage.workspace = true
repository.workspace = true
[lib]
bench = false
[[bin]]
name = "osc"
path = "src/bin/osc.rs"
test = false
bench = false
[features]
default = [
"openstack_sdk/async",
"block_storage",
"compute",
"container_infra",
"dns",
"identity",
"image",
"load_balancer",
"network",
"object_store",
"placement"
]
block_storage = ["openstack_sdk/block_storage"]
compute = ["openstack_sdk/compute"]
container_infra = ["openstack_sdk/container_infra"]
dns = ["openstack_sdk/dns"]
identity = ["openstack_sdk/identity"]
image = ["openstack_sdk/image"]
load_balancer = ["openstack_sdk/load_balancer"]
network = ["openstack_sdk/network"]
object_store = ["openstack_sdk/object_store"]
placement = ["openstack_sdk/placement"]
_test_admin = []
_test_net_auto-allocated-topology = []
_test_net_dhcp_agent_scheduler = []
_test_net_l3_agent_scheduler = []
_test_net_local_ips = []
_test_net_logging = []
_test_net_network-ip-availability = []
_test_net_network-segment-range = []
_test_net_vpn = []
[dependencies]
bytes = {workspace = true}
chrono = { workspace= true }
clap = { workspace = true, features = ["color", "derive", "env"] }
clap_complete = { workspace = true }
color-eyre = { workspace = true }
comfy-table = { version = "^7.2" }
dialoguer = { workspace = true, features=["fuzzy-select"] }
eyre = { workspace = true }
http = { workspace = true }
json-patch = { workspace = true }
openstack_sdk = { path="../openstack_sdk", version = "^0.22", default-features = false, features = ["async", "identity"] }
openstack_types = { path="../openstack_types", version = "^0.22" }
owo-colors = { version = "^4.2", features = ["supports-colors"] }
indicatif = "^0.18"
regex = { workspace = true }
reqwest = { workspace = true }
serde = { workspace = true }
serde_json = {workspace = true}
strip-ansi-escapes = { workspace = true }
structable = { workspace = true }
tokio = { workspace = true, features = ["fs", "macros", "net", "sync", "rt-multi-thread", "io-std"]}
tokio-util = {workspace = true}
thiserror = { workspace = true }
tracing = { workspace = true}
tracing-subscriber = { workspace = true }
url = { workspace = true }
config.workspace = true
dirs.workspace = true
itertools.workspace = true
rand = { version = "^0.9" }
[dev-dependencies]
assert_cmd = "^2.0"
file_diff = "^1.0"
rand = "^0.9"
tempfile = { workspace = true }
[[test]]
name = "functional"
path = "tests/main.rs"
test = false
[lints]
workspace = true