> For the complete documentation index, see [llms.txt](https://docs.skyone.cloud/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.skyone.cloud/espanol/api-skyone-autosky/api-del-servidor-de-preparacion.md).

# API del Servidor de Preparación

Llamadas de API para ejecutar acciones en el servidor de preparación de un entorno.

**Base path:** `/environments/{amb_uuid}/servers/template/`

## Obtener datos del servidor de preparación

Recupera los datos del servidor de preparación del entorno.

```http
GET /environments/{amb_uuid}/servers/template/
```

### Parámetros de Path

| Parámetro  | Obligatorio | Descripción      |
| ---------- | ----------- | ---------------- |
| `amb_uuid` | Sí          | UUID del entorno |

### Parámetros de Query (opcionales)

| Parámetro       | Tipo    | Descripción                                                 |
| --------------- | ------- | ----------------------------------------------------------- |
| `force_refresh` | boolean | Fuerza la actualización de la información con el proveedor. |

### Respuesta

**Status:** `200 OK`

```json
{
    "instance_id": "ocid1.instance.oc1...",
    "name": "TEMPLATE_SERVER_NAME",
    "instance_state": "RUNNING",
    "public_ip": "1.2.3.4",
    "private_ip": "4.3.2.1",
    "stop_time": "2021/03/15 19:42:25"
}
```

### Valores posibles de `instance_state`

| Valor        | Descripción           |
| ------------ | --------------------- |
| `RUNNING`    | Servidor en ejecución |
| `STOPPED`    | Servidor detenido     |
| `STOPPING`   | Servidor deteniéndose |
| `PENDING`    | Servidor pendiente    |
| `TERMINATED` | Servidor terminado    |
| `WARNING`    | Servidor con alerta   |

## Iniciar servidor de preparación

Inicia el servidor de preparación del entorno.

```http
POST /environments/{amb_uuid}/servers/template/start
```

### Parámetros de Path

| Parámetro  | Obligatorio | Descripción      |
| ---------- | ----------- | ---------------- |
| `amb_uuid` | Sí          | UUID del entorno |

### Resposta

**Status:** `204 No Content`

## Detener servidor de preparación

Desliga o servidor de preparação do ambiente.

```http
POST /environments/{amb_uuid}/servers/template/stop
```

### Parámetros de Path

| Parámetro  | Obligatorio | Descripción         |
| ---------- | ----------- | ------------------- |
| `amb_uuid` | Sí          | UUID del entornouna |

### Respuesta

**Status:** `204 No Content`

## Publicar una imagen predeterminada

Inicia el proceso de publicación predeterminado (default) de la instancia de preparación del entorno.

```http
POST /environments/{amb_uuid}/servers/template/publish/
```

### Parámetros de Path

| Parámetro  | Obligatorio | Descripción      |
| ---------- | ----------- | ---------------- |
| `amb_uuid` | Sí          | UUID del entorno |

### Respuesta

**Status:** `202 Accepted`

```json
{
    "status": 202,
    "message": "Publicación iniciada con éxito.",
    "request_id": "149cbd70-5241-4e62-88a7-c87bcdf2eecc"
}
```

## Status de publicación de imagen

Recupera el estado de la publicación de la imagen para la solicitud especificada.

```http
GET /environments/{amb_uuid}/servers/template/publish/{request_id}
```

### Parámetros de Path

| Parámetro    | Obligatorio | Descripción                         |
| ------------ | ----------- | ----------------------------------- |
| `amb_uuid`   | Sí          | UUID del entorno                    |
| `request_id` | Sí          | UUID de la solicitud de publicación |

### Respuesta

**Status:** `200 OK`

```json
{
    "status": 200,
    "image_publication_status": "PUBLISHING",
    "message": "Publicación en curso."
}
```

### Valores posibles de `image_publication_status`

| Valor        | Descripción             |
| ------------ | ----------------------- |
| `PUBLISHING` | Publicación en curso    |
| `PUBLISHED`  | Publicación completada  |
| `ERROR`      | Error en la publicación |

## Publicación Optimizada

La publicación optimizada ofrece más control sobre el proceso de publicación de imágenes del servidor de preparación.

### Publicar imagen de forma optimizada

```http
POST /environments/{amb_uuid}/servers/template/optimized-publish/
```

### Parámetros de Path

| Parámetro  | Obligatorio | Descripción      |
| ---------- | ----------- | ---------------- |
| `amb_uuid` | Sí          | UUID del entorno |

### Cuerpo de la Solicitud

| Campo                                   | Tipo    | Descripción                                                                            |
| --------------------------------------- | ------- | -------------------------------------------------------------------------------------- |
| `stop_server`                           | boolean | Si el servidor de preparación debe detenerse durante la creación de la imagen.         |
| `notify_list`                           | array   | Lista de correos electrónicos a notificar al finalizar la publicación.                 |
| `replace_instances`                     | object  | Configuraciones de publicación.                                                        |
| `replace_instances.block_instances`     | boolean | Si las instancias con versiones anteriores deben bloquearse después de la publicación. |
| `replace_instances.block_users`         | boolean | Si se debe solicitar la reconexión de los usuarios (requiere `block_instances: true`)  |
| `replace_instances.block_users_message` | string  | Mensaje de advertencia de reconexión (cuando `block_users: true`)                      |
| `replace_instances.block_users_seconds` | number  | Tiempo de desconexión en segundos (cuando `block_users: true`)                         |

### Valores aceptados para `block_users_seconds`

| Valor  | Equivalente |
| ------ | ----------- |
| `300`  | 5 minutos   |
| `600`  | 10 minutos  |
| `900`  | 15 minutos  |
| `1200` | 20 minutos  |
| `1500` | 25 minutos  |
| `1800` | 30 minutos  |

### Modos de Publicación

{% tabs %}
{% tab title="Modo 1 - Predeterminado" %}
Se inician las instancias actualizadas, no se bloquean las instancias anteriores y no se desconectan los usuarios.

```json
{
    "stop_server": false,
    "notify_list": ["email-01@dominio.com"],
    "replace_instances": {
        "block_instances": false,
        "block_users": false
    }
}
```

{% endtab %}

{% tab title="Modo 2 - Mantener a los usuarios conectados" %}
Se inician las instancias actualizadas, se bloquean las instancias anteriores, pero no se desconectan los usuarios.

```json
{
    "stop_server": false,
    "notify_list": ["email-01@dominio.com"],
    "replace_instances": {
        "block_instances": true,
        "block_users": false
    }
}
```

{% endtab %}

{% tab title="Modo 3 - Solicitar reconexión de usuarios" %}
Se bloquean las instancias anteriores y se notifica a los usuarios para su reconexión.

> **Importante:** No es posible enviar `block_users: true` con `block_instances: false`.

```json
{
    "stop_server": false,
    "notify_list": ["email-01@dominio.com"],
    "replace_instances": {
        "block_instances": true,
        "block_users": true,
        "block_users_message": "Mensagem de aviso aos usuários",
        "block_users_seconds": 300
    }
}
```

{% endtab %}

{% tab title="Opción: Detener el servidor durante la creación" %}
Cualquier modo anterior acepta `stop_server: true` para dejar el servidor de preparación no disponible durante la creación de la imagen.

```json
{
    "stop_server": true,
    "notify_list": ["email-01@dominio.com"],
    "replace_instances": {
        "block_instances": false,
        "block_users": false
    }
}
```

{% endtab %}
{% endtabs %}

### Respuesta

**Status:** `202 Accepted`

```json
{
    "status": 202,
    "message": "Publicación iniciada con éxito.",
    "request_id": "149cbd70-5241-4e62-88a7-c87bcdf2eecc"
}
```

## Verificar status de publicación optimizada

Verifica el estado de la publicación de la imagen para la solicitud especificada.

```http
GET /environments/{amb_uuid}/servers/template/optimized-publish/{request_id}/
```

### Parâmetros de Path

| Parámetro    | Obligatorio | Descripción                         |
| ------------ | ----------- | ----------------------------------- |
| `amb_uuid`   | Sí          | UUID del entorno                    |
| `request_id` | Sí          | UUID de la solicitud de publicación |

### Respuesta

**Status:** `200 OK`

```json
{
    "status": 200,
    "image_publication_status": "PUBLISHING",
    "message": "Publicación en curso."
}
```

### Valores posibles de `image_publication_status`

| Valor        | Descripción             |
| ------------ | ----------------------- |
| `PUBLISHING` | Publicación en curso    |
| `PUBLISHED`  | Publicación completada  |
| `ERROR`      | Error en la publicación |


---

# 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.skyone.cloud/espanol/api-skyone-autosky/api-del-servidor-de-preparacion.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.
