This repository contains Terraform configurations to automate the start and stop processes for Microsoft Fabric using Azure Automation Account and the Fabric API via azapi_resource
.
Microsoft Fabric is an all-in-one analytics solution for enterprises. This project aims to provide an automated solution for managing Fabric resources, focusing on start and stop operations. By leveraging Terraform, Azure Automation Account, and the Fabric API, we can efficiently manage these processes, potentially reducing costs and improving resource utilization.
- Automated start and stop of Microsoft Fabric resources
- Utilizes Azure Automation Account for scheduling and execution
- Implements Terraform for infrastructure as code
- Leverages Fabric API (via
azapi_resource
) for Fabric-specific operations - Modular structure for easy customization and expansion
- Azure subscription
- Terraform installed
- Azure CLI installed and configured
- Appropriate permissions to create and manage Azure resources
.
├── modules/
│ ├── automation_account/
│ ├── fabric_resources/
│ └── ...
├── main.tf
├── variables.tf
├── outputs.tf
├── terraform.tfvars.example
└── README.md
-
Clone the repository:
git clone https://github.com/CarloSacchi/fabric-automation.git
-
Navigate to the project directory:
cd fabric-automation
-
Copy
terraform.tfvars.example
toterraform.tfvars
and fill in your specific values. -
Initialize Terraform:
terraform init
-
Review the planned changes:
terraform plan
-
Apply the Terraform configuration:
terraform apply
Adjust the variables in terraform.tfvars
to customize the deployment for your environment. Key variables include:
automation_account_name
: Name of the Azure Automation Accountresource_group_name
: Target Resource Group for deploymentsfabric_workspace_id
: ID of your Microsoft Fabric workspace
This project uses Terraform modules to organize and encapsulate groups of resources. The main modules are:
automation_account
: Sets up the Azure Automation Accountfabric_resources
: Manages Fabric resources usingazapi_resource
Refer to each module's README for specific usage instructions.
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
This project is not officially associated with Microsoft or Azure. Use at your own risk.
For issues, questions, or contributions, please open an issue in the GitHub repository.