pub mod backend;
pub mod error;
pub mod fleet;
pub mod hex;
pub mod ir;
pub mod morphism;
pub mod naming;
pub mod nix;
pub mod nix_backend;
pub mod nix_transform;
pub mod pipeline;
pub mod policy;
pub mod remediation;
pub mod render_cache;
pub mod resolve;
pub mod sdk_naming;
pub mod sexpr;
pub mod sexpr_diff;
mod sexpr_ir;
pub mod spec;
#[cfg(feature = "sui-eval")]
pub mod sui_transform;
pub mod testing;
pub mod transform;
pub mod type_map;
pub use backend::{ArtifactKind, Backend, GeneratedArtifact, NamingConvention};
pub use error::IacForgeError;
pub use ir::{
AuthInfo, CrudInfo, HasAttributes, IacAction, IacAttribute, IacDataSource, IacProvider,
IacResource, IacType, IdentityInfo,
};
pub use naming::{
strip_provider_prefix, to_camel_case, to_kebab_case, to_pascal_case, to_snake_case,
};
pub use resolve::{resolve_action, resolve_data_source, resolve_provider, resolve_resource};
pub use spec::{
ActionMapping, AuthConfig, ConfigLoader, CrudMapping, DataSourceMeta, DataSourceSpec,
FieldOverride, IdentityConfig, ProviderDefaults, ProviderMeta, ProviderSpec, ReadMapping,
ResourceMeta, ResourceSpec,
};
pub use testing::{
TestAttributeBuilder, test_data_source, test_provider, test_resource, test_resource_with_type,
};
pub use type_map::{apply_enum_constraint, is_valid_type_override, openapi_to_iac};