# Tools

### Azure CLI

* **Stable** - Text commands don't change and the CLI is in the stable state
* **Structure** - CLI commands are structured very logically and all follow the same pattern
* **Cross-Platform** - CLI works on Windows, Mac, Linux
* **Automation** - It is simple to automate the CLI commands for future use
* **Logging** - Keep track of who run what command and when in various ways

### PowerShell

* **Cmdlet** - A script that performs a specific task. "New-AzVm" is a task that creates new virtual machine
* **Azure Resource Manager** - PowerShell also uses the Resource Manager, like the Portal and CLI, to manipulate Azure resources
* **Versatile** - You can use PowerShell for many other tasks and areas, not just for Azure.&#x20;

### CloudShell

* **Access** - Access from anywhere using a web browser or mobile app. Authenticated and secure.
* **Shell** - Choose between Bash (Azure CLI) or PowerShell
* **Tools** - Included tools are: interpreters, modules, Azure tools. Language support for NodeJS, .NET, and Python
* **Storage** - Dedicated storage to persist data between sessions
* **File Editor** - A complete file editor is available.

### &#x20;ARM (Azure Resource Manager) Templates

* **Describe resource usage** - what are you creating, updating, deleting?
* **Common Syntax** - Defined language for all ARM templates, making it easier to formalize and learn
* **Idempotent** - Every ARM template can be applied multiple times, and the result is always the same
* **Source Control** - Can be checked-in into your source control system. Keep track of all changes to the ARM templates
* **Reuse** - Use a combination of multiple partial ARM templates to achieve the end result.
* **Declarative** - Specify what you want, not how it's done
* **No Human Errors** - Automation means humans don't repeat the same mistakes


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://notebook.iuriioapps.com/cloud/azure/tools.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
