[comment]: # ({b6bdd5f4-cd4a930c})
# sla.update

[comment]: # ({/b6bdd5f4-cd4a930c})

[comment]: # ({074629bc-79afe9b7})
### Описание

`object sla.update(объект/массив slaids)`

Этот метод позволяет обновлять существующие записи SLA.

::: noteclassic
Этот метод доступен только пользователям с типом доступа *Администратор* и *Супер-администратор*.
Разрешения на вызов метода можно отозвать в настройках ролей пользователя.
Дополнительную информацию см. в разделе [Роли пользователей](/manual/web_interface/frontend_sections/users/user_roles).
:::

[comment]: # ({/074629bc-79afe9b7})

[comment]: # ({2463ebdb-5fb5ebb3})
### Параметры

`(object/array)` Свойства SLA, которые необходимо обновить.

Свойство `slaid` должно быть определено для каждого SLA, все остальные
свойства являются необязательными. Будут обновлены только переданные свойства, все
остальные останутся без изменений.

Дополнительно к [стандартным свойствам SLA](object#sla),
метод принимает следующие параметры.

|Parameter|[Type](/manual/api/reference_commentary#data-types)|Description|
|--|--|------|
|service\_tags|array|[Теги службы SLA](/manual/api/reference/sla/object#sla-service-tag) для замены текущих тегов службы SLA.|
|schedule|array|[Расписание SLA](/manual/api/reference/sla/object#sla-schedule) для замены текущего расписания.<br>Если параметр указан пустым, это будет интерпретировано как расписание 24x7.|
|excluded\_downtimes|array|[Исключенные периоды недоступности SLA](/manual/api/reference/sla/object#sla-excluded-downtime) для замены текущих.|

[comment]: # ({/2463ebdb-5fb5ebb3})

[comment]: # ({cc2d3849-9465ee4d})
### Возвращаемые значения

`(object)` Возвращает объект, содержащий идентификаторы обновленных SLA в свойстве `slaids`.

[comment]: # ({/cc2d3849-9465ee4d})

[comment]: # ({b41637d2-b41637d2})
### Примеры

[comment]: # ({/b41637d2-b41637d2})

[comment]: # ({860f242f-b9918036})
#### Обновление тегов сервиса

Сделать так, чтобы SLA с ID "5" рассчитывалась с ежемесячными интервалами для сервисов, связанных с NoSQL, без изменения ее расписания или исключенных простоев; установить SLO на 95%.

[Запрос](/manual/api#performing-requests):

```json
{
    "jsonrpc": "2.0",
    "method": "sla.update",
    "params": [
        {
            "slaid": "5",
            "name": "NoSQL Database engines",
            "slo": "95",
            "period": 2,
            "service_tags": [
                {
                    "tag": "database",
                    "operator": "0",
                    "value": "redis"
                },
                {
                    "tag": "database",
                    "operator": "0",
                    "value": "mongodb"
                }
            ]
        }
    ],
    "id": 1
}
```

Ответ:

```json
{
    "jsonrpc": "2.0",
    "result": {
        "slaids": [
            "5"
        ]
    },
    "id": 1
}
```

[comment]: # ({/860f242f-b9918036})

[comment]: # ({a10de477-263b1baa})
#### Изменение расписания SLA

Переключите SLA с ID "5" на расписание 24x7.

[Запрос](/manual/api#performing-requests):

```json
{
    "jsonrpc": "2.0",
    "method": "sla.update",
    "params": {
        "slaid": "5",
        "schedule": []
    },
    "id": 1
}
```

Ответ:

```json
{
    "jsonrpc": "2.0",
    "result": {
        "slaids": [
            "5"
        ]
    },
    "id": 1
}
```

[comment]: # ({/a10de477-263b1baa})

[comment]: # ({05c8308e-d4685b1d})
#### Изменение исключенных простоев для SLA

Добавьте запланированный простой на 4 часа для обновления RAM 6 апреля 2022 года,
при этом сохраните (нужно определить заново) ранее существовавшее запланированное обновление программного обеспечения 4 июля
для SLA с ID "5".

[Запрос](/manual/api#performing-requests):

```json
{
    "jsonrpc": "2.0",
    "method": "sla.update",
    "params": {
        "slaid": "5",
        "excluded_downtimes": [
            {
                "name": "Software version upgrade rollout",
                "period_from": "1648760400",
                "period_to": "1648764900"
            },
            {
                "name": "RAM upgrade",
                "period_from": "1649192400",
                "period_to": "1649206800"
            }
        ]
    },
    "id": 1
}
```

Ответ:

```json
{
    "jsonrpc": "2.0",
    "result": {
        "slaids": [
            "5"
        ]
    },
    "id": 1
}
```

[comment]: # ({/05c8308e-d4685b1d})

[comment]: # ({099777f0-fd1b6894})
### Источник

CSla::update() в *ui/include/classes/api/services/CSla.php*.

[comment]: # ({/099777f0-fd1b6894})
