# saif-utilities

This repository provides reusable Terraform utility modules for Azure infrastructure with standardized naming and validation patterns.

## Available Modules

### Naming Modules
- **[modules/naming/base](https://github.com/saif-corp/forge/tree/main/src/terraform/saif-utilities/modules/naming/base)** - Provider-agnostic base naming functionality
- **[modules/naming/azure/servicebus/namespace](https://github.com/saif-corp/forge/tree/main/src/terraform/saif-utilities/modules/naming/azure/servicebus/namespace)** - Azure ServiceBus namespace naming
- **[modules/naming/azure/static](https://github.com/saif-corp/forge/blob/main/src/terraform/saif-utilities/modules/naming/azure/static)** - Static organizational configuration

### String Utilities
- **[modules/string_utilities/casing](string_utilities/casing.md)** - String case conversion utilities

## Examples

See the [examples](https://github.com/saif-corp/forge/tree/main/src/terraform/saif-utilities/examples) folder for usage examples:
- [naming-base](https://github.com/saif-corp/forge/tree/main/src/terraform/saif-utilities/examples/naming-base) - Basic naming module usage
- [naming-servicebus](https://github.com/saif-corp/forge/tree/main/src/terraform/saif-utilities/examples/naming-servicebus) - ServiceBus namespace naming
- [string-utilities](https://github.com/saif-corp/forge/tree/main/src/terraform/saif-utilities/examples/string-utilities) - String casing utilities

## Usage

```hcl
module "servicebus_namespace" {
  source = "app.terraform.io/SAIFCorp/utilities/saif//modules/naming/azure/servicebus/namespace"
  
  environment_short_name = "prod"
  tenant               = "corporate"
  prefix               = ["shared"]
  suffix               = ["primary"]
}
```
<!-- BEGIN_TF_DOCS -->
## Providers

No providers.

## Inputs

No inputs.

## Outputs

No outputs.

## Resources
    
<!-- END_TF_DOCS -->

---

[View source on GitHub](https://github.com/saif-corp/forge/blob/main/src/terraform/saif-utilities/README.md)
