// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.

//! Clients for using services of Azure IoT Operations
//!
//! ## Feature flags
//!
//! The services are divided into separate features that are off by default. You can enable them
//! using the following feature flags:
//!
//! - `all`: Enables all features.
//! - `schema_registry`: Enables the Schema Registry Client.
//! - `state_store`: Enables the State Store Client.
//! - `leased_lock`: Enables the Lease and Lock Clients.
//! - `azure_device_registry`: Enables the Azure Device Registry client.
//! - `edge_registry`: Enables the Edge Registry client.
//!
//! This example shows how you could import features for only the Schema Registry Client:
//!
//! ```toml
//! azure_iot_operations_services = { version = "<version>", features = ["schema_registry"] }
//! ```

#![warn(missing_docs)]
#![allow(clippy::result_large_err)]

#[cfg(feature = "azure_device_registry")]
pub mod azure_device_registry;
#[cfg(feature = "edge_registry")]
pub mod edge_registry;
#[cfg(feature = "leased_lock")]
pub mod leased_lock;
#[cfg(feature = "schema_registry")]
pub mod schema_registry;
#[cfg(feature = "state_store")]
pub mod state_store;
