[package]
edition = "2024"
rust-version = "1.85.0"
name = "terraform-wrapper"
version = "0.4.0"
authors = ["Josh Rotenberg <joshrotenberg@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A type-safe Terraform CLI wrapper for Rust"
documentation = "https://docs.rs/terraform-wrapper"
readme = "README.md"
keywords = [
"terraform",
"infrastructure",
"iac",
"cli",
"wrapper",
]
categories = [
"development-tools",
"api-bindings",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/joshrotenberg/terraform-wrapper"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
config = [
"json",
"tempfile",
]
default = ["json"]
json = [
"serde",
"serde_json",
]
[lib]
name = "terraform_wrapper"
path = "src/lib.rs"
[[example]]
name = "config_builder"
path = "examples/config_builder.rs"
[[example]]
name = "ec2_instance"
path = "examples/ec2_instance.rs"
[[example]]
name = "gce_instance"
path = "examples/gce_instance.rs"
[[example]]
name = "streaming_apply"
path = "examples/streaming_apply.rs"
[[example]]
name = "validate_and_fmt"
path = "examples/validate_and_fmt.rs"
[[example]]
name = "workspace_management"
path = "examples/workspace_management.rs"
[[test]]
name = "lifecycle"
path = "tests/lifecycle.rs"
[[test]]
name = "version"
path = "tests/version.rs"
[dependencies.serde]
version = "1.0"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "1.0"
optional = true
[dependencies.tempfile]
version = "3.0"
optional = true
[dependencies.thiserror]
version = "2.0"
[dependencies.tokio]
version = "1"
features = [
"process",
"rt-multi-thread",
"macros",
"io-util",
"time",
]
[dependencies.tracing]
version = "0.1"
[dependencies.which]
version = "8.0"
[dev-dependencies.serde_json]
version = "1.0"
[dev-dependencies.tempfile]
version = "3.0"
[dev-dependencies.tokio]
version = "1"
features = [
"process",
"rt-multi-thread",
"macros",
"io-util",
"time",
]