> 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/api-skyone-autosky/api-servidor-de-preparacao.md).

# API Servidor de Preparação

Chamadas de API para executar ações no servidor de preparação de um ambiente.

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

## Obter dados do servidor de preparação

Recupera os dados do servidor de preparação do ambiente.

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

### Parâmetros de Path

| Parâmetro  | Obrigatório | Descrição        |
| ---------- | ----------- | ---------------- |
| `amb_uuid` | Sim         | UUID do ambiente |

### Parâmetros de Query (opcionais)

| Parâmetro       | Tipo    | Descrição                                          |
| --------------- | ------- | -------------------------------------------------- |
| `force_refresh` | boolean | Força a atualização das informações com o provedor |

### Resposta

**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 possíveis de `instance_state`

| Valor        | Descrição            |
| ------------ | -------------------- |
| `RUNNING`    | Servidor em execução |
| `STOPPED`    | Servidor parado      |
| `STOPPING`   | Servidor parando     |
| `PENDING`    | Servidor pendente    |
| `TERMINATED` | Servidor encerrado   |
| `WARNING`    | Servidor com alerta  |

## Ligar servidor de preparação

Liga o servidor de preparação do ambiente.

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

### Parâmetros de Path

| Parâmetro  | Obrigatório | Descrição        |
| ---------- | ----------- | ---------------- |
| `amb_uuid` | Sim         | UUID do ambiente |

### Resposta

**Status:** `204 No Content`

## Desligar servidor de preparação

Desliga o servidor de preparação do ambiente.

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

### Parâmetros de Path

| Parâmetro  | Obrigatório | Descrição        |
| ---------- | ----------- | ---------------- |
| `amb_uuid` | Sim         | UUID do ambiente |

### Resposta

**Status:** `204 No Content`

## Publicar uma imagem padrão

Inicia o processo de publicação padrão (default) da instância de preparação do ambiente.

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

### Parâmetros de Path

| Parâmetro  | Obrigatório | Descrição        |
| ---------- | ----------- | ---------------- |
| `amb_uuid` | Sim         | UUID do ambiente |

### Resposta

**Status:** `202 Accepted`

```json
{
    "status": 202,
    "message": "Publicacao iniciada com sucesso.",
    "request_id": "149cbd70-5241-4e62-88a7-c87bcdf2eecc"
}
```

## Status de publicação de imagem

Recupera o status da publicação de imagem para a requisição especificada.

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

### Parâmetros de Path

| Parâmetro    | Obrigatório | Descrição                        |
| ------------ | ----------- | -------------------------------- |
| `amb_uuid`   | Sim         | UUID do ambiente                 |
| `request_id` | Sim         | UUID da requisição da publicação |

### Resposta

**Status:** `200 OK`

```json
{
    "status": 200,
    "image_publication_status": "PUBLISHING",
    "message": "Publicação em andamento."
}
```

### Valores possíveis de `image_publication_status`

| Valor        | Descrição               |
| ------------ | ----------------------- |
| `PUBLISHING` | Publicação em andamento |
| `PUBLISHED`  | Publicação concluída    |
| `ERROR`      | Erro na publicação      |

## Publicação Otimizada

A publicação otimizada oferece mais controle sobre o processo de publicação de imagens do servidor de preparação.

### Publicar imagem de forma otimizada

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

### Parâmetros de Path

| Parâmetro  | Obrigatório | Descrição        |
| ---------- | ----------- | ---------------- |
| `amb_uuid` | Sim         | UUID do ambiente |

### Body da Requisição

| Campo                                   | Tipo    | Descrição                                                                 |
| --------------------------------------- | ------- | ------------------------------------------------------------------------- |
| `stop_server`                           | boolean | Se o servidor de preparação deve ser parado durante a criação da imagem   |
| `notify_list`                           | array   | Lista de emails a serem notificados ao fim da publicação                  |
| `replace_instances`                     | object  | Configurações de publicação                                               |
| `replace_instances.block_instances`     | boolean | Se instâncias com versões anteriores devem ser bloqueadas após publicação |
| `replace_instances.block_users`         | boolean | Se deve solicitar reconexão dos usuários (requer `block_instances: true`) |
| `replace_instances.block_users_message` | string  | Mensagem de aviso de reconexão (quando `block_users: true`)               |
| `replace_instances.block_users_seconds` | number  | Tempo de desconexão em segundos (quando `block_users: true`)              |

### Valores aceitos 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 Publicação

{% tabs %}
{% tab title="Modo 1 - Padrão" %}
Instâncias atualizadas são iniciadas, instâncias anteriores **não** são bloqueadas, usuários **não** são desconectados.

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

{% endtab %}

{% tab title="Modo 2 - Manter usuários conectados" %}
Instâncias atualizadas são iniciadas, instâncias anteriores **são** bloqueadas, mas usuários **não** são desconectados.

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

{% endtab %}

{% tab title="Modo 3 - Solicitar reconexão de usuários" %}
Instâncias anteriores **são** bloqueadas e usuários **são** notificados para reconexão.

> **Importante:** Não é possível enviar `block_users: true` com `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="Opção: Parar servidor durante criação" %}
Qualquer modo acima aceita `stop_server: true` para deixar o servidor de preparação indisponível durante a criação da imagem.

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

{% endtab %}
{% endtabs %}

### Resposta

**Status:** `202 Accepted`

```json
{
    "status": 202,
    "message": "Publicacao iniciada com sucesso.",
    "request_id": "149cbd70-5241-4e62-88a7-c87bcdf2eecc"
}
```

## Verificar status de publicação otimizada

Verifica o status da publicação de imagem para a requisição especificada.

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

### Parâmetros de Path

| Parâmetro    | Obrigatório | Descrição                        |
| ------------ | ----------- | -------------------------------- |
| `amb_uuid`   | Sim         | UUID do ambiente                 |
| `request_id` | Sim         | UUID da requisição da publicação |

### Resposta

**Status:** `200 OK`

```json
{
    "status": 200,
    "image_publication_status": "PUBLISHING",
    "message": "Publicação em andamento."
}
```

### Valores possíveis de `image_publication_status`

| Valor        | Descrição               |
| ------------ | ----------------------- |
| `PUBLISHING` | Publicação em andamento |
| `PUBLISHED`  | Publicação concluída    |
| `ERROR`      | Erro na publicação      |


---

# 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/api-skyone-autosky/api-servidor-de-preparacao.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.
