Repository navigation
Frontend application
Cloud-infra-visualization is a Python-based application that allows you to authenticate to Azure and generate documentation for your Azure resources. This guide will walk you through the various functions of the program.

To start using Cloud-infra-visualization, run the frontend.py script. This will open the main window of the application.
The main window consists of several sections:
-
Identity Selection: At the top of the window, you can choose an existing identity or create a new one. An identity consists of a tenant ID, client ID, and either a client secret or a certificate path.
-
Subscription Selection: Below the identity selection, there is a list of all available subscriptions for the selected identity. You can select one subscription at a time.
-
Advanced Options: By clicking on the 'Advanced' button, you can reveal additional options. These include output format (Excel or DrawIO), resource group name, resource group tag key/value, resource tag key/value, and output folder.
-
Start Document Generation: Once you have made your selections, click on the 'Start document generation' button to begin the process. The output will be displayed in the text area below the button.
-
Output Text Area: This area displays the output of the document generation process. Any errors that occur during the process will also be displayed here.
To create a new identity, click on the 'New Identity' button. This will open a dialog where you can enter the following information:
- Identity Name
- Tenant ID
- Client ID
- Client Secret or Certificate Path
If you choose to use a certificate, check the 'Use Certificate' checkbox and browse for the certificate file. If you choose to use a client secret, simply enter it in the provided field.
Once you have entered all the necessary information, click on the 'Save' button to save the identity. The new identity will then be available for selection in the main window.
To load an existing identity, click on the 'Load Identity' button. This will open a dialog where you can select an identity from a dropdown menu. Once you have selected an identity, click on the 'OK' button to load it.
To delete an identity, first load it by clicking on the 'Load Identity' button. Then, in the identity selection dialog, click on the 'Delete' button. You will be asked to confirm the deletion.
The advanced options allow you to customize the document generation process. Here are the available options:
- Output to Excel: If this option is checked, the output will be formatted as an Excel spreadsheet.
- Output to DrawIO: If this option is checked, the output will be formatted as a DrawIO diagram.
- Resource Group Name: If specified, only resources within the given resource group will be included in the output.
- Resource Group Tag Key/Value: If specified, only resource groups with the given tag key/value pair will be included in the output.
- Resource Tag Key/Value: If specified, only resources with the given tag key/value pair will be included in the output.
- Output Folder: Specifies the directory where the output file(s) will be saved. By default, this is the 'output' folder in the current directory.
Once you have selected an identity and subscription, and optionally set any advanced options, you can start the document generation process by clicking on the 'Start document generation' button. The output will be displayed in the text area below the button.
If any errors occur during the process, they will also be displayed in the text area.
After the document generation process has completed, you will be asked if you want to open the output folder. If you click 'Yes', the output folder will be opened in your system's file explorer.
The output will be in the format specified in the advanced options (Excel or DrawIO). If no format was specified, the output will be a JSON file.
If an error occurs at any point while using Cloud-infra-visualization, an error message will be displayed in the output text area. If the error occurred while running the main.py script, the error message will also be written to an 'error_log.txt' file in the same directory as the script.
In case of authentication errors, make sure that the tenant ID, client ID, and client secret or certificate path are correct. If the error persists, try creating a new identity or loading a different one.