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

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

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

`object sla.update(object/array slaids)`

Cette méthode permet de mettre à jour des entrées de SLA existantes.

::: noteclassic
Cette méthode est disponible uniquement pour les types d’utilisateur *Admin* et *Super admin*.
Les autorisations d’appel de la méthode peuvent être révoquées dans les paramètres du rôle utilisateur.
Voir [User
roles](/manual/web_interface/frontend_sections/users/user_roles)
pour plus d’informations.
:::

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

[comment]: # ({2463ebdb-5fb5ebb3})
### Paramètres

`(object/array)` Propriétés de SLA à mettre à jour.

La propriété `slaid` doit être définie pour chaque SLA, toutes les autres
propriétés sont facultatives. Seules les propriétés transmises seront mises à jour, toutes
les autres resteront inchangées.

En plus des [propriétés SLA standard](object#sla), la
méthode accepte les paramètres suivants.

|Paramètre|[Type](/manual/api/reference_commentary#data-types)|Description|
|--|--|------|
|service\_tags|array|[Balises de service SLA](/manual/api/reference/sla/object#sla-service-tag) pour remplacer les balises de service SLA actuelles.|
|schedule|array|[Planification SLA](/manual/api/reference/sla/object#sla-schedule) pour remplacer la planification actuelle.<br>Spécifier le paramètre comme vide sera interprété comme une planification 24x7.|
|excluded\_downtimes|array|[Périodes d’indisponibilité exclues de SLA](/manual/api/reference/sla/object#sla-excluded-downtime) pour remplacer celles actuellement définies.|

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

[comment]: # ({cc2d3849-9465ee4d})
### Valeurs de retour

`(object)` Renvoie un objet contenant les identifiants des SLA mis à jour dans la propriété `slaids`.

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

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

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

[comment]: # ({860f242f-b9918036})
#### Mise à jour des tags de service

Faites en sorte que le SLA avec l’ID « 5 » soit calculé à des intervalles mensuels pour les services liés à NoSQL,
sans modifier sa planification ni les temps d’arrêt exclus ; définissez le SLO à 95 %.

[Requête](/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
}
```

Réponse :

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

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

[comment]: # ({a10de477-263b1baa})
#### Modification de la planification d’un SLA

Basculez le SLA avec l’ID « 5 » vers une planification 24x7.

[Requête](/manual/api#performing-requests):

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

Réponse :

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

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

[comment]: # ({05c8308e-d4685b1d})
#### Modification des périodes d’indisponibilité exclues pour un SLA

Ajoutez une période d’indisponibilité planifiée de 4 heures pour une mise à niveau de la RAM le 6 avril 2022,
tout en conservant (elle doit être redéfinie) une mise à niveau logicielle planifiée existante auparavant le 4 juillet
pour le SLA avec l’ID « 5 ».

[Requête](/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
}
```

Réponse :

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

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

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

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

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