ГОСТ Р ИСО/МЭК 19831—2017
Прямая установка атрибутов в новом Ресурсе:
В запросе создания допускается установить значения некоторых атрибутов созданного Ресурса
независимо от того, какие значения были заданы в экземпляре Шаблона, если использовался только
этот экземпляр. В созданном Ресурсе могут быть установлены три общих атрибута: name (наименова
ние). descnption (описание) и properties (свойства).
Семантика должна быть такой же. как и при частичном обновлении Ресурса для этих атрибутов
(описанном в следующем подразделе), последовавшем непосредственно за созданием Ресурса только
из одного Шаблона.
Определение или ссылка на Шаблон Ресурса.
В сценарии (1) Поставщик может принять решение о создании Ресурса Шаблона из переданного
значения, но такой экземпляр будет временным. Поставщик не должен представлять такой промежу
точный Ресурс Потребителю, и ни один такой промежуточный Ресурс не должен быть включен в какие-
либо результаты запроса в ответе Потребителю.
В сценарии (2) дополнительные пары наименование атрибутаУзначение атрибута могут переда
ваться внутри элемента ResourceTemplate, который также содержит ссылку на внешний (существую
щий ранее) Шаблон, чтобы переопределить подобные атрибуты, определенные в Шаблоне:
- любой атрибут верхнего уровня составного или простого типа в Шаблоне, на который ссылается
операция, должен быть переопределен путем присвоения ему пары наименование/значение в запро се
create в элементе resourceTemplate и сразу под ним. Для атрибута верхнего уровня составного типа
(например, массивы. Наборы, структуры), предоставленное составное значение должно также устанав
ливать все вложенные атрибуты, например элементы массива;
- семантика должна быть такой же. как при изменении (переопределении) частей Шаблона, на
который ссылается операция, непосредственно перед его использованием для создания экземпляра
Ресурса, но эти переопределения не должны сохраняться в Шаблоне, на который указывает ссылка и
должны иметь отношение только к этому экземпляру.
В сценарии (2) Потребители могут стереть любые атрибуты Шаблона, определяя либо
«attnbute»: null
для атрибута в сериализации JSON, либо
«attribute/»
в сериализации XML для этого атрибута.
Примеры
Пример сценария создания (1) с использованием MachineTemplate по значению (в JSON):
{ "resourceURI": "
http://schemas.dmtf.org/cimV1fMachineCreate"
,
"пате ": ",туMachine 123",
"
description": "Машина, которая будет подключена к существующей сети",
"machineTemplate": {
<в этом случае шаблон передан по значению, т. е. парами атрибут/значение для Шаблона Machine-
Template. Нижеприведенпримердля networklnterfaces>
"networklnterfaces": [
{ "addresses": [{"address": {"href": "
http://example.com/addresses/add1"}},
{"address": {"hreF : "
http://example.com/addresses/add2"}}
],
"network": {"href": "
http://example.com/networks/net1"},
"state": "ACTIVE"}
)
}
}
В данном примере:
Атрибуты name и description являются параметрами уровня экземпляра Ресурса, потому что они
находятся вне элемента MachineTemplate (т. е. они устанавливают значения атрибута в новом создан
ном Ресурсе, а не в Шаблоне, используемом для создания такого Ресурса). Наименование нового эк
земпляра Machine — ’myMachine123".
Этот экземпляр Machine подключен к существующей сети (экземпляр Network), обозначенному
ссылкой
(http://example.eom/netv/orks./net1)
. указанной в составном атрибуте Шаблона.
13