ГОСТ Р ИСО/МЭК 19831—2017
4.2.1.4 Удаление ресурса
Для удаления Ресурса передают запрос HTTPDELETE по адресу deleteURI, заданный для этого
типа Ресурса. Во многих случаях deleteURI совпадает с URI самого Ресурса. При получении представ
ление Ресурса должно включать в собя операцию delete, содержащую deleteURI. который должен ис
пользоваться. если запрашивающей стороне разрешено удалять Ресурс.
Например запрос может быть следующим:
DELETE«fe/erel/R/>HTTP/1.1
Host: наименование узла>
Если Ресурс содержит атрибут state, то его значением должно быть “DELETING’ в то время, когда
Поставщик обрабатывает данную операцию.
Например ответ может быть следующим:
НТТР/1.1 200 ОК
4.2.1.5 Другие операции
Несмотря на то, что как правило модификация Ресурса в модели может осуществляться путем
простой операции обновления (PUT) Ресурса по адресу editURI. иногда требуется более сложная сово
купность действий. В этих случаях операции должны моделироваться как запросы POSTHTTP, направ
ленные по адресам URI, определенным для Ресурса.
Для каждого из Ресурсов, которые определяют дополнительные операции, предоставляется опи
сание запроса HTTP и содержание ответа. Однако общее взаимодействие HTTP происходит в соот
ветствии с приведенным далее.
Запрос должен иметь следующий вид:
НТТР/1.1 POST«URI операции»
Host: «наименование узла»
Accept: application/(json|xml)
Content-Type: application/(json|xml)
Content-Length: «длина»
« изриализация запроса операции>
Форма ответа варьируется в зависимости от операции и определена самой операцией.
Примечание — Определение операции CREATE (см. 4.2.1.1)должносоответсгвовать этому шаблону.
4.2.1.6 Синхронные операции
Если Поставщик поддерживает Ресурс Job. то каждый входящий запрос PUT. DELETE. POSTдол
жен приводить к созданию Ресурса Job и абсолютная ссылка URI на этот Ресурс Job должна возвра
щаться обратно клиенту в заголовке CIMI-Job-URI в ответном сообщении HTTP:
CIMI-Job-URI: <urhto-Job>
В этом случае требуемая операция должна быть завершена и JobURI должен указать на выпол
ненное задание. Если задание не будет завершено, то сервер должен вернуть код ответа 202 и следо
вать инструкциям для выполнения асинхронных операций.
4.2.1.7 Асинхронные операции
В некоторых случаях выполнение операции, затребованной клиентом, может занять неопреде
ленный промежуток времени для своего завершения. Например создание нового экземпляра Machine
или запуск существующего экземпляра Machine могут занять относительно много времени до своего
завершения. В таких случаях непрактично завершать эти операции в пределах таймаута запроса HTTP,
поэтому Поставщикдолжен вернуть код ответа HTTP «202Accepted».
Как и в случае с синхронными операциями, если Поставщик поддерживает Ресурс Job. он должен
создать Ресурс Job для входящего запроса и вернуть ссылку на этот Ресурс Job обратно клиенту в за
головке CIMI-Job-URI в ответном сообщении HTTP. Кроме того, в случае, если кодом ответа является
«202 Accepted». Поставщик может также вернуть в теле ответа HTTP любое из следующего:
- представление Ресурса Job, если такой был создан;
- частичное представление ответного сообщения, как если бы операция была синхронной. Напри
мер при создании нового экземпляра Machine ответное сообщение может включать в себя частичное
представление нового экземпляра Machine в ответном сообщении. Возвращаемый перечень атрибутов
Ресурса определяется реализацией и основывается на том. сколько информации доступно в то вре
мя. пока генерируется ответное сообщение, но он должен быть совместим с представлением полного
16