> For the complete documentation index, see [llms.txt](https://docs.devolutions.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devolutions.net/pam/es/knowledge-base/knowledge-base-articles/terraform-provider.md).

# Proveedor de Terraform

El proveedor de Terraform le permite gestionar su instancia de Devolutions Server. Para obtener más información sobre el proveedor de Terraform, consulte nuestro [GitHub.](https://github.com/Devolutions/terraform-provider-dvls?tab=readme-ov-file)

{% hint style="info" %}
Este proveedor está en desarrollo; espere cambios incompatibles entre versiones.
{% endhint %}

### Requisitos

* [Terraform](https://www.terraform.io/downloads.html) 1.0
* [Go](https://golang.org/doc/install) 1.18
* [Devolutions Server](https://devolutions.net/server) 2025.2.4.0

### Compilar el proveedor

1. Clone el repositorio
2. Entre en el directorio del repositorio
3. Compile el proveedor con el comando `install` de Go:

```go
go install
```

### Añadir dependencias

Este proveedor utiliza [módulos de Go](https://github.com/golang/go/wiki/Modules). Consulte la documentación de Go para obtener la información más actualizada sobre el uso de los módulos de Go.

Para añadir una nueva dependencia `github.com/author/dependency` a su proveedor de Terraform:

```go
go get github.com/author/dependency
go mod tidy
```

A continuación, confirme los cambios en `go.mod` y `go.sum`.

### Usar el proveedor

Visite el Terraform Registry en <https://registry.terraform.io/providers/Devolutions/dvls/latest> para obtener información de uso.

### Desarrollar el proveedor

Si desea trabajar en el proveedor, primero necesitará tener [Go](http://www.golang.org/) instalado en su máquina (consulte [Requisitos](https://github.com/Devolutions/terraform-provider-dvls?tab=readme-ov-file#requirements) más arriba).

* Para compilar el proveedor, ejecute `go install`. Esto compilará el proveedor y colocará el binario del proveedor en el directorio `$GOPATH/bin`.
* Para generar o actualizar la documentación, ejecute `go generate`.
* Para ejecutar el conjunto completo de pruebas de aceptación, ejecute `make testacc`.

*Nota:* las pruebas de aceptación crean recursos reales y su ejecución suele conllevar costes.

`make testacc`

### Probar el proveedor durante el desarrollo

Para realizar una prueba del proveedor, cree o actualice el fichero `~/.terraformrc` (`%APPDATA%\terraform.rc` en Windows) con el siguiente contenido:

```hcl
provider_installation {
  dev_overrides {
    "devolutions/dvls" = "/Users/USERNAME/go/bin"
  }
  direct {
  }
}
```

Sustituya `/Users/USERNAME/go/bin` por la ruta al binario compilado del proveedor según su sistema operativo y entorno.

A continuación, ejecute el siguiente comando, suponiendo que utiliza macOS o Linux:

`go build -o ~/go/bin/terraform-provider-dvls_v0.5.0`

`chmod +x ~/go/bin/terraform-provider-dvls_v0.5.0`

Notas: el número de versión debe coincidir con la versión del proveedor en la que está trabajando.

Después puede crear un fichero `test.tf` o `example.tf` con el contenido necesario; aquí tiene un ejemplo:

```hcl
provider "dvls" {
  base_uri   = "https://your-dvls-instance.com/"
  app_id     = "your-app-id"
  app_secret = "your-app-secret"
}

data "dvls_entry_website" "example" {
  id = "id-of-website-entry"
}

output "website_name" {
  value = data.dvls_entry_website.example.name
}

terraform {
  required_providers {
    dvls = {
      source = "devolutions/dvls"
    }
  }
}
```

A continuación, ejecute el siguiente comando:

`terraform plan`

Esta será la salida:

```
│ Warning: Provider development overrides are in effect
│
│ The following provider development overrides are set in the CLI configuration:
│  - devolutions/dvls in /Users/USERNAME/go/bin
│
│ The behavior may therefore not match any released version of the provider and applying changes may cause the state to become incompatible
│ with published releases.
╵
data.dvls_entry_website.example: Reading...
data.dvls_entry_website.example: Read complete after 1s [id=123e4567-e89b-12d3-a456-426614174000]

Changes to Outputs:
  + website_name = "TestWebsite"
```

Tenga en cuenta que el `.gitignore` ya ignora los ficheros `dev.tfrc`, `.terraform.lock.hcl`, `test.tf`, `example.tf` y `terraform.tfstate`, y la carpeta `.terraform/`.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.devolutions.net/pam/es/knowledge-base/knowledge-base-articles/terraform-provider.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
