Все госты и снипы онлайн

Более 10000 документов в открытом доступе, абсолютно бесплатно

ГОСТ Р - ИСО/МЭК 19831-2017 Модель и протокол интерфейса управления облачной инфраструктурой (CIMI). Интерфейс для управления облачной инфраструктурой

Этот документ был распознан автоматически. В блоке справа Вы можете найти скан-копию. Мы работаем над ручным распознаванием документов, однако это титанический труд и на него уходит очень много времени. Если Вы хотите помочь нам и ускорить обработку документов, Вы всегда можете сделать это, пожертвовав нам небольшую сумму денег.

Файлы для печати:

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ТЕХНИЧЕСКОМУ РЕГУЛИРОВАНИЮ И МЕТРОЛОГИИН А Ц И О Н А Л Ь Н Ы ЙГО С ТРС Т А Н Д А Р ТИСО/МЭК 19831 —Р О С С И Й С К О ЙФ Е Д Е Р А Ц И И2017МОДЕЛЬ И ПРОТОКОЛ ИНТЕРФЕЙСАУПРАВЛЕНИЯ ОБЛАЧНОЙ ИНФРАСТРУКТУРОЙ(CIMI)Интерфейс для управления облачнойинфраструктурой(ISO/IEC 19831:2015, ЮТ) Издание оф ициальное С тандарт i фота* 2017получение сертификата
ГОСТ Р ИСО/МЭК 19831—2017Предисловие 1 ПОДГОТОВЛЕН Обществом с ограниченной ответственностью «Информационно-аналитиче­ ский вычислительный центр» (ООО ИАВЦ) на основе собственного перевода на русский язык англоя­ зычной версии стандарта, указанного в пункте 4 2 ВНЕСЕН Техническим комитетом по стандартизации ТК 22 «Информационные технологии» 3 УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Приказом Федерального агентства по техническому ре­ гулированию и метрологии от 22 февраля 2017 г. No 68-ст 4 Настоящий стандарт идентичен международному стандарту ИСО/МЭК 19831:2015 «Модель и протокол интерфейса управления облачной инфраструктурой (CIMI). Интерфейс для управления об­ лачной инфраструктурой» (ISO/IEC 19831:2015 «Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol — An Interface for Managing Cloud Infrastructure», IDT). ИСО/МЭК 19831 разработан подкомитетом 38 «Платформы и сервисы для распределенных при­ ложений» Совместного технического комитета JTC 1 «Информационные технологии» Международной организации по стандартизации (ISO) и Международной электротехнической комиссии (IEC). При применении настоящего стандарта рекомендуется использовать вместо ссылочных междуна­ родных стандартов соответствующие им национальные стандарты Российской Федерации, сведения о которых приведены в дополнительном приложении ДА 5 ВВЕДЕН ВПЕРВЫЕ 6 Некоторые положения международного стандарта, указанного в пункте 4, могут являться объ­ ектом патентных прав. ИСО и МЭК не несут ответственности за идентификацию подобных патентных правПравила применения настоящего стандарта установлены в статье 26 Федерального законаот 29 июня 2015 г. №> 162-ФЗ «О стандартизации в Российской Федерации». Информация обизменениях к настоящему стандарту публикуется в ежегодном (по состоянию на 1 января текущегогода) информационном указателе «Национальные стандарты», а официальный текст измененийи поправокв ежемесячном информационном указателе «Национальные стандарты». В случаепересмотра (замены) или отмены настоящего стандарта соответствующее уведомление будетопубликовано в ближайшем выпуске ежемесячного информационного указателя «Национальныестандарты». Соответствующая информация, уведомление и тексты размещаются такжо винформационной системе общего пользованияна официальном сайте Федерального агентствапо техническому регулированию и метрологии в сети Интернет (www.gost.ru)© Стандартинформ. 2017 Настоящий стандарт не может быть полностью или частично воспроизведен, тиражирован и рас­ пространен в качестве официального издания без разрешения Федерального агентства по техническо­ му регулированию и метрологии И
ГОСТ Р ИСО/МЭК 19831—2017Содержание 1 Область применения.......................................................................................................................................... 1 1.1 Структура ста н д а р та ......................................................................................................................................1 1.2 Схема управления версиями стандарта .............................................. 1 1.3 Типографские соглашения ........................................................................................................................... 1 2 Нормативные ссылки ........................................................................................................................................2 3 Термины и определения..................................................................... 3 4 Протокол, основанный на HTTP ......................................................... 4 4.1 Введение .................................................................................................................................................... 4 4.2 Операции п ротокол а................................................................................................................................11 4.3 Поддержка O V F ........................................................................................................................................17 5 М одель............................................................................................................................................................... 17 5.1 Обертки Ресурсов ....................................................................................................................................17 5.2 Расширяемость ........................................................................................................................................ 18 5.3 Идентификаторы ...................................................................................................................................... 18 5.4 Ограничения атрибута............................................................................................................................. 18 5.5 Типы данных и их сериализация ........................................................................................ 19 5.6 Е диницы .................................................................................................................................................... 26 5.7 Семантика отнош ений................................................................ 26 5.8 Операции .................................................................................................................................................. 27 5.9 Альтернативные форматы м одели................ 27 5.10 Ресурсы .................................................................................................................................................. 27 5.11 Метаданные Р есурса............................................................................................................................. 29 5.12 Точка входа в об л а ко ................................................................. 39 5.13 Ресурс System и отношения...................................................... 44 5.14 Ресурс Machine и отношения .............................................................................................................. 66 5.15 Ресурсы Volume и отнош ения.............................................................................................................. 98 5.16 Сетевые ресурсы и отношения.......................................................................................................... 109 5.17 Ресурсы мониторинга и о тн о ш е ни я .................................................................................................. 138 6 Вопросы безопасности..................................................................................................................................165 Приложение А (обязательное) Поддержка OVF в C IM I............................................................................... 166 Приложение В (справочное) XML-схема ...................................................................................................... 167 Приложение С (справочное) История изм енений....................................................................................... 168 Приложение ДА (справочное) Сведения о соответствии ссылочных международных стандартов национальным стандартам ................................................................................................169
ГОСТ Р ИСО/МЭК 19831—2017Введение Настоящий стандарт подготовлен Рабочей группой по управлению облачными вычислениями D M T F 4 Стандарт определяет логическую модель для менеджмента ресурсов в категории «Инфра­ структура как услуга». 1) DMTF — некоммерческая ассоциация, объединяющая представителей промышленности для продвиже­ ния средств управления предприятиями и системами и обеспечения совместимости. IV
ГОСТ Р ИСО/МЭК 19831—2017 Н А Ц И О Н А Л Ь Н Ы Й С Т А Н Д А Р Т Р О С С И Й С К О Й Ф Е Д Е Р А Ц И И МОДЕЛЬ И ПРОТОКОЛ ИНТЕРФЕЙСА УПРАВЛЕНИЯ ОБЛАЧНОЙ ИНФРАСТРУКТУРОЙ (CIMI) Интерфейс для управления облачной инфраструктурой Cloud infrastructure management interface (CIMI) model and RESTfut HTTP-based protocol. An interface for managing cloud infrastructure Дата введения — 2018—01—011 Область применения Настоящий стандарт распространяется на модель и протокол для административных взаимо­ действий между поставщиком службы облачных вычислений категории «Инфраструктура как услуга» (далее — служба laaS) и потребителем службы laaS. В стандарте представлены модели основных ресурсов службы laaS (машины, хранилище и сеть) для обеспечения административного доступа по­ требителя к реализации службы laaS и содействия переносимости между реализациями, соответству­ ющими указанным в стандарте. Стандарт определяет протокол в стиле REST над HTTP. Однако базо­ вая модель не зависит от HTTP, поэтому существует возможность отобразить ев на другие протоколы. CIMI определяет управление жизненным циклом инфраструктуры, предоставляемой Поставщи­ ком. CIMI не распространяется за пределы управления инфраструктурой на управление приложениями и службами, которые Потребитель выполняет на инфраструктуре, предоставленной как служба По­ ставщиком. Хотя CIMI может в некоторой степени применяться к другим моделям службы облачных вычислений, таким как «Платформа как услуга» (PaaS) или «Хранение как услуга» (SaaS), эти сценарии использования не рассматривались при проектировании CIMI. 1.1 Структура стандарта В настоящем стандарте определены модель и протокол, основанный на RESTful HTTP. Сначала определяются базовые шаблоны REST, а после определения каждого ресурса для него определяется любая дополнительная информация, специфичная для HTTP. 1.2 Схема управления версиями стандарта Схема управления версиями — согласно 6.3 DMTF DSP4004. Поскольку в стандарте могут быть внесены изменения в течение времени, некоторые характе­ ристики могут устареть. Каждая из этих характеристик обозначена в пункте настоящего стандарта, в котором она определена, и не должна поддерживаться. 1.3 Типографские соглашения В настоящем стандарте применены следующие соглашения: В тексте стандарта: - основной текст набран шрифтом Arial; - выделены существительные CIMI, такие как наименования ресурсов, атрибутов, операций: - текст, обозначающий наименование или значение определенного понятия (например, атрибут «value constraints», графа «Наименование Ресурса», значение «false»), взят в кавычки. В таких случаях текст в кавычках всегда относится к понятию, экземпляром которого он является: - наименования понятий CIMI. которые представляют собой общепринятые слова, но имеют кон­ кретное значение в CIMI. набраны обычным шрифтом, но начинаются с прописной буквы, например Поставщик, Потребитель. Ресурс. Набор. Издание официальное 1
ГОСТ Р ИСО/МЭК 19831—2017 Слова, имеющие общепринятые смысловые значения, набраны со строчной буквы. Однако мо­ дельные понятия CIMI, имеющие общепринятые смысловые значения, набраны строчными буквами, например атрибут, операция. В таблицах, описывающих модель данных Ресурсов; - шрифт основного изложения стандарта используется для всех терминов, поскольку структура таблицы позволяет отличить их от обычного текста; - текстовые описания набраны с применением правил изложения основного текста стандарта; - имена, служащие заполнителями для фактических имен, которые могут меняться в каждом эк­ земпляре модели, взяты в угловые скобки <> (например. ). При описании сериализации Ресурсов используется нотация псевдосхемы с применением следу­ ющих соглашений; - значения, выделенные курсивом, указывают на типы данных, а не литералы; - к элементам добавляются символы для указания на количество элементов; - к?» (0 или 1); - «*» (0 или более); - «+» (1 или более); - вертикальный разделитель «|» обозначает альтернативу. Например «а|Ь» означает выбор между «а» и «Ь»; - круглые скобки «(«и»)» используются для указания области действия операторов «?», «*». «+» и «|»; - многоточие («...») указывает на точки расширяемости. П р и м е ч а н и е — Отсутствие многоточия не означает, что не существует возможного расширения; скорее всего оно не представлено в явном виде (как правило, для краткости). Наименования операций Create. Update. Delete. Read обозначают абстрактные операции, кото­ рые передают семантику соответствующих конкретных операций, таких как методы HTTP или URI опе­ раций CIMI.2 Нормативные ссылки В настоящем стандарте использованы нормативные ссылки на следующие стандарты. Для да­ тированных документов используется только указанные издания (включая любые исправления или версии обновления DMTF). Для недатированных документов используются самые последние издания (с учетом всех изменений) (включая любые исправления или версии обновления DMTF). DMTF DSP0223. Generic Operations 1.0 (Общие операции 1.0) DMTF DSP0243, Open Virtualization Format Specification 1.1 (Спецификация открытого формата виртуализации 1.1) DMTF DSP1001. Management Profile Specification Usage Guide 1.1 (Руководство no использованию спецификации профиля менеджмента 1.1) DMTF DSP4004, DMTF Release Process 2.4 (Процесс подготовки публикаций DMTF 2.4) IANA HTTP Header Registry (Реестр заголовков HTTP) IEC 80000-13:2008. International Organization for Standardization, Geneva. Switzerland. Quantities and units - Part 13: Information science and technology (Мехщународная организация no стандартизации, Женева. Швейцария. Величины и единицы. Часть 13: Информатика и информационная технология) IETF RFC2616. R. Fielding et al. Hypertext Transfer Protocol — HTTP/1.1.P. Филдинг и др. (Протокол передачи гипертекста —НТТР/1.1) IETF RFC3986. T.Berners-Lee et al. Uniform Resource Identifiers (URI). Generic Syntax, Т.Бернерс-Ли и др. (Унифицированные идентификаторы ресурса (URI). Общий синтаксис) IETF RFC4627. D. Crockford. The application/json Media Type for JavaScript Object Notation (JSON) (Д. Крокфорд, Тип медиа application/json для объектной нотации JavaScript (JSON) IETF RFC5246. T. Dierks and E. Rescorla, The Transport Layer Security (TLS) Protocol Version 1.2 (T. Диркси Э. Рескорла, Протокол безопасности транспортного уровня, Версия 1.2 (TLS) ISO 8601:20044, International Organization for Standardization. Geneva. Switzerland, Data elements and interchange formats — Information interchange — Representation of dates and times (Международная организация по стандартизации. Женева. Швейцария. Элементы данных и форматы для обмена ин­ формацией. Обмен информацией. Представление дат и времени, март 2008 г.) 2
ГОСТ Р ИСО/МЭК 19831—2017 ISO/IEC 14977:1996. Roger S. Scowen. Extended BNF — A generic base standard. Software Engineering Standards Symposium 1993 (Информационная технология. Синтаксический метаязык. Расширенная форма Бэкуса-Наура (Extended BNF) ISO/IEC Directives Part 2. Rules for the structure and drafting of International Standards (Директивы ИСО/МЭК. Часть 2. Правила построения и формулирования международных стандартов) NIST 800-145.NIST Special Publication 800-145. Peter Mell and Timothy Grance. The NIST Definition of Cloud Computing (Питер Мелл и Тимоти Грэнс. Определение облачных вычислений, сентябрь 2011 г.) NIST Special Publication 500-292. Fang Liu. Jin Tong. Jian Mao. Robert Bohn. John Messina. Lee Badger and Dawn Leaf. NIST Cloud Computing Reference Architecture. NIST 500-292(Фан Лиу, Чжин Тонг. Цзянь Мао. Роберт Бон. Джон Мессина. Ли Бэджер и Дон Лиф. Эталонная архитектура облачных вы­ числений NIST, сентябрь 2011 г.) Representational State Transfer. Roy Fielding. Doctoral dissertation. University of California. Architec­ tural Styles and the Design of Network-based Software Architectures (Рой Филдинг. Стили архитектуры и проект сетевой программной архитектуры (глава 5), Докторская диссертация. Калифорнийский универ­ ситет, 2000 г.) XML Schema — Part 1. World Wide Web Consortium (W3C) Recommendation, H. Thompson, et a l„ Editors. XML Schema Part 1: Structures Second Edition (Рекомендация Консорциума World Wide Web (W3C). X. Томпсон, и др. (редакторы), XML-схема часть 1: Структуры (вторая редакция), 28 октября 2004 г.) XML Schema — Part 2, World Wide Web Consortium (W3C) Recommendation, P. Biron. A. Malhotra, Editors. XML Schema Part 2: Data types (Second Edition) (Рекомендация Консорциума World Wide Web (W3C). П. Бирон. А. Мэлхотра (редакторы). XML-схема часть 2.Типы данных (вторая редакция), 28 ок­ тября 2004 г.)3 Термины и определения В настоящем стандарте некоторые термины, определенные в данном разделе, помимо общепри­ нятого смыслового значения также имеют иное значение. Термины «должен» («требуется»), «не должен», «следует» («рекомендуется»), «не следует» («не рекомендуется»), «не нуждается» («не требуется»), «может» и «не может» в настоящем стандарте, должны интерпретироваться по (13). Термины, приведенные в круглых скобках, являются альтернатив­ ным вариантом для термина, указанного перед скобкой для использования в исключительных случаях, когда предыдущий термин не может быть использован по лингвистическим причинам. П р и м е ч а н и е — В (13). приложение Н определены дополнительные альтернативы, которые в случае их использования следует интерпретировать в общепринятом значении. Термины «пункт», «подпункт», «абзац» и «приложение» следует интерпретироваться, как описано в [13]. раздел 5. Термины «обязательный» и «справочный» в настоящем стандарте следует интерпретировать со­ гласно [13]. раздел 3. В настоящем стандарте пункты, подпункты или приложения, имеющие справоч­ ное значение, не содержат обязательных требований. Примечания и примеры всегда являются спра­ вочными элементами. В настоящем стандарте применены термины по (4), [1] и [3], а также следующие термины с соот­ ветствующими определениями: 3.1 аутентификация (authentication): Процесс проверки заявления, предъявленного субъектом, о том, что он имеет право разрешить действовать от имени данного принципала (человека, службы и т.д.). типичными механизмами которой являются использование комбинации имени пользователя/пароля или пар открытый/закрытый ключ. 3.2 авторизация (Контроль Доступа) (authorization): Процесс проверки наличия разрешения у проверяемого принципала (человека, службы и т.д.) на выполнение определенных операций (напри­ мер. чтение, обновление) на определенных Ресурсах. 3.3 облако (cloud): Синоним термина «облачные вычисления», определенного в разделе [14]. 3.4 Потребитель Службы облачных вы числений (Cloud Service Consumer). Категория агентов, которая включает в себя Бизнес-менеджера Потребителя (утверждает деловые и финансовые расходы для использованных служб, счета на используемые реализации службы, устанавливает деловые от­ ношения. устанавливает учетные записи, бюджет, условия и т.д.), Администратора службы Потребите- 3
ГОСТ Р ИСО/МЭК 19831—2017 ля (запрашивает реализации службы и изменения в реализациях службы, закупает службы в рамках деловых отношений, создает Пользователей служб (включая политики), выделяет ресурсы, такие как компьютер и хранилище, готовит отчеты, такие как отчет об использовании и т.д.) и Пользователи служ­ бы (использует реализации службы, предоставленные Поставщиком службы облачных вычислений). Если данное действие или деятельность включат в себя более одного из вышеуказанных агентов, то используется термин «Потребитель». В случаях, когда различие между агентами данной категории су­ щественно, используются уточненные термины. П р и м е ч а н и е — Термин «Потребитель Службы облачных вычислений» эквивалентен термину «Потре­ битель Облачных вычислений», определенному в эталонной архитектуре NIST (15]. 3.5 Поставщик Службы облачны х вы числений (Cloud Service Provider): Категория агентов, ко­ торая включает в себя Менеджера операций Службы (управляет технической инфраструктурой, необ­ ходимой для предоставления службы облачных вычислений, проводит мониторинг и измеряет произво­ дительность и использование в соответствии с Соглашением об уровне обслуживания, предоставляет отчеты по мониторингу и измерениям и т.д.). Бизнес-менеджера Службы (предлагает все типы служб, созданных разработчиками службы облачных вычислений, учитывает услуги, потенциально предло­ женные самими Поставщиками службы и предлагаемые от имени разработчиков службы облачных вычислений, формирует портфель деловых отношений, устанавливает учетные записи и условия для Потребителей и т.д.) и Менеджера перехода Службы (позволяет потребителю использовать службу об­ лачных вычислений, включая первичное подключение, интеграцию и адаптацию процесса, определяет и создает службы на основе Шаблонов и Конфигураций, которые могут использоваться Потребителями и заноситься в каталог и т.д.). Если данное действие или деятельность могут включать в себя более одного из вышеуказанных агентов, то используется термин «Поставщик». В случаях, когда различие между агентами данной категории существенно, используются уточненные термины. 3.6 Набор (Collection): Особый вид Ресурса, содержащий набор других Ресурсов и снабженный представлением и сериализацией в соответствии с настоящим стандартом и являющийся синонимом термина «набора CIMI». 3.7 Конфигурация (Configuration). Совокупность метаданных, значения которых служат параме­ трами отдельной конфигурации определенного типа виртуального ресурса. 3.8 Инфраструктура как услуга; служба laaS (Infrastructure as a Service (laaS)): Модель службы облачных вычислений, определенная в (14. раздел 2]. 3.9 конф иденциальность сообщения (message confidentiality): Свойство сообщения, обеспечи­ вающее просмотр его содержания только для конкретного(ых) получателя(ей). 3.10 целостность сообщения (message integrity): Свойство сообщения, позволяющее получате­ лю этого сообщения определить, изменялось ли содержание сообщения после его создания. 3.11 Ресурс (Resource): Представление объекта, управляемого Поставщиком (Службы облачных вычислений], который обычно доступен Потребителю (Службы облачных вычислений] для доступа или операций с помощью интерфейса, описанного в настоящем стандарте, является синонимом термина «ресурс CIMI». 3.12 Шаблон (Template): Ресурс, представляющий собой совокупность метаданных и инструкций, используемых для создания экземпляра другого Ресурса (например. Machine Template используется для создания экземпляров Machine); может включать в себя другие Ресурсы метаданных, такие как дру­ гие Шаблоны, Конфигурации и Образы, например Machine Template ссылается на Machine Configuration и Machinelmage является синонимом термина «шаблон CIMI»».4 Протокол, основанный на HTTP 4.1 Введение Все операции основаны на Протоколе передачи гипертекста (HTTP), версия 1.1 [7]. Каждый за­ прос должен быть отправлен с помощью глаголов HTTP, например таких, как PUT. GET, DELETE, HEAD или POST, и включает в себя тело сообщения в формате JSON или XML. Каждый ответ использует стандартный код состояния HTTP, семантика которого интерпретируются в контексте конкретного вы­ полненного запроса. У каждого Ресурса в модели есть тип MIME, который дополнительно контекстуа­ лизирует полезную нагрузку запросов и ответов. 4
ГОСТ Р ИСО/МЭК 19831—2017 Ресурсы в модели идентифицируются с помощью URI и представление каждого Ресурса должно содержать атрибут «Ю» типа URI, который действует как «указатель на себя». Этот URI должен быть уникальным в рамках контекста реализации Поставщика. Разыменовывание (ссылка на указанный объ­ ект) (через HTTP GET) URI Ресурса приводит к представлению Ресурса, содержащего атрибуты и ссыл­ ки на связанные Ресурсы. Для того чтобы начать операцию, клиент должен знать URI главной точки входа Поставщика, также известной как Ресурс «Точка входа в облако». Тогда все остальные Ресурсы в пределах окружения должны поддаваться обнаружению путем итеративного перехода по ссылкам к связанным Ресурсам в пределах каждого полученного Ресурса. 4.1.1 Развитие протокола и ожидания клиентов Будущие версии структуры настоящего стандарта будут изменяться таким образом, чтобы клиен­ ты. использующие более ранние версии настоящего стандарта, могли продолжать работу и эволюция протокола но оказывала на них никакого отрицательного влияния. При этом клиенты должны знать не­ сколько правил, чтобы гарантировать эту совместимость: 1 Клиенты должны знать, что схемы сериализации ответов в настоящем стандарте не являются полными. В частности, клиенты должны принимать ответы, содержащие смесь данных и представлен­ ных в настоящем стандарте сериализаций, и должны игнорировать такие данные. Однако в соответ­ ствии с 4.2.1.3 клиенты должны включать неизвестные данные в запросы PUT для обновления Ресур­ сов. 2 Клиенты не должны иметь знаний об операциях, которые поддерживает сервер. Предполагают, что они обнаружат поддерживаемые (и допустимые) операции при обходе Ресурсов от Точки входа в облако. Сериализации обнаруженных Ресурсов указывают на то. какие операции поддерживаются сервером. 4.1.2 Пространства имен XML В таблице 1 приведены пространства имен XML. используемых в настоящем стандарте. Выбор любого префикса пространства имен произволен и не имеет семантического значения. Т а б л и ц а 1 — Пространства именXML Префикс Пространства имен XML Стандарт cimi http^/schemas.dmtf.org/cimi/1 Настоящий стандарт XS httpiiVwww. w3.org/2001 /XMLSchema XML Схема. Часть 2 (18) 4.1.3 Пространство URI Несмотря на то что URI. возвращенные Поставщиками, должны рассматриваться как непрозрач­ ные для Потребителей. Потребители не должны знать конкретную структуру URI для Ресурсов. По­ требители могут изменить URI, добавив некоторые четко определенные параметры запроса, которые поддерживаются Поставщиком, в соответствии с 4.1.6. Демонстрационные URI, используемые в настоящем стандарте, не являются нормативными, и ис­ пользуемые шаблоны не должны интерпретироваться как руководство для реализаций. Например лю­ бой из следующих URI может использоваться Поставщиками для ссылки на конкретный Ресурс Machine:http://example.eom/Machines/12345 http://example.com/Machines?id=12345 http://example.com/12345 http://example.com/Cloud/resourco7id:: 12345 4.1.4 Типы медиа В настоящем стандарте представления Ресурсов и ответов закодированы в формате JSON в со­ ответствии с [9]. либо в XML. Если сериализация происходит в формате JSON. типом медиа для ресур­ сов CIMI должен быть «application/json». Если сериализация происходит в формате XML. типом медиа должен быть «application/xml». В сериализации JSON представлений CIMI. отправленных Поставщиками, должен быть дополни­ тельный атрибут корневого объекта, имеющий наименование «resourceURI» и содержащий уникальный URI. связанный с типом сериализуемого ресурса CIMI. Данное требование применяется в том случае, даже если используется атрибут select для выде­ ления подмножества запрашиваемого ресурса. 5
ГОСТ Р ИСО/МЭК 19831—2017 В сериализации XML представлений Набора, отправленного Поставщиками, должен присутство­ вать атрибут resourceURI, как показано на примере сериализации XML Наборов в 5.5.12. Данный атрибут необязателен для его использования Потребителями. Если он присутствует, значение этого атрибута должно соответствовать атрибуту «typeURI» соответствующего Ресурса Re- sou rce Metadata (см. 5.11), если ResourceMetadata поддерживается. Это значение также должно быть эквивалентно объемлющему элементу сериализации XML; другими словами, конкатенации простран­ ства имен объемлющего элемента, знака «косая черта» («/») и его localName. У любого ресурса CIMI. реализованного Поставщиком, должны быть представления в JSON и XML. Клиентская реализация может таким образом использовать либо JSON, либо XML в запросах с любой реализацией сервера и может запросить определенную сериализацию, используя процедуру согласования содержания сервером (используя заголовок запроса Accept). 4.1.5 Заголовки запроса Для передачи метаданных сообщения в сообщениях запроса следует использовать общие за­ головки, заголовки запроса и заголовки объекта в соответствии с [7]. Приложения, использующие со­ общения, определенные в настоящем стандарте, должны использовать заголовки, соответствующие требованиям [7]. 4.1.6 Параметры запроса Поставщики могут принять решение включить параметры запроса как часть URI. возвращаемых Потребителям. Потребители должны включать данные параметры запроса при отправке сообщений в эти URI. Если Поставщики принимают решение определить собственные параметры запроса, то таким параметрам необходимо уделить отдельное внимание, чтобы избежать конфликтов с параметрами за­ проса. определенными CIMI. Чтобы модифицировать поведение Поставщика при обработке сообщений запроса. Потребители могут расширить запрос URI в соответствии с указаниями, приведенными далее в настоящем пункте. В соответствии с 4.1.3 URI. возвращаемые Поставщиками, должны рассматриваться Потребителями как непрозрачные. Однако Потребитель несет ответственность за поддержку параметров запроса, опреде­ ленных далее в настоящем пункте, и гарантию корректности при формировании запроса. Параметры запроса, которые не поддерживаются или неизвестны, должны быть просто проигно­ рированы Поставщиками. Потребители могут исследовать возможности Ресурса CloudEntryPoint для определения того, предоставляется ли поддержка этих параметров запроса. 4.1.6.1 Фильтрация Наборов Если Потребители получают представление Набора, они могут включать в себя параметр запро­ са Sfilter для сокращения числа возвращенных записей Набора на основании данных в рамках записей Набора. Поставщики должны интерпретировать и обрабатывать параметр запроса Sfilter в соответствии с описанием, приведенным далее. Параметр Sfilter должен иметь форму: ? $filter=expression, где «expression» — математическое выражение, обозначающее, как следует фильтровать атрибуты верхнего уровня Ресурсов в Наборе. Выражение определено следующей грамматикой EBNF: Filter AndExpr ( 'or1 Filter )* ; AndExpr ::= Comp ( 'and' AndExpr )* Comp ::= Attribute Op Value | Value Op Attribute | PropExpr | •(' Filter *)' Op ::= ’<' | '<=' | ’=’ | '>=' | ’>' | 'In- Attribute ::= ? наименование атрибута ресурса ? Value ::= IntValue | DateValue | StringValue | BoolValue IntValue ::= /[0-9]+/ DateValue ::= ? в соответствии с определением XML Схемы ? StringValue и..." | BoolValue ::= 'true' | 'false' PropExpr 'propertyf StringValue *]’ Op StringValue PropExpr используется для нахождения Ресурсов, содержащих свойство с определенной комби­ нацией ключ/значение. Ключ — StringValue в квадратных скобках ([ ]). а значение — StringValue после 6
ГОСТ Р ИСО/МЭК 19831—2017 Ор. Считается, что Ресурс удовлетворяет критериям поиска, если какое-либо из свойств в Ресурсах будет соответствовать указанному РгорЕхрг. Каждый из них должен быть соответствующим образом закодирован в URL с использованием про­ центов. Выбор оператора (включая «and» и «ог») ограничен на основании типа значения и атрибута. До­ пустимыми операторами являются: «от», «and» : Булевское значемие/атрибут; ’<*, ’>=’. «>’. ’!=' : Значемие/атрибут целого типа или дата; - \ '!=' : Строковое значение/атрибут. Потребители могут включать несколько фильтров в один URI. Поставщик должен рассматривать набор фильтров как последовательность выражений, объединенных оператором «and», и запись из На­ бора должна быть включена в ответное сообщение, только если она удовлетворяет всем выражениям фильтра.П р и м е р ы В д а н н ы х п р и м е р а х и с п о л ь з у ю т с я с л е д у ю щ и е д е м о н с т р а ц и о н н ы е с с ы л к и URLU R I к M a c h in e C o lle c tio n Т о чки в х о д а в о б л а к о с л е д у ю щ е е :/M a c h in e sU R I э к з е м п л я р а M a c h in e :/M a c h in e s /1 2 3U R I D is k C o lle c tio n э к з е м п л я р а M a c h in e :/M a c h in e s /1 2 3 /d is k sU R I M a c h in e V o lu m e C o lle c tio n э к з е м п л я р а M a c h in e :/M a c h in e s /1 2 3 /V o lu m e sЧ т о б ы о т ф и л ь т р о в а т ь M a c h in e C o lle c tio n т а к, ч т о б ы в о з в р а щ а л и с ь т о л ь к о э к з е м п л я р ы M a c h in eс а т р и б у т о м “ п а т е " р а в н ы м "m in e ", и с п о л ь з у е т с я с л е д у ю щ и й ф и л ь т р :G E T / M a c h in e s ? $ filte r= n a m e = 'm in e 'Ч т о б ы о т ф и л ь т р о в а т ь D is k C o lle c tio n у э к з е м п л я р а M a c h in e т а к, ч т о б ы б ы л и в о з в р а щ е н ы т о л ь ­к о э к з е м п л я р ы D is k с ф о р м а т о м "n t f s ", и с п о л ь з у е т с я с л е д у ю щ и й ф и л ь т р :G E T /M a c h in e s /1 2 3 /d is k s ? $ filte r= fo rm a t= 'n tfs 'Е с л и и с п о л ь з у е т с я а т р и б у т S filter, т о а т р и б у т " c o u n t" Н а б о р а д о л ж е н с о д е р ж а т ь ч и с л о Р е с у р ­с о в , с о о т в е т с т в у ю щ и х в ы р а ж е н и ю ф и л ь т р а . 4.1.6.2 Подмножества Наборов Получая представление Набора Потребители могут включать параметры запроса для определе­ ния подмножества объектов Набора, которые должны быть возвращены. Поставщики должны интер­ претировать и обработать эти параметры запроса в соответствии с требованиями настоящего раздела. В предыдущем подпункте было указано, как выполнить фильтрацию данных Набора. Данный подпункт использует порядковое положение в рамках Набора для выделения подмножества. В настоящем стандарте определены два параметра запроса, которые при их использовании долж­ ны указывать на первое и последнее порядковые положения объектов в пределах возвращенного На­ бора. Параметры запроса должны иметь форму: ?$first=4uc/ro ?Slast=число.где "Sfirst’ указывает на порядковое положение (начиная с 1) первого объекта Набора для включе­ ния в ответ, a "$last” указывает на порядковое положение (начиная с 1) последнего объекта Набора для включения в ответ. Потребители не обязаны использовать их одновременно. Если Sfirst будет опреде­ лен, a Slast не будет, то подразумеваемым значением $last должно быть числовое значение последнего объекта в Наборе. С другой стороны, если Slast будет определен, a Sfirst не будет, то подразумеваемым значением Sfirst должна быть 1. Если любая часть диапазона, выраженного с помощью Sfirst и Slast. выйдет за пределы границ Набора, то будут возвращены только те Ресурсы Набора (если они имеются), которые содержатся в пределах этого диапазона. Если какая-либо часть или весь выраженный диапазон будут за пределами Набора, сообщение об ошибке не должно генерироваться. П р и м е ч а н и е — Если значение Sfirst более $iast. диапазон должен представлять собой пустой массив, поэтому никакие Ресурсы не будут возвращаться. 7
ГОСТ Р ИСО/МЭК 19831—2017 Если Sfirst или Siast определены и выражение фильтра (в соответствии с 4.1.6.1) также определе­ но. то первым должно быть обработано выражение фильтра, а затем следует применять порядковые ограничения Sfirst и $last. 4.1.6.3 Выделение подмножества Ресурса Запрашивая представление Ресурса Потребители могут включать параметр запроса Sselect, что­ бы определить подмножество Ресурса, с которыми будут взаимодействовать. Поставщики должны ин­ терпретировать и обработать этот параметр запроса в соответствии с требованиями настоящего раз­ дела. Данное подмножество должно иметь семантическую эквивалентность ссылки на другой Ресурс, атрибутами которого является подмножество исходного Ресурса в соответствии с именами атрибутов, перечисленными в параметре запроса Sselect. Формат параметра запроса Sselect: ? $5е1ес1=иаименование Атрибута... Значение параметра запроса Sselect должно выглядеть как перечень наименований атрибутов верхнего уровня Ресурса, разделенных запятой, возможно включая строку «operations» в этом случае, необходимо выбрать операции, доступные Потребителю для этого Ресурса. Любое наименование атри­ бута. ошибочно появляющееся в списке, который не является частью Ресурса, должно быть проигнори­ ровано Поставщиком. Наименование атрибута «*» эквивалентно определению всех атрибутов Ресурса, включая его операции. Если наименование атрибута явно появляется в URI более одного раза, его второе (и последующие появления) должны быть проигнорированы. В URI параметр запроса Sselect может появиться несколько раз. Это семантически эквивалентно появлению всех имен атрибутов как значения единичного параметра запроса Sselect. Например: ?$select=name&Sselect=state эквивалентно: ? $select=name.state В целях сериализации порядок имен атрибутов в параметре запроса Sselect не имеет значения. Атрибуты сериализуются в соответствии с правилами/порядком сериализации, указанным в определе­ нии Ресурса. П р и м е ч а н и е — Как указано е 4.1.4. если представление Ресурса отправляется Поставщиком, оно долж­ но всегда включать в себя атрибут resourceURI. даже если это не определено в параметре запроса Sselect. Например чтобы ограничить подмножество перечня атрибутов объектов Machine, с которыми По­ требитель собирается взаимодействовать, только атрибутами «пате» и «description», используется следующий параметр запроса: ?$select=name.description Информация о влиянии этого параметра запроса при обновлении Ресурса приведена в 4.2.1.3.1. Если для Ресурса Набора в URI используется Sselect. то подмножества должны применяться к атрибутам самого Набора, как для любого другого Ресурса. Например, следующее определение под­ множества Ресурса Набора приведет к передаче только числа элементов и операций, доступных для данного Набора: ?$select=count,operations Однако в случае Ресурсов Набора, если некоторый атрибут, указанный в списке Sselect. не явля­ ется атрибутом верхнего уровня Ресурса Набора, а вместо этого является атрибутом объектов, которые являются элементами Набора, то подмножество должно относиться к каждому элементу Набора отно­ сительно этого атрибута. Например при получении DiskCotlection следующий параметр запроса ?$se- lect=name.capacity возвращает набор экземпляров Disk, связанных с некоторым экземпляром Machine, но каждый объект Набора содержит только атрибуты п а т е и capacity, а также атрибуты operation или id. Опционально реализация также может поддерживать альтернативную нотацию наименования атрибута / для выделения подмножества элементов в наборе. Напри­ мер следующее подмножество из элементов Набора DiskCollection эквивалентно тому, которое было выполнено в предыдущем примере: кроме того, включается перечисление операций самого ресурса Набора (а не его элементов): ?$select=disks/name,disks/capacity .operations Если поддерживается эта нотация (см. возможность «QueryPathNotation» в 5.11.2). она позволяет разрешать неоднозначности подмножеств, если одно и то же наименование атрибута можно найти как в самом Наборе, так и для каждого элемента в Наборе (это всегда верно для id и operations). 8
ГОСТ Р ИСО/МЭК 19831—2017 4.1.6.4 Разворачивание ссылок Запрашивая представление Ресурса Потребители могут включать параметр запроса Sexpand для определения, какие атрибуты верхнего уровня Ресурса, на которые указывают ссылки, должны быть до­ бавлены в представление. Поставщики должны интерпретировать и обработать этот параметр запроса в соответствии с требованиями настоящего раздела. Разворачивание ссылки означает, что атрибуты Ресурса, на который указывает ссылка, должны быть включены в сериализацию этого атрибута. Это функция позволяет оптимизировать получение Ресурсов. Сериализация должна быть выполнена следующим образом: Сериализация JSON: "name': {'href': string} должна быть расширена, и стать: "name’ : { "href": string, ... атрибуты ресурса, на который указывает ссылка... } Сериализация XML: должна быть расширена, и представлять собой: ... атрибуты ресурса, на который указывает ссылка... П р и м е ч а н и е — В случае XML вложенные элементы не должны содержать элемент-обертку Ресурса, на который ссылаются (например. в случав ссылки на Ресурс Machine). Формат параметра запроса Sexpand должен быть следующим: ? $ехрапД=наименование Атрибута... Значение параметра запроса Sexpand —перечень наименований атрибутов, разделенных запя­ той. Любое наименование атрибута, ошибочно появляющееся в списке, которое не является частью Ресурса или ссылкой, должно быть проигнорировано Поставщиком. Наименование атрибута «*» или полное отсутствие перечня наименований атрибутов эквивалентно перечислению всех атрибутов. Если наименование атрибута явно появляется в URI более одного раза, его второе (и последующие появле­ ния) должны быть проигнорированы. Параметр запроса Sexpand может появиться в URI несколько раз. Это семантически эквивалентно появлению всех наименований атрибутов как значения единичного параметра запроса Sexpand. Если запрашиваемым Ресурсом является Набор, то наименования атрибутов, перечисленные в Sexpand. должны применяться к атрибутам ресурсов, содержащихся в Наборе. Например определе­ ние ? Sexpand=volumes при запросе к MachineCollection имеет тот же самый итоговый эффект, что и применение семантики «расширения» к указанному атрибуту (в данном примере «Volumes») каждого Ресурса Machine в пределах Набора. При этом Sexpand действует на атрибуты Ресурсов в Наборе, а не на атрибуты самого Ресурса Набора. 4.1.6.5 Определение формата Ресурса Для определения стиля кодирования ответа при запросе представления Ресурса используется за­ головок HTTP Accept. Несмотря на то. что Потребителям рекомендуется использовать заголовок Accept, могут возникнуть ситуации, когда Потребители будут не в состоянии управлять значениями, определен­ ными в данном заголовке. В этих случаях Потребители могут использовать параметр запроса Sformat, чтобы переопределить значения заголовка Accept. Поставщики должны интерпретировать и обраба­ тывать параметр запроса Sformat. в соответствии с требованиями настоящего раздела. Параметр Sformat должен иметь форму ? Sformat=encoding. где 'encoding* — требуемое пред­ ставление ответа. Настоящий стандарт определяет два возможных значения: «json» и «xml». Постав­ щик может поддерживать также другие значения. Значение параметра запроса Sformat не зависит от регистра. Если в сообщении запроса будут присутствовать заголовок Accept и параметр запроса Sformat, то значение Sformat является приоритетным. Если параметр запроса Sformat появляется более одного раза, то второе и последующие его появления должны быть проигнорированы. 9
ГОСТ Р ИСО/МЭК 19831—2017 4.1.6.6 Сортировка Наборов При запросе представления Набора Потребителям допускается включать параметр запроса Sor­ derby для сортировки возвращаемых записей Набора на основании различных атрибутов и в различном порядке (убывания). Поставщики должны интерпретировать и обрабатывать параметр запроса Sorder- by в соответствии с требованиями настоящего раздела. Параметр Sorderby должен иметь форму ?Sorderby=HanMeHOBaHHeATpn6yTa/.ascj.descy. ... Выражение Sorderby может включать в себя несколько наименований атрибутов, разделенных запятой. Кроме того, каждое наименование атрибута может сразу сопровождаться двоеточием и клю­ чевыми словами «asc» для обозначения порядка по возрастанию (значение по умолчанию) или «desc» для обозначения порядка по убыванию для данного атрибута. Если ни asc. ни desc не заданы, то по­ рядок должен быть возрастающим. Атрибуты, включенные в Sorderby, должны иметь следующие типы в соответствии с 5.5: boolean. dateFormat. duration, integer или string. Сортировка зависит от типа атрибута. Следующие правила относятся к сортировке по возрастанию: - boolean — значение «false» должно быть расположено перед значением 'true"; - dateTime — более ранние значения дата/время должны быть расположены перед более поздни­ ми значениями дата/время; - duration — более короткая продолжительность должна быть расположена перед более длитель­ ной продолжительностью; - integer — меньшее целое число должно быть расположено перед большими целыми числами. Отрицательные целые числа должны быть расположены перед положительными целыми числами. - string — порядок основан на порядке сортировки Unicode/UTF-8. Порядок сортировки desc (по убыванию) должен быть противоположным указанному выше.П р и м е р ыД л я с о р т и р о в к и н а б о р а р е з у л ь т а т о в Р е сур са M a c h in e s C o lle c tio n п о а т р и б у т у "c re a te d " в п о р я д к еу б ы в а н и я , и с п о л ь з у ю т с л е д у ю щ е е в ы р а ж е н и е :G E T / M a c h in e s ? $ o rd e rb y = c re a te d :d e s cД л я с о р т и р о в к и н а б о р а р е з у л ь т а т о в Р е с у р с а M a c h in e s C o lle c tio n п о а т р и б у т у "е р и " в п о р я д к еу б ы в а н и я , а з а т е м п о а т р и б у т у " m e m o r y " в п о р я д к е в о з р а с т а н и я , и с п о л ь з у ю т с л е д у ю щ е е в ы р а ж е н и е :G E T / M a c h in e s ? $ o rd e rb y = c p u :d e s c , m e m o ry :a s c 4.1.6.7 Заголовки ответа В соответствии с [7] для передачи метаданных сообщения в ответных сообщениях в настоящем стандарте использованы заголовки общего назначения, заголовки ответа и заголовки объекта (entity), чтобы предоставить метаданные о сообщении. В приложениях, в которых использованы сообщения, определенные в настоящем стандарте, следует использовать заголовки, совместимые с Реестром за­ головков HTTP (5). 4.1.6.8 Заголовок Job Если сервер поддерживает Ресурс Job, то ответные сообщения должны включать в себя заголо­ вок, определенный в настоящем стандарте, чтобы указать на URI задания, созданного для обработки связанного с ним сообщения запроса: CIMI-Job-URI = " CI MI - J o b - URI " s t r i n g В тех случаях, когда во время обработки запроса происходит ошибка. Поставщик должен вклю­ чить представление Ресурса Job. описывающего состояние иеудавшейся операции. Представление Job должно быть включено даже в тех случаях, если Поставщик обычно не поддерживает Ресурсы Job, чтобы гарантировать, что Потребителям предоставлена достаточная информация согласованным спо­ собом относительно причины неудачи, независимо от того, поддерживает ли Поставщик Ресурсы Job. Если Ресурсы Job в целом не поддерживаются, то любая из ссылок в представлении Job (например, «id» или «href» для nestedJobs) должна быть представлена пустыми путями (т. е.«»), и массив nestedJob должен быть развернут (см. 4.1.6.4), чтобы встроить представление псевдоподчиненных заданий Job. 4.1.6.9 Поддержка завершающего тега (ЕТад) Заголовок ЕТад может быть предоставлен Поставщиком с каждым Ресурсом в соответствии с [7]. Если Поставщик действительно предоставляет заголовок ЕТад, то он должен также поддержать обра­ ботку заголовка If-Match от имени Потребителя. 10
ГОСТ Р ИСО/МЭК 19831—2017 4.2 Операции протокола В настоящем подразделе определена совокупность общих операций HTTP, которые могут быть предоставлены Поставщиком. Его ядро составляют четыре основные операции CRUD — Create (Создать). Read (Читать). Update (Обновить) и Delete (Удалить). В рамках модели способ, которым они используются, является совместимым для всех Ресурсов, поэтому их использование определено один раз и должно унифицировано применяться. Некоторые Ресурсы поддерживают специализированные операции, которые не полностью подходят для стиля операций CRUD: такие операции тем не менее следуют общему высокоуровневому шаблону, но в каждой операции допускается вносить небольшие изменения, чтобы приспособить ее для определенных потребностей. Специфические особенности этих отдельных операций детально описаны в пункте, который определяет соответствующий Ресурс. При необходимости некоторые представления Ресурса включают в себя атрибут «operations». По­ ставщики должны включать атрибут «operations», только в том случае, если указанные операции до­ ступны для клиента этого конкретного Ресурса. Это означает, что при каждой сериализации Ресурса может возвращаться различная совокупность операций, что связано с многочисленными факторами (например, права авторизации клиентов, текущее состояние Ресурса и т.д.). Каждая операция должна включать в себя поля "геГ и ’ href'. Поле "геГ должно однозначно определять наименование операции (например, "add*, "edit"), в то время как поле "h re f представляет собой URI, на который должно отправ­ ляться сообщение запрос операции. П р и м е ч а н и е — Поле URI "href может отличаться от URI самого Ресурса. Атрибут операций должен быть сериализован следующим образом: Сериализация JSON: {’ operations*: { {’ геГ: "strin ’ h re f: ’ string"). + } Сериализация XML: xmlns = ’ http://schemas.dmtf.org/cimi/r> «operation rel-'xs:anyU R r href ="xs:anyURI*/> *Например операция "edit" выглядит следующим образом: Сериализация JSON: {’ operations*: { {’ геГ. "edit", "h re f: *"} ] } Сериализация XML: xmlns=*http://schemas.dmtf.org/cimi/1 *> «operation rel="edit" href = "«editURI>"/>Поставщики могут определить дополнительные значения «ге!», которые должны быть полностью квалифицированными URI. а не относительными URI. 4.2.1 Общие опорации CRUD Каждый из Ресурсов, поддерживаемых данным протоколом, должен придерживаться сценариев взаимодействия, определенных далее. 4.2.1.1 Создание нового Ресурса Чтобы создать новый экземпляр типа Ресурса, на этот тип Ресурса отсылают запрос POSTHTTP к определенному "addURI". Во многих случаях ресурс Набора, который поддерживает или группирует все реализации этого типа Ресурса, включает операцию ’ add". Операция "add" ссылается на addURI, который должен использоваться. Запрос POSTHTTP должен включать в себя: - сериализацию CIMI запроса на создание нового Ресурса в теле HTTP; - заголовок HTTPContent-Type; - заголовок HTTPContent-Length. 11
ГОСТ Р ИСО/МЭК 19831—2017 Например запрос может быть следующим: НТТР/1.1 POST Host: Accept: application / (json|xml) Content-Type: application / (json|xml) Content-Length. <сериализация запроса создания нового росурса> В данном примере есть заголовок Acceptc одним из типов медиа, поддерживаемых CIMI: appli- cation/json или application/xml. Если Поставщик принимает решенио включить в ответ сериализацию, то данная сериализация должна иметь указанный тип медиа. Отсутствие заголовка Accept позволяет Поставщику включить в ответ сериализацию любого типа медиа. Если Ресурс будет содержат атрибут "state", то его значение должно быть "CREATING” в то время, когда Поставщик будет обрабатывать эту операцию. Многие запросы create определены таким образом, чтобы передавать Шаблон нового Ресурса. Такие запросы create допускают, чтобы Шаблон передавался по ссылке или по значению. Например создание новой Machine может выглядеть следующим образом (в данном примере используется XML): xs.string «/property? * «MachineTemplate href = Hxs:anyURI"?> ... атрибутышаблона...? «/MachineTemplate? «/MachineCreate? П р и м е ч а н и е — В случае XML создание новой Machine требует наличия элемента обертки под названи­ ем MachineCreate в соответствии с правилами, определенными в 5.5.12.1. Создание нового Ресурса осуществляется в соответствии с одним из двух сценариев сериализа­ ции (данный пример приведен в JSON): (1) Создание ресурса путем передачи Шаблона по значению: {"resourceURI": "http://schemas.dmtf.Org/dmi/1/ResourceCreate", "name”: "myResourceName"? "description": "Мое описание ресурса"? "properties": {"prop1name'\"prop1 value", +}? "resourceTemplate": { «в этом случае шаблон передан значением? } } (2) Создание ресурса с передачей шаблона по ссылке: ("resourceURI": ' http://schemas.dmtf.0rg/dm i/l/Res0urceCreate". "name": "myResourceName"? "description": "Мое описание ресурса"? "properties": {"prop1name'\"prop1 value", +}? "resourceTemplate": {"href” : строка, «в этом случае могут быть добавлены некоторые пары атрибут/значение шаблона для пере­ определения значения в шаблоне, на который указывает ссылка? } } В случае, если созданный Ресурс сам является Шаблоном, то применяется только первый сцена­ рий создания — по значению. В сценариях (1) и (2) атрибут resourceURI определяет операцию, которую в общем случае можно идентифицировать как "ResourceCreate". например MachineCreate. В сценариях (1) и (2) элемент, соответствующий Шаблону Ресурса (идентифицированному как «resourceTemplate». например MachineTemplate). определяет Шаблон, который будет использоваться либо по значению (1), либо по ссылке (2). 12
ГОСТ Р ИСО/МЭК 19831—2017 Прямая установка атрибутов в новом Ресурсе: В запросе создания допускается установить значения некоторых атрибутов созданного Ресурса независимо от того, какие значения были заданы в экземпляре Шаблона, если использовался только этот экземпляр. В созданном Ресурсе могут быть установлены три общих атрибута: name (наименова­ ние). descnption (описание) и properties (свойства). Семантика должна быть такой же. как и при частичном обновлении Ресурса для этих атрибутов (описанном в следующем подразделе), последовавшем непосредственно за созданием Ресурса только из одного Шаблона. Определение или ссы лка на Шаблон Ресурса. В сценарии (1) Поставщик может принять решение о создании Ресурса Шаблона из переданного значения, но такой экземпляр будет временным. Поставщик не должен представлять такой промежу­ точный Ресурс Потребителю, и ни один такой промежуточный Ресурс не должен быть включен в какиелибо результаты запроса в ответе Потребителю. В сценарии (2) дополнительные пары наименование атрибутаУзначение атрибута могут переда­ ваться внутри элемента ResourceTemplate, который также содержит ссылку на внешний (существую­ щий ранее) Шаблон, чтобы переопределить подобные атрибуты, определенные в Шаблоне: - любой атрибут верхнего уровня составного или простого типа в Шаблоне, на который ссылается операция, должен быть переопределен путем присвоения ему пары наименование/значение в запро­ се create в элементе resourceTemplate и сразу под ним. Для атрибута верхнего уровня составного типа (например, массивы. Наборы, структуры), предоставленное составное значение должно также устанав­ ливать все вложенные атрибуты, например элементы массива; - семантика должна быть такой же. как при изменении (переопределении) частей Шаблона, на который ссылается операция, непосредственно перед его использованием для создания экземпляра Ресурса, но эти переопределения не должны сохраняться в Шаблоне, на который указывает ссылка и должны иметь отношение только к этому экземпляру. В сценарии (2) Потребители могут стереть любые атрибуты Шаблона, определяя либо «attnbute»: null для атрибута в сериализации JSON, либо «attribute/» в сериализации XML для этого атрибута.П р и м е р ыП р и м е р с ц е н а р и я с о з д а н и я (1) с и с п о л ь з о в а н и е м M a c h in e T e m p la te п о з н а ч е н и ю (в JS O N ):{ "re s o u rc e U R I": "h ttp ://s c h e m a s .d m tf.o rg /c im V 1 fM a c h in e C re a te ","п а т е ": ",т у M a c h in e 123 ", " d e s c r i p t i o n " : " М а ш и н а , к о т о р а я б у д е т п о д к л ю ч е н а к с у щ е с т в у ю щ е й с е т и " ,"m a c h in e T e m p la te " : {<в э т о м с л у ч а е ш а б л о н п е р е д а н п о з н а ч е н и ю , т. е. п а р а м и а т р и б у т /з н а ч е н и е д л я Ш а б л о н а M a c h in e -T e m p la te . Н и ж е п р и в е д е н п р и м е р д л я n e tw o rk ln te rfa c e s >"n e tw o rk ln te rfa c e s " : [{ " a d d re s s e s ": [ { " a d d r e s s " : { " h r e f " : " h ttp ://e x a m p le .c o m /a d d re s s e s /a d d 1 " }},{" a d d r e s s " : { " h r e F : " h ttp ://e x a m p le .c o m /a d d re s s e s /a d d 2 "}}]," n e tw o rk " : { " h r e f " : " h ttp ://e x a m p le .c o m /n e tw o rk s /n e t1 "}," s ta te " : "A C T IV E "})} } В данном примере: Атрибуты name и description являются параметрами уровня экземпляра Ресурса, потому что они находятся вне элемента MachineTemplate (т. е. они устанавливают значения атрибута в новом создан­ ном Ресурсе, а не в Шаблоне, используемом для создания такого Ресурса). Наименование нового эк­ земпляра Machine — ’ myMachine123". Этот экземпляр Machine подключен к существующей сети (экземпляр Network), обозначенному ссылкой (http://example.eom/netv/orks./net1). указанной в составном атрибуте Шаблона. 13
ГОСТ Р ИСО/МЭК 19831—2017П р и м е р П р и м е р с ц е н а р и я с о з д а н и я (2) с и с п о л ь з о в а н и е м M a c h in e T e m p la te п о с с ы л к е : { "re s o u rc e U R I": " h ttp ://s c h e m a s .d m tf.O rg /c im i/1 /M a c h in e C re a te ","п а т е ~ m yM a ch in e 4 5 6 ",d e s c r i p t i o n ": " М а ш и н а п о д к л ю ч е н а к с у щ е с т в у ю щ е м у т о м у " ,"m a c h in e T e m p la te " : { " h r e r : " h ttp ://e x a m p le .c o m /M a c h in e T e m p la te s .f7 2 0 0 0 ",C re d e n tia l": { " h r e r : " h ttp ://e x a m p le .c o m /m y C re d e n tia r}" n e tw o rk ln te rfa c e s /{ "a d d re s s e s ": [ { “a d d re s s " : { " h r e r : "h ttp ://e x a m p le .c o m /a d d re s s e s /a d d 4 " }}, {" a d d r e s s " : { " h r e f : "h ttp ://e x a m p le .c o m /a d d re s s e s /a d d 5 "}}]," n e tw o rk " : { " h r e f " : "h ttp ://e x a m p le .c o m /n e tw o rk s /n e t1 "}, " s ta te " : "A C T IV E "}]} } В данном примере создана новая машина, названная "myMachine456". которая также связана с существующей сетью Network, как и в примере (1). но с иной совокупностью адресов Addresses. В на­ стоящем примере во время создания присваиваются значения двум видам атрибутов: - установка атрибута уровня экземпляра Ресурса: эти атрибуты должны быть незамедлительно обновлены в созданном Ресурсе, в данном случае па те и description; - переопределение атрибутов Шаблона: MachineTemplate. на который указывает ссылка, исполь­ зуется для создания Machine, но атрибут Credential в этом Шаблоне переопределен учетными данны­ ми. предоставленными в запросе создания, также как и массив networklnterfaces. В случае, если такие атрибуты не присутствовали в Шаблоне по ссылке, их добавляют (временно) только для создания этого экземпляра Machine. Некоторые запросы на создание допускают передавать конфигурационные параметры Ресурсов по ссылке или по значению, например Credential в операции создания Machine. Правила обработки, определенные выше, применяют также и в этих случаях. Если ответ имеет код статуса 201, то ответ должен включать в себя: - заголовок HTTP Location со ссылкой на новый Ресурс. Если ответ на запрос включает в себя сериализацию нового Ресурса, то ответ должен дополни­ тельно содержать: - заголовок HTTP Content-Type; - заголовок HTTP Content-Length. Например ответ может быть следующим: НТТР/1.1 201 CreatodLocation: <местоположение> Content-Type: application/(json|xml) Content-Length: <дпина><свриализация нового ресурса> 4.2.1.3 Обновление ресурса Для обновления состояния Ресурса по адресу editURI, заданного для этого типа Ресурса, направ­ ляют запрос PUTHTTP. содержащий полное обновленное представление. Потребители должны вклю­ чать в запрос PUT все непустые атрибуты Ресурса, включая те. которые они. возможно, не поддержи­ вают или не понимают, которые возвращались в ответе GET. Это нужно для того, чтобы гарантировать, что клиент не изменяет (стирает) непреднамеренно данные в Ресурсе, исключив их из полного пред­ ставления Ресурса. Во многих случаях данный editURI совпадает с URI самого Ресурса. При получении представле­ ние Ресурса должно включать в себя операцию «edit», содержащую editURI. который должен использо­ ваться. если запрашивающей стороне разрешено изменять Ресурс. Если при обработке запроса PUT сервер обнаруживает, что предпринимается попытка обновить атрибут, предназначенный только для чтения или неизменяемый атрибут, он должен проигнорировать этот запрос обновления атрибута, не генерируя сообщения об ошибке. Это правило также относится к частичному обновлению Ресурса. Из-за потенциальных конфликтов, которые могут произойти вследствие нескольких параллель­ ных обновлений. Потребители должны использовать механизм частичного обновления, определенный в 4.2.1.3.1, чтобы уменьшить возможности ошибочного обновления атрибутов устаревшими данными. 14
ГОСТ Р ИСО/МЭК 19831—2017 Запрос PUT HTTP должен включать в себя: - сериализацию CIMI обновленного Ресурса в теле сообщения HTTP, - заголовок HTTP Content-Typo, - заголовок HTTP Content-Length. Например запрос может быть следующим: PUTHTTP/1.1 Host: «наименование узла> Accept, application / (json|xml) Content-Type: application / {json|xml) Content-Length: <длина><сериализация запроса с целью обновить ресурс>Если ответ будет включать в себя сериализацию обновленного Ресурса и иметь код статуса 200. то данный ответ должен включать в себя: - заголовок HTTP Content-Type; - заголовок HTTP Content-Length. Например ответ может быть следующим: НТТР/1.1 200 ОК Content-Type: application / (json|xml) Content-Length: <длина><сериализация обновленного рвсурса> 4.2.1.3.1 Частичное обновление Ресурса В данном подпункте определено, как следует использовать параметр запроса Sselect (см. 4.1.6.3) для определения подмножества Ресурса с целью работы только на выбранной совокупности атрибутов верхнего уровня. Для обновления конкретных атрибутов Ресурса только верхнего уровня Потребитель может вклю­ чать в представление Ресурса в теле запроса HTTP только измененные атрибуты. Для выполнения та­ кого запроса URI для Ресурса должно включать в себя атрибуты, которые будут изменены как перечень значений параметров запроса, разделенных запятой. URI должен иметь следующий вид:http://example.com/resource?$select=attributo1.attribute2... Изменению подлежат только те атрибуты, которые перечислены в параметрах запроса URI. атри­ буты. не перечисленные в URL не должны напрямую изменяться в результате запроса. П р и м е ч а н и е — Это обстоятельство не устраняет возможность возникновения побочных эффектов в результате обновления атрибута, которые приведут к изменению атрибута, отсутствующего в параметрах запроса. Любой атрибут, перечисленный в URI, но не включенный в запросНТТР. должен быть переуста­ новлен на значение, характерное для Ресурса (например, удален). С точки зрения HTTP частично обновленный Ресурс является индивидуальным. Семантика обыч­ ного HTTPPUT сохраняется, что является полной заменой указанного Ресурса. С точки зрения Потре­ бителя частичное обновление интерпретируется и выполняется Поставщиком Службы Облачных Вы­ числений, при этом изменяется некоторая часть Ресурса. В соответствии с общей семантикойРиТ, определенной ранее, любой атрибут исходного (полного) Ресурса, включенный в запрос HTTP, должен привести к ошибке, если этот атрибут не перечислен в параметре запроса Sselect (см. 5.4). П р и м е ч а н и е — Это происходит вследствие того, что такие атрибуты неизвестны частичному Ресурсу. В следующем примере показано, как запрос обновляет только атрибуты п а т е и description Machine: PUT /Machines/myMachine?$select=name,description HTTP/1.1 Host: «наименование уэла> Accept, application/xml Content-Type: application/xml Content-Length: «длина> «Machine> «name> My New Machine «/name* «/Machine» Атрибут name установлен в "My New Machine’ , а атрибут description удален. 15
ГОСТ Р ИСО/МЭК 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: В этом случае требуемая операция должна быть завершена и JobURI должен указать на выпол­ ненное задание. Если задание не будет завершено, то сервер должен вернуть код ответа 202 и следо­ вать инструкциям для выполнения асинхронных операций. 4.2.1.7 Асинхронные операции В некоторых случаях выполнение операции, затребованной клиентом, может занять неопреде­ ленный промежуток времени для своего завершения. Например создание нового экземпляра Machine или запуск существующего экземпляра Machine могут занять относительно много времени до своего завершения. В таких случаях непрактично завершать эти операции в пределах таймаута запроса HTTP, поэтому Поставщик должен вернуть код ответа HTTP «202 Accepted». Как и в случае с синхронными операциями, если Поставщик поддерживает Ресурс Job. он должен создать Ресурс Job для входящего запроса и вернуть ссылку на этот Ресурс Job обратно клиенту в за­ головке CIMI-Job-URI в ответном сообщении HTTP. Кроме того, в случае, если кодом ответа является «202 Accepted». Поставщик может также вернуть в теле ответа HTTP любое из следующего: - представление Ресурса Job, если такой был создан; - частичное представление ответного сообщения, как если бы операция была синхронной. Напри­ мер при создании нового экземпляра Machine ответное сообщение может включать в себя частичное представление нового экземпляра Machine в ответном сообщении. Возвращаемый перечень атрибутов Ресурса определяется реализацией и основывается на том. сколько информации доступно в то вре­ мя. пока генерируется ответное сообщение, но он должен быть совместим с представлением полного 16
ГОСТ Р ИСО/МЭК 19831—2017 Ресурса. При выполнении операции create Поставщик может также включать заголовок HTTP Location, содержащий ссылку на создаваемый Ресурс, если он известен; - пустое тело ответа. П р и м е ч а н и е — Решение по поводу того, является ли какая-то конкретная операция синхронной или асинхронной, принимает сервер. 4.3 Поддержка OVFВ спецификации открытого формата виртуализации (OVF) по [2] описан открытый, безопас­ ный. переносимый, эффективный и расширяемый формат для упаковки и распространения программ­ ного обеспечения, которое будет выполняться в виртуальных машинах. Поддержка OVF в CIMI по­ зволяет использовать пакеты OVF для создания ресурсов менеджмента CIMI путем импорта пакета. Кроме того, ресурсы менеджмента CIMI могут быть экспортированы в пакет OVF. Фактическая поддерж­ ка пакета OVF обычно реализуется гипервизором, которым управляет поставщик CIMI. Импорт пакета OVF предоставляет доступ к набору конструкций и параметров, определяемых CIMI. без изменений исходного пакета OVF. Таким образом, ресурсы CIMI. созданные в результате импорта, формируют «представление» того, что сделано гипервизором. Однако другая (не имеющая отображение в CIMI) ин­ формация от пакета OVF может быть использована гипервизором при его импорте. Такая информация определяется реализацией и далее не рассматривается в настоящем стандарте. Пакет OVF может поддерживать единичные виртуальные машины (далее — ВМ). соответствую­ щие единичному экземпляру CIMI Machine или MachineTemplate(CM. 5.14.1), либо может поддерживать сложную иерархию ВМ и связанных с ними ресурсов, соответствующих CIMISystem или SystemTemplate (см. 5.13.1). и связанных ресурсов менеджмента CIMI. Описание поддержки OVF более подробно приведено в приложении А.5 Модель Данная модель предполагает, что между Потребителем и Поставщиком уже установлены дело­ вые отношения. Эти отношения могут включать в себя финансовые условия, приводящие к созданию отдельно администрируемых облаков, за которые платит организация-потребитель, и установлению учетных данных аутентификации для получения доступа к административной точке входа для каждого облака. Областью применения данной модели является отдельно администрируемое облако. Описание модели CIMI приводится в виде таблицы. Прототипом послужило моделирование сущ­ ность — связь (Entity-Relationship), где каждый объект моделирует значительный облачный ресурс, для которого ожидаются независимый доступ и манипуляция. Отношения между ресурсами осуществляет­ ся с помощью механизма ссылок, основанного на уникальных идентификаторах, который, как ожида­ ется. уже поддерживается окружающей средой реализации и протоколом (например. URI для HTTP). Модель описывает сама себя и допускает запросы своих собственных метаданных, например для обнаружения поддерживаемых расширений. Также модель может быть расширена различными спосо­ бами (см. 5.1). Наряду с этой моделью определена сериализация ее объектов (как в XML. так и в JSON). Альтернативное представление каждой главной группы ресурсов представлено в виде диаграммы UML. 5.1 Обертки Ресурсов В данной модели сериализация экземпляров Ресурсов должна соответствовать ряду правил. На­ пример сериализация Ресурса с именем MyResource должна соответствовать следующим правилам; Сериализация JSON: Ресурс сериализован как объект, обертывающий все его атрибуты, но без наименования обертки. Ресурс включает в себя resourceURI с URI типа сериализуемого Ресурса, например. {"resourceURI": "http://example.com/MyResource". "attribute"; "value" } 17
ГОСТ Р ИСО/МЭК 19831—2017 Сериализация XML: Ресурс сериализован как элемент с наименованием, соответствующим наименованию Ресурса; например: value 5.2 Расширяемость Модель CIMI определяет два типа механизмов расширяемости: один предназначен для использо­ вания Потребителями, а второй должен использоваться Поставщиками. Первый тип механизма расширяемости позволяет Потребителю CIMI добавлять дополнительные данные к Ресурсу. У каждого Ресурса в модели CIMI есть атрибут с наименованием properties. При соз­ дании или обновлении Ресурса Потребители могут сохранять любую пару наименование/значение в атрибуте properties. Поставщики CIMI должны сохранять и возвращать эти значения Потребителю. От Поставщика не требуется понимать эти значения или предпринимать какие-либо действия на основа­ нии этих значений, так как они существуют только для удобства Потребителя. Поставщики не должны добавлять элементы к атрибуту properties. Второй тип механизма расширяемости позволяет Поставщику определять свои расширения: в настоящем стандарте для этих целей включен Ресурс ResourceMetadata, который используют, чтобы: - ввести ограничения на существующие атрибуты ресурса, определенные CIMI. (например, уста­ новить максимальное значение для атрибута «сри» Ресурса MachineConfiguration); - ввести новые атрибуты для определенных Ресурсов CIMI вместе с любыми ограничениями, свя­ занными с ними (например, новый атрибут «location» для Ресурса Volume, который принимает значе­ ние. состоящее из определенной совокупности строк); - ввести новые операции для любого из Ресурсов, определенных CIMI (например, определить новую операцию «compress» (сжать) для Ресурса Volume); - указать определенные возможности или особенности любого Поставщика (например, отрезок времени, в течение которого Ресурс Job сохраняется после завершения задания Job). Поставщикам рекомендуется использовать Ресурс ResourcoMetadata для распространения этих атрибутов, операций и возможностей наряду с любыми ограничениями, которые должны быть понятны­ ми для Потребителей. Ресурс ResourceMetadata определен в 5.11. Если Поставщик получает сообщение, содержащее атрибут, который неизвестен или не поддер­ живается, он должен отклонить запрос. Если Потребитель получает сообщение, содержащее атрибут, который неизвестен или не поддерживается, он должен проигнорировать данный атрибут. Однако По­ требители обязаны включать эти атрибуты в сообщения, которые передаются обратно Поставщику. П р и м е ч а н и е — В этих случаях Потребитель не должен понимать или обрабатывать неподдерживаемый атрибут, а должен просто вернуть его обратно Поставщику. 5.3 Идентификаторы Все идентификаторы (например, наименования Ресурсов, атрибуты, операции, названия параме­ тров). приведенные в настоящем стандарте или определенные расширением, должны соответствовать следующим правилам: - наименования идентификатора считают чувствительными к регистру; - наименования идентификатора должны использовать только следующую совокупность символов: - Прописной ASCII (от U+0041 до U+005A); - Строчный ASCII (от U+061 до U+007A); - Цифры (от U+0030 до U+0039); - Нижнее подчеркивание (U+005F); - число идентификатора не должны начинаться с Цифры (от U+0030 до U+0039). П р и м е ч а н и е — Эти правила не относятся к общему атрибуту 'name", определенному в 5.10.1. 5.4 Ограничения атрибута Каждый атрибут Ресурсов в модели CIMI дополнен рядом ограничений, которые дополнительно квалифицируют определяемый атрибут. Для каждого атрибута существует совокупность ограничений Поставщика и Потребителя, так как они могут различаться. Возможны следующие ограничения. 18
ГОСТ Р ИСО/МЭК 19831—2017 необязательная поддержка: Это ограничение означает, что поддержка для данного атрибута будет опциональной. Если атрибут поддерживается. Поставщики должны распространить информацию о его поддержке через ResourceMetadata. Данные относительно обработки атрибутов, которые неизвестны или не поддержи­ ваются. представлены в 5.2. относительно пустых значений атрибута — в 5.5.14. Непустые атрибуты, поддерживаемые Потребителем, поддерживающие запись («чтение-запись» и «только для записи»), должны быть частью представления Ресурса, отправленного Потребителем Поставщику, включая запросы на создание. Непустые атрибуты, поддерживаемые Поставщиками, должны быть частью представления Ресур­ са. отправленного Поставщиком Потребителю; обязательная поддержка: Это ограничение означает, что реализации, совместимые с настоящим стандартом, должны под­ держивать атрибут. Если он задан для вложенного атрибута, то поддержка требуется только в том слу­ чае. если поддерживается родительский атрибут. Данные о пустых значениях атрибута приведены в 5.5.14. Непустые обязательные атрибуты, поддерживающие запись («чтение-запись» и «только для за­ писи»), должны быть частью представления Ресурса, отправленного Потребителями Поставщикам, включая запросы «создать». Непустые обязательные атрибуты Поставщика должны быть частью представления Ресурса, от­ правленного Поставщиками Потребителю; неизменяемый: Это ограничение Поставщика означает, что атрибут, установленный однажды, не должен быть из­ менен в течение всего срока жизни Ресурса; изменяемый: Это ограничение Поставщика означает, что атрибут может быть изменен. Поставщики должны иметь возможность изменять эти атрибуты. Возможность изменения этих атрибутов Потребителями обозначается ограничениями; «только для чтения», «чтение-запись» и «только для записи»; только для чтения: Это ограничение Потребителя означает, что атрибут может быть получен, но не может быть об­ новлен Потребителями. Атрибуты «только для чтения» не требуется включать в сериализации Ресур­ сов в запросах создания или обновления Ресурсов. Если данные атрибуты указаны в сообщении, они должны быть проигнорированы Поставщиком. Атрибуты вида «только для чтения» должны быть вклю­ чены в сериализации Ресурсов, отправленных Поставщиками; чтение-запись: Это ограничение Потребителя означает, что атрибут может быть получен и/или обновлен Потре­ бителями. Атрибуты «чтение-запись» должны быть включены в сериализации Ресурсов, отправленных Поставщикам и от них. Поставщики могут ограничить возможность обновлять эти атрибуты Потребите­ лями и должны обозначить ограничение в ResourceMetadata; только для записи: Это ограничение Потребителя означает, что атрибут может быть обновлен Потребителями, но не передается Потребителям, обычно из соображений безопасности. Атрибуты «только для записи» должны быть включены в сериализации Ресурсов, отправленных Поставщикам, но не должны быть включены в сериализацию Ресурсов, отправленных Поставщиками. 5.5 Типы данны х и их сериализация В случае, если явным образом не указано требование исключить конкретные атрибуты из пред­ ставления Ресурса, отсутствие необязательного атрибута в представлении означает, что атрибут не имеет значения (т. е. не определен). Настоящий стандарт не распространяется на концепцию необяза­ тельного атрибута, имеющего значение по умолчанию. П р и м е ч а н и е — Клиент не может определить (при рассмотрении возвращенного представления), под­ держивается ли конкретный отсутствующий атрибут, или он не существует. Аналогичным образом исключение атрибута из представления Ресурса во входных данных опера­ ции обновления означает, что Потребитель запрашивает у Поставщика удаления этого атрибута. Типы данных и значения, используемые в таблицах, предназначенных для определения CIMI, приведены далее. 19
ГОСТ Р ИСО/МЭК 19831—2017 5.5.1 boolean (логический тип) Значение соответствует xs:boolean«XML-cxeMa часть 2» [18]. за исключением того, что допусти­ мыми являются только два значения, либо "true", либо "false". Данное значение является чувствитель­ ным к регистру. При сериализации в JSON значения должны иметь тип JSON: boolean.При сериализации в XML значения должны иметь тип схемы XML: xs:booloan. 5.5.2 daleTimo (дата и время) Значение соответствует xs:dateTime «XML-схема часть 2» [18]. является совместимым с DMTFD- SP4004 (4) и ISO 8601 (11). Метка времени должна содержать информацию о часовом поясе, т. е. со­ держать компоненты местного времени и смещения от UTC. Любые ограничения определенных диапазонов, допускаемые для любого конкретного атрибута, установлены в определении данного атрибута либо во время выполнения Поставщиком с помощью механизмов обнаружения метаданных, определенных данной спецификацией. Например момент времени «понедельник. 25 мая 2012. в 1:30:15 PMEST» (Североамериканский восточный часовой пояс) представлен как: 2012-05-25Т13:30:15-05:00 При сериализации в JSON значения должны иметь тип JSON: string.При сериализации в XML значения должны иметь тип схемы XML: xs:dateTimo. 5.5.3 duration (продолжительность) Значение cooTeeTCTeyeTxs:duration «XML-схема часть 2» [18]. Любые ограничения определенных диапазонов, допускаемые для любого конкретного атрибута, установлены в определении данного атри­ бута либо во время выполнения Поставщиком с помощью механизмов обнаружения метаданных, опре­ деленных данной спецификацией. При сериализации в JSON значения должны иметь тип JSON: string. При сериализации в XML значения должны иметь тип схемы XML: xsiduration.5.5.4 integer (целое число) Значение соответствуетхвттедег «XML-схема часть 2» (18). Любые ограничения определенных диапазонов, допускаемые для любого конкретного атрибута, установлены в определении данного атри­ бута либо во время выполнения Поставщиком с помощью механизмов обнаружения метаданных, опре­ деленных данной спецификацией. При сериализации в JSON значения должны иметь тип JSON: number.При сериализации в XML значения должны иметь тип схемы XML: xs:integer. 5.5.5 string (строка) Значение cooTeeTCTeyeTxs:string «XML-схема часть 2» (18). Любые ограничения к данному типу для любого конкретного атрибута установлены в определении этого атрибута либо Поставщиком во время выполнения с помощью механизмов обнаружения метаданных, определенных данной спецификацией. При сериализации в JSON значения должны иметь тип JSON: string. При сериализации в XML значения должны иметь тип схемы XML: xs.string. При сериализации атрибута «строка» необходимо пропустить атрибут, значение которого равно пустой строке. 5.5.6 ref (ссылка) Ссылка на другой Ресурс. Ссылки означают для Потребителей возможность перехода к Ресурсам, начиная с Точки входа в облако и следуя по ссылкам, которые появляются в полученных Ресурсах. Потребители могут рекурсив­ но обнаружить ссылку и перейти ко всем другим Ресурсам. Как правило, значение ссылки для атрибута хранится во вложенном атрибуте, имеющем наиме­ нование "href’ (в JSON и в XML). Сериализация JSON: В сериализации JSON "href" появляется как тип «строка» — string. Если атрибут будет иметь тип «ссылка», то наименование этого атрибута должно быть ключом, имеющим свойство "h re f как вложен­ ное значение. Например атрибут Ресурса ‘ myVolume* типа «ссылка» сериализован как: "myVolume": {"h ref: строка) Сериализация XML: В сериализации XML атрибут href появляется как тип "xs:anyURI". Если атрибут будет иметь тип «ссылка», то наименование этого атрибута должно появиться как наименование элемента XML с XML атрибутом href. Например атрибут Ресурса "myVolume” типа «ссылка» сериализован как: 20
ГОСТ Р ИСО/МЭК 19831—2017 Ссылки в JSON и в XML имеют точку расширения, которая допускает наличие дополнительной ин­ формации (например, целевой Ресурс, который будет включен по значению), если данная информация поддерживается. Для удобства представления JSON и XML в соответствии с вышеуказанным, не вклю­ чают в себя неявные возможные расширения, которые допускают атрибуты целевого Ресурса. Поэтому более точно данные представления могут быть записаны следующим образом: Для JSON: "myVolume": {*href*: string,...} для XML. cmyVolume href = "xs:anyURr>xs:any‘ Однако для сокращения точки расширения исключены из сериализации Ресурсов. 5.5.7 т а р (отображение) Атрибуттар представляет собой «ключ/значение». В рамках атрибута каждый ключ должен ис­ пользоваться только один раз. Ключи являются чувствительными к регистру. Если значение атрибута типа «отображение» равно пустому отображению, то этот атрибут не должен быть представлен в сериализации. 5.5.8 structure (структура) Атрибуты данного типа являются составными атрибутами, состоящими из ряда вложенных атри­ бутов. Для каждого атрибута данного типа существует дополнительная таблица, определяющая вло­ женные атрибуты. Вложенную структуру можно считать определением составного типа. Структуры могут иметь или не иметь наименований. Примеры структуры, имеющей наименование, приведены в таблице 2. Т а б л и ц а 2 — Структура, имеющая наименование Наименованиеsummary А т р и б у т Тип О п и с а н и е lowinteger Число произошедших событий с незначительной степенью важности mediuminteger Число произошедших событий со средней степенью важности highinteger Число произошедших событий с высокой степенью важности criticalinteger Число произошедших событий с критической степенью важности Сориализация JSON: В JSON наименование структуры (т. е. типа, который она представляет) не появляется никогда. Другими словами, имеет ли структура наименование или нет. не имеет значения. Атрибут «Systemlnci- dents» типа summary (см. выше), сериализован следующим образом: "systemlncidents*: { "low*: number, "medium*: number."high": number."critical", number) Сериализация XML: В XML наименование структуры (т.е. Наименование типа, который она представляет) не появля­ ется никогда. Другими словами, имеет ли структура наименование или нет, не имеет значения. Пре­ дыдущий пример «Systemlncidents» сериализован так. чтобы атрибуты структуры стали атрибутами элемента-обертки XML: ГОСТ Р ИСО/МЭК 19831—2017 либо Поставщиком во время выполнения с помощью механизмов обнаружения метаданных, опреде­ ленных данной спецификацией. При сериализации в JSON значения должны иметь тип JSON: строка -string. При сериализации в XML значения должны иметь тип схемы XML: xs:hexBinary. 5.5.10 URI Формат и синтаксис атрибутов типа «URI» определены в RFC3986 [8). Настоящий стандарт не устанавливает требований к использованию Поставщиками относитель­ ного или абсолютного URI в теле ответа HTTR Если URI определены как относительные URI. то они должны быть заданы относительно baseURI. Алгоритм, используемый для преобразования относительного URI в абсолютный URI. должен соответствовать описанию, приведенному в 5.2 RFC3986 [8]. Преобразование относительного URIe а б с о л ю тн ы й ^! приведено в таблице 3. Т а б л и ц а 3 — Преобразование относительного URI в абсолютный URI Б а з о в ы й URI О тн о с и т е л ь н ы й URI А б с о л ю т н ы й URIhttp://exampte.com/ p1/filehttp://example.eom/p 1 /file http-J/exampte-com/cl/ р1/П1еhttp://example.eom/d/p 1/friehttp://exampte.com/c1/c2/ p1/filehttp://example.com/c1/c2/p1/file При использовании относительных URIbasellRI должен заканчиваться наклонной чертой, и от­ носительные URI не должны начинаться с наклонной черты. Этот формат совместим с большинством утилит разрешения URI и приводит к тем же результатам, что и простой алгоритм конкатенации строк. При сериализации в JSON значения должны иметь тип JSON: строка — string. При сериализации в XML значения должны иметь тип схемы XML: xs:anyURI.5.5.11 М ассивы Массив представляет собой упорядоченный перечень элементов одного и того же типа. Массив должен быть атрибутом Ресурса и быть доступен только как таковой (он не является отдельно адресу­ емым Ресурсом). Если Ресурс будет удален, то элементы его массивов также должны быть удалены. Однаков случае, если эти элементы являются ссылками на другие Ресурсы, то Ресурсы, на которые имеются ссылки, не будут затронуты (см. 5.7). Атрибуты, являющиеся массивами, определены с помощью нотации itemType (]. где itemType — наименование типа для каждого элемента массива. Если тип представляет собой структуру, а не просто тип данных, то рекомендуется в качестве соглашения в модели использовать множественное число в наименовании массива, которое характеризует каждый элемент. Например массив элементов имеет ли структура наименование "Volume’ или ссылок на них может иметь наименование "Volumes". Если атрибут будет иметь тип «массив ссылок» (reff]) и, в более общем случае, массив атомар­ ного типа, то определение в модели должно включать в себя поле «наименование элемента массива», которое может использоваться в его сериализации. Сериализация JSON: В рамках данной спецификации массивы в JSON сериализуются как значение некоторого свой­ ства. Наименование свойства должно быть тем же самым, что и наименование атрибута для массива. Например атрибут "things’ типа ”thing[]" сериализуется следующим образом: th in g s”: ( {••• M l ? Если элементы в массиве являются структурами, то наименование структуры не должно присут­ ствовать в сериализации JSON. При наличии массива ссылок, т. е. когда тип "геГ относится к каждому элементу массива, каждый элемент массива должен быть сериализован как свойство href. Например массив "things’ типа *геПГ будет преобразован в последовательную форму следующим образом: ’ things": ( {"href": string). + l? 22
ГОСТ Р ИСО/МЭК 19831—2017 П р и м е ч а н и е — При сериализации массивов совместимые реализации не должны содержать пустых массивов (т. е. массивов, которые не содержат дочерних свойств) а сериализации JSON. При этом дочерний эле­ мент свойства «things» определен с «+», что означает необходимость наличия по меньшей мере одного дочерне­ го элемента. Это требование гарантирует, что сериализация JSON минимизирована и содержит элемент "things’* («предметы») только в том случае, если в массиве присутствует "thing”. Сериализация XML: При сериализации массивов в XML требуется, чтобы каждый элемент массива был представлен как отдельный элемент. Эти элементы должны быть последовательными и непрерывными в сериали­ зации. и наименованием каждого элемента (наименованием тега) должно быть наименование типа элемента (наименование, которое появляется перед «[]» в типе массива). Например атрибут things («предметы») должен быть сериализован как перечень элементов с наименованием thing («предмет»), где "thing" — наименование структуры: ... <ЛЫпд> * Для массива в XML нет ни одного внешнего оборачивающего элемента. При наличии массива ссылок, т. е. когда тип 'геГ относится к каждому элементу массива, массив сериализуется как перечень элементов XML без внешнего оборачивающего элемента. Наименование каждого элемента совпадает со значением «наименование элемента массива», указанном в опреде­ лении атрибута. Например массив "things" типа "reff]". где «наименование элемента массива» равно 'thing", сериализуется следующим образом: ♦ 5.5.12 Наборы Как и массивы, Наборы представляют собой группы Ресурсов одного типа. В отличие от массивов Наборы являются самостоятельными Ресурсами, которые имеют свой собственный URI и к ним мож­ но получить независимый доступ. Наборы также допускают оптимизированный и удобный сценарий взаимодействия, предоставляя специализированную совокупность операций, что позволяет избежать замены большого числа элементов при обновлении совокупности. Настоящий стандарт распространяется на Наборы, в которых совокупность элементов в списке изменяется часто и потенциально многими Потребителями. С другой стороны, массивы используются, если ожидается, что перечень элементов не изменяется часто или его можно легко изменить путем замены всего перечня, то есть накладные расходы на выполнение служебных операций управления отдельными элементами как отдельными Ресурсы могут оказаться чрезмерными. Атрибуты, которые являются Наборами, представлены как тип *cotlection(itemType]H. Тип ресурса элементов Набора определен в скобках; например атрибут, который является Набором Ресурсов типа Machine, представлен как "collection[Machinej". Данные атрибуты сериализуются как ссылки на Ресурс Набора. Для краткости слово 'ссы лка' не используется в таблицах определения модели, несмотря на то. что все данные атрибуты являются ссылками: указывается тип "collection[itemType]\ Каждому из элементов Ресурсов будет соответствовать запись в Наборе. Предполагается, что эти элементы Ресурсов имеют составной тип. они независимо адресуемы и управляемы. Несмотря на то, что различные Наборы содержат записи различных Типов ресурсов, все Наборы соответствуют следу­ ющему шаблону: - Наборы должны содержать атрибут id, который действует как «указатель на себя». Получение данных по этой ссылке должно возвратить Набор. В представлении XML каждый Набор должен быть обернут элементом «Collection >: - Наборы должны содержать атрибут count, который содержит число Ресурсов в Наборе на мо­ мент, когда Набор был запрошен; - Наборы должны содержать перечень Ресурсов, которые составляют Набор. Как и в случае мас­ сивов, при отсутствии Ресурсов в Наборе сериализация перечня должна быть опущена: - аналогично Ресурсам в модели CIMI, каждый Ресурс в Наборе должен иметь атрибут id. который действует как «указатель на себя». Получение данных в этой ссылке должно возвратить этот единич­ ный Ресурс, а не любой родительский Ресурс, такой как Набор или атрибут-массив: - добавление новых Ресурсов к Набору производят с помощью операции "add*, определенной в Наборе. П р и м е ч а н и е — Отсутствие операции 'add' в Наборе указывает, что в это время новые Ресурсы не разрешены: 23
ГОСТ Р ИСО/МЭК 19831—2017 - удаление Ресурсов из Набора производят с помощью операции "delete" самого Ресурса; - если не определено иное, при удалении Набора также должны быть удалены все Ресурсы, кото­ рые составляют Набор, при этом не должны быть удалены сторонние Ресурсы, на которые ссылаются Ресурсы из Набора, подлежащие удалению; - Наборы должны быть удалены, если владеющий ими Ресурс удален. В Наборе присутствуют Ресурсы двух видов: - Ресурсы инфраструктуры (перечисленные в Точке входа в облако или встроенные в объект, та­ кие как disk в Machine); - Промежуточный Ресурс, который содержит ссылку на ресурс инфраструктуры, имеющий наи­ менование «целевой Ресурс». По соглашению, у промежуточных Ресурсов может быть наименование, связывающее наимено­ вание Ресурса, владеющего Набором, с наименованием целевого Ресурса, например MachineVolume (наименование промежуточного Ресурса, который используется для связи Machine с Volume). Наборы промежуточных Ресурсов позволяют отделить жизненный цикл Набора (и его объекта-владельца) от жизненного цикла фактических целевых Ресурсов. Например при удалении Набо­ ра должны удаляться его промежуточные Ресурсы, но не целевые Ресурсы. Если ссылка на целевой Ресурс является обязательным атрибутом промежуточного Ресурса, жизненный цикл промежуточного Ресурса не должен быть длиннее, чем у целевого Ресурса. - Если удален целевой Ресурс, то Поставщик также должен удалить любой промежуточный Ре­ сурс. содержащий ссылку на этот Ресурс как на значение обязательного атрибута. Сериализация Наборов должна соответствовать следующему шаблону: Сериализация JSON: {"resourceURI": string. "id": string, "count": number,"resourceSpecificGroupingNamo/* наименование атрибута зависит от типа Ресурсов V I {“resourceURI": string. "id": string, "name": string. ? "description": string, ? "created": string. ? "updated": string. ? "properties": {string: string. ♦}, ? ... данные ресурса... "operations": { {"reP: "ediP. "href": stoop},? ("rel": "delete", "href": string}? ] ? } ♦ ].? "operations": [{"rel": "add", "href": string}?]... } Сериализация XML: «Collection resourceURI = "xs:anyURI" xmlns = "http://schemas.dmtf.org/cimi/1"> xs:anyURI xs: integer xs:anyURI xs:string «/name»? xs:string «/description»? «created» xs:dateTime «/created»? «updated» xs:dateTime «/updated»? «property key= "xs:string"> xs:string «/property» * 24
ГОСТ Р ИСО/МЭК 19831—2017 ... данные ресурса... «operations rel="edit" href = "xs:anyURI7>? «operations r e l- ’delete" href = "xs:anyURI7>? * * < operations rel= "add* href = *xs:anyURI7>? * «/Collection> В данном примере атрибуты resourceURI должны содержать URI Набора или URI. определенный для Ресурса этого типа Набора, a resourceSpecificGroupingName и ResourceSpecificElementName сле­ дует заменить на наименование Ресурса, определенного для Набора, например Machine в JSON или Machine в XML. 5.5.12.1 Добавление элементов к Наборам Вызов операции "add” Набора должен добавить к Набору новый Ресурс. Содержимое тела запро­ са должно быть либо представлением нового Ресурса, добавляемого к Набору, либо представлением Шаблона, связанного с новым создаваемым Ресурсом. В настоящем стандарте установлено, какие Ре­ сурсы требуют использования Шаблона. Например для добавления нового Volume к Набору Volume Ресурса Machine, запрос операции *add" должен быть сериализован следующим образом: Сориализация JSON: {"resourceURI": "http://schemas.dmtf.Org/cimi/1/MachineVolume*."initialLocation": string. "volume": {"href": string)) Сериализация XML: «MachineVolume xmlns = "http://schemas.dmtf.0rg /c im i/l'> xs:string «/initialLocation» «volume href = "xs:string’ /> «/MachineVolume» П р и м е ч а н и е — При удалении этого типа Ресурса из Набора Ресурс удаляется и убирается из этого Набора, при этом не должен удаляться сам целевой Ресурс, на который ссылаются, в данном примере —Volume. При создании нового Ресурса, который требует использования Шаблона, операция «add» должна содержать: - общие атрибуты в соответствии с 5.10.1; - данные, определенные для Ресурса, необходимые для его создания. Эти данные должны пред­ ставлять собой ссылку на Ресурс Шаблона, определенный для Ресурса, либо сам встроенный Ресурс Шаблона конкретного Ресурса; - в случае XML — элемент обертки (получивший наименование по шаблону < Resource N а те- Create»). Например для создания новый экземпляра Machine (что требует использования Шаблона) и до­ бавления его к MachineCollection операция «добавить» MachineCollection должна быть сериализована следующим образом: Сериализация JSON: {"resourceURI” : "http://schemas.dmtf.0rg/cimi/l/MachineCreate"? "name": string.? "description": string.? "properties’ : {string: string. +},? "machineTemplate": {"href: string?}... } Сориализация XML: «MachineCreate xmlns = *http.//schemas.dmtf.org/dmi/1"> «name» xs:string «/name»? «description» xs:string «/ description »? «property key= "xs:string*> xs:string «/property» * «machineTemplate href = *xs:anyURI*?/> 25
ГОСТ Р ИСО/МЭК 19831—2017 * «/MachineCreate> В MachtneCollection добавляетсяновыйэкземплярМасЬюе: Сериализация JSON: {"resourceURI*: ' http://schemas.dmtf.Org/cimi/1/Machine’ , "id": string, 'name": string... } Сериализация XML: «Machine xmlns = ’ http://schemas.dmtf.0rg/cimi/l "> xs:anyURI xs:string «/name...
Обработка операции "add" должна соответствовать семантике, определенной в 4.2.1.1. Независимо от того, используется ли Шаблон, операция «add» должна создать новый Ресурс и добавить его к Набору, и ссылка (URI) на новую запись будет возвращена в ответном сообщении в за­ головке HTTPLocation. 5.5.13 Тип "any" Некоторые атрибуты являются полиморфными и могут содержать различные типы данных, пере­ чень которых указан в их описании. В таких случаях в модели представления тип атрибута должен быть обозначен "any". 5.5.14 Пустые значения атрибута Атрибуты следующих типов не приводят в случаях, если имеют пустое значение: строка, карта, массив и Набор. Помимо признаков «Необязательно для Поставщика» или «Необязательно для По­ требителя». пустое значение является третьей причиной того, что схема сериализации содержит «?» или «*» для атрибута. Другие типы атрибутов не имеют пустых значений, поэтому соответствующие атрибуты не должны быть опущены при сериализации. 5.6 Единицы Некоторые Ресурсы, определенные в данной спецификации, имеют атрибуты, описывающие ко­ личество чего-либо, принадлежащего Ресурсу или связанного с ним. Например Ресурс Machine имеет атрибут memory, который описывает «размер памяти, выделенной для этой машины». Допустимые еди­ ницы измерения этих атрибутов приведены в таблице 4. Их значения установлены в [6]. Их числовые эквиваленты приведены для удобства Пользователей. Т а б л и ц а 4 — Числовые эквиваленты для атрибутов Единица измерения Значение Единица измерения Значение Килобайт 10А3 Кибибайт 2А10 Мегабайт 10л6 Мебибайт 2А20 Гигабайт 10л9 Гибибайт 2А30 Терабайт 10Л12 Тебибайт 2А40 Петабайт 10А15 Пепибайт 2А50 Эксабайт 10А18 Эксбибайт 2А60 Зеттабайт 10Л21 Эебибайт 2А70 Йоттабайт 10А24 Йобибайт 2Л80 5.7 Семантика отношений Ссылка между двумя экземплярами Ресурса имеет семантику простой «ассоциации». Если не указано иное, (а) на экземпляр могут быть ссылки из других экземпляров Ресурсов, т. е. будет «со­ вместно использоваться», и (Ь) — экземпляр Ресурса, на который указывает ссылка, не будет затронут 26
ГОСТ Р ИСО/МЭК 19831—2017 при удалении экземпляра Ресурса, который ссылается на него (т. е. операция Delete по умолчанию считается "shallowdelete"). Включение подресурса в другой Ресурс имеет семантику «агрегации» (или отношение целого к части в UML). Если не указано иное, (а) вложенный подресурс не может совместно использоваться не­ сколькими экземплярами Ресурса и (Ь) — при удалении экземпляра Ресурса вложенные экземпляры подресурсов также удаляются. 5.8 Операции Все операции Ресурса, определенные в настоящем стандарте, необязательны для их поддерж­ ки Поставщиками. Потребители могут определить, поддержка каких операций осуществляется; по ме­ таданным Ресурса — ResourceMetadata. Однако даже для поддерживаемых операций Потребителям необходимо анализировать представление каждого Ресурса, чтобы определить, какие операции под­ держиваются в тот или иной момент. Поддержка операции основывается на многих факторах, включая состояние Ресурса и права на управление доступом со стороны Потребителя. Также в соответствии с 4.2 операции и состояния объединены; т. е. при реализации операции, изменяющей состояние Ре­ сурса. определенной в настоящем стандарте, также должно быть реализовано соответствующее(ие) состояние(я). Дополнительная информация приведена в пунктах «Операции» определения каждого Ресурса. Атрибут «Состояние» тех Ресурсов, которые имеют данный атрибут, должен изменять значение только в следующих случаях: - операция выполнена на данном Ресурсе, и эта операция требует изменения состояния или - произошла ошибка, в этом случае атрибут «Состояния» должен получить значение «ОШИБКА». Например для операции 'start" Ресурса Machine требуется, чтобы состояния STARTING и START­ ED поддерживались Machine одновременно, поскольку Machine будет отсутствовать в состоянии STARTED только после вызова другой операции, если не произошла ошибка. Поставщики могут определить дополнительные операции и состояния. Такие расширения должны иметь одну из следующих категорий: a) Новая операция, которая запускается из состояния, определенного CIMI. или приводит к со­ стоянию, определенному CIMI. либо оба этих варианта. В последнем случае, если операция, опреде­ ленная CIMI, уже существует для этого перехода между двумя состояниями, определенными CIMI. она также должна поддерживаться Поставщиком в дополнение к новой операции. b ) Новое состояние Ресурса. В этом случае также должна быть создана новая операция, которая приводит к этому состоянию. Другими словами, операция, определенная Поставщиками, должна вы­ полняться прежде, чем может быть достигнуто состояние, определенное Поставщиками. c) Новая операция, которая обеспечивает переходы между двумя состояниями, определенными Поставщиками. 5.9 Альторнативныо ф орматы модели В настоящем стандарте определение элементов модели представлено в альтернативных форма­ тах. которые легко можно использовать с помощью инструментов для определенных технологий. Данная модель также доступна в формате CIM/MOF (CIMI-CIMJ. При возникновении несоответствий между различными форматами, требования установленные в настоящем стандарте, имеют приоритетное значение по сравнению со схемами XML и альтернативны­ ми форматами, которые, в свою очередь, имеют приоритет над примерами. 5.10 Ресурсы В настоящем подразделе приведены детали атрибутов Ресурсов, определенных моделью CIMI. 5.10.1 Общие атрибуты За исключением Ресурсов ResourceMetadata и Ресурсов Набора (см. 5.5.12) у всех Ресурсов, опи­ санных в настоящем стандарте, есть общие атрибуты, приведенные в таблице 5. Для основных и вто­ ричных ресурсов CIMI существуют различные требования. Все Ресурсы, которые могут быть типами элемента для Наборов в CloudEntryPoint, являются основными ресурсами CIMI. Все остальные Ресур­ сы являются вторичными ресурсами CIMI. Исключением из этого правила является CloudEntryPoint. который считается основным Ресурсом. Например Machine является основным ресурсом CIMI. поскольку CloudEntryPoint имеет Набор, у которого Machine является типом элементов. Однако, например. MachineVolume является вторичным ре­ сурсом CIMI. поскольку у CloudEntryPoint нет Набора, у которого MachineVolume был бы типом элемента. 27
ГОСТ Р ИСО/МЭК 19831—2017 Т а б л и ц а 5 — Общие атрибуты А трибут Ти п О п и са н и е idURI Уникальный URI. определяющий данный Ресурс, присвоенный после создания Ресурса. Значение атрибута должно быть уникальным в облаке Поставщика. Ограничения для основных и вторичных Ресурсов: Поставщик: обязательная поддержка: неизменяемый. Потребитель: обязательная поддержка: только для чтения namestring Наименование, читаемое Потребителем данного Ресурса, присвоенное создате­ лем как часть входных данных при создании Ресурса. Ограничения для оснрвныл Еаш&аш Поставщик: обязательная поддержка: изменяемый. Потребитель: необязательная поддержка: чтение-запись. Ограничения для вторичных Ресурсов: Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка: чтение-запись descriptionstring Описание, читаемое Потребителемданного Ресурса, присвоенное создателем как часть входных данных при создании Ресурса. Ограничения для основных Ресурсов: Поставщик: обязательная поддержка: изменяемый. Потребитель: необязательная поддержка: чтение-запись. Ограничения для втавичньи Pepypsaai Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка; чтение-запись createddateTime Метка времени, когда данный Ресурс был создан. Формат должен быть однознач­ ным. а значение неизменяемым. Ограничения для основных и вторичных Ресурсов: Поставщик: необязательная поддержка; неизменяемый. Потребитель: необязательная поддержка: только для чтения updated date Time Момент времени последнего явного обновления атрибута Ресурса. П р и м е ч а н и е — Несмотря на то. что такие операции как “stop" неявно изменя­ ют атрибут “state", они не изменяют атрибуту “updated" Ограничения для аснавныя и втавичныл Ресурсов: Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка: только для чтения propertiesmap Отображение пар «ключ/значение» (каждая пара составляет отдельное «свой­ ство»}. некоторые из которых могут управлять одним или более аспектами этого Ресурса. Свойства могут также служить точкой расширения, позволяя Потребите­ лям сохранить дополнительную информацию о Ресурсе. Один и тот же ключ не должен использоваться более одного раза в рамках атрибу­ та «properties». Каждое свойство должно содержать следующие вложенные данные И а и м е к о п а н и еproperty Д а н н ы е Тип О п и са н и е КЛЮЧstring Наименование свойства. Ограничения: Поставщик: обязательная поддержка: изменяемый. Потребитель: обязательная поддержка: чтение-запись значениеstring Значение свойства. Ограничения: Поставщик: обязательная поддержка: изменяемый. Потребитель: обязательная поддержка; чтение-запись Ограничения, для юнрвныл Рееурерв; Поставщик: обязательная поддержка: изменяемый. Потребитель: необязательная поддержка: чтение-запись. Ограничения для вторичных Ресурсов: Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка: чтение-запись 28
ГОСТ Р ИСО/МЭК 19831—2017 Следующие псевдосхемы описывают сериализацию данных атрибутов в JSON и в XML: Сериализация JSON: "id": string."name": string. ? "description": string, ? "created", string, ? "updated": string. ? "properties": { string: string. + }, ? Сериализация XML: «id>xs:anyl/R/«/id> xs:sfr/ng ? n>xs:stmg ? «created >xs:date 77me ? xs:dafo7/me«/updated> ? «property key="xs:string'>xs:stnng * 5.11 Метаданные Ресурса Потребитель в соответствии с настоящим стандартом должен иметь возможность обнаружения метаданных, связанных с каждым поддерживаемым типом Ресурса. Это позволяет Потребителям узна­ вать ограничения, наложенные Поставщиками на определенные атрибуты CIMI. а также обнаруживать дополнительные атрибуты или операции, которые могут быть определены Поставщиком. Экземпляр ResourceMetadata содержит метаданные, описывающие определенный тип Ресурса, например Network или Machine, включая любые определенные Поставщиком возможности или особенности. Механизм доступа к метаданным определяется протоколом. П р и м е ч а н и е — Несмотря на то что в настоящем стандарте метаданные ResourceMetadata считаются изменяемыми атрибутами, предполагается, что модифицировать их могут только пользователи, имеющие адми­ нистраторские привилегии, связанные с Поставщиком. Пожтому для Потребителей они предосталяются в режиме «только для чтения». Метаданные каждого Ресурса должны содержать сведения, приведенные в таблице 6 . Т а б л и ц а 6 — Атрибуты ResourceMetadata Наименование ResourceMetadata Тип URI http .//schemas.amtf.org/bm i/1/ResourceMetadata Атрибут Тип Описание idURI Уникальный URI. определяющий данный Ресурс, присвоенный после создания Ре­ сурса. Это значение атрибута является неизменяемым и в облаке Поставщика должно быть уникальным. Поставщик: обязательная поддержка; неизменяемый. Потребитель: обязательная поддержка; только для чтения typeURIURI Уникальный URI. связанный с описываемым типом Ресурса и обозначающий его. Ограничения: Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка; чтение-запись nameString Наименование описываемого типа Ресурса. Ограничения: Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка; чтение-запись attributesattribute Ряд метаданных, определенных Поставщиками, которые могут использоваться По­ требителями для обнаружения любых метаданных, связанных с каждым атрибу­ том описанного типа Ресурса, включая совокупность дополнительных атрибутов, не определенных в этой спецификации. 29
ГОСТ Р ИСО/МЭК 19831—2017П родолж ение т а блиц ы 6 А т р и б у т Тип О п и с а н и е attributesattribute Каждый атрибут должен содержать следующие вложенные данные Н а и м е н о в а н и е А т р и б у т Д а н н ы е Т и п О п и с а н и е патеstring Наименование атрибута. Ограничения. Поставщик: обязательная поддержка: изменяемый. Потребитель: обязательная поддержка; чтение-запись namespaceU R I Пространство имен, в котором определен данный атри­ бут. Рекомендуется, чтобы при разыменовывании дан­ ного URI происходило возвращение информации об атрибуте. Оно не должно присутствовать при описании атрибута, определенного CIMI, но должно присутство­ вать при описании атрибута, определенного вне CIMI. Ограничения: Поставщик: обязательная поддержка: изменяемый. Потребитель: обязательная поддержка: чтение-запись typestring Тип данных атрибута. Не должен присутствовать при описании атрибута, определенного CIMI. но должен при­ сутствовать при описании атрибута, определенного вне CIMI. Ограничения: Поставщик: обязательная поддержка: изменяемый. Потребитель: обязательная поддержка: чтение-запись requiredB oolean Указывает, требует ли данный Ресурс присутствия дан­ ного атрибута. Если он отсутствует, то подразумеваемое значение «false». Ограничения; Поставщик: обязательная поддержка: изменяемый. Потребитель: обязательная поддержка: чтение-запись valuea n y Данные, определенные типом, которые описывают лю­ constraints бые ограничения на значения этого атрибута. Если они отсутствуют, то ограничений нет. П р и м е ч а н и е — Сериализация ограничений на значения должна быть определена типом атрибута (см. 5.11.1). Поставщик: обязательная поддержка: изменяемый. Потребитель: обязательная поддержка: чтение-запись Ограничения: Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка; чтение-запись capabilitiescapability Ряд метаданных, определенных Поставщиком, которые могут применять функции, предоставленные этим Поставщиком. Каждая возможность должна содержать следующие вложенные использоваться По­ требителем для обнаружения возможности capabilitiescapabilityсарЫМу Д а н н ы е Т и п О п и с а н и е namestring Наименование возможности. Ограничения: Поставщик: обязательная поддержка: изменяемый. Потребитель: необязательная поддержка; чтение-запись 30
ГОСТ Р ИСО/МЭК 19831—2017П родолж ение т а блиц ы 6 А т р и б у т Тип О п и с а н и е Н а и м е н о в а н и еcap bilily Д а н н ы е Тип О п и с а н и е uriU R I URI. который однозначно определяет возможность атрибута на глобальном уровне. Ограничения: Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка: чтение-запись descriptionstring Описание семантики возможности. Ограничения: Поставщик: обязательная поддержка; изменяемый. Потребитель: необязательная поддержка; чтение-запись valuea n y Значение возможности. Конкретный тип зависит атрибу­ та от определения возможности. Если значения не уста­ новлены. по умолчанию возможности считаются типа «булевый» со значением 'true", указывая, что конкрет­ ная возможность поддерживается Поставщиком. Ограниченна; Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка; чтение-запись Ограничения: Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка; чтение-запись actionsactio n [ ] Ряд операций, определенных Поставщиком, которые могут использоваться Потре­ бителями для воздействия на Ресурс. Эта совокупность представляет все опера­ ции. определенные для данного типа Ресурса, который гложет быть надмножеством операций, фактически используемых конкретным Потребителем. Подмножество разрешенных операций для конкретного Потребителя должно представлять собой те операции, которые возвращены этому Потребителю при запросе экземпляра опи­ санного типа Ресурса. П р и м е ч а н и е — данный атрибут вызывается "actions", чтобы не конфликтовать с собственным атрибутом "operations* Ресурса Resource Metadata. Каждая операция должна содержать следующие вложенные данные Н а и м е н о в а н и е Д а н н ы е Тип О п и с а н и е namestring Наименование операции. Ограничения: Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка; чтение-запись uriU R I URI. однозначно определяющий операцию на глобаль­ ном уровне. Ограничения: Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка; чтение-запись descriptionstring Описание семантики операции. Ограничения; Поставщик: обязательная поддержка; изменяемый. Потребитель: необязательная поддержка: чтение-запись methodstring Глагол для выполнения операции, зависящий от прото­ кола Ограничения: Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка; чтение-запись 31
ГОСТ Р ИСО/МЭК 19831—2017Окончание таблицы б А тр и б ут Тип О п и са н и е actionsaction /7 Н а и м е н о в а н и е Д а н н ы е Ти п О п и са н и е Inputstring mimeType тела сообщения запроса: может зависеть от Message формата модели, выбранного Поставщиком. Поставщик: обязательная поддержка: изменяемый. Потребитель: обязательная поддержка: чтение-запись O u tp u t-string mimeType тела сообщения-ответа; может зависеть от Message формата модели, выбранного Поставщиком. Ограничения;. Поставщик: обязательная поддержка: изменяемый. Потребитель: обязательная поддержка; чтение-запись Ограничения: Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка: чтение-запись При реализации или использовании ResourceMetadata Поставщики и Потребители должны ис­ пользовать синтаксис и семантику его атрибутов в соответствии с таблицей 6 . а также таблицами, опи­ сывающими встроенные Ресурсы или связанные Наборы. Потребитель и Поставщик должны сериали­ зовать данный Ресурс в соответствии со следующим описанием. Следующие псевдосхвмы описывают сериализацию Ресурса и в JSON и в XML (см. 1.3): Тип медиа JSON: application/json Сериализация JSON: { "resourceURI": "http://schemas.dmtf.Org/cimi/1/ResourceMetadata", "id": string. "typeURI*: string,"name": string."attributes” : [ { "name": string."namespace": string. ? "type": string. ? "required”: boolean. ?...value constraints...? } * ].? "capabilities”: [ { "name": string. ? "uri": string."description": string. ? "value": a n y } * l.? "actions": [ { "name": string."uri": string.■description", string. ? "method": string, "inputMessage": string, ? "outputMessage": string ? }. * ].? "operations": ( { "rel": "edit", "h re f: string}, ? { "rel": "delete", "h re f: string} ? I ? Г 32
ГОСТ Р ИСО/МЭК 19831—2017 Тип медиа XML: applicatiorVxml: Сериализация XML: xsianyURI «/typeURI» «attribute name="xs.s//7/ig" namospace="xs:anyURr? type="xs:s/mg* required="xs.boo/ean"? >...value constraints...?«/attribute» * «capability narne-'xs.smng'? uri=*xs:anyURI’ description-'xs.sfring"?»xs:any*«/capability» * «action name='xs.sfw?g' un="xs:anyURr description=”xs.sfnng’? method=*xs:s/r/ng" inputMessage='xs:s/w?g"? outputMessage=’ xs:string"? I> * «operation rel="edit* hrei=" xs:anyURn> ? «operation rel=’ delete” href- mxs:anyURn> ? «xs:any>* «/ResourceMetadata» Поставщик может включать дополнительные метаданные Ресурса или атрибутов. 5.11.1 Сериализация ограничений значения атрибута Следующие примеры описывают значения, синтаксис и сериализацию значения 'value constraints" (податрибут "attributes"), имеющего тип *апу” . type s trin g " JSON должен иметь форму: "values”: [string, + ] ? XML должен иметь форму: [number,
♦ ]. ? "ranges”: ( { "low': number, 'high*: number). ♦] ? XML должен иметь форму: -"xs:integer"
high="xs:/nfeger'7> * Итоговое пространство значений атрибута 'integer* - объединение всех значений и диапазонов, type = "boolean" JSON должен иметь форму: "value*: boolean?XML должен иметь форму: «value»xs:boo/ean«/value» ? Допускается только одно значение 'value", которое будет указывать на то. какой из атрибутов тре­ буется: 'tru e ' или "false”. 5.11.1.1 Примеры В следующем примере представлен образец документа метаданных для Ресурса VolumeConfigu- ration в XML. перечисляющий допустимые значения для атрибута "format" и содержащий развернутый строковый атрибут "Location": «ResourceMetadata xmlns="http://schemas.dmtf.org/ciml/r>«id» http://example.org'types/VC «/id» «typeURI»http://schemas.dmtf.Org/cimi/1/VolumeConfiguration «/typeURI» «name» VolumeConfiguration «/name» «attribute name="format' ty p e -’string" required-’false"» «value» ext4 «/value» «value» ntfs «/value» «/attribute» 33
ГОСТ Р ИСО/МЭК 19831—2017 «attribute name=’ Location* namespace="http://example.orgr type=’ stnng'V» «/ResourceMetadata» В следующем примере представлен тот же Ресурс VolumeConfiguration. в котором атрибут "Location" ограничен рядом значений и является обязательным: «ResourceMetadata xm lns^ttptfschem as.dm tf.org/cim i/l '» http://example.org/types/VC http://schemas.dmtf.org/cimi/1A/olumeConfiguration VolumeConfiguration «attribute name=*format" type=*string* required=*false"» «value» ext4 «/value» «value> ntfs «/value> «/attribute» «attribute name=T_ocation" namespace="http://example.org/" type=*string" required-'true’ » «value» NYC «/value» «value» LAX «/value» «/attribute» «/ResourceMetadata» В следующем примере указан тот же самый Ресурс VolumeConfiguration. сериализованный в JSON: { "resourceURI": ’ http://schemas.dmtf.0rg/cimi/l/V0lumeC0nfigurati0n", 'id": "http://example.org/types/VC". ’ typeURI": "http://schemas.dmtf.org/cimi/1/VolumeConfiguration". "name": “VolumeConfiguration*, "attributes". [ { "name": "format” , "type": 'string", 'required": false. 'values': [ ’ oxt4’ . "ntfs’ ] }. { "name": "Location", ’ namespace": "http://example.org", 'type': ’ string", 'required": true. 'values': [ "NYC", "LAX" ] } l } В следующем примере представлен Ресурс Volume, сериализованный в JSON. который обеспе­ чивает действие сжатия данных. В данном примере возвращенный метод (POST) предназначен для протокола HTTPCIMI, однако при реализации другого протокола (например. SOAP), метод будет иным: { "resourceURI*: ’ http://schemas.dmtf.0rg/cimi/l/V0lumeC0nfigurati0n", 'id": "http://example.0rg/types/V". 'typeURI': "http://schemas.dmtf.0rg/cimi/l/V0lume", "name": “Volume", "actions': [ { "name": "compress", ”uri': ' http://example.org/cimi/action/compress""description": "Compress the data stored in the Volume". "method": "P O S T } ] } 5.11.2 Возможности URI возможностей, определенных в настоящем стандарте, приведены в таблице 7. Поставщики могут определить новые URI. причем рекомендуется, чтобы данные URI указывали на документы с опи- 34
ГОСТ Р ИСО/МЭК 19831—2017 санием, по которому Потребители могут получить сведения о новой возможности. Графа «Наименова­ ние Ресурса» содержит наименование Ресурса, в чьем ресурсе ResourceMetadata может содержаться указанная возможность. Графа «Наименование возможности» содержит наименование указанной воз­ можности. которое должно быть уникальным в рамках соответствующего Ресурса. URI каждой возмож­ ности создается путем конкатенации «Наименовании Ресурса», наклонной черты (/) и «Наименовании Возможности» к http7/schemas.dmtf.org/cimi/1 /capability/. Например возможность «InitialState» Ресурса Machine должна иметь URI: http://schemas.dmtf.Org/cimi/1/capability/Machine/lnitialState Возможности, которые относятся к Поставщику в целом, определены не для одного Ресурса, должны быть связаны с Ресурсом CloudEntryPoint (если возможность применяется только к самому Ресурсу CloudEntryPoint. на это указывает его определение). Каждая из этих возможностей может быть установлена равной конкретному значению, либо может отсутствовать. Значение отсутствующей возможности определяется следующим образом: - для возможностей булевского типа: то же. что и значение ’ false": - для других возможностей, использующих единичное значение или перечень значений в перечис­ лении: аналогично «нет особых предпочтений или ограничений, осуществляемых для этого значения». Т а б л и ц а 7 — URI возможностей Н а и м е н о в а н и е Н а и м е н о в а н и е О п и с а н и е р е с у р с а в о з м о ж н о с т и CloudEntryPoint ExpandParameter Если "true*. Поставщик должен поддерживать параметр запроса Sexpand CloudEntryPoint FilterParameter Если "true*. Поставщик должен поддерживать параметр запроса Slitter CloudEntryPoint FirstParameter Если "true*. Поставщик должен поддерживать оба параметра запро­ са: Sfirst и Slast CloudEntryPoint SelectParameter Если "true*. Поставщик должен поддерживать параметр запроса Sselect CloudEntryPoint FormatParameter Если "true*. Поставщик должен поддерживать параметр запроса Sformat CloudEntryPoint OrderByParameter Если "true*. Поставщик должен поддерживать параметр запроса Sorderby CloudEntryPoint QueryPathNotation Если "true*. Поставщик должен поддерживать использование нота­ ции путей в параметре запроса Sselect (см. 4.1.6.3) для разрешения неоднозначное™ между атрибутами Ресурса Набора и атрибутами отдельных элементов Набора CloudEntryPoint MaxPropertyltems Если установлено. Поставщик должен поддерживать атрибут ’ pro­ perties* с числом элементов, не превосходящим значение, опреде­ ленное данной возможностью System SystemComponent- Если "true". Поставщик должен поддерживать спецификацию вклю­ TemplateByValue чения ComponentTemplate по значению в SystemTemplates Machine DefaultlnitialState Если данная возможность установлена и не указано иное (например, атрибутом "initialState" ресурса MachineTemplate), Поставщик должен установить состояние нового экземпляра Machine равным значению данной возможности при условии, что значение совместимо с воз­ можностью InitialStates Machine InitialStates Если данная возможность установлена и используется MachineTem­ plate с атрибутом "initialState*. Потребитель должен использовать значение initialState из совокупности значений данной возможности Machine MachineConftg- Если "true", Поставщик должен поддерживать включение Machine- ByValue Configuration по значению, a MachineTemplateByValue также должно иметь значение *tnje" 35
ГОСТ Р ИСО/МЭК 19831—2017П родолж ение т а блиц ы 7 Н а и м е н о о а н и е Н а и м е н о в а н и е О п и с а н и е р е с у р с а в о з м о ж н о с т и Machine MachineCredential- Если "true*. Поставщик должен поддерживать включение Credential ByValue по значению в операциях create для Machine, a MachineTemplateBy- Value также должна иметь значение *lrue" Machine MachinelmageBy- Если "true*. Поставщик должен поддерживать включение Machinelm- Vfelue age по значению в операциях create для Machine, a MachineTemplate- ByValue также должна иметь значение "true" Machine MachineVolume- Если "true". Поставщик должен поддерживать включение Volume- TemplatesByValue Template по значению в операциях create для Machine, a Machine- TemplateByValue также должна иметь значение "true* Machine MachineTemplateBy Если ’ true". Поставщик должен поддерживать включение Machine- Value Template по значению в операциях create для Machine Machine MachineStopForce Если "tme", Поставщик должен поддерживать опцию "force* опера­ ций stop и restart для Machine Machine MachineStopForce Если "true*. Поставщик должен принудительно останавливать экзем­ Default пляры Machine (имитируя отключение питания), если нет иных ука­ заний. В другом случае Поставщик должен использовать регламент­ ные процедуры остановки Machine RestoreFromlmage Если "tme". Поставщик должен поддерживать восстановление экзем­ пляров Machine из Machinelmage, не являющихся снимком состояния Machine UserOata Если данная возможность установлена, это означает, какой метод должен использоваться Поставщиком для внедрения пользователь­ ских данных Machine MachineAvailability Если "tme". Поставщик поддерживает понятие уровня готовности для Level Ресурса Machine. Уровень готовности и ограничения к его значениям доступны как атрибут расширения ResourceMetadata для Machine и MachineTempiate Credential CredentialTemplate- Если "tme". Поставщик должен поддерживать включение Credential- By-V&lue Template по значению в операциях create для Credential Volume SharedVolume- Если "true". Поставщик должен поддерживать возможность совмест­ Support ного использования экземпляра Ресурса Volume несколькими экзем­ плярами Machine Volume VolumeConfig By- Если "tnje". Поставщик должен поддерживать включение VolumeCon- Value figuration по значению в операциях create для Volume, a VolumeTem- plateByValue должна иметь значение ’ true" Volume VolumelmageBy- Если “true". Поставщик должен поддерживать включение Volume I- Value mage по значениию в операциях create для Volume, a VolumeТет- plateByValue должна иметь значение true" Volume VolumeSnapshot Если "true". Поставщик должен поддерживать создание нового Volu- melmage. со ссылкой на существующий Volume Volume VolumeTemplate- Если "tme". Поставщик должен поддерживать включение Volume- By-Value Template по значению в операциях create для Volunre Volume VolumeAvailabifity Если "tme". Поставщик должен поддерживать понятие уровня готов­ Level ности для Ресурса Volume. Уровень готовности и ограничения к его значениям доступны как атрибут расширения ResourceMetadata для Volume и VolunreTemplate Network NehvorkConfigBy- Если "true*. Поставщик должен поддерживать включение Network- Value Configuration по значению в операциях create для Network 36
ГОСТ Р ИСО/МЭК 19831—2017О кончание т а блиц ы 7 Наименование Наименование Описание ресурса возможности Network 'JetworkTemplate- Если "true". Поставщик должен поддерживать включение 3yValue NetworkTernplate по значению в операциях create для Network Network DefaultlnitialState Если данная возможность установлена и не указано иное (например, атрибутом ’ initialState" Ресурса NetworkTemplate), Поставщик должен установить состояние нового экземпляра Network равным значению данной возможности при условии, что значение совместимо с воз­ можностью InitialState Network InitialStates Если данная возможность установлена и используется NetworkTem­ plate с атрибутом "initialState", то Потребитель должен использовать значение initialState из совокупности значений этой возможности NetworkPort NetworkPort- Если "true". Поставщик должен поддерживать включение Network- ConfigByValue PortConfiguration по значению в операциях create для NetworkPort NetworkPort NetworkPort- Если "true". Поставщик должен поддерживать включение Network- TemplateByValue PortTemplate по значению в операции create для NetworkPort NetworkPort DefaultlnitialState Если данная возможность установлена и не указано иное (напри­ мер, атрибутом "initialState* Ресурса NetworkPortTemplate), Постав­ щик должен установить состояние нового экземпляра NetworkPort равным значению данной возможности при условии, что значение совместимо с возможностью InitialStates NetworkPort InitialStates Если данная возможность установлена и используется NetworkPort­ Template с атрибутом ’initialState". Потребитель, должен использо­ вать значение initialState из совокупности значений этой возможности ForwardingGroup MixedNetwork Если "true*. Поставщик должен поддерживать ForwardingGroup, ко­ торые могут иметь как частные, так и общедоступные соединения одновременно. 8 противном случае у ForwardingGroup должны быть только либо частные, либо общедоступные соединения в одно и то же время Job JobRetention Если данная возможность установлена, ее значение должно указы­ вать на минимальное число минут, в течение которых задание долж­ но храниться Поставщиком, прежде чем оно будет удалено Meter MeterConfigByValue Если "true". Поставщик должен поддерживать включение Meter- Configuration по значению в операциях create для Meter Meter MeterTemplate- Если "true". Поставщик должен поддерживать включение Meter- ByValue Template по значению в операциях create для Meter EventLog Соединенный Если "true*. Поставщик должен удалить ресурсы EventLog. связан­ ные с Ресурсами, если Ресурс удален В следующих примерах показаны ResourceWetadata для Machine, предоставляющие информа­ цию о некоторых возможностях: Сориализация JSON: { ’ resourceURI": "http://schernas.dmtf.org/cimiM/ResoiirceMetadata", "id*: ’ http://example.com/types/Machine", "typeURI": "http://schemas.dmtf.org/cimtf1/Machine’ , "name’ : ’ Machine". "capabilities’ : [ { ’ uri":"http://schemas.dmtf.0rg/cimi/l/capability/Machine/MachineC0nfigByValue", "value’ : tru e ), { "uri": 37
ГОСТ Р ИСО/МЭК 19831—2017 ' http://schemas.dmtf.Org/cimi/1/capability/Machine/MachinGlmageByValue*, 'value": tru e }, { "uri*: ' http://schemas.dmtf.Org/cimi/1/capability/Machine/DefaultlnitialState", 'value": "STARTED"} } } Сериализация XML: http://example.org/types/Machine http://schemas.dmtf.Org/dmi/1/Machine Machine «capability uri="http://schemas.dmtf.org/cimi/1/capability/Machine/MachineConfigByValue’ » true «capability uri="http://schemas.dmtf.org/cimi/1/capability/Machine/MachinelmageByValue'» true «/capability> «capability uri="httpJ/schemas.dmtf.org/cimi/1/capability/Machine/DefaultlnitialState"> STARTED «/capability» «/ResourceMetadata» 5.11.3 Ресурс ResourcoMotadataCollection Ресурс ResourceMetadataCollection представляет собой Набор Ресурсов ResourceMetadata По­ ставщика и соответствует спецификации Набора, определенной в 5.5.12. П р и м е ч а н и е — Изменения Ресурсов в пределах данного Набора могут осуществляться только По­ требителями CIMI с администраторским уровнем доступа. Данный Ресурс должен быть сериализован следующим образом: Сериализация JSON: { "resourceURI*: "http://schemas.dmtf.0rg/cimi/l/ResourceMetadataCollection', 'id": string,'count': number,'resourceMetadatas': [ { "resourceURI*: "http://schernas.dmtf.0rg/dm i/l/R es0urceMetadata", 'id": string, ...остальные атрибуты ResourceMetadata... }.♦ ).? 'operations": [ { ’ rel": "add", *hrer: string} ? ]f Сериализация XML: «Collection resourceURI="http://schemas.dmtf.org/cimi/1/ResourceMetadata Collection" xmlns="http://schemas .d mtf. org/cimi/1 "> xs.7nfeger«/count> «ResourceMetadata» < id » xs:anyURI » ... остальные атрибуты ResourceMetadata...«/ResourceMetadata» * «operation rel=”add" href="xs:ar)yUR/7> ? «xs.any»' «/Collection» 38
ГОСТ Р ИСО/МЭК 19831—2017 5.12 Точка входа в облако Точка входа в облако (Ресурс CloudEntryPoint) представляет собой точку входа в облако, опреде­ ленную моделью CIMI. Точка входа в облако реализует каталог Ресурсов, таких как System. SystemTem- plate. Machine. MachineTemplate и т.д., которые могут запрашиваться и просматриваться Потребителем. CloudEntryPoint и связи этого Ресурса с другими Ресурсами приведены на рисунке 1. который представлен в виде схемы отношений Ресурсов, при этом использование UML не является строгим и нормативным. C lo u d E n try P o in t_________________________ *id(1|: string •Mtiinc[0..1). siting -deseripiion[0..1]: string _1_ 0 - ' I R e s o u rc e Metadata -•cn?»tcrff0..1J: dateTime *updated[0..1J: dateTime •propertiesjO.’ f property J[ •bascURt[1J: UW *resourceMe4adata{0..1]: collection •systnrr«;[0.-1]: ohI h Hbb t •systemTen>plates[0 1): collection ‘ m aohinesl0..1^ oollaction *m;u:hiiU!Tcmplntes|0..1): collection 1 • machineConfigs[0..1|: collection • machinclnuigim[0_1 ]: collection I- I *credendals[0..1]: collection , 'credential I en»:ilBtes[0..1|: collection — *volumcs(0..1): collection •volumeTemplatesfO.1]: collection *vnUimcConligs(0_t]: collection ‘ volumelmageslO- IJ; collection *netwnrlfs(0-.l J: collection • nctworkTcmplatcs[0..1 J: collection ♦networ*Configs[0..1): collection *networkPorts[0..1]: collection • netwo«VPoitTcmplotcs[0..1J: colection *netwofkPortContigs[0.1J: collection 'addressns[0..1): collection 4addresslemplates[0..1]: collection *lorwardiiigGrojps{0..1]:collection •forwanfinqGrtwpTcmpiatcsJO 1]:collcction ♦|оЬь|0..1): collection ’ mKtersJp.lj: collection *met«TemplatesfO .1]: collection • meter Configs{0.. 1 J: collection *ovontl ogs{0..1j: collnctinn ♦evenlLogTetnpiaies[0-1): collection Рисунок 1 — Точка входа в облако Если Потребитель запрашивает чтение Ресурса CloudEntryPoint. Поставщик должен возвратить Ресурс CloudEntryPoint, который каталогизирует лишь те Ресурсы, с которыми данному Потребителю разрешено выполнять операции. Атрибуты Ресурса CloudEntryPoint приведены в таблице 8 . Т а б л и ц а 8 — Атрибуты CloudEntryPoint Н а и м е н о в а н и е C lo u d E n t r y P o in t Т и п U R I h ttp ii V 'w w a m t .o r g i’cim i^ C lo u d E n t/ y P o in t А трибут Тип О п и са н и е baseURIURI Абсолютный URI. который указывает на «базовый URI» Поставщика. Этот URI должен использоваться для преобразования относительных URI для Ресурсов в рамках данного Поставщика в абсолютные URI (см. 5.5). Ограничения: Поставщик: обязательная поддержка: неизменяемый. Потребитель: обязательная поддержка: только для чтения 39
ГОСТ Р ИСО/МЭК 19831—2017П родолж ение т а блиц ы 8 А т р и б у т Тип О п и с а н и е Resourcecollection Ссылка на Набор Ресурсов ResourceMetadata данной Точки входа в Metadata[R esource облако. Набор содержит описание Ресурсов, поддерживаемых По­M etadata) ставщиком. Если Ресурс не имеет метаданных, он не должен появ­ ляться в списке, например, он не имеет ограничений помимо опре­ деленных спецификацией CIMI. а также не имеет никаких атрибутов расширения. Ограничения: Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка; только для чтения systemscollection Ссылка на SystemCollection данной Точки входа в облако.[ System ) Ограничения: Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка: только для чтения Systemcollection Ссылка на SystemTemplateCollectKxr данной Точки входа в облако. Templates[S ystem Ограничения:Template) Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка; только для чтения machinescollection Ссылка на MachineCollection данной Точки входа в облако.[M a chine] Ограничения: Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка; только для чтения Machinecollection Ссылка на MachineTemplateCollection данной Точки входа в облако. Templates[M achine Ограничения:Template) Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка; только для чтения machineConfigscollection Ссылка на MachineConfigurationCollection данной Точки входа в облако.[M achine Ограничения:C onfiguration) Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка; только для чтения machinelmagescollection Ссылка на MachinelmageCollection данной Точки входа в облако.[M achineIm age] Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка: только для чтения credentialscollection Ссылка на CredentialCollection данной Точки входа в облако.[C re dentia l] Ограничения: Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка; только для чтения Credentialcollection Ссылка на CredentialTemplateCollection данной Точки входа в облако. Templates[C redential- Ограничения:Tem plale] Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка; только для чтения volumescollection Ссылка на VolumeColIection данной Точки входа в облако.[ Volume] Ограничения: Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка; только для чтения Volumecollection Ссылка на VolumeTemplateCollection данной Точки входа в облако. Templates[ Volum e Template) Ограничения: Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка; только для чтения Volumecollection Ссылка на VolumeConfigurationCollection данной Точки входа в облако Configs[Volum e Ограничения:C onfig ura tion] Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка: только для чтения 40
ГОСТ Р ИСО/МЭК 19831—2017П родолж ение т а блиц ы 8 А т р и б у т Тип О п и с а н и е volumelmagescollection Ссылка на VolumelmageCollection данной Точки входа в облако.[V olum elm ageJ О гр а н и ч е н и я ; Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка: только для чтения networkscollection Ссылка на NetworkCollection данной Точки входа в облако.{N e tw ork] О гр а н и ч ен и я ; Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка; только для чтения Networkcollection Ссылка на NetworkTemplateCollection данной Точки входа в облако. Templates{N etw ork Ограничения:Tem plate] Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка; только для чтения Networkcollection Ссылка на NetworkConfigurationCoilection данной Точки входа в облако Configs[N etw ork Ограничения:C onfig ura tion] Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка; только для чтения networkPortscollection Ссылка на NetworkPortCdlection данной Точки входа в облако.[ Netw orkPort] О гр а н и ч е н и я ; Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка; только для чтения networkPort collection Ссылка на NetworkPortTemplateCollection данной Точки входа в облако. Templates [NetworkPort О гр а н и ч е н и я ;Template] Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка; только для чтения networkPortcollection Ссылка на NetworkPortConfigurabonCollectran данной Точки входа в об­ Configs[N etw o rkP ort лако.C onfig ura tion] Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка: только для чтения addressescollection Ссылка на AddressCollection данной Точки входа в облако.[A ddress] О гр а н и ч е н и я ; Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка; только для чтения Address collection Ссылка на AddressTemplateCollection данной Точки входа в облако. Templates [Address Ограничения: Template] Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка; только для чтения Forwarding collection Ссылка на ForwardingGroupCollection данной Точки входа в облако. Groups [Forwarding Ограничения: Group] Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка; только для чтения forwardmgGroup-collection Ссылка на ForvvardrngGroupTemplateCollection данной Точки входа в femplates[F orw arding облако.G roup О гр а н и ч е н и я ;Template] Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка: только для чтения jobscollection[Job] Ссылка на JobsCoilection данной Точки входа в облако. Ограничения: Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка; только для чтения 4 1
ГОСТ Р ИСО/МЭК 19831—2017О кончание т а блиц ы 8 Атрибут Тип Описание meterscollection [M e ter] Ссылка на MeterCollection данной Точки входа в облако. Ограничения: Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка; только для чтения meterTemplatescollection [M e te r Ссылка на MeterTemplateCollectionoaHHon Точки входа в облако.Tem plate] Ограничения: Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка; только для чтения meterConfigscollection Ссылка на MeterConfigurationCollectionflaHHO* Точки входа в облако.[M e te r О гр а н и ч е н и я :C onfiguration] Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка; только для чтения eventLogscollection Ссылка на EventLogCollection данной Точки входа в облако.[E ventLog] Ограничения: Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка; только для чтения eventLogTemplatescollection Ссылка на EventLogTemplateCollection данной Точки входа в облако.[E ventLog О гр а н и ч е н и я :Tem plate] Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка; только для чтения Каждый из Наборов, указанных в таблице 8. определен в пунктах, определяющих связанные с ними ресурсы. Например Ресурс MachineCollection определен в 5.14.2 как часть Ресурсов, связанных с Machine. Реализуя или используя CloudEntryPoint Поставщики и Потребители должны использовать син­ таксис и семантику его атрибутов, согласно таблице 8. а также таблицам, описывающим встроенные Ресурсы или связанные Наборы. Потребитель и Поставщик должны сериализовать данный Ресурс в соответствии с описанием, приведенным далее. Сериализация Ресурса в JSON и в ХМШриведена в лсевдосхемах (см. 1.3.): Тип медиа JSON:application/json Сориализация JSON: { "resourceURI": ' http://schemas.dmtf.Org/ami/1/CloudEntryPoint” , *id": string, 'name”: string, ? 'description": string, ? 'created': string. ? ’ updated” : string. ? 'properties’ : { string: string. ♦ }, ? 'baseURI': string. ’ resourceMetadata": { 'h re f': string}, ? 'systems”: { "href”: string}, ? ’ systemTemplates": { "h re f: string}, ? ’ machines". { ’ href’, string}. ? ’ machineTemplates”: { "href*: string}. ? 'machineConfigs”: { "href’: string}, ? ’ machinelmages”: { 'h re f: string}. ? ’ credentials": { "href” string}. ? 'credentialTemplates”: { "h re f string}, ? 'volumes': { 'h re f: string}, ? 'volumeTemplates': { 'h re f: string}, ? 'volumeConfigs": { "h re f: string}, ? 'volumelmages': { 'href*: string}. ? 42
"networks": { "href": string), ? "networkTemplates’ : { "href*: string}, ? "networkConfigs": { "h re f: strin g }, ? "networkPorts": { "h re f: string }, ? "networkPortTemplates’ : { "h re f: string}, ? "networkPortConfigs’ : { "href*: string }, ? "addresses". { "href": string }, ? "addressTcmplates": { "h re f: string }, ? "forwardingGroups" { "h re f: string }, ? "forwardingGroupTemplates" { "href: string}. ? "jobs": { "h re f: string}, ? "meters’ : { ’ h re f: string}, ? "meterTemplates": { ’ h re f: string}. ? "meterConfigs". { "h re f: string}, ? "eventLogs": { "h re f: string}, ? "eventLogTemplates": { "href: string}, ? "operations’ : [ { ’ rel": "edit” , "h re f: string} ? ] ? } Тип медиа XML: applicatiorVxml Сериализация XML: xs:sfnng * xs:anyL/R/ =”xs:anyURn>
? ? ? «Machines href=’ xs:anyURI'7> ? «MachineTemplates href=’ xs:anyURI7> ? «MachineConfigs href=’ xs:anyURI7> ? «Machinelmages href=*xs:anyURI7> ? «Credentials href="xs:anyURI7> ? «CredentialTemplates href=’ xs:anyURI’ /> ? «Volumes href="xs:anyURI7> ? «VolumeTemplates href=’ xs:anyURI7> ? «VolumeConfigs href="xs:anyURI7> ? «Volumelmages href="xs:anyURI7> ? «networks href=’ xs:anyURI’ /> ? «networkTemplates href="xs:anyURI7> ? «networkConfigs href=’ xs:anyURI7> ? «networkPorts href="xs:anyURI"/> ? «networkPortTemplates href="xs:anyURI"f> ? «networkPortConfigs href="xs:anyURI"/> ? «addresses href=’ xs:anyURI7> ? «addressTemplates href="xs:anyllRI7> ? «forwardingGroups href=’ xs:anyURI’ /> ? «forwardingGroupTemplates href=’ xs:anyURI7> ? «jobs href=’ xs:anyURI7> ?
ГОСТ Р ИСО/МЭК 19831—2017 ? ? «operation rel="edit” href="xs:anyURI7> ? * 5.12.1 Операции Данный Ресурс поддерживает операции Read и Update. 5.13 Ресурс System и отношения Ресурсы, составляющие ресурс System, и связи между ними, приведены на рисунке 2. который представлен в виде схемы отношений Ресурсов, при этом использование UML не является обязатель­ ным требованием. ♦ S ystem S y s te m S y s te m te m p la te 0..* *id[1J: s u in g парТУЗ ----------------------------------------- • n x m r in 11' «tritw i -M a c h in e • n a m e fl) : s trin g 0 ..I 0 ..' •d e s c rip tio n [0 ,,1 ]: string * d e s c iip tiu n |l J. s u in g *ctt5ttteb .r - sy*te m s(0 ..1 ): co lle c tio n •machm esJO . I) : co lle c tio n -N e tw o rk * c re d e n tie ls [0 „1 )‘ co lle ctio n 0..1b .r •volum esJO.. 1]: c e le c tio n •N o tv /o rk P o rt <5Ti6 .: *n e tw oikP orts(0..1 J: co lle c tio n • a d d re s * e s |0 ..1 |: co lle ctio n •A d d re s s •fn rw a rd in g G ro u p s[0 ..1 ): cofinctin n6..1 *m etere[0..1J: co lle ctio n •cvcn tL o g JO ..!]: i d - f- o rw a rdinnG m uo 0..1 0..* 1 1 + M eter • t v e n t t n q 0 - ‘ 0 ..' Рисунок 2 — Ресурсы системы 5.13.1 System System (Система) — реализованный Ресурс, который содержит один или более ресурсов Network (Сеть). Volume (Том), Machine (Машина) и т.д., которые могут связываться и соединяться друг с другом. Ресурс System может создаваться из интерпретации SystemTemplate. Допускается управлять Ресурсом System как единичным Ресурсом: также данный Ресурс формирует стек служб. Например система кор­ зины в интернет-магазине состоит из машин для воб-серверое и базы данных, сетевых адресов для от­ крытого доступа и томов для файлов базы данных. System может непосредственно предоставлять ком­ понент. с которым взаимодействуют пользователи, либо предоставлять инфраструктурный компонент. System имеет несколько атрибутов «верхнего уровня», которые являются Наборами ссылок на Ре­ сурсы. принадлежащих System. Жизненный цикл Ресурсов, принадлежащих System, связан непосред­ ственно с жизненным циклом System. В частности, если System будет удалена, то все находящиеся в ее ведении Ресурсы должны также быть удалены. Обычно операции cSystem переводятся в операции с ее Ресурсами. Однако Ресурс, принадлежащий System, в свою очередь, может относиться к некоторым другим Ресурсам, не принадлежащим этой System. Например Machine в System может ссылаться на Volume, который не принадлежит данной System. Эти правила применяются следующим образом. - по умолчанию все Ресурсы, являющиеся результатом создания System, также принадлежат Sys­ tem. (Это правило может быть переопределено при последующих изменениях в высокоуровневых атри­ бутах Набора System): 44
ГОСТ Р ИСО/МЭК 19831—2017 - владение Ресурсом для System выражено таким образом, что ссылка на Ресурс включается в соответствующий Набор в атрибуте верхнего уровня Ресурса System, либо это происходит вследствие того, что данный Ресурс System владеет подсистемой (т. е. транзитивное владение через иерархии ресурсов System): - если к существующей System добавляется Ресурс, отличающийся от данной System (т. е. при­ надлежит System после включения его ссылки в соответствующий Набор из атрибута верхнего уровня System), то другие Ресурсы, на которые уже ссылается добавленный Ресурс, по умолчанию не принад­ лежат System. (Данное правило может быть переопределено при последующих изменениях в Наборах высокоуровневых атрибутов System.) Ресурс не должен принадлежать более чем одной System ни в один момент времени, {если между этими System нет отношений принадлежности). П р и м е ч а н и е — Ресурсу необязательно принадлежать System (т. е. являться частью любого из атрибу­ тов ее Набора), чтобы на него ссылались или использовали в System. Если Ресурс не включен в любой из Наборов, то он просто не используется в любых действиях, выполняемых в System. Описание атрибутов Системы приведено в таблице 9. Т а б л и ц а 9 — АтрибутыСистемы Н а и м е н о в а н и е С и с т е м а ( S y s t e m ) Т и п U R Ih ttp :/ / s c b e m a s .d m tf.o r g / c jm i/ 1 / S y s te m А т р и б у т Тип О п и с а н и е stateS t r i n g Рабочее состояние Системы. Допустимыми значениями являются: см. 5.14.1. CREATING: Система находится в процессе создания. STARTING/STARTED/STOPPING/STOPPED/PAUSING/PAUSED/SUSPENDING /SUSPENDED:System должна находиться в одном изданных состояний, если все ресурсы Machine, на которые ссылается System, находятся в этом состоянии. Перечень доступных действий, основанных на состоянии MachinecM. в 5.14.1. Такие транзитные состояния могут просто на то. что все Machine в System подвергаются тем же операциям (например, «start») без необходимости выпол­ нения конкретной операции в System (например, операция «start» не выполняет­ ся на уровне System). Фактическая операция в System может быть прослежена при запросе объекта «job». MIXED: System должна быть в этом состоянии, если нет никаких ссылок на Machine от данной System, либо Machine, на которые ссылается данная System, находятся в разных состояниях. Разные состояния могут возникнуть, когда в System выполняются операции, при­ водящие к переходу состояний принадлежащих ей Ресурсов Machine к новому общему состоянию (например. STOPPED. STARTED), но они происходят с раз­ ной скоростью или последовательно одна за другой. DELETING: System находится в процессе удаления. ERROR: Поставщик обнаружил ошибку в System. Операции, приводящие к возникновению указанных состояний, определены в 5.13.1.2. Ограничения: Поставщик: обязательная поддержка: изменяемый. Потребитель: обязательная поддержка; только для чтения systemsCollection Ссылка на перечень ссылок на вложенные Ресурсы типа System, принадлежа­[System щие данной System. Добавление элемента (типа System) к этому перечню ло­System] гически эквивалентно присоединению System, на которую ссылаются, к данной System в соответствии с семантикой «отношение включения». Удаление элемента из этого перечня логически эквивалентно отсоединению Sys­ tem. на которую указывает ссылка, от данной System. П р и м е ч а н и е — Тип ресурса SystemSystem представляет собой связь между System и другой System{cM. 5.13.1.1.1). Ограничения: Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка: только для чтения 45
ГОСТ Р ИСО/МЭК 19831—2017П родолж ение т а блиц ы 9 А тр и б ут Тип О п и са н и е machinesC ollection Ссылка на перечень ссылок на Machine , принадлежащих данной System. До­[S ystem бавление элемента (типа Machine) к этому перечню логически эквивалентно при­M a chine] соединению Machine к данной System в соответствии с семантикой «отношение включения». Удаление элемента из этого перечня логически эквивалентно отсо­ единению Machine от данной System. П р и м е ч а н и е — Тип ресурса SystemMachine представляет собой связь меж­ ду System и Machine (см. 5.13.1.1.2). О гр а н и ч е н и я . Поставщик: необязательная поддержха; изменяемый. Потребитель: необязательная поддержка: только для чтения credentialsC ollection Ссылка на перечень ссылок на Credential, принадлежащих данной System. До­[S ystem бавление элемента (типаCredential) к данному перечню логически эквивалентноC redential] присоединению Credential к данной System в соответствии с семантикой «отно­ шение включения». Удаление элемента из этого перечня логически эквивалентно отсоединению Credential от данной System. П р и м е ч а н и е — Тип ресурса SystemCredential представляет собой связь между System и Credential(CM. 5.13.1.1.3). Ограничения: Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка: только для чтения volumesC ollection Ссылка на перечень ссылок на Volume, принадлежащих данной System. Добав­[S ystem ление элемента (типа Volume) к данному перечню логически эквивалентно при­Volume] соединению Volume к данной System в соответствии с семантикой «отношение включения». Удаление элемента из этого перечня логически эквивалентно отсо­ единению Volumea от данной System. П р и м е ч а н и е — Тип ресурса SystemVolume представляет собой связь между System и Volume(cM. 5.13.1.1.4). Ограничения: Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка; только для чтения networksC ollection Ссылка на перечень ссылок на Network, принадлежащих данной System. Добав­[S ystem ление элемента (типа Network) к данному перечню логически эквивалентно при­N etw ork] соединению Network к данной System в соответствии с семантикой «отношение включения». Удаление элемента из этого перечня логически эквивалентно отсо­ единению Network от данной System. П р и м е ч а н и е — Тип ресурса SystemNetwork представляет собой связь меж­ ду System и Network (см. 5.13.1.1.5). О гр а н и ч е н и я ; Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка; только для чтения networkC ollection Ссылка на перечень ссылок NetworkPort, принадлежащих данной System. Добав­ Ports[S ystem ление элемента (типа NetworkPort) к данному перечню логически эквивалентноN etw ork присоединению NetworkPort к данной System в соответствии с семантикой «отно­P o rt] шение включения». Удаление элемента из этого перечня логически эквивалент­ но отсоединению NetworkPort от данной System. П р и м е ч а н и е — Тил ресурса SystemNetworkPort представляет собой связь между System и NetworkPort(cM. 5.13.1.1.6). Ограничения: Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка; только для чтения46
ГОСТ Р ИСО/МЭК 19831—2017О кончание т а блиц ы 9 А т р и б у т Тип О п и с а н и е addressesC ollection Ссылка на перечень ссыпок на Address, принадлежащих данной System. До­[S ystem бавление элемента (типа Address) к этому перечню логически эквивалентноA ddress) присоединению Addres к этой System в соответствии с семантикой «отношение включения». Удаление элемента из этого перечня логически эквивалентно отсо­ единению Addres от данной System. П р и м е ч а н и е — Тил ресурса SystemAddres представляет собой связь между System и Address(cM. 5.13.1.1.7). О гр ан и ч ен и я ;. Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка: только для чтения forwardingC ollection Ссылка на перечень ссыпок на ForwardingGroup. принадлежащих данной Sys­ Groups[S ystem tem. Добавление элемента (типа ForwardingGroup) к данному перечню логическиF orw arding эквивалентно присоединению ForwardingGroup к данной System в соответствииG roups] с семантикой «отношение включения». Удаление элемента из данного перечня логически эквивалентно отсоединению ForwardingGroup от данной System. П р и м е ч а н и е — Тип ресурса SystemForwardingGroup представляет собой связь между System и ForwardingGroup (см. 5.13.1.1.8). Ограничения: Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка: только для чтения metersC ollection Ссылка на перечень Ресурсов Meter, которые используются для мониторинга[M e te r] данной System. П р и м е ч а н и е — данные Meter предназначены для System, а не для какоголибо отдельного компонента System. О г в а н и ч а ш ш : Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка; только для чтения eventLogre f Ссылка на EventLog данной System. П р и м е ч а н и е — данный EventLog предназначен для System, а не для какоголибо отдельного компонента System. Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка; только для чтения Реализуя или используя System Поставщики и Потребители должны использовать синтаксис и се­ мантику атрибутов в соответствии с таблицей, приведенной выше, а также таблицами, описывающими встроенные Ресурсы или связанные Наборы. Потребитель и Поставщик должны сериализовать данный Ресурс в соответствии со следующим описанием. Следующие псевдосхемы (см. 1.3) описывают сериа­ лизация Ресурса и в JSON и в XML. Тип медиа JSON: application/json Сериализация JSON: { "resourceURI": "http7/schemas.dmtf.org/cimi/1/System’ . "id": string. "name": string. ? "description": string. ? "created": string. ? "updated": string, ? "properties": { string: string. + }, ? "state": string.4 7
ГОСТ Р ИСО/МЭК 19831—2017 ’ systems": { "h re f: string}, ? ’ machines": { ’ href': string}, ? ’ credentials": { "h re f, string}, ? ’ volumes’ : { "h re f: string}. ? ’ networks’ : { ’ h re f: string}, ? ’ networkPorts": { "h re f: strin g }, ? ’ addresses’ : { ’ h re f: string}. ? ■fonvardingGroups': { ’ h re f: string}, ? ’ meters": { "h re f: strin g }, ? ’ eventLog": { "h re f: string}, ? ’ operations": [ { "rel” : ’ edit*, ’ h re f: string}. ? { "re f: "delete", "h re f: string}. ? { "rel’ : "http://schemas.dmtf.Org/dmi/1/action/start". "h re f: string }. ? { "re f: "http://schemas.dmtf.Org/dmi/1/action/stop". "h re f: string}. ? { "reP: "http://schemas.dmtf.Org/dmi/1/action/restart". "h re f: string}, ? { "ref: "http://schemas.dmtf.Org/dmi/1/action/pause", "href: string}. ? {"rel": "http://schemas.dmtf.Org/dmi/1/action/suspend". "h re f: stnng}, ? { “rel": "http://schemas.dmtf.Org/dmi/1/action/export*. "h re f: string } ? ] ? } Тип медиа XML: application/xml Сериализация XML: <\6>xs:anyURI«name>xs;s/w?g«/name> ? xs.s/wrg«/description> ? xs.da/eT/me ? xs:dafe77me«/updated> ? «property key='xs:string">xs:string ’ xs:s/wjg «systems href=’ xs:anyl/ft/7> ? «machines href="xs:anyURri> ? «credentials href=’ xs:anyt//?/7> ? «olumes href=’ xs:anyL/R/"/> ? «networks hre1="xs:anyURf’i> ? «networkPorts href=’ xs:anyi/f?/7> ? «addresses href="xs:anyl/R/7> ? «forwardingGroups href="xs:anyt/fi/7> ? «meters href=’ xs.anyl/R/7> ? «eventLog href=mxs:anyURrf> ? «operation rel="edit" href="xs:any(//?f/> ? «operation rel="delete’ bret="xs:anyURn> ? «operation rel="httpj,/schemas.dmtf.org/cimi/1/action/starf href="xs:anyL/tf/7> ? «operation rel="http://schemas.dmtf.org/cimi/1/act»on/stop" href="xs.anyt//?f/> ? «operation rel="http7/schemas.dmtf.org/cimi/1/acbon/restart" 48
ГОСТ Р ИСО/МЭК 19831—2017 href=mxs:anyURn> ? •«operation rel="http://schemas.dmtf.org/cimi/1/action/pause" href='xs:anyURn> ? ■«operation rel=’ http://schemas.dmtf.org/cimi/1/action/suspend"hte1='xs:anyURn> ? o p e ra tio n rel="http://schemas.dmtf.org/cimi/1/action/export"htef=’ xs:anyURn> ?>*
5.13.1.1 Наборы В настоящем подпункте приведено описание Наборов Ресурсов, принадлежащих System. 5.13.1.1.1 Набор SystemSystem Типом ресурса для каждого элемента данного Набора является SystemSystem. приведенный в таблице 10: Т а б л и ц а 10 — Атрибуты SystemSystem Н а и м е н о в а н и е SystemSystem Т и п U R I nttp://schemas.dmU.orgi‘cimiM /SystemSystem А т р и б у т Т и п О п и с а н и е systemret Ссылка на Ресурс System. Ограничения: Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка: только для чтения Сериализация JSON: { "resourceURI": "http--//schemas.dmtf.org/cimi/1/SystemSystemCollection", "id": string. "count": number. "systemSystems": [ { "resourceURI": "http://schemas.dmtf.Org/cimi/1/SystemSystem", "id": string. "name": string, ? "description": string. ? "created": string. ? "updated": string. ? "properties": { string: string. + }, ? "system": { "h re f, string}, "operations": [ { "rel". "edit", "href": string}, ? { "rel". "delete", 'href*: string} ? ] ? }.+ ].? "operations’ : [ { "rel": "add", "h re f: string} ? ] } 49
ГОСТ Р ИСО/МЭК 19831—2017 Сериализация XML: <\d>xs:anyURI xs.7/ifeger«/count> >xs:anyURI
xs:string ? xs.sfw?g«/description> ? «created>xs.dateT/me«/created> ? xs:date77me«/updated> ? «property key=’ xs:sfr/ng">xs.sfw7g«/property>’ «system href="xs:anylW 7> «operation rei="edit" href="xs:anyURn> ? «operation rel="delete* href="xs.anyL/R/7> ?>* * «operation rel="add* href="xs:anyURn> ? «/Collection» 5.13.1.1.2 Набор SystemMachine Типом ресурса для каждого элемента данного Набора является SystemMachine. приведенный в таблице 1 1 . Т а б л и ц а 11 — Атрибуты SystemMachine И аи м ен оо ам и с S y s te m M a c h in e Ти п U R I h U p :tfsch e m a s.d m tf.o rg fcim if1 /S y s te m M a c h in e А тр и б ут Ти п О п и са н и е machineref Ссылка на Ресурс Machine. Ограничения: Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка; только для чтения Сериализация JSON: {"resourceURI” : ’ http://schemas.dmtf.Org/cimi/1/SystemMachineCollection’ . ’ id’ : string, ’ count*: number,’ systemMachines”: [ { "resourceURI*: ’ http://schemas.dmtf.0rg/c1mi/l/SystemMachine". ’ id": string. ’ name": string, ? ’ description": string, ? ’ created’ : string. ? ’ updated*: string, ? ’ properties": { string, string. ♦ } , ? 50
ГОСТ Р ИСО/МЭК 19831—2017 "machine": { 'href': string}. "operations’ : [ { ’ rel": "edit", "h re f: string}, ? { "rel": "delete*, ’ h re f: string} ? ] ? } . + ]•? "operations’ : [ { "rel". "add", "h re f: strin g } ? J } Сериализация XML: < Collection resourceURI=’ http://schemas.dmtf.org/cimL/1/SystemMachineCollection’ xmlns=’ http://schemas.dmtf.org/cimi/r> xs.anyl//?/«/id> xs.7nteger«/count> «SystemMachine» < id >xs:anyURI id> xs:str/ng ? xs:sfnng ? «created >xs:date 7Vme«/created> ? xs;dafe7/me ? «property key-'xs:string’ >xs:string * «Machine href-'xs:anyURf'f>«operation rel=’ edit* href="xs:anyl/Rr/> ? «operation rel=’ delete" href=’ xs:anyl/R/7> ? «xs:any>* «/SystemMachine> * «operation rel=’ add" href=’ xs:anyUR/7> ? * «/Collection» 5.13.1.1.3 Набор SystemCredential Типом Ресурса для каждого элемента данного Набора является SystemCredential. приведенный в таблице 12 . Т а б л и ц а 12 — Атрибуты SystemCredential Н а и м е н о в а н и е S y s te m C re d e n tia l Ти п URI n ttp /i's c tie m a s d m tf.o rg i’cim ii'1 /S yste m C re d e n tia l Атрибут Т и п О п и са н и е credentialsref Ссылка на PecypcCredential. О гр а н и ч е н и я ; Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка; только для чтения Сериализация JSON: { "rosourceURI": “httpd/schemas.dmtf.ofg/cimi/1/SystemCredentialCollection". "id’ : string."count": number. 51
ГОСТ Р ИСО/МЭК 19831—2017 'systemCredentials": [ { "resourceURI*: ’ http://schemas.dmtf.org7cimi/1/SystemCredentiar,*id". string. 'name": string, ? 'description": string, ? 'created': string. ? 'updated': string, ? 'properties': { string: string, ■*■}.? 'credential': { 'h re f: string}, "operations": [ { "геГ: 'edit', "h re f: string}. ? { "rel*: "delete”, "h re f: string} ? ] ? }.♦ ].? 'operations": [ { 're l': "add", "h re f: string} ? ] } Сериализация XML: «Collection resourceURI=“http://schemas.dmtf.org/cimi/1/SystemCredentialCollection" xmlns="http://schemas.dmtf.org/cimi/1 "> < id >xs:anyURI > xs:/nteger xs:anyURI «/id» xs:string ? «description» xs:string «/description» ? «created» xs:dateTime «/created» ? «updated» xs:dateTime «/updated» ? «property key='xs:string"» xs:string «/property» * «credential href="xs:anyURr/> «operation rel="edit" href='xs:anyl)RI7» ? «operation rel-'delete* href="xs:anyURr/» ? «/SystemCredential» * «operation rel="add" href=Hxs:anyL/R/7» ? «/Collection» 5.13.1.1.4 Набор SystemVolume Типом ресурса для каждого элемента данного Набора является SystemVolume. приведенный в таблице 13. Т а б л и ц а 13 — Атрибуты SystemVolume Наименование S y s t e m V o lu m e Тип URI http:/,1's c h e m a s .d m tf .o r g / c im if1 / S y s t e m V o lu m e А т р и б у т Тип Описание volumeref Ссылка на Ресурс Volume. Огдадичашш; П о с т а в щ и к : обязательная поддержка, изменяемый. П о т р е б и т е л ь : обязательная поддержка: только для чтения 52
ГОСТ Р ИСО/МЭК 19831—2017 Сериализация JSON: { "resourceURI": "http://schemas.dmtf.Org/cimi/1/SystemVolumeCollection", "id*: string. "count": number. "systemVolumes": [ { "resourceURI": "http://schemas.dmtf.Org/cimi/1/SystemVolume". "id": string, "name": string. ? "descnption": string. ? "created": string. ? "updated": string. ? "properties": { string: string. + }. ? "Volume": { "h re f: string}. "operations": [ { "rel": "edit", "href': string}, ? { "rel": "delete", "href": string} ? ]? >• + ], ? "operations': [ { "rel". "add*, "href”, string} ? ] } Сериализация XML: < Collection resourceURI=’ http://schemas.dmtf.org/cimi/1/SystemVolumeCollection" xmlns=*http://schemas.dmtf.org/cimi/r> xs.anyL/R/«/id> xs.7r)tegor xs.anyl/R/«/id> xs:stwjg«/name> ? xs.sfnng ? xs:dafe7Vme ? xs.dafoT/me«/updated> ? «property key-'xs:string’ >xs:string * «volume href = "xs:anyURH> «operation rel="edit" href="xs:anyURPI> ? «operation rel="delete" href=’ xs:anyl/R/7> ?>* «/systemVolume> * «operation rel=’ add" href="xs.anyUR/"/> ? «/Collection* 5.13.1.1.5 Набор SystemNetwork Типом ресурса для каждого элемента данного Набора является SystemNetwork, приведенный в таблице 14. 53
ГОСТ Р ИСО/МЭК 19831—2017 Т а б л и ц а 14 — Атрибуты SystemNetwork Н а и м е н о в а н и е S y s te m N e tw o rk Ти п URIh ttp ://s c h e m a s .d m tf .o rg /c u n i/l/S y s to m N e tw o rk А тр и б ут Тип О п и са н и е networkref Ссылка на Ресурс Network. О гд а н и ч е ш ш ;. Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка: только для чтения Сориализация JSON: { "resourceURI': "http://schemas.dmtf.Org/cimi/1/SystemNetworkCdleciion". 'id": string, 'count*: number, ’ systemNetworks": [ { "resourceURI*: ’ http://schemas.dmtf.0rg/cimi/l/SystemNetw0rk’ . ’ id": string, "name": string, ? ’ description": string, ? 'created': string. ? 'updated*: string, ? ■properties’ : { string: string, + }. ? ’ network": { "h re f: strin g }, ■operations": [ { "reP: ’ ediP. "h re f: string}. ? { "reP: ’ delete", "href”: string} ? I ? } . ♦ 1.? "operations": [ { 'reP: ’ add". "hreP: string} ? ] } 5.13.1.1.6 Набор SystemNetworkPort Типом ресурса для каждого элемента данного Набора является SystemNetworkPort. приведенный в таблице 15. Т а б л и ц а 15 — Атрибуты SystemNetworkPort Н а и м е н о в а н и е S y s te m N e tw o rk P o rt Ти п URIh ttp ://s c h e m a s .d m tf.o rg /c im iri/S y s te m N e tw o rk P o rt А тр и б ут Ти п О п и са н и е networkPortref Ссылка на Ресурс NetworkPort. О гд а н и ч в н н я . Поставщик: обязательная поддержка: изменяемый. Потребитель: обязательная поддержка; только для чтения 54
ГОСТ Р ИСО/МЭК 19831—2017 Сериализация JSON: { "resourceURI": "http://schemas.dmtf.Org/cimi/1/SystemNetworkPortCollection*, "id*: string. "count": number. "systemNetworkPorts": [ { "resourceURI": “http://schemas.dmtf.Org/cimi/1/SystemNetworkPort*, "id*: string, "name": string, ? "descnption": string. ? "created": string. ? "updated": string. ? "properties": { string: string. + }, ? "networkPort": { "href': string}, "operations": { { "rel". "edit", "h re f: string}, ? { "rel": "delete", "href*: string} ? ] ? K + ]•? "operations": [ { "rel": "add", "href’, strin g } ? ) } Сериализация XML: «Collection resourceURI=*http://schemas.dmtf.org/cimi/1/SystemNetworkPortCollection" xmlns=*http://schemas.dmtf.org/cimi/r> < id >xs:a nyURI «count>xs.7ateger«/count> «id>xs:anyl/R/«/id> xs.sfrmg ? xs:sfr/ng ? «created >xs:date 77me«/created> ? xs.dafo7/me«/updated> ? «property key="xs.s/n>)g*>xs:sfr?r)g«/property> * «networkPort hret=’ xs:anyURH> «operation rel=’ edit* hret="xs:anyURn> ? «operation rel=*delete” hrei='xs:anyURH> ?>* «/SystemNetworkPort> * «operation rel=’ add" href=’ xs:anyl/R/*7> ? *«/Colection»5.13.1.1.7 Набор SystemAddress Типом ресурса для каждого элемента данного Набора является SystemAddress. приведенный в таблице 16. 5 5
ГОСТ Р ИСО/МЭК 19831—2017 Т а б л и ц а 16 — Атрибуты SystemAddress Н а и м е н о в а н и е S y s te m A d d re s s Ти п URI http .//schem as .d m tf.o rg /cifm t1 /S y s te m A d d re s s А тр и б ут Тип О п и са н и е addressref Ссылка на Ресурс Address. О гр а н и ч е н и я ; Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка; только для чтения Сериализация JSON: {"resourcellRP: ’’http://schemas.dmtf.Org/ami/1/SystemAddressCollection'. 'id ”: string,’ count*: number, ’ systemAddresses": [ ( "resourceURI*: ' http://schemas.dmtf.0rg/ami/l/SystemAddress’ .'id": string,'name": string, ? 'description": string. ? 'created': string. ? 'updated': string. ? 'properties": { string: string. ♦ } , ? 'address": { "h re f: string }. 'operations": [ { "геГ: ’ edit', ’ h re f: string}. ? { "reP: ’ delete", "h re f: string} ? ] ? }.♦ 1. ? 'operations": ( { ' ref : "add", "h re f: strin g } ? ] } Сериализация XML: «Collection resourceURI="http://schemas.dmtf.org/cimi/1/SystemAddrossCollection" xmlns=”http://schemas.dmtf.org/cimi/r> xs.anyl/f?/«/id> xs.7rifogeir xs.ar?yl/f?/«/id> xs;s/ring ? xs:sfring«/description> ? xs.da/e77me ? xs.dafe77me ? «property key='xs.s/rirjg”>xs:sfnng«/property> * «address href="xs:any(JRn>«operation rel="edit” href=’ xs:anyl//?/7> ? «operation rel="delete" href="xs.anyL/RP/> ?>' * 56
ГОСТ Р ИСО/МЭК 19831—2017 o p e ra tio n rel="add" hrQi=’ xs:anyURri> ? «/Collection» 5.13.1.1.8 Набор SystemForwardingGroup Типом ресурса для каждого элемента данного Набора является SystemForwardingGroup. приве­ денный в таблице 17. Т а б л и ц а 17 — Атрибуты SystemForwardingGroup N a m e S y s te m F o rw a rd in g G ro u p Тип URI h tlp V /s c n e m a s .d m tf.o rg /c im W t/S y s le m F o rw a rd m g G ro u p Атрибут Ти п О п и с а н и е forwardingGroupref Ссылка на Ресурс ForwardingGroup. Ограничения: Поставщик: обязательная поддержка: изменяемый. Потребитель: обязательная поддержка; только для чтения Сериализация JSON: { ’ resourceURI":*http://schemas.dmtf.org/cimi/1/SystemForwardingGroupCollection". "id": string."count", number."systemForwardingGroups": [ { "resourceURI": “http://schemas.dmtf.Org/cirTU/1/SystemForwardingGroup". "id": string."name": string. ? "description": string. ? "created”: string. ? "updated": string. ? "properties": { string: string. + }, ? "forwardingGroup": { -href": string}, "operations": [ { "rel": "edit", "h re f: string}, ? { "rel". "delete", "h re f: string} ? ] ? >• + ].? "operations": [ { "rel": "add*, "h re f, strin g } ? ) } Сериализация XML: «Collection resourceURI="http://schemas.dmtf.org/cimi/1/SystemForwardingGroupCollection" xmlns=*http://schemas.dmtf.org/cimi/r> xs./n/eger«/cou nt> «SystemForwardingGroup» «name»xs:sfnng«/name» ? «description»xs.sfr/ng«/description» ? ? «updated»xs.dafe7/me«/updated» ? «property key="xs:sfnng’ »xs.sfr/ng«/property» * «forwardingGroup href="xs:anyt/f?/7» 57
ГОСТ Р ИСО/МЭК 19831—2017 ■«operation rel="edit" href="xs:anyURn> ? «operation rel=''delete* href="xs.anyl/Rf/> ? * * «operation re l-'a d d ’ href=”xs:anyURr/> ? * «/Collection» 5.13.1.1.9 Набор SystemMeter Типом ресурса для каждого элемента данного Набора является Meter, описание которого приве­ дено в 5.17.3. Сориализация JSON: { "resourceURI*: ’ http://schemas.dmtf.Org/dmi/1/SystemMeterCollection". "id": string. ’ count": number,’ meters": [ { "resourceURI’ : ’ http://schemas.dmtf.0rg/ami/l/Meter” . ’ id": string, ... остальные атрибуты M e te r... }.♦ ].? ’ operations": [ { ’ reP: "add", *hrer: string} ? ] } Сериализация XML: «Collection resourceURI=“http://schemas.dmtf.org/cimi/1/SystemMeterCollection" xmlns="http://schemas.dmtf.org/cimi/1 "> xs.anyC/R/«/id> остальные атрибуты M e te r...
«/Meter» * «operation re l-'a d d ’ href="xs:anyURr/> ?>* «/Collection» 5.13.1.2 Операции Ресурс System поддерживает операции Read. Update и Delete. Операция Create поддерживается через Ресурс SystemCollection. Кроме того, определены следующие специальные операции: start/stop/restart/pause/suspend /link@ rel: http://schemas.dmtf.Org/cimi/1/action/xxx где «ххх» является операцией start, stop, restart, pause или suspend. Данная операция должна рекурсивно выполнять требуемую операцию для каждого компонента System (Machine или вложенные System). П р и м е ч а н и е — Для этой операции не требуется, чтобы все Machine были в одинаковом состоянии для получения к ним доступа, и воздействие данной операции может быть разным в зависимости от текущего со­ стояния компонента: дополнительная информация о выполнении операций над Ресурсами Machine приведена в 5.14.1.2. Если для некоторого экземпляра Machine операция является невыполнимой, такой экземпляр Machine не следует подвергать данной операции. export /llnk@ rel http://schemas.dmtf.Org/cimi/1/action/exportДанная операция должна экспортировать экземпляр System. Если по указанному URI уже суще­ ствует пакет экспорта, то он обновляется в соответствии со значениями System и любых Ресурсов компонентов управления. В противном случае по указанному URI создается новый пакет экспорта с 58
ГОСТ Р ИСО/МЭК 19831—2017 типом медиа, определенным параметром format. Могут использоваться и другие форматы, если они поддерживаются, но не указаны в настоящем стандарте. Входные параметры: 1 ) "format": тип string — необязательный; 2) указывает на тип медиа экспортируемых данных. Если не задан, то значением по умолчанию должно быть "application/ovf"; 3) "destination*: тип URI — необязательный. Указывает на местоположение экспортируемых данных. Если данный параметр отсутствует, то в ответе заголовок HTTP Location должен содержать URL экспортированных данных. На основании кон­ кретного протокола, определенного в URI. Потребитель, возможно, должен указать в поле "properties" дополнительную информацию (например, учетные данные). В случае HTTP следует использовать PUT для того, чтобы разместить данные в указанном местоположении. Выходные параметры: нет. Протокол HTTP Чтобы экспортировать System в URI http://schemas.dmtf.Org/cimi/1/action/export Ресурса System на­ правляется запрос POST, где запрос HTTP должен быть представлен следующим образом: Тип медиа JSON: application/json Сериализация JSON: { "action": ' http://schemas.dmtf.Org/cimi/1/action/export", "format*: string. ?"destination": string. ? "properties": { string: string. + } ? } Тип медиа XML: application/xml Сериализация XML: «Action xmlns="http://schemas.dmtf.org/cimi/1"> http://schemas.dmtf.org/cimi/1/action/export xs.sfr/og ? «destination» xs:anyURI «/destination» ? «property key="xs:string*» xs:string «/property» * string.
"count", number."systems": [ { "resourceURI": "httpJ/schemas.dmtf.org/cimi/1/System*. "id*: string. ... остальные атрибуты System... }- + ].? "operations*: ( { "rel": "add", "h re f: string}, ? { "rel". "http://schemas.dmtf.Org/cimi/1/action/import", "h re f: string} ? ] } 59
ГОСТ Р ИСО/МЭК 19831—2017 Сериализация XML: «Collection resourceURI="http://schemas.dmtf.org/cimi/1/SystemCollection" xmlns="http://schemas.dmtf.org/cimi/r> xs.7nfoger«/count» <\d>xs:anyURI ... остальные атрибуты System... * «operation re l-'a d d ’ href=“xs:anyURrf> ? «operation rel="http7/schemas.dmtf.org/cimi/1/acbon/import" href-'xs:anyU Rf'f> ?>* «/Collection» 5.13.2.1 Операции П р и м е ч а н и е — Операция "add* требует использования SystemTemplate (см. 4.2.1.1). Ресурсы, созданные во время процесса создания System, должны ««принадлежать» созданному Ресурсу System (см. 5.13.1). Например, если componentDescriptor ссылается на шаблон MachineTem- plate, который содержит ссылку на VolumeTemplate, то в результате к атрибуту System.machine будет добавлена ссылка на новый экземпляр Machine, а к атрибуту System.volume будет добавлен новый экземпляр Volume. Однако если этот MachineTemptate ссылается на существующий атрибут Volume, то этот Volume не должен добавляться к атрибутам верхнего уровня экземпляра System. Кроме этого определены следующие специальные операции: im port /link@ rel:http://schemas.dmtf.org/cimi/1/action/importДанная операция должна импортировать System. Помимо создания System также могут быть соз­ даны экземпляры Machine. Volume. Network и. возможно, рекурсивно другие экземпляры System и их компоненты в соответствии с записями дескриптора импорта. Более подробная информация об этом процессе приведена в приложении А. Входные параметры: 1) "source": тип URI — обязательный. Указывает местоположение, откуда получают импортированные данные. На основании конкрет­ ного протокола, определенного в URI. Потребитель, возможно, должен предоставить дополнительную информацию (например, учетные данные) в поле "properties". Выходные параметры: нет. Протокол HTTP Чтобы импортировать System отправляется запрос POST в URI "http://schemas. dmtf.org/cimi/1/ac- tion/import" Ресурса SystemCollection. где запрос HTTP должен быть представлен следующим образом: Тип медиа JSON: application/json Сериализация JSON: ( “action": "http://schemas.dmtf.Org/cimi/1/action/import". "source": string. ? ■properties”: { string: string. + } ? } Типмедиа XML: application/xml Сериализация XML «Action xmlns="http://schemas.dmtf.org/cimi/r>«action» http7/schemas.dmtf.org/cimi/1/actjon/import «/action» «source»xs;anyl/R/«/source> ? «property key=*xs:s/w?g">xs:s/nng«/property> * «/Action» 60
ГОСТ Р ИСО/МЭК 19831—2017 5.13.3 Ресурс SystemTemplate Ресурс SystemTemplate содержит совокупность отдельных дескрипторов, необходимых для соз­ дания компонентов System. Считают, что каждый дескриптор компонента является сохраненным видом операции create, которая создает экземпляр компонента. На практике Поставщик интерпретирует со­ вокупность дескрипторов компонентов как последовательность операций создания, которые должны выполняться в порядке, удовлетворяющем зависимостям (например, ссылкам между компонентами), выраженными между этими компонентами. SystemTemplate может содержать в дескрипторах ссылки на компоненты, используемые для вы­ ражения связей между компонентами итоговой Системы. Составная ссылка использует атрибут "пате" целевого компонента (на который указывает ссылка). Например может ссылаться на Volume, названный newVolume. Наименование ссылки#пеюУо1ито заменяется фактиче­ ским URL Ресурса в созданном экземпляре System. SystemTemplate не должен содержать два дескриптора компонента одинакового типа, которые мо­ гут привести к одинаковому непустому значению для атрибута ’ name’ итоговых компонентов. Попытка создать или обновить SystemTemplate. который не удовлетворяет этому правилу, приводит к ошибке. Описание атрибутов SystemTemplate приведено в таблице 18. Т а б л и ц а 18 — Атрибуты SystemTemplate Наименование S ystem Tem plate Т и п U R I http:tfscbem as.dm tf.org/cm iiW System Tem plate А три бут Тип Описание ComponentCompo­ Перечень дескрипторов компонентов, описывающих компоненты экземпляра Sys­ Descriptorsnent tem. созданного в соответствии с данным SystemTemplate. При создании SystemDescrip­ для каждого дескриптора компонента создается соответствующий компонент. Каж­tor [\ дый дескриптор компонента ссылается на Шаблон (по ссылке или значению) и мо­ жет также предоставить дополнительные метаданные (наименование, описание, свойства). Порядок создания компонентов в SystemTemplate не определен; в част­ ности. порядок дескрипторов компонентов в данном массиве не задает порядок создания Наименование com ponent O escnptor Данны е Тип Описание namestring Значение атрибута ’ name", связанного с компонентом экземпляра System, созданным из данного дескрипто­ ра компонента. П р и м е ч а н и е — Это наименование не следует пу­ тать с наименованием, которое может присутствовать в Шаблоне компонента, например. MachineTemplate. от которого создаётся данный компонент. Ограничения. Поставщик: обязательная поддержка; изменяемый. Потребитель: необязательная поддержка, чтение-запись descriptionstring Значение атрибута "description”, связанного с компо­ нентом экземпляра System, созданным из данного де­ скриптора компонента. Огоаиичения: Поставщик: обязательная поддержка; изменяемый. Потребитель: необязательная поддержка; чтениезапись propertiesmap Пары ключ/значение. которые связаны с компонентом экземпляра System, созданным из данного дескрипто­ ра компонента. Поставщик: обязательная поддержка; изменяемый. Потребитель: необязательная поддержка; чтение-запись 61
ГОСТ Р ИСО/МЭК 19831—2017Продолжение таблицы 18 А тр и б у т Ти п О писан ие ComponentСотро- Наим енование Descriptorsnent Descrip­ Данны е Ти п О п и са н и еtor l] typeURI TypeURI компонента, который создан из данного де­ скриптора компонента, например для Machine:http://schemas.dmtf.org/cimLM/Machine Ограничения; Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка; чтение-запись component any Ссылка на Шаблон компонента или непосредственно Template вложенный Шаблон, (т. е. значение Шаблона). Следует обратить внимание на то. что точное наимено­ вание данного атрибута может варьироваться в зави­ симости от типа создаваемого Ресурса, создаваемого, например MachineTemplate для Machine. Данный атрибут должен содержать: - шаблон, который предоставлен вложением. Такой встроенный Шаблон гложет содержать ссылки на ком­ поненты. каждая из которых должна разрешаться как URI компонента с тем же наименованием однажды созданного из данного SystemTemplate: либо ссылку на внешний определенный Шаблон. Для некоторых атрибутов внутри элемента componentTemplate могут быть определены пары наименование/значение, что­ бы переопределить подобные атрибуты в Шаблоне, на который указывает ссылка (см. 4.2.1.1). В следующем примере показано, как можно добавлять к внешнему Шаблону ссылки на компоненты. Пример (JSON): "machineTemplate": { "href": "credential” : { “href": "#MyCredential" } > Атрибут "credential" предполагает, что есть другой эле­ мент componentDescriptor 'MyCredential" типа "Cre­ dential" в SystemTemplate. Он должен установить или переопределить подобный атрибут в MachineTemplate. на который указывает ссылка, когда тот будет исполь­ зоваться для создания компонента Machine. Ограничения: Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка; чтение-запись quantityInteger Число экземпляров компонентов, которые будут созданы из данного дескриптора компонентов. По умолчанию это число равно 1. Если значение равно 2 или больше, фактическое наименование, присво­ енное каждому экземпляру, получается конкатена­ цией параметра ’ name" и порядковым номером (на­ пример, если name="myMachine’ и quantity=3, то имена будут; myMach:ne1. myMachine2. myMachine3.) Ограничения: Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка: чтение-за­ пись Огааничвшш; Поставщик: обязательная поддержка: изменяемый. Потребитель: обязательная поддержка: чтение-запись 62
ГОСТ Р ИСО/МЭК 19831—2017Окончание таблицы 18 Атрибут Тип Описание meterMeter Перечень ссылок на шаблоны MeterTemplate. которые следует использовать для TemplatesTemplates[] создания и подключения набора новых экземпляров Meter к создаваемой System. П р и м е ч а н и е — Могут быть заданы атрибуты MeterTemplate. а не указана ссылка на существующий Ресурс MeterTemplate. meterMeter Ограничения: TemplatesTemplates[J Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка; чтение-запись eventLog-ref Ссылка на EventLogTemplate. которая должна использоваться для создания и под­ Template ключения нового зкземпляраЕуелИод к создаваемой System. П р и м е ч а н и е — Могут быть заданы атрибуты EventLogTemplate. а не указана ссылка на существующий Ресурс EventLogTemplate. Ограничения: Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка; чтение-запись importref Если данный шаблон является результатом импорта, например из пакета OVF. дан­ Image ный атрибут должен использоваться. Если он присутствует, то должен ссылаться на источник импорта (например, пакет OVF) используемый для того, чтобы создать данный Шаблон. Ограничения: Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка; только для чтения При реализации или использовании SystemTomplate Поставщики и Потребители должны исполь­ зовать синтаксис и семантику его атрибутов в соответствии с таблицей 18. а также таблицами, описы­ вающими встроенные Ресурсы или связанные Наборы. Потребитель и Поставщик должны сериализо­ вать данный Ресурс в соответствии со следующим описанием. Сериализацию Ресурса и в JSON иХМ1_ (см. 1.3) осуществляют следующим образом: JSON тип медиа: application/json Сериализация JSON: { "resourceURI": "hrtp-J/schemas.dmtf.ofg/cimi/1/SystemTemplate*. "id*: string."name": string. ? "description": string. ? "created", string. ? "updated": string, ? "properties": { string: string, + }. ? "componentDescriptors". ( { "name*: string. ? "description": string. ? "properties": { string: string. + }, ? "type": string,"componontTemptate": { "href': string. ? ... атрибуты ComponentTemplate... ?). "quantity": number ? } . + ].? "meterTemplates". ( { "href": string, ? ... атрибуты MeterTemplate... ? 63
ГОСТ Р ИСО/МЭК 19831—2017 ■eventLogTemplate": { 'h re f: string. ? ... атрибуты EventLogTemplate... ? }.? 'importlmage": { "href”: string }, ? ‘ operations": [ { "геГ: ‘ edit*, "h re f: string}, ? { "reP: ’ delete", "h re f: string}. ? { "reP: ’ http://schemas.dmtf.Org/dmi/1/actioo/export’ , "h re f: string }? )? } Тип медиа XML: application/xml Сериализация XML: >xs:anyURI
xs:string ? xs:s/ring«/description> ? xs:dateTimo ? xs:dafe77me ? «property key=’ xs:string">xs:string * «name>xs.s/W7g«/name> ? xs:s/nng ? «property key=’ xs:s//7ng">xs.s?ring«/property> * xs:anyUR/ h re f-’xs.anyl/R f? > ... атрибуты ComponentTemplate... ? * «quantity>xs.mfegor«/quantity> * «meterTemplate href="xs.anyL/R/’? > ... атрибуты MeterTemplate... ? «/meterTemplate> * «eventLogTemplate href=mxs:anyURT? >... атрибуты EventLogTemplate... ? ? ? «operation rel="httpJ/schemas.dmtf.org/cimi/1/action/exporf href="xs.anyL/R/'/> ? * 5.13.3.1 Операции Данный Ресурс поддерживает операции Read. Update и Delete. Операция Create поддерживается через Ресурс SystemTemplateCollection. Кроме того, определены следующие специальные операции: export /link@ rel: http://schemas.dmtf.Org/cimi/1/action/exportДанная операция должна экспортировать SystemTemptate. Если в указанном URI уже существует пакет экспорта, то он обновляется в соответствии со значениями SystemTemplate и любых Ресурсов компонентов управления. В противном случае в указанном URI создается новый пакет экспорта с типом медиа, определенным параметром «format». Допускается использовать другие форматы, если они под­ держиваются, но не приведены в настоящем стандарте. 64
ГОСТ Р ИСО/МЭК 19831—2017 Входные параметры: 1) "format": тип string — необязательный; 2) указывает на Тип медиа экспортируемых данных. Если не задан, то значением по умолчанию должно быть "application/ovf"; 3) "destination": тип URI — необязательный. Указывает на местоположение экспортируемых данных. Если данный параметр отсутствует, то в ответе заголовок HTTP Location должен содержать URL экспортированных данных. На основании конкретного протокола, определенного в URI, Потребитель должен указать в поле "properties" дополни­ тельную информацию (например, учетные данные). В случае HTTP следует использовать PUT с целью размещения данных в указанном местоположении. Выходные параметры: Нет. Протокол HTTP Чтобы экспортировать SystemTemplate. в URI http://schemas.dmtf.Org/cimi/1/action/export Ресурса SystemTemplate направляется запрос POST, где запрос HTTP должен быть представлен следующим образом: Тип медиа JSON: application/json Сериализация JSON: { "action": "http://scriemas.dmtf.Org/cimi/1/action/export", "format": string. ?"destination": string. ? "properties": { string: string. + } ? } Тип медиа XML: application/xml Сериализация XML xs:string «/property» * «xs:any»‘ «/Action» 5.13.4 Ресурс SystomTemplateColloction Ресурс SystemTemplateCollection представляет собой Набор Ресурсов SystemTemplateCollection Поставщика и соответствует спецификации Набора, приведенной в 5.5.12. Данный Ресурс должен быть сериализован следующим образом: Сериализация JSON: { "resourceURI": "httpy/schemas.dmtf.org/cimi/1/SystemTemplateCollection". "id": string."count": number."systemTemplates": ( { "resourceURI": “httpy/schemas.dmtf.org/cimi/1/SystemTemplate’ , "id": string.... остальные атрибуты SystemTemplate... }• + ]•? "operations": [ { "rel". "add", "href": string}, ? { "rel". "http://schemas.dmtf.Org/cimi/1/action/import”. "h re f: string} ? ] } 65
ГОСТ Р ИСО/МЭК 19831—2017 Сериализация XML: «Collection resourceURI="http://schemas.dmtf.org/cimi/1/SystemTemplateCollection" xmlns="http://schemas.dmtf.org/cimi/r> < id >xs:anyURI > xs.7/?feger «id»xs:anyL/f?/
... остальные атрибуты System... * «operation rel-'a d d " href-'xs:anyU R rt> ? «operation rel="http://schemas.dmtf.org/cimi/1/action/import"hret="xs:anyURrt> ?>* «/Collection» 5.13.4.1 Операции Определены следующие специальные операции: im port /link@ rel. http://schemas.dmtf.Org/cimi/1/action/importДанная операция должна импортировать SystemTemplate. Помимо создания SystemTcmplate так­ же могут быть созданы экземпляры MachmeTemplate. VolumeTemplate и NetworkTemplate, и. возможно, рекурсивно другие экземпляры SystemTemplate и их компоненты в соответствии с записями дескрипто­ ра импорта. Дополнительная информация об этом процессе приведена в приложенииА. Входные параметры: 1) ’ source": тип URI — обязательный Указывает на местоположение, откуда поступают импортированные данные. На основании кон­ кретного протокола, определенного в URI. Потребитель должен предоставить дополнительную инфор­ мацию (например, учетные данные) в поле "properties”. Выходные параметры: нет. Протокол HTTP Чтобы импортировать SystemTemplate. в URIhttp://schemas. dmtf.org/cimi/1/action/import Ресурса SystemTemplateCollection передают 3anpocPOST, где запрос HTTP должен быть представлен следую­ щим образом: Тип медиа JSON: application/json Сериализация JSON: { "action": "http://schernas.dmtf.0rg/cimi/l/acti0rVimp0rt". "source": string, ? ■properties': { string, string. + } ? } Тип модиа XML: application/xml Сериализация XML «Action xmlns="http://schemas.dmtf.org/cimi/r> «action» http://schemas.dmtf.0rg/cimi/l/actionr1mport «/action» «source»xs:anyl/R/«/source> ? «property keу='xs:string">xs:string</property> ** «/Action» 5.14 Ресурс Machine и отношения Ресурсы, используемые при конструировании Machine, и отношения между ними приведены на рисунке 3. который представлен в виде схемы отношений Ресурсов, при этом использование UML не является строгим и нормативным. 66
ГОСТ Р ИСО/МЭК 19831—2017 ■ txcSm* отрЫл W t " * тйпГ ..([ ijr w n g •n w w O lW itrn ••а-ЦМ.^я-я • m n e fl.l) w n g •У»1ии* 0 / ■ VrfiiM •ft»ibi(0.1f siilrq 1 0." ’ Л м о ф М М ) imn) ■ cio*od{0..1|: d MaTane • cuKu^O.lf Aetlimt & / 0." •crtMMQ0.1K to ieln ie dW uTm. • ч .Ь < * .{ 0 Ц « ш Т л м * ф * М ф . 1 £ « а м П т 0 .' > 1 • l* ой* •ЙПМНЦШИТЯИ_____ ' М Д О я т д M ‘«"7 • « « a s ia x p .u . *lH»g 0l' 0..* ■ «P*P ’ 1 '« Ч * * 1 0 .' •>еяс1ш|С|>ё||П 1) n l4 t4 i!
r.ll-.J ! •( d ik •■ NcM nttaievfl.ft M d h b f J . 'J to / U c u x O-'J '(ic ik fa ^ p ..!) i t l ■ c p ^ O . t f M m 3* + * * * • '*0 . ‘ •vtiui>u(9..t| valine ■ cps в р м Д О Ы ч - -v> l< m ai(0.t) m fn ttn n •M tlm •u w O»Ip<0 .1} Ulisg 1 0.* ■ !j«itSicpshc«|0.1> i d •reeKlTentAn-sp/Jut* » i u f i l u K | 0 . 1 |: t d k i A u t •E ven f.u a • iw A o jT t m tfiU * ) .!* « ' ' im ic i^ Q .I J c c t k u ia t 1 0 .1i d tllir q -Ьтепрш.р.!] KmjP CTMWel.e. 1) «bteTine '•М|1*я>Ив iyd)lr« jp . 1 1 d > lrlln e* £ r -U «'*q p .tp « i® « P Р-Чю тг 'ntmr|0 1): «rnj й ! ш .р 1 ш ( 0 .1 ( tu fa ) U m .j df«npncnp.1| 9»nq « № •* 4 o.Mlojp..1|:dUe1ine ЦМЬ»|(П 1) «иь.1.1. .1): UW u jd U iH p .l) : d iic lin v VL r»l Рисунок 3 — Ресурсы Machine 5.14.1 Machine (Машина) Machine является обособленным вычислительным Ресурсом, инкапсулирующим CPU. и память. Атрибуты Machine приведены в таблице 19. Т а б л и ц а 19 — Атрибуты Machine Наименование Machine Тип URI http ^.'schemas amtf.orgfcimi'1 /Machine Атрибут Тип Описание stateString Рабочее состояние Machine. Допустимые значения включают в себя: CREATING: Machine находится в процессе создания. STARTING: Machine находится в процессе запуска. STARTED: Machine доступна и готова к использованию. STOPPING: Machine находится в процессе остановки. STOPPED: Это значение является виртуальный эквивалентом выключения физической Machine. Какого-либо сохраненного состояния ЦП или памяти не существует. В 5.14.2.1 указано первоначальное состояние Machine. PAUSING Machine в процессе приостановки и перехода в состояние PAUSED. PAUSED: В этом состоянии МасЫпеи ее виртуальные ресурсы остаются ин­ станцированными. ресурсы остаются выделенными аналогично состоянию STARTED, но Machine и ее виртуальным ресурсам не разрешено выполнение задач SUSPENDING: Machine находится в процессе приостановки и сохранения ре­ сурсов в энергонезависимую память. SUSPENDED: В данном состоянии Machine и ее виртуальные ресурсы сохра­ няются в энергонезависимой памяти. Machine и ее ресурсам не разрешено вы­ полнение задач. DELETING. Machine находится в процессе удаления. ERROR: Поставщик обнаружил ошибку в Machine. Операции, которые приводят к переходам к указанным состояниям, приведены в 5.14.1.2. Огоаничения: Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка; только для чтения cpuinteger Число ЦП. выделенное данному экземпляру Machine. Огданячелия; Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка; чтение-запись 67
ГОСТ Р ИСО/МЭК 19831—2017П родолж ение т а блиц ы 19 А тр и б у » Ти п О писан ие memoryinte ger Размер памяти (RAM) в кибибайтах, выделенных данному экземпляру Machine. Если это значение увеличено, эго подразумевает, что для Machine выделено больше RAM. и наоборот — если значение уменьшено. Ограничения: Поставщик: обязательная поддержка: изменяемый. Потребитель: обязательная поддержка: чтение-запись discsC ollection Ссылка на перечень дисков (локальное хранилище), которые являются частью[D isk] Machine. Добавление элемента к этому перечню создает диск. П р и м е ч а н и е — Тип Ресурса Disk определен в 5.14.1.1.1. Ограничения: Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка: только для чтения cpuArchstring Архитектура ЦП, которая поддерживается Machine, созданной с помощью дан­ ной конфигурации. Допустимые значения включают в себя: 68000 Alpha. ARM Itanium. MIPS. PA_RISC. POWER. PowerPC. x86. x86_64. ziArchitecture SPARC. Поставщики могут установить дополнительные значения. Ограничения: Поставщик: необязательная поддержка: неизменяемый. Потребитель: необязательная поддержка; только для чтения cpuSpeedinte ger Приблизительная скорость ЦП данного экземпляра Machine в мегагерцах. Ограничения: Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка; чтение-запись volumescollection Ссылка на перечень ссылок на экземпляры Volume, которые подключены к[M achine данной Machine.Volume] Добавление Volume к этому перечню означает, что у Machine есть некоторый доступ к данным, хранящимся в Volume. Удаление Volume из этого перечня означает, что у Machine больше нет доступа к данным в Volume. П р и м е ч а н и е — Тип Ресурса MachineVolume представляет связь между Machine и Volume (см. 5.14.1.1.2). Ограничения: Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка; только для чтения networklnterfacescollection Ссылка на перечень MachineNetworklnterfa седанного экземпляра Machine.[M achine П р и м е ч а н и е —Тип Ресурса MachineNetworklnterface представляет связьNetw ork между Machine и Networklntertace (см. 5.14.1.1.3).Interfa ce] Ограничения: Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка; только для чтения latestSnapshotre f Ссылка на снимок состояния, представляющий последнее состояние, захва­ ченное для данной Machine (последний по времени снимок состояния, либо снимок, из которого было восстановлено состояние). Ограничения: Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка; только для чтения 68
ГОСТ Р ИСО/МЭК 19831—2017Окончание таблицы 19 Атрибут Тип Описание snapshotscollection Ссылка на перечень ссыпок на образы снимков состояния данной Machine.[Machine П р и м е ч а н и е — Тип Ресурса MachineSnapshot представляет связь междуSnapshot/ Machine и Snapshot (см. 5.14.1.1.5). Ограничения: Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка; только для чтения meterscollection Ссылка на перечень экземпляров Meter, которые используются для мониторин­lMeterJ га данной Machine. Ограничения: Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка; только для чтения eventLogret Ссылка на EventLog данной Machine. Ограничения: Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка; только для чтения При реализации или использовании Machine Поставщики и Потребители должны использовать синтаксис и семантику его атрибутов в соответствии с таблицей 19, а также таблицами, описывающими встроенные Ресурсы или связанные Наборы. Потребитель и Поставщик должны сериализовать данный Ресурс в соответствии со следующим описанием. Сериализацию Ресурса и в JSON и в XML (см. 1.3) осуществляют следующим образом: Тип медиа JSON: application/json Сериализация JSON: { ’ resourceURI". "http:yyschemas.dmtf.org/cimi/1/Machine’ . "id": string."name": string, ? "description’ : string. ? "created", string. ? "updated": string, ? "properties": { string: string. + }, ? "state": string."cpu’ : number,"memory": number."disks": { "h re f: string}, ? "cpuArch": string, ? "cpuSpeed": numbor. ? "volumes": { “h re f: strin g ), ? "networklnterfaces': { 'href": strin g }. ? "latestSnapshot*: { "href*: strin g }, ? "snapshots': { 'h re f: string}. ? "meters’ : { ’ href” : string}, ? "eventLog": { 'h re f: string}, ? "operations’ : ( { ’ rel": "edit", "h re f: string}, ? { ’ rel": "delete*, ’ h re f: string}. ? { "rel": "http://schemas.dmtf.Org/cimi/1/action/start’ . "href*, string}, ? { ’ rel": "http://schemas.dmtf.org/cimi/1/action/stop". “h re f: string}, ? { "rel": "httpJ/schemas.dmtf.org/cimi/l/acbon/restart", ’ h re f: string},?{ "rel". “http://schemas.dmtf.org/cimi/1/action/pause', ’ h re f: string}. ? { "rel": "http://schemas.dmtf.Org/cimi/1/action/suspend". "h re f: string} ? 69
ГОСТ Р ИСО/МЭК 19831—2017 { "геГ: "http://schemas.dmtf.Org/dmi/1/action/snapshot''. ’ href': string} ? { "геГ: "http://schemas.dmtf.Org/dmi/1/action/restore". "hreP: string} ? ] } Тип медиа XML: application/xml Сериализация XML: «Machine xmlns="http://schemas.dmtf .org/dmi/1 ’ > xs.anyL/R/«/id> xs:s/w?g ? xs.s/n'ng ? «created>xs.da/e77me«/created> ? xs:dafe77me«/updated> ? «property key=*xs.s/r/ng">xs:sfrmg«/property> * xs.s//yng«/state> xs.7nfeger«/cpu> «memory>xs.7nfeger«/memory> «disks href="xs:anyU/?/"/> ? «cpuArch>xs:s/nng«/cpuArch> ? «cpuSpeed>xs.fn/egor«/cpuSpeed> ? «volumes href="xs:anyt/f?/7> ? «networklnterfaces href=”xs:anyURn> ? «latestSnapshot href="xs;anyL//?/7> ? «snapshots href="xs:anyURn> ? «meters href=”xs.anyL/Rr/> ? «eventLog href=*xs:ar)yL/Rf/> ? «operation re l-'e d it” href- ’ xs:anyURH> ? «operation rel="delete* href="xs.anyL/R/7> ? «operation rel="http7/schemas.dmtf.org/cimi/1/acbon/start"hret="xs:anyURrt> ? «operation rel="http7/schemas.dmtf.org/cimi/1/action/stop" href="xs.anyL/R/7> ? «operation r e l- 'http://schemas.dmtf.0rg/cimi/1/action/restart" href="xs.anyt/f?r/> ? «operation rel="http7/schemas.dmtf.org/cimi/1/action/pause* hrof=”xs.anyL/R/'/> ? «operation rel="http://schemas.dmtf.org/cimi/1/actk>n/suspond" h ref=”xs :a ny U R l'7> ? «operation rel="http7/schemas.dmtf.org/cimi/1/action/capture" href=”xs:anyURP/> ? «operation rel="http7/schemas.dmtf.org/cimi/1/action/snapshot“ href="xs:anyURI7> ? «operation rel=“http7/schemas.dmtf.org/cimi/1/action/restore’ href=”xs:anyURI“/> ?>* 5.14.1.1 Наборы В настоящем подпункте приведены Ресурсы Наборов, принадлежащих Machine. 5.14.1.1.1 Набор DiskCollection Типом ресурса для каждого элемента данного Набора является Disk, приведенный в таблице 20. 70
ГОСТ Р ИСО/МЭК 19831—2017 Т а б л и ц а 20 — Атрибуты Disk Наим енование Disk Т и п U R I nttp //schemas dmtf.org/cimi/1 /Disk А три б ут Ти п О писание capacityinteger Начальная емкость диска в килобайтах. Ограничения; Поставщик: обязательная поддержка: изменяемый. Потребитель: обязательная поддержка; чтение-запись initialLocationstring Путь к точке первого появления диска в пространстве наименований операционной системы после развертывания. Потребители могут переместить диск. Поддержка данного атрибута указывает, что Поставщик может сообщить эту ин­ формацию Потребителю. Ограничения: Поставщик: необязательная поддержка; неизменяемый. Потребитель: необязательная поддержка; только для чтения Сериализация JSON: { "resourceURI": "http://schemas.dmtf.Ofg/cimi/1/DiskCollection’ , "id*: string, "count": number, "disks": [ { "resourceURI": ' http://sctiemas.dmtf.Org/cimi/1/Disk", "id": string, "name": stnng, ? "description": string. ? "created”: string, ? "updated": string, ? "properties': { string: string. + }, ? "capacity": number. "initialLocation": string, ? "operations": [ { "rel": "edit", "href*: string}. ? { "rel": "delete", "href*: string} ? ]? }• + ].? "operations": [ { "rel": 'add”, "href1, string } ? ] } Сериализация XML: «Collection resourceURI="httpJ/schemas.dmtf.org/cimi/1/DiskCollection" xmlns='http://schemas.dmtf.org/cimi/1"> «id>xs.anyl/R/«/id> xs.7nteger xs:anyL/R/«/id> «name>xs:sfmg«/name> ? xs.sfr/ng ? xs:dafo7Vme ? xs.dateT/me«/updated> ? «property key="xs.s/r)'ng’ >xs.sfnng * xs.7nfeger«/capacity> «initialLocation>xs:sm'ng«/initialLocation> ? 71
ГОСТ Р ИСО/МЭК 19831—2017 ■«operation rel="edit" href="xs:anyURn> ? «operation rel=''delete* href-'xs:anyU R rt> ?>*
* «operation r e l- ’add’ href="xs.anyL/R/7> ?>* «/Collection» 5.14.1.1.2 Набор MachineVolumeCollection Типом Ресурса для каждого элемента данного Набора является MachineVolume. приведенный в таблице 21. Т а б л и ц а 21 — Атрибуты MachineVolume Наим енооание MachineVolum e Тип URI http^/schcmas.dmlf.orp/cuni/l/MachmeVolumo А тр и б у т Ти п О пи с а н и е initialLocationstring Путь к точке первого появления тома в пространстве наименований операционной системы П р и м е ч а н и е — После развертывания Потребители могут переместить том. Поддержка данного атрибута указывает, что Поставщик может сообщить эту ин­ формацию Потребителю Ограничения: Поставщик: необязательная поддержка; неизменяемый. Потребитель: необязательная поддержка; только для чтения volumeref Ссылка на связанный Ресурс Volume. Ограничения: Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка; чтение-запись Сериализация JSON: { "resourceURI": ’ http://schemas.dmtf.0rg/cimi/l/MachineVolumeCollection’ , ”id’ : string. "count": number. "machineVolumes’ : [ { "resourceURI": "http://schemas.dmtf.Org/cimi/1 /MachineVolume". "id*: string. "name": string. ? "description": string. ? "created": string. ? "updated": string. ? "properties": { string: string. + }, ? "initialLocation": string. ? "volume": { ’ href': string}. "operations". [ { "rel": "edit", "h re f: strin g ). ? { "rel": "delete", "href": string } ? ] ? ].? "operations": [ { "rel": "add", "href': string} ? ] } 72
ГОСТ Р ИСО/МЭК 19831—2017 Сериализация XML: < Collection resourceURI=’ http://schernas.dmtf.org/dmi/1/MachineVolumeCollection"xmlns=*httpi//schemas.dmtf.org/cimi/r> xs:a/iyl/R/«/id» xs.7nfeger xs:anyl/R/ xs:sfr/ng ? «description» xs:string «/description» ? «created» xs:dateTime «/created» ? «updated» xs:dateTime «/updated» ? «property key="xs:string'» xs:string «/property» * «initialLocation» xs:string «/initialLocation» ? «volume href="xs.anyURI7> «operation rel="edir href="xs:anyURI7» ? «operation rel=’ delete" href=’ xs:anyURI7» ?>* «/MachineVolume» * «operation rel*"adda href=exs:anyURH> ?*«/Collection» 5.14.1.1.3 Набор MachineNetworklnterfaceColloction Типом Ресурса для каждого элемента данного Набора является MachineNetworklnterface, приве­ денный в таблице 22. Т а б л и ц а 22 — Атрибуты MachineNetworklnterface Наим енование M actiineNetworklnterfacc Т и п U R I http:f/schemas.dmtf.org/afniT1/MachineNetworklnterface А тр и б у т Ти п О писан ие addressescollection Ссылка на перечень ссылок на экземпляры Addres для данного сетевого интер­[Machine фейса.Network П р и м е ч а н и е — Тип ресурса MachineNetworklnterfaceAddres представляетInterface связь между MachineNetworklnterface и Address (см. 5.14.1.1.4).Address] Ограничения; Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка; только для чтения networkref Ссылка на Network для данного сетевого интерфейса. Ограничения: Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка: чтение-запись networkPortref Ссылка на NetworkPort для данного сетевого интерфейса. Если будет предоставлен данный атрибут, то атрибут «network» в NetworkPort. на который указывает ссыпка, должен иметь то же самое значение, что и атрибут "net­ works" в данном сетевом интерфейсе. Ограничения: Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка: чтение-запись statestring Состояние MachineNetworklnterface. Допустимые значения включают в себя: ACTIVE: активный интерфейс — основной интерфейс, который в состоянии пере­ давать трафик. PASSIVE: пассивный интерфейс находится в режиме ожидания, готовый к передаче трафика, если возникает ошибка в основном интерфейсе. DISABLED: отключенный интерфейс — такой интерфейс не может передавать тра­ фик. 73
ГОСТ Р ИСО/МЭК 19831—2017О кончание т а блиц ы 22 А тр и б у т Ти п Описан ие Ограничения: Поставщик: обязательная поддержка: изменяемый. Потребитель: обязательная поддержка: чтение-запись macAddress string Адрес, присвоенный гипервизором при создании машины, либо уникальный адрес, присвоенный вручную. Несмотря на то. что данный атрибут гложет быть задан Пользователем, в большин­ стве случаев он предоставляется Поставщиком. Значение задается обычно только а том случае, если Шаблон используется только для одной конкретной Машины. Ограничения: Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка; чтение-запись mtu integer Определяет максимальный размер передаваемого пакета (MTU — MaximumTrans- missionUnit) Ограничения: Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка; чтение-запись Сериализация JSON: { "resourceURI": ' http://schemas.dmtf.Org/cimi/1/MachineNetworklnterfaceCollectiorr, *id": string.'count*: number.'machineNetworklnterfaces": [ { 'resourceURI": "http://schemas.dmtf.Org/cimi/1.1MachineNetworklnterface", *id": string.'name": string. ? 'description": string, ? 'created': string, ? 'updated': string. ? ■properties": { string: string. + }. ? 'addresses": { 'href": string}. 'network": { "h re f: string}, 'networkPort": { *hreF: string}. ? 'state': string. ? 'macAddress". string. ? *mtun: number. ? 'operations": ( { "rel": *ediF, "hreF: string}. ? { "rel*: ’ delete”, "hreF: string} ? ] ? } . ♦ ].? "operations": [ { *rel": "add", *hreF: string} ? ] } Сериализация XML: «Collection resourceURI="http://schemas.dmtf.org/cimi/1/MachineNetworklnterfaceCollection“ xmlns="http://schemas.dmtf.org/cimi/1">xs:anyURIxs.7nfeger 74
ГОСТ Р ИСО/МЭК 19831—2017 xs:anyURI<(id> xs:string ? xs:s(r;ng ? «created >xs:date 77me«/created> ? xs:dafe7/me ? «property key="xs.stnng*>xs:sfr?V)g«/property> * «addresses href =mxs:anyURn>«network hret-'xs:anyU Rn>«networkPort href='xs.anyL/R/7> ? xs:sfring ? xs.sfrtng«/macAddress> ? «mtu>xs:/nfeger«/mtu> ? «operation rel="edit* href="xs.anyL/f?f/> ? «operation rel=’ delete" hrei='xs:anyURr/> ? «xs:ar)y>* * «operation rel=’ add" h(ef=’ xs:anyURn> ? * «/Collection» 5.14.1.1.4 Ресурс MachineNetworklnterfaceAddressCollection Типом Ресурса для каждого элемента этого Набора является MachineNetworklnterfacoAddress, приведенный в таблице 23. Т а б л и ц а 23 — Атрибуты MachineNetworklnterfaceAddress Наим енование M achincN etw orklntertaceAdarcss Т и п U R I http./i’scrierTias.dmtf.onji'cimi.'U'MachineNerworklnlerfaceAdOfess А трибут Т и п О писан ие addressret Ссыпка на Ресурс Address. Ограничения: Поставщик: обязательная поддержка: изменяемый. Потребитель: обязательная поддержка; только для чтения Сериализация JSON: { "resourceURI"."http://schemas.dmtf.Org/cimi/1/MachineNetworklnterfaceAddressCollGction*. "id*: string."count": number."machineNetworklnterfaceAddresses”: [ { "resourceURI"."http://schemas.dmtf.Org/cimi/1/MachineNetworklnterfaceAddress", "id*: string."name": string. ? "description": string. ? "created": string. ? "updated": string. ? "properties": { string: string. * }, ? "address*: { "href*: strin g }. "operations’ : [ { "rel": "edit", "h re f: string}. ? { ’ re f: "delete*. *h re f: string} ? 75
ГОСТ Р ИСО/МЭК 19831—2017 ].? ’ operations": [ { ’ геГ: ’ add", *href: string) ? ] } Сериализация XML: «Collection resourceURI="http://schemas.dmtf.org/cimi/1/MachineNetworklnterfaceAddrGssCollection" xmlns="http://schemas.dmtf.org/cimi/r> < id >xs:anyURtxs.7nfeger <\6>xs:anyURI xs:string ? xs;sfnng«/description> ? xs.date77me«/created> ? xs:cfafe77me«/updated> ? «property key=mxs:string">xs:string «address href="xs.any(/f?/7> «operation rel="edit” href=’ xs:any(JRn> ? «operation rel="delete* href="xs:anyl/R/7> ? * «/MachineNetworklnterfaceAddress» * «operation rei="add’ hre1-'xs:anyURr/> ? * «/Collection» 5.14.1.1.5 Ресурс MachineSnapshotCollection Типом ресурса для каждого элемента этого Набора является MachineSnapshot, приведенный в таблице 24. Т а б л и ц а 24 — Атрибуты MachineSnapshot Наим енование M achineSnapshot Т и п U R I http:iVschcm as.dRitf.o({}/eim inJM achineSnapshot А тр и б у т Ти п О писан ие spapshotref Ссылка на снимок состояния. Ресурс Machinelmage. Ограничения: Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка: только для чтения Сериализация JSON: { "resourceURI": ’ http://schemas.dmtf.Org/cimi/1/MachineSnapshotCollection’ , ’ id": string, ’ count’ : number. "machineSnapshots": [ { ’ resourceURI’ : "http://schemas.dmtf.0rg/cimL/l/MachineSnapsh0t". ’ id": string, ’ name’ : string, ? ’ description*: string, ? "created*: string. ? ’ updated": string, ? "properties’ : { string: string, + }, ? ’ snapshot’ : { 'h re f: string }, ’ operations’ : [ 76
ГОСТ Р ИСО/МЭК 19831—2017 { "геГ: 'edit”, -h re f: string }, ? { "геГ: ’ delete’ , ’ h re f: string} ? ] ? >"♦ ] ? } Сериализация XML: «Collection resourceURI=’ http://schemas.dmtf.org/cimi/1/MachineSnapshotCollection*xmlns=’ http://schemas.dmtf.org/cimi/r» xs:anyURI xs: integer «/count» «id»xs:anyUR/«/id> ? «created >xs:date T/me«/created> ? xs:daf07/me«/updated> ? «property key="xs.sfhngr’ >xs.sfrjnghrei="xs:anyURn>
? «xs/алу»* * «/Collection» П р и м е ч а н и е — Предыдущие версии данной спецификации включали в себя операцию «add» для дан­ ного Ресурса. В настоящее время вместо этого рекомендуется создание нового экземпляра Machinelmage с атри­ бутом imageLocatkxi, указывающим на Machine, чей снимок состояния хранится в созданном экземпляре. 5.14.1.1.6 Ресурс MachineMeterCollection Типом ресурса для каждого элемента этого Набора является Meter, приведенный в 5.17.3. Сериализация JSON: { "resourceURI": "http://schemas.dmtf.Org/cimi/1/MachineMeterCollGCtion*,"id- : string,"count": number,"meters’ : [ { "resourceURI": "http^/schemas.dmtf.org/cimi/1/Meter’ . "id": string. ... остальные атрибуты M eter... >.+ ].? "operations’ : [ { "геГ. "add", "href", strin g } ? ] } Сериализация XML: «Collection resourceURI=’ http://schemas.dmtf.org/cimi/1/MachineMeterCollection"xmlns=’ http^/schemas.dmtf.org/cimi/1’ > «id»xs.anyl/R/«/id» «count>xs.7r)teger«/count> «Meter» «id»xs:anyl/R/«/id» ... остальные атрибуты M e te r... 77
ГОСТ Р ИСО/МЭК 19831—2017 «/Meter» * «operation r e l- ’add’ href-'xs:anyURI7> ? * «/Collection» 5.14.1.2 Операции Данный Ресурс поддерживает операции Read. Update и Delete. Операция Create поддерживается через Ресурс MachineCollection. Кроме этого определены следующие специальные операции, start /link@ rel http://schemas.dmtf.Org/cimi/1/action/start Данная операция должна запустить Machine. Входные параметры: Нет. Выходные параметры: Нет. Во время обработки этой операции Machine должна быть в состоянии STARTING. После успешного завершения этой операции Machine должна быть в состоянии STARTED. Если Machine будет в состоянии STOPPED, то ее запуск должен быть виртуальным эквивалентом включения на физической машине. Какого-либо восстановленного состояния ЦП или Памяти не суще­ ствует. поэтому гость ОС обычно выполняет задачи установки или начальной загрузки. Если Machine была в состоянии SUSPENDED или PAUSED, ее запуск должен быть равносилен ее возобновлению. Протокол HTTP Для запуска Machine в URI ’ http://schemas. dmtf.org/dmi/1/action/start" Ресурса Machine должен быть отправлен запрос POST, где запрос HTTP должен быть представлен следующим образом: Тип медиа JSON: application/json Сериализация JSON: { "resourceURI": ’ http://schemas.dmtf.0rg/c1mi/l/Action”, "action". "http://schemas.dmtf.Org/cimi/1/action/start’ . ■properties’ : { string: string. ♦ } ? } Тип модиа XML: application/xml Сериализация XML: «Action xmlns=*http7/schemas.dmtf.org/cimi/r> «action» http://schemas.dmtf.0rg/cimi/l/act10n/start «/action» «property key=’ xs:string"»xs:s/w7g«/property> *>* «/Action» После успешной обработки запроса ответ HTTP может быть пустым, stop /link@ rel. http://schemas.dmtf.Org/cimi/1/action/stop Данная операция должна остановить экземпляр Machine Входные параметры: 1) "force*: тип булевая переменная — необязательный. Флажок, указывающий, что Поставщик должен моделировать отключение питания (force=true), либо должен моделировать операцию завершения работы, которая позволит приложениям и файловой системе корректно сохранить состояние (force=false). Включение данного параметра Потребителями является необязательным условием и если он не указан. Поставщик может выбрать любой механизм. Поставщикам предлагается информировать об этой опции через MachineStopForceDefault. Выходные параметры: Нет. Во время обработки данной операции Machine должна быть в состоянии STOPPING. После успешного завершения данной операции Machine должна быть в состоянии STOPPED. Остановка Machine с force=true должна быть виртуальным эквивалентом выключения компьютера. Какого-либо сохраненного состояния ЦП или памяти не существует. Остановка Machine с force=false должна привести к машине с корректными файловыми системами. Потребитель может повторно вызвать операцию stop, если текущее состояние STOPPING воз­ можно с force=true, но Поставщики не должны вызывать операцию stop с force=true самостоятельно. 78
ГОСТ Р ИСО/МЭК 19831—2017 Протокол HTTP Для остановки Machine в URI "http://schemas. dmtf.org/cimi/1/action/stop" экземпляра Machine дол­ жен быть отправлен запрос POST, где запрос HTTP должен быть представлен следующим образом: Тип медиа JSON: application/json Сериализация JSON: { "resourceURI": “http://schemas.dmtf.ofg/cimi/1/Action“."action*: "http://schemas.dmtf.Org/cjmi/1/action/stop”, "force*: boolean, ? "properties": { string: string. + } ? } Тип медиа XML: applicatioiVxml Сериализация XML http://schemas.dmtf.Org/cimi/1/action/stop xs.boo/ean ? < property key="xs.sfnng*>xs:sfr?'ng *' После успешной обработки запроса ответ HTTP может быть пустым, restart /1ink@rel: http://schemas.dmtf.0rg/ciml/l/acti0n/restart Данная операция должна перезапустить Machine. Если Machine будет в состоянии STARTED, то эта операция должна иметь эффект выполнения операций "stop", а затем 'start". Если Machine будет в состоянии STOPPED, то результат данной операции должен быть равнозначен результату выполнения операции "start". Входные параметры: 1) force": тип булевая переменная — необязательный. Флажок, указывающий, что Поставщик должен моделировать отключение питания (force=true), либо должен моделировать операцию завершения работы, которая позволит приложениям и файло­ вой системе корректно сохранить свое состояние (force=false). Включение данного параметра Потре­ бителями является необязательным условием и. если он не указан. Поставщик может выбрать любой механизм. Поставщикам предлагается информировать об этой опции через возможность MachineStop- ForceDefault. Выходные параметры: Нет. Во время обработки данной операции Machine должна быть в состоянии STOPPING и/или START­ ING. в зависимости от своего начального состояния. После успешного завершения данной операции Machine должна быть в состоянии STARTED. Пе­ резапуск Machine должен быть виртуальным эквивалентом выключения, а затем включения компьюте­ ра. При невосстановлении ЦП или Памяти гостевая Операционная система обычно выполняет за­ дачи загрузки или установки. Протокол HTTP Для перезапуска Machine в URI "http^/schemas.dmtf.org/cimi/1/action/restart" Ресурса Machine дол­ жен быть отправлен запрос POST, где запрос HTTP должен быть представлен следующим образом: Тип модиа JSON: application/json Сериализация JSON: { "resourceURI": "http://schemas.dmtf.Org/cimi/1/Action","action*: "http://schemas.dmtf.Org/dmi/1/actioa/restart", "force*: boolean, ? "properties": { string: string. + } ? } 79
ГОСТ Р ИСО/МЭК 19831—2017 Тип модиа XML: application/xml Сериализация XML http://schemas.dmtf.Org/cimi/1/action/restart «/action» xs. Роо/еэл ? «property key=’ xs.s/W7g">xs.s/n'ng«/property> * * «/Action» После успешной обработки запроса тело ответа HTTP может быть пустым, pause /link@ rel. http://schemas.dmtf.Org/cimi/1/action/pause Данная операция должна приостановить Machine. Входные параметры: Нет. Выходные параметры: Нет. Во время обработки данной операции Machine должна быть в состоянии PAUSING. После успешного завершения данной операции Machine должна быть в состоянии PAUSED. При­ остановка Machine должна сохранить Machine и ее ресурсы, но Machine не должна быть доступной для выполнения любых задач. Текущее состояние ЦП и памяти должно быть сохранено в энергозависимой памяти. Протокол HTTP Для приостановки Machine, в URI "http://schemas. dmtf.org/cimi/1/action.pause’ Ресурса Machine должен быть отправлен запрос POST, где запрос HTTP должен быть представлен следующим образом: Тип медиа JSON: application/json Сериализация JSON: { "resourceURI": ’ http://schemas.dmtf.Org/dmi/1/Action’ . ’ action": "http://schemas.dmtf.Org/cimi/1/action/pause*, ’ properties’ : { string: string, + } ?fТип медиа XML: application/xm! Сериализация XML «Action xmlns=’ http://schemas.dmtf.org/cimi/1 ’ > «action» http://schemas.dmtf.Org/cimi/1/action/pause «/action» «property key=’ xs.s/r/ng"»xs:s/n'ng'
«/Action» После успешной обработки запроса тело ответа HTTP может быть пустым, suspend /link@ rel: http://schemas.dmtf.Org/cimi/1/action/suspend Данная операция должна приостановить Machine. Входные параметры: Нет. Выходные параметры: Нет. Во время обработки данной операции Machine должна быть в состоянии SUSPENDING. После успешного завершения данной операции Machine должна быть в состоянии SUSPENDED. Приостановка Machine должна сохранить Machine и ее ресурсы инстанцированными, но Machine долж­ на быть недоступной для выполнения любых задач. Текущее состояние ЦП и Памяти должно быть со­ хранено в энергонезависимой памяти. Протокол HTTP Для приостановки Machine, в URI "http://schemas. dmtf.org/dmi/1/action/suspend* Ресурса Machine должен быть отправлен запрос POST, где запрос HTTP должен быть представлен следующим образом: Тип модиа JSON: application/json Сериализация JSON: { "resourceURI’ : ’ http://schernas.dmtf.0rg/dmi/l/Action’ , ’ action": "http://schemas.dmtf.org/cimi/1/action/suspend',."properties’ : { string: string, + } ? } 80
ГОСТ Р ИСО/МЭК 19831—2017 Тип медиа XML: application/xml Сориализация XML
«/Action > После успешной обработки запроса тело ответа HTTP может быть пустым, capture /1ink@rel: http://schemas.dmtf.Org/cimi/1/actioa/capture Данная операция должна создавать новый Ресурс Machinelmage из существующей Machine. Дан­ ная операция определена в рамках Ресурса Machinelmage; дополнительная информация приведена в 5.14.7.1. П р и м е ч а н и е — Несмотря на то. что данная операция выполняется над экземпляром Machinelmage, она включена в сериализацию Machine с целью информирования о поддержке данной операции. Создание снимка состояния Machine /link@ rel: http://schemas.dmtf.0rg/cimi/l/action/snapshotДанная операция должна создать новый снимок состояния типа Machinelmage из существующей Machine. Данная операция определена в рамках Ресурса Machinelmage: дополнительная информация приведена в 5.14.7.1. П р и м е ч а н и е — Несмотря на то. что данная операция выполняется над экземпляром Machinelmage. она включена в сериализацию Machine с целью информирования о поддержке данной операции. Восстановление состояния Machino /link@ rel: http://schemas.dmtf.Org/cimi/1/action/restoreДанная операция должна восстановить Machine из ранее созданного Machinelmage. Входные параметры: 1) 'image*: тип URI — обязательный. Ссылка на Machinelmage. Выходные параметры: Нет. Во время обработки данной операции Machine должна быть в состоянии RESTORING. После успешного завершения данной операции состояние Machine должно быть аналогичным состоянию, определенному в Machinelmage. если оно определено. Дополнительная информация при­ ведена в 5.14.2.1. П р и м е ч а н и е — Поставщики могут обозначить наличие поддержки восстановления из Machinelmage. не являющимся снимком состояния, в возможности «RestoreFromlmage» Ресурса Machine. Если возможность RestoreFromlmage не поддерживается, а операция restore поддерживается, то операция restore может восстано­ вить только из Machinelmage. являющегося снимком состояния. Протокол HTTP Для восстановленияМасЫпе в URI ’ http://schemas.dmtf.Org/cimi/1/action/restore" Ресурса Machine должен быть отправлен запрос POST, где запрос HTTP должен быть представлен следующим образом: Тип медиа JSON: application/json Сериализация JSON: { ’ resourceURI": "http://schernas.dmtf.0rg/cim i/l/Acti0n", "action*: "http://schemas.dmtf.Org/cjmi/1/action/restore". “image": string,"properties": { string: string. ♦ } ? } Тип медиа XML: application/xml Сериализация XML «Action xmlns="http://schemas.dmtf.org/cimi/r>«action> http://schemas.dmtf.Org/cimi/1/action/restore «/action» 81
ГОСТ Р ИСО/МЭК 19831—2017 «image htei-"xs:anyURril>«property key=’ xs:sf/7ng">xs.sfnng«/property> *>* «/Action > В этом URI ’ image" является ссылкой на Machinelmage. который будет использоваться. После успешной обработки запроса ответ HTTP может быть пустым. 5.14.2 M achineColloction Ресурс MachineColloction представляет Набор Ресурсов Machine Поставщика и соответствует спецификации Набора, приведенной в 5.5.12. Данный Ресурс должен быть сериализован следующим образом: Сериализация JSON: {"resourceURI’ : "http://schemas.dmtf.Org/ami/1/MachineCollection", "id", string. "count": number,"machines": [ { "resourceURI’ : "http://schemas.dmtf.Org/cimi/1/Machine". ’ id": string.... остальные атрибуты Machine... } . ♦ ].? "operations": [ { "rel": "add", "h re f: strin g } ? ] ГСериализация XML: «Collection resourceURI="http://schemas.dmtf.org/cimi/1/MachineCollection” xmlns="http://schemas.dmtf.org/cimi/1"> xs:anyt/R/«/id> xs.7/7feger«/count> <\6>xs:anyURI ... остальные атрибуты Machine... * «operation rel="add" href="xs:anyURr/> ?>’ 5.14.2.1 Операции П р и м е ч а н и е — Операция «add» требует, чтобы использовался Machine Template (см. 4.2.1.1). В Ресурсах Networklnterface. принадлежащих MachineTomplate, может быть ссылка на Ресурс Ad­ dress. Если данный ресурс не предоставлен при создании. Поставщик должен создать его от имени Потребителя. В таких случаях, если не приняты определенные меры, чтобы изменить это состояние, Addres связывается с создаваемой Machine и должен быть удален Поставщиком в процессе удаления Machine. Кроме того, если созданные Поставщиками Ресурсы Addres будут отсоединены от Machine, Поставщик должен их удалить. Если Ресурс Addres предоставляет Потребитель, то данный Ресурс не должен быть удален при удалении Machine, и Потребитель сам решает, удалять ли этот Ресурс с по­ мощью какой-то другой операции. После успешной обработки операции "add", если иное не определено в атрибуте «initialState» ресурса MachineTemplate, состояние новой Machine должно быть значением возможности Defaultlni- tialState. если данная возможность определена. Если ни одна возможность DefaultlnitialState не опреде­ лена, то значением по умолчанию должно быть STOPPED. Семантика "initialState* должна быть эквивалентна выполнению Поставщиком надлежащих дей­ ствий над новой Machine для перевода ее в заданное состояние. П р и м е ч а н и е — Указанная семантика управляет действиями гипервизора: также на состояние ресурсов, принадлежащих Machine (например, операционной системы), влияют данные, содержащиеся в Machinelmage. ис­ пользованном для создания новой Machine. Например, если бы initialState новой Machine было STARTED и для создания новой Machine использовался Machinelmage со снимком состояния, то Machine не была бы «загружена», а продолжала бы выполнение операции из сохраненного состояния в Machinelmage. 82
ГОСТ Р ИСО/МЭК 19831—2017 Если Поставщик не способен установить начальное состояние Machine (указанное в шаблоне MachineTemplate либо подразумеваемое правилами), то создание Machine должно завершиться с ошибкой. Если Поставщик неспособен создать новую Machine вследствие недействительных или некор­ ректных учетных данных в MachineTemplate. процесс создания Machine должен потерпеть неудачу. Если какие-либо учетные данные будут включены в MachineTemplate. то они должны быть частью новой Machine, независимо от типа используемого Machinelmage. 5.14.3 MachineTemplate Ресурс MachineTemplate представляет совокупность метаданных и инструкций, используемых при создании Machine. Атрибуты MachineTemplate приведены в таблице 25. Т а б л и ц а 25 — Атрибуты MachineTemplate Наим енование M achineTcm plale Т и п U R I h ttp /.'s c h e m a s o m M o c g .'c ir iu 'li’M a c h in e T e ir.p la te А трибут Т и п О писан ие initialStatestring Начальное состояние новой Machine. Возможные значения включают в себя такие состояния, определенные для атри­ бута "state" Machine, которые не являются промежуточными (например. STARTED, STOPPED) и определяются действиями, которые поддерживаются Поставщиком. Поставщики должны распространить перечень доступных значений через возмож­ ность “initialStates* Ресурса Machine. Ограничения: Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка: чтение-запись Machinere f Ссылка на Ресурс MachineConfiguration. который используется для создания Config Machine из данного MachineTemplate. П р и м е ч а н и е — Могут определяться атрибуты MachineConfiguration. а не ссып­ ка на существующий Ресурс MachineConfiguration. Ограничения: Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка; чтение-запись machinel­re f Ссылка на Machinelmage. который используется для создания Machine из данного mage MachineTemplate. Ограничения: Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка; чтение-запись credentialre f Ссылка на Credential, которые используются для создания начальных учетных дан­ ных входа в систему на новой Machine. П р и м е ч а н и е — Могут определяться атрибуты Credential, а не ссылха на суще­ ствующий Ресурс Credential. Ограничения: Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка: чтение-запись volumesVolume [ ] Перечень структур, каждая из которых содержит ссылку на существующий Volume и потенциально описывает аспекты способа подключения данного Volume к Machine во время ее создания от данного шаблона MachineTemplate. У каждой структуры Volume есть следующие атрибуты: Н аим енованиеVolume Д анны е Ти п О писан ие initialLocationsiring Путь к точке первого появления тома в пространстве наи­ менований операционной системы. Поддержка данного атрибута указывает, что Поставщик разрешает Потребителю выбирать местонахождению тома. 83
ГОСТ Р ИСО/МЭК 19831—2017П родолж ение т а блиц ы 25 А тр и б у т Ти п О п и са н и е volumesVolum e [ ] Наим енооанисVolume Данны е Тип О п и с а н и е initialLocationstring Ограничения: Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка; чтение-запись volumere f Ссыпка на подключаемый Volume. Ограничения: Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка: чтение-запись Ограничения: Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка; чтение-запись VolumeVolume Перечень структур, каждая из которых содержит ссылку на VokjmeTemplaie. из кото­ TemplatesTemplate 1] рого создается Volume и подключается к Machine, создаваемой из данного шабло­ на MachineTemplate. Каждая структура может потенциально также включать в себя аспекты, определяющие способ подключения созданного Volume к новой Machine. Если Machine создана в рамках создания System, то Ресурсы Volume, созданные из этих Шаблонов считаются частью этой System, при этом не требуется, чтобы данные шаблоны VolumeTemplate перечислялись в атрибуте volumeTemplate соот­ ветствующего SystemTemplate. Если одна и та же ссылка VolumeTemplate указана как в атрибуте VolumeTemplate шаблона SystemTemplate, так и в атрибуте volume­ Template шаблона MachineTemplate. который содержится в этом шаблоне System- Template. это означает, что создаются несколько различных экземпляров Volume как часть полного создания System. У каждой структуры volumeTemplate есть следую­ щие атрибуты Н аим снооаниеVokimc Template Данны е Тип О писан ие initialLocationstring Путь к точке первого появления тома в пространстве имен операционной системы. Поддержка данного атрибута указывает, что Поставщик разрешает Потребителю выбирать местонахождение тома. Ограничения: Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка; чтение-запись volume­re f Ссыпка на VolumeTemplate, который используется для Template создания нового ресурса Volume. П р и м е ч а н и е — Могут определяться атрибуты VolumeTemplate. а не ссылка на существующий Ресурс VolumeTemplate. Ограничения: Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка: чтение-запись Ограничения: Поставщик: необязательная поддержка: изменяемый Потребитель: необязательная поддержка: чтение-запись network-ne tv/ork- Перечень структур, каждая из которых содержит ссылки на Ресурсы и атрибуты, interfacesInterface [ ) определяющие сетевой интерфейс, который должен быть создан для Machine, создаваемой из данного шаблона MachineTemplate. Ресурсами, на которые ссылается каждая структура networklnterface. является Network. NetworkPort и перечень Addresses 8 4
ГОСТ Р ИСО/МЭК 19831—2017Продолжение таблицы 25 А три б ут Ти п О писан ие network-network- Н аим енованиеnetworklntcrface interfacesinterface [] Д анны е Т и п О писан ие addressesre f[] Перечень ссылок на Addres для данного сетевого интер­ фейса. Название элемента массива: address. Ограниченна Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка; только для чте­ ния networkref Ссылка на ресурс Network для этого сетевого интерфейса. Предполагается, что ресурсы NetworkPort и Network опре­ делены отдельно, и раньше Ресурсов Machine, которые подключаются к ним. Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка; только для чтения NetworkPortref Ссылка на NetworkPort для этого сетевого интерфейса. П р и м е ч а н и е — Это ссылка на NetworkPort а не на NetworkPortTemplate. Предполагается, что Ресурсы NetworkPort и Network определены отдельно и раньше Ресурсов Machine, которые подключаются к ним. Если будет предоставлен данный атрибут, то атрибут 'network" в NetworkPort, на который указывает ссылка, должен иметь то же самое значение, что и атрибут 'networks" в данном сетевом интерфейсе. Ограничения: Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка: чтение-запись stateslnng Состояние сетевого интерфейса. Допустимые значения включают в себя: ACTIVE: активным интерфейсом является основной ин­ терфейс. который обеспечивает передачу трафика. PASSIVE: пассивный интерфейс находится в дежурном режиме, готовый к передаче трафика при возникновении ошибки в основном интерфейсе. DISABLED: отключенным интерфейсом является интер­ фейс не обеспечивающий трафика. Ограничения: Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка: чтение-запись mtuinteger Определяет максимальный размер передаваемого паке­ та (MTU — Maximum Transmission Unit) Ограничения; Поставщик: необязательная поддержка; изменяемый Потребитель: необязательная поддержка: чтение-запись Ограничения: Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка; чтение-запись userDatastring Строка, закодированная в Base64. Строка, полученная декодированием userData. должна быть внедрена в Ресурсы Machine, созданные из данного Шаблона. Описа­ ние внедрения данных, определенных пользователем, приведено далее. Ограниченна. Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка: чтение-запись 85
ГОСТ Р ИСО/МЭК 19831—2017Окончание таблицы 25 А тр и б у т Ти п О писан ие neter-Meter Перечень ссылок на шаблоны MeterTemplate. используемых для создания и под­ TemplatesTemplates ключения новых экземпляров Meter к создаваемой Machine.u П р и м е ч а н и е — Могут определяться атрибуты MeterTemplate, а не ссылка на существующий Ресурс MeterTemplate. Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка: чтение-запись jven'.Lcg-ret Ссылка на EventLogTemplate, используемых для создания и подключения нового femplate экземпляра EventLog к создаваемой Machine. П р и м е ч а н и е — Могут определяться атрибуты EventLogTemplate, а не ссылка на существующий Ресурс EventLogTemplate. Ограничения: Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка; чтение-запись При реализации или использовании MachineTemplate Поставщики и Потребители должны исполь­ зовать синтаксис и семантику его атрибутов в соответствии с таблицей 25, а также таблицами, описыва­ ющими встроенные Ресурсы или связанные Наборы. Потребитель и Поставщик должны сериализовать данный Ресурс в соответствии с приведенным далее описанием. Сериализацию Ресурса и в JSON и в XML (см. 1.3) представляют следующим образом: Тип медиа JSON: application/json Сериализация JSON: { "resourceURI": "http://schemas.dmtf.orgycimi/1/MachineTemplate". 'id": string. 'name": string. ? ’ description", string. ? 'created': string. ? 'updated': string. ? ‘ properties": { string: string. + } , ? 'initialState": string. ? 'nrachineConfig': { 'h re f: string |... атрибуты MachineConflguration... }.? 'machine I mage": { 'h re f: string |... атрибуты Machinelmago... }.? 'credential': ( 'h re f: string |... атрибуты CredentialTemplate... }.? 'volumes": [ { "initialLocation’ : string?, "h re f: string}, ♦ ].? 'volumeTemplates": [ { "initialLocation’ : string?, 'h re f: string. ? ... атрибуты VolumeTemplate... ? }.♦ I ? ’ networklnterfaces": [ { "addresses': [ {"href: string}, + ]. 'network": {"href: string}. 86
ГОСТ Р ИСО/МЭК 19831—2017 "networkPort": {"h ref: string}, ? "state": string. "mtu*: number ? }.+ ]•? “userData”: string. ? "meterTemplates” : [ { "h re f: string. ? ... атрибуты McterTemplate... ? }.* ]•? "eventLogTemplate": { "h re f: string. ? ... атрибуты EventLogTemplate... ? }.? "operations’ : [ { "ref: "edit", "h re f: string}, ? { ’ re f: "delete*, 'h re f: strin g } ? ] ? } Тип медиа XML: applicatiort/xml Сериализация XML: xs.dafoT/me ? xs.dafoT/me ? «property key="xs.sfring*>xs.sfrir)g * xs.sfring«/initialState> ? «machineConfig href="xs:anyl//?/*?» ... атрибуты MachineConfiguration... ? ? ... атрибуты CredentialTemplate... ? «/credential» ? «volume initialLocation="xs.sfring*? href=”xs:anyURr /» * «volumeTemplate initialLocation="xs. string*? href=*xs.anyl/R/*? > ... атрибуты VolumeTemplate... ?«/volumeTemplate» * «networklnterface» «address htef=’ xs:anyURn> * «network hre1="xs:anyURf'f>«networkPort href=mxs:anyURH> ? «state>xs.string«/state> «mtu»xs.7nfegor ? «meterTemplate href=’ xs.anyl/R r? » ... атрибуты MeterTemplate... ? «/meterTemplate» * «eventLogTemplate hret="xs:anyURn > 87
ГОСТ Р ИСО/МЭК 19831—2017 ... атрибуты EventLogTemplate... ? ~"xs:anyURrt>
?>* Внедрение данны х, определенны х пользователем Для упрощения настройки отдельных Ресурсов Machine допускается передавать произвольные данные в новую Machine с помощью параметра userOata. Значение этого параметра должно быть по­ лезной нагрузкой, закодированной с помощью Base64. Поставщик должен организовать доступ к этим данным из Machine одним из следующих методов:1) Сервер метаданных: данные могут быть получены путем запроса GETHTTP к http 7/169.254.169.254/cimirtatest/user-data.2) Диск. Machine имеет доступ к диску с файловой системой ISO 9660 на нем. Данные могут быть найдены в файле в <путь к ducxy>/dmi/user-data.3) Изменение образа виртуальной машины: Поставщик меняет корневую файловую систему в образе ресурса Machine до запуска этого экземпляра Machine. В операционных системах, подобных UNIX, данные приведены в файле /var/lib/cimi/user-data. Поставщику следует реализовать сервер метаданных либо внедрением с помощью диска, по­ скольку изменение образа потенциально опасно и может не работать для некоторых операцион­ ных систем. Поставщик должен указать, какой из этих трех методов поддерживается в возможности «UserData» в RosourceMetadata для Machine. Значением для этой характеристики должно быть одним из «metadata», «disk» или «imgmod» в соответствии с тремя вышеуказанными методами. Поставщик должен сохранять эти данные при перезапусках Machine. Эти данные представляют собой результат декодирования из Base64 данных, которые были переданы в запрос MachineCreate. 5.14.3.1 Операции Данный Ресурс поддерживает операции Read. Update и Delete. Операция Create поддерживается через Ресурс MachineTemplateCollection. 5.14.4 Ресурс MachinoTomplatoCollection Ресурс MachmeTemplateCollection представляет собой Набор Ресурсов MachincTemplate Постав­ щика и соответствует спецификации Набора, приведенной в 5.5.12. Данный Ресурс должен быть сери­ ализован следующим образом: Сериализация JSON: { "resourceURI*: "http://schemas.dmtf.Org/cimi/1/MachineTemplateCollection". ’ id": string.’ count*: number.’ machineTemplates": ( {"resourceURI’ : ’ http://schemas.dmtf.0rg/dmi/1/MachineTernplate". ’ id": string.... остальные атрибуты MachinoTemplate... }.♦ ].? ■operations": [ { ’ геГ: "add". "href*: string) ? ]iСериализация XML: «Collection resourceURI="http7/schemas.dmtf.org/cimi/1/MachineTemplateCollection’ xmlns="http://schemas.dmtf.org/cimi/1"><\d>xs:anyURIxs.7nfeper«/count> «MachineTemplate» xs:anyURI ... остальные атрибуты MachineTemplate... «/MachineTemplate» * 88
ГОСТ Р ИСО/МЭК 19831—2017 o p e ra tio n rel="add" href=*xs:anyURI7> ? ‘ 5.14.4.1 Операции Данный Ресурс поддерживает операции Read и Update. Создание новых Ресурсов MachineTemplate поддерживается путем отправки запроса POST на адрес URI операции «add» в соответствии с 4.2.1.1. 5.14.5 Ресурс M achineConfiguration Ресурс MachineConfiguration содержит совокупность конфигурационных параметров, которые определяют (виртуальные) аппаратные ресурсы создаваемого Экземпляра Machine. Ресурсы Machine- Configuration создаются Поставщиками и, по их решению, могут создаваться Потребителями. Атрибуты MachineConfiguration приведены в таблице 26. Т а б л и ц а 26 — Атрибуты MachineConfiguration Наименования Mach m eC onfigu ratio n Т и п U R I hltp:r/Schemas.dmtf.oig/cimii'1^MachmeConriguralion А три б ут Ти п Описание e p uinteger Число CPU. которое имеет Machine, созданная с использованием данной конфигу­ рации. Ограничения: Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка; чтение-запись memoryinteger Размер памяти (RAM) в кибибайтах, выделенных для Machine, созданной с исполь­ зованием данной конфигурации. Ограничения: Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка; чтение-запись discs Disc (1 Перечень структур, каждая из которых содержит атрибуты, определяющие диски, которые должны быть созданы для Machine, созданной с помощью данного Ресурса MachineConfiguration. Диски представляют собой локальное хранилище для Machine. У каждого атрибута disc есть следующие вложенные атрибуты: НаименованиеДиск Данные Т и п Описание capacityinteger Начальная емкость диска, описанного данным атрибу­ том. в килобайтах. Ограничения: Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка; чтение-запись formatstring Формат/тип этого диска (например. ext4. NTFS). Ограничения: Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка; чтение-запись initial-string Путь к точке первого появления диска в пространстве Location наименований операционной системы. После создания экземпляра Machine. Потребители могут переместить диск. Ограничения: Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка: чтение-запись QrflflHM4eHHfl> Поставщик: необязательная поддержка; изменяемый Потребитель: необязательная поддержка; чтение-запись 89
ГОСТ Р ИСО/МЭК 19831—2017Окончание таблицы 26 А тр и б у т Ти п О писан ие cpuArch stnng Архитектура ЦП. которая поддерживается Machine, созданной с использованием данной конфигурации. Допустимыезначениявключают в себя: 68000. Alpha. ARM. Itanium. MIPS, PA_RISC. POWER. PowerPC. x86. x86_64. z/Architecture. SPARC. Поставщики могут устано­ вить дополнительные значения. Ограничения: Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка; чтение-запись cpuSpeedinteger Приблизительная скорость ЦП на данной Machine в мегагерцах. Ограничения: Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка: чтение-запись П р и м е ч а н и е — Атрибуты дисков «format» не сохраняются в Ресурсах Machine, так как после создания Machine пользователь Machine получает возможность изменить данный атрибут диска даже без ведома Поставщи­ ка. Поэтому данные атрибуты не могут быть аспектом Machine, которым может достоверно управлять Поставщик. Тип медиа JSON: application/json Сериализация JSON: { "resourceURI*: ’ http://schemas.dmtf.Org/cimi/1/MachineConfiguration". "id": string, "name": string. ? "description": string. ? "created": string. ? "updated": string. ? "properties': { string: string. + }. ? "cpu": number. "memory": number. "disks": ( { "capacity': number. "format": string. "initialLocation": string? ].? "cpuArch": string, ? "cpuSpeed": number. ? "operations": [ { "rel": "edit", "h re f: strin g }, ? { "rel": "delete*, "h re f: string } ? ] ? } Тип медиа XML: application/xml Сериализация XML: xs.7nfeger
xs.7nfeger xs./n/egor 90
ГОСТ Р ИСО/МЭК 19831—2017 xs:sfr«7g < initial Location >xs:string\Location » ?
* xs:sfnng ? >xs:integercpu Speed > ? ■«operation rel="edit* hret-'xs:anyU R n> ? «operation rel=’ delete" href=mxs:anyURH> ? «xs.any»* «/MachineConfiguration» 5.14.5.1 Операции Данный Ресурс поддерживает операции Read, Update и Delete. Операция Create поддерживается через Ресурс MachineConfigurationCollection. 5.14.6 PecypcM achineConfigurationCollection Ресурс MachineConfigurationCollection представляет собой Набор Ресурсов MachineConfiguration Поставщика и соответствует спецификации Набора, приведенной в 5.5.12. Данный Ресурс должен быть сериализован следующим образом: Сориализация JSON: { "resourceURI"."http://schemas.dmtf.Org/ciml/1/MachineConfigurationCollectjon". "id*: string,"count": number."machineConfigurattons*: [ { "resourceURI": "http://schemas.dmtf.0rg/cimi/l/MachineConfigurati0n ',"id*: string.... остальные атрибуты MachineConfiguration... K + ]•? "operations’ : [ { "rel": "add”, "href” : string} ? ] } Сериализация XML: «Collection resourccURI="http://schemas.dmtf.org/cimi/1/MachineConfigurationCollection" xmlns=*httpi/schomas.dmtf.org/cimi/r> xs:anyl//?/«/id> «count>xs.7nfeger
«MachineConfiguration» «id>xs.anyl/R/«/id> ... остальные атрибуты MachineConfiguration... «/MachineConfiguration» * «operation rel=’ add" href=*xs:anyL/R/7» ? «xs.any»* «/Collection» 5.14.6.1 Операции Данный Ресурс поддерживает операции Read и Update. Создание новых Ресурсов MachineCon­ figuration поддерживается путем отправки запроса POST на адрес URI операции "add'B соответствии с 4.2.1.1. 5.14.7 Ресурс Machinelmage Данный Ресурс представляет информацию о виртуализированных Ресурсах аппаратных средств, необходимую для создания экземпляра Machine; он содержит такие параметры конфигурации, как ин­ струкции запуска, включая возможные комбинации следующих элементов, в зависимости от атрибута «type» созданного Machinelmage: - образ программного обеспечения {т. е. копия установленной Machine), которое необходимо уста­ новить на диске и других виртуальных ресурсах. Образ может быть снимком, состоящим из образов дисков, оперативной памяти и другой информации о состоянии ресурса; 91
ГОСТ Р ИСО/МЭК 19831—2017 - инсталляторы программного обеспечения, которое при выполнении на аппаратных (виртуаль­ ных) ресурсах создает реализацию Machine; - образ диска и набора программного обеспечения и параметров для установки новых компонен­ тов. не включенных в образ исходного диска. Атрибуты Machinelmage приведены в таблице 27. Т а б л и ц а 27 — Атрибуты Machinelmage Н аим енование M achinelm age Т и п U R I http /I'schemas.dmlf.orgfcimyt •'Machinelmage А тр и б у т Ти п О писан ие slatestring Рабочее состояние Machinelmage. Допустимые значения включают в себя: CREATING: Machinelmage находится в процессе создания. AVAILABLE: Machinelmage доступен и готов к использованию. Если не определено иное, после успешного создания Machinelmage должен быть в данном состоя­ нии. DELETING: Machinelmage находится в процессе удаления. ERROR: Поставщик обнаружил ошибку в Machinelmage. Операции, которые приводят к переходам к указанным состояниям, приведены в 5.14.7.1. Ограничения. Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка; только для чтения typestring Тип Machinelmage. который представлен данным Ресурсом. В настоящем стандартеустановлены следующие значения: IMAGE: Этот тип представляет сохраненные данные остановленной Machine. В отли­ чие от "snapshot’ , он не содержит информацию о времени выполнения. Если исполь­ зуется это значение, то атрибут «relatedlmage» не должен присутствовать. SNAPSHOT: Этот тип представляет сохраненные данные Machine. Если Machine не была в остановленном состоянии в момент создания данного образа, он также содер­ жит информацию о времени выполнения. Если используется это значение, то атрибут «relatedlmage» должен ссылаться на последний созданный образ Machine или образ, из которого была восстановлена Machine, что позволяет легко находить «предыду­ щий» снимок состояния. Атрибут «relatedlmage» не должен устанавливаться Потре­ бителями. PARTIAL_SNAPSHOT: Данный тип использует ту же семантику, что и SNAPSHOT Machinelmage за исключением того, что он просто содержит изменения (дельты) со­ стояния Machine по отношению к экземпляру Machinelmage. на который ссылается атрибут «relatedlmage». а не полное представление Machine. Если Machinelmage будет удален, то следует использовать следующую семантику: - любые экземпляры Machinelmage типа «SNAPSHOT», ссылающиеся на удаляемый экземпляр в атрибуте «relatedlmage». должны установить этот атрибут равным значе­ нию «relatedlmage» удаляемою экземпляра Machinelmage: -любые экземпляры Machinelmage типа «PARTLAL_SNAPSHOT», ссыпающиеся на удаляемый экземпляр в атрибуте «relatedlmage». также должны быть удалены. Это требование применяется рекурсивно к любому последующему экземпляру Ma­ chinelmage типа «PARTLAL_SNAPSHOT». Ограничения; Поставщик: обязательная поддержка; неизменяемый. Потребитель: обязательная поддержка; только для чтения imageLocationURI Ссылка на местоположение двоичных данных, которые составляют данный образ. Ограничения: Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка; чтение-запись relatedlmageref Ссылка на другой Ресурс Machinelmage. связанный с данным. Фактическое значение этого атрибута варьируется в зависимости от типа Machinelmage. Ограничения: Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка: только для чтения 92
ГОСТ Р ИСО/МЭК 19831—2017 Сериализацию Ресурса в JSON и в XML представляют следующим образом: Тип медиа JSON: application/json Сериализация JSON: { "resourceURI": "http://schemas.dmtf.Org/cimi/1/Machinelmage'’,"id*: string."name": string. ? "description": string. ? "created": string. ? "updated": string, ? "properties": { string: string. + }, ? "state": string."type": string."imageLocatoon": string, "relatedlmage": { "href": strin g }, ? "operations’ : [ { "rel”: "edit”, "href” : string}. ? { "rel": "delete*, ’ h re f: string} ? ] ? } Тип медиа XML: application/xml Сериализация XML: xs.anyl/R/«/id> xs:sfr/ngr ? xs:sfnng ? «created >xs:date 77me ? xs.d3fo77me ? «property key="xs.sfnng*>xs:sfnng«/property> * «state>xs:sfnng«/state> xs.string«/type> xs:anyt/f?/«/imageLocation> «relatedlmage href="xs:anyl/R/'/> ? «operation rel="edit* href="xs:anyL/R/7> ? «operation rel=’ delete” href=“xs:anyl/R/7> ?>* «/Machinelmage> 5.14.7.1 Операции Данный Ресурс поддерживает операции Read. Update и Delete. Операция Create поддерживается через Ресурс MachinelmageCollection. При создании нового Ресурса Machinelmage представление нового Machinelmage может содер­ жать ссылку в атрибуте «imageLocation». Поставщики должны проверить эту ссылку (например, спосо­ бом HTTPHEAD), чтобы определить необходимость какой-либо специальной обработки. В настоящем стандарте установлены следующие дополнительные шаги, которые должны предпринять Поставщики в зависимости от типа Ресурса, на который ссылаются:http://schemas.dmtf.Org/cimi/1/MachineЕсли «imageLocation» является ссылкой на Machine, то Поставщик должен создать новый экзем­ пляр Machinelmage типа SNAPSHOT, основанный на Machine, на которую указывает ссылка. После за­ вершения операции create атрибут «imageLocation»Machinelmage не должен ссылаться на Machine (так как по прошествии времени Machine могла измениться), однако вместо этого он должен ссылаться на статическое представление Machine (или содержать данные о нем). Кроме того, у Machine, на которую идет ссылка, должен быть обновлен атрибут MachineSnapshotCollection. чтобы включать ссылку на этот недавно созданный снимок состояния в Ресурсе Machinelmage. 93
ГОСТ Р ИСО/МЭК 19831—2017 5.14.8 Ресурс Machinelm agoCollection Ресурс MachinelmageCollection представляет собой Набор Ресурсов Machinelmage Поставщика и соответствует спецификации Набора, определенной в 5.5.12. Данный Ресурс должен быть сериализо­ ван следующим образом: Сериализация JSON: { "resourceURI*: "http://schemas.dmtf.Org/cimi/1/MactiinelmageCollection". *id": string, "count*: number,"machinelmages": [ { "resourceURI": "http://schemas.dmtf.0rg/cimi/1/Machinelmage". "id": string. ... остальные атрибуты Machinelmage... }.♦ ].? "operations": [ { "rel": "add", "h re f: strin g } ? ] } Сериализация XML: «Collection resourceURI="http://schemas.dmtf.org/cimi/1/MachinelmageCollection" xmlns="http://schemas.dmtf.org/cimi/1"> < id >xs:anyURIxs.7nfeger«/count> «Machinelmage» < id >xs:anyURI ... остальные атрибуты Machinelmage...
" «operation rel=”add" hrei="xs:anyURn> ?>* «/Collection» 5.14.8.1 Операции Данный Ресурс поддерживает операции Read и Update. Создание новых Ресурсов Machinelmage поддерживается путем отправки запроса POST на адрес URI операции "add"e соответствии с 4.2.1.1. Описание запроса и способ обработки приведены в 5.14.7.1. 5.14.9 Ресурс Credential Ресурс Credential содержит информацию, необходимую для создания начального администра­ тивного суперпользователя недавно созданной Machine или для представления учетных данных, необ­ ходимых для выполнения определенной операции. Из-за различий между операционными системами и Поставщиками настоящий стандарт не выделяет одну конкретную совокупность атрибутов для под­ держки всех реализаций. Однако предполагается, что Поставщики будут расширять данный Ресурс дополнительными атрибутами, чтобы обеспечить соответствие их требованиям. Например Поставщик может расширить данный Ресурс атрибутами "username" и "password”, ко­ торые в этом случае будут информацией о входе в систему для новых экземпляров Machine. Эти до­ полнительные атрибуты могут появиться на одном уровне с общими атрибутами, такими, как "па те " и "description". Атрибуты Credential приведены в таблице 28. Т а б л и ц а 28 — Атрибуты Credential Н а и м е н о в а н и е У ч е т н ы е д а н н ы е Тип U RI h tlp :.» te ch e m as.d m M .a rg rcifT W irC fe < len tial А т р и б у т Т и п О п и с а н и еTBD Точная совокупность атрибутов определена Поставщиком 94
ГОСТ Р ИСО/МЭК 19831—2017 Некоторые общие атрибуты расширения, которые могут использоваться Поставщиками, включа­ ют в себя указанные в таблицах 29 и 30: Т а б л и ц а 29 — Атрибуты наменования польэоватепя/пароля А трибут Тип О п и са н и е userNamestring Наименование пользователя начального суперпользователя. Ограничения;, Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка; чтение-запись passwordstring Пароль начального суперпользователя. Ограничения: Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка; только для записи Т а б л и ц а З О — Атрибуты открытого ключа Атрибут Тип О п и са н и е keybyte [} Открытый ключ для начального суперпользователя. Ограничения: Поставщик: обязательная поддержка: изменяемый. Потребитель: обязательная поддержка; чтение-запись При реализации или использовании Credential Поставщики и Потребители должны использовать синтаксис и семантику его атрибутов согласно таблице 30. а также таблицам, описывающим встроен­ ные Ресурсы или связанные Наборы. Потребитель и Поставщик должны сериализовать данный Ре­ сурс в соответствии с приведенным далее. При этом сериализацию представляют следующим образом (см. 1.3): Тип медиа JSON: application/json Сериализация JSON: { "resourceURI": "http^/schemas.dmtf.org/cimi/1/Credential". "id*: string."name": string. ? "description": string. ? "created": sthng. ? "updated": sthng. ? "properties": { string: string. + }, ? "operations’ : [ { "rel": "edit", "href": sthng}. ? { "rel": "delete*, 'h re f: string} ? } Тип медиа XML: application/xml Сериализация XML: «Credential xmlns="http://schemas.dmtf.org/dmi/1 "> «id»xs.anyUR/«/id> xs:sfrmg ? «descriptk>n»xs:sfr/ng«/description> ? >xs:date Time<
/created» ? «updated>xs.dafo77me«/updated> ? «property key="xs.sfnng*>xs.stong«/property> * «operation rel=*edit* href="xs:anyURri> ? «operation rel=’ delete" href='xs.anyU/?r/> ? «/Credential» 95
ГОСТ Р ИСО/МЭК 19831—2017 5.14.9.1 Операции Данный Ресурс поддерживает операции Read, Update и Delete. Операция Create поддерживается через Ресурс CredentialCollection. 5.14.10 Ресурс CredentialCollection Ресурс CredentialCollection представляет собой Набор Ресурсов Credential Поставщика и соот­ ветствует спецификации Набора, приведенной в 5.5.12. Данный Ресурс должен быть сериализован следующим образом: Сериализация JSON: {"resourceURI*: ' http://schemas.dmtf.Org/cimi/1/CredontialCollection". "id": string, "count*: number,"credential*: [ { "resourceURI": "http://schemas.dmtf.0rg/am i/l/C redentiar. "id”: string. ... остальные атрибуты Credential...) . *].? "operations": ( { "rel": "add”, "href": string) ? ] Сериализация XML: «Collection resourceURI="http://schemas.dmtf.org/cimi/1/CredentialCollection* xmlns="http://schemas.dmtf.org/cimi/r><\d>xs:anyURIxs.7'nfeger «C redential<\d>xs:anyURI ... остальные атрибуты Credential...«/Credentials» * «operation rei="add’ href~"xs:anyURn> ?>’ «/Collection» 5.14.10.1 Операции П р и м е ч а н и е — Операция eadd» требует, чтобы использовался CredentialTemplate (см. 4.2.1.1). 5.14.11 Ресурс CredentialTemplate Данный Ресурс содержит конфигурационные параметры для создания Ресурса Credential. Один экземпляр CredentialTemplate может использоваться для создания нескольких экземпляров Credential. Атрибуты CredentialTemplate приведены в таблице 31. Т а б л и ц а 31 — Атрибуты CredentialTemplate Н а и м е н о в а н и е C r e d e n t ia lT e m p la te Тип U RI h ttp .^ s c h e m a s d m tf.o r g i'c im i/ l'C r e d e n tia lT e m p la '.e А т р и б у т Тип О п и с а н и е TBD Точная совокупность атрибутов определена поставщиком. При реализации или использовании CredentialTemplate Поставщики и Потребители должны ис­ пользовать синтаксис и семантику его атрибутов согласно таблице 31, а также таблицам, описывающим связанные Наборы. Потребитель и Поставщик должны сериализовать данный Ресурс в соответствии с приведенным далое. Сериализацию Ресурса в JSON и в XML представляют следующим образом: Тип медиа JSON: application/json Сериализация JSON: ("resourceURI": "http://schemas.dmtf.0rg/ami/l/CredentialTemplate’ . "id": string. 96
ГОСТ Р ИСО/МЭК 19831—2017 "name": string. ? "description": string. ? "created": string. ?"updated": string. ? "properties": { string: string, + }, ? "operations": [ { "rel”: "edit", "href': string}. ?{ "rel”: "delete", "h re f: string} ? ] ? } Тип модиа XML: application/xml Сериализация XML: xs:anyi/R/ xs:sfnng ? on>xs.str/r)g
?xs:dateTime ? xs:datoTime ? key="xs:string’ >xs:string * href="xs.anyURn> ? ■«operation rel=”delete" hrei=mxs:anyURH> ? * 5.14.11.1 Операции Данный Ресурс поддерживает операции Read. Update и Delete. Операция Create поддерживается через Ресурс CredentialTemplateCollection. 5.14.12 Ресурс CredentialTemplateCollection Ресурс CredentialTemplateCollection представляет собой Набор Ресурсов CredentialTemplate По­ ставщика и соответствует спецификации Набора, приведенной в 5.5.12. Данный Ресурс должен быть сериализован следующим образом. Сориализациация JSON: { "resourceURI":"http://schemas.dmtf.org/cimiyi/CredentialTemplateCollection"."id": string."count", number."credentialTemptates": [ { "resourceURI": "http://schemas.dmtf.0rg/cimi/1/CredentialTemplate", "id": string. ... остальные атрибуты CredentialTemplate... K + ].? "operations’ : [ { "rel": "add", "href” , string} ? ] } Сериализация XML: ■«Collection resourceURI=’ http://schemas.dmtf.org/cimi/1/CredentialTemplateCollection*xrnlns="http://schemas.dmtf.org/cimi/1"> xs:anyl/R/ xs.7r)/eger xs:anyl/f?/ ... остальные атрибуты CredentialTemplate...■«/CredentialTemplate» * 97
ГОСТ Р ИСО/МЭК 19831—2017 «operation rel="add* href=nxs:anyURn> ?>* 5.14.12.1 Операции Данный Ресурс поддерживает операции Read и Update. Создание нового Ресурса CredentialTem- plate поддерживается путем отправки запроса POST на адрес URI операции «add» в соответствии с 4.2.1.1. 5.15 Ресурсы Volume и отношения Ресурсы, используемые при создании Volume, и связи между ними приведены на рисунке 4. Дан­ ный рисунок представляет собой схему отношений Ресурсов, при этом использование UML не является обязательным требованием. V olum e V olum e Template Ы|[1]: suing ‘ id[1J: string +mune{0_1J: suing *name[0..1): string dcscription[0..1]: string * description^).. IJ: string ♦created{0..1]: dateTime »created{0..1]; dateTime updatcdl0..1J: dateTime -updated[0,.1): dateTime *propcrties[0..'|: property ’■propcrtics[0..‘ ]: property s ta te jl]: string ♦volumcConfig[1): ref typc[1):URI ‘ vohimelmage[0.1J: ref + capacity! 1]: integer * meterTemplalesjCL*]: ref bootable(l): boolean ►eventLogTemplate|0..1]: ref imagcs(0..1]: collection 0..* 0..* meters|0..1]: collection evRntl.ogJO.1]: ref 1 0..1 V o lu m e Configuration V o lu m e Image ♦id(1): string *-id(1): string *nameJ0..1]: string •■name[0..1]: string ►Meter •►bvcntLoq +description(0..1]: string *-description[0..1]: siring 0..* o.- *crnatrrl[0..1]: string Рабочее состояние Volume. Допустимые значения включают в себя: CREATING: Volume находится в процессе создания. AVAILABLE: Volume доступен и готов к использованию.Если не определено иное, после успешного создания Volume должен быть в этом состоянии. CAPTURING Volume находится в процессе создания снимка для нового Volumelmage. Допустимым действием в этом состоянии является delete. DELETING: Volume находится в процессе удаления. 98
ГОСТ Р ИСО/МЭК 19831—2017Окончание таблицы 32 Атрибут Тип Описание statesiring ERROR: Поставщик обнаружил ошибку в Volume. Операции, которые приводят к переходам к указанным состояниям, указаны в 5.15.1.2 Ограничения: Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка; только для чтения typeURI URI. который указывает на тип создаваемого Ресурса Volume. В настоящем стандарте установлен следующий URI:http://schemas.dmtf.orgfcimLi'1imapped: Указывает, что создаваемыйУЫите может совместно использоваться несколькими экземплярами Machine без явной операции монтирования в гостевой операционной системе. Могут определяться дополнительные значения. Если некоторые типы Volume требуют дополнительных данных, предполагается, что данный Ресурс расширен. Например для типа "sharedFileSystem" может потребоваться, чтобы были определены дополнительные сведения о сети и учетных данных. Ограничения:. Поставщик: обязательная поддержка; неизменяемый. Потребитель: обязательная поддержка; только для чтения capacityinteger Максимальный размер Volume, если он ограничен, в килобайтах. Если это значение увеличивается. Volume может содержать больше данных. При уменьшении этого значения может потребоваться проведение дополни­ тельных оценок. Ограничения: Поставщик: обязательная поддержка: изменяемый. Потребитель: обязательная поддержка; чтение-запись bootableboolean Свойство указывает на то. является ли данный Volume загрузочным. Ограничена: Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка; чтение-запись imagescollection Ссылка на перечень ссылок на Volumelmage, которые представляют снимки{VolumeVolume- состояния данного экземпляра Volume.Image] П р и м е ч а н и е — Тип Ресурса VolumeVolumelmage представляет собой связь между Volume и Volumelmage согласно 5.15.1.1.1. Ограничения: Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка; только для чтения meterscollection [Meter] Ссылка на перечень Meter, используемых для мониторинга данного Volume. Ограничения: Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка: только для чтения eventLogret Ссылка на EventLog данного Volume. Ограничения: Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка; только для чтения При реализации или использовании Volume Поставщики и Потребители должны использовать синтаксис и семантику его атрибутов согласно таблице 32. а также таблицам, описывающим встроен­ ные Ресурсы или связанные Наборы. Сериализацию Ресурса в JSON и в XML представляют следую­ щим образом: Тип медиа JSON: application/json Сориализация JSON: { "resourceURI": "httpJ/schemas.dmlf.ofg/cimi/1/Volume*. "id": string,"name": string, ? 99
ГОСТ Р ИСО/МЭК 19831—2017 'description": string, ? 'created': string, ? 'updated': string. ? ■properties’ : { string: string. + }. ? 'state': string, 'type': string, 'capacity": number. 'bootable”: boolean. 'images": { “h re f: string}. ? 'meters": { "h re f: string }, ? ’ eventLog": { "href": string}. ? 'operations": ( { "геГ: "edit*, "h re f: string}, ? { "геГ: ’ delete", "href": string} ? 1? Тип медиа XML: application/xml Сериализация XML: xs:string «/property» * «state» xs:string «/state» «type» xs:anyURI «/type» «capacity» xs:integer «/capacity» «bootable» xs:boolean «/bootable» «images href='xs:anyURI'/> ? «meters href=’ xs:anyURI'/» ? «eventLog href='xs:anyURI7» ? «operation rel="edit" href=’ xs:anyURI"/» ? «operation rel="delete* href="xs:anyURI"/» ? «/Volume» 5.15.1.1 Наборы В настоящем подпункте приведены Наборы Ресурсов, принадлежащих Volumes. 5.15.1.1.1 Набор VolumeVolumelmageCollection Типом ресурса для каждого элемента данного Набора является VolumeVolumelmage. приведен­ ный в таблице 33. Т а б л и ц а 33 — Атрибуты VolumeVolumelmage Наименование VolumeVolumelmage Тип URI http.//schemas.dm tf.orgfcitTWI/VolumeVolumelmage Атрибут Тип Описание volumelmageret Ссылка на Ресурс Volumelmage. который представляет снимок состояния данно­ го Volume. Ограничения: Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка; только для чтения 100
ГОСТ Р ИСО/МЭК 19831—2017 Сериализация JSON: { ’ resourceURI". ' http://schemas.dmtf.Org/dmi/1/VolumeVolumelmageCollection’ , "id*: string."count": number."volumeVolumelmages": ( { ’ resourceURI":"http://schemas .d mtf. org/cimi/1 /Volume Volumel mage", "id’ : string."name": string. ? "description": string. ? "created”: string. ? "updated": string. ? "properties": { string: string. + }. ? "volumelmage’ : { "href*: string}, "operations’ : [ { "rel": "edit", "h re f: string}. ? { ’ rel": "delete*, 'href*: strin g } ? ] ? >.♦ ]? } Сериализация XML: < Collection resourceURI=*http://schemas.dmtf.org/cimi/1/VolumeVolumelmageCollection’ xmlns=’ http://schemas.dmtf.org/cimi/r> xs:anyl//?/«/id> xs.7flfeger xs:anyl//?/«/id> xs:sb7r)gr ? «description>xs:str/ng«/description> ? «created >xs:date T/me«/created> ? xs.dafer/me ? «property key="xs:s/rmgr>xs.sf(7ng«/property> * «volumelmage href="xs:anyURn>«operation rel=’ e d if href-'xs:anyU R n> ? «operation rel=’ delete" href=mxs:anyURri> ? *> * «/Collection» П р и м е ч а н и е — Предыдущие версии данной спецификации включали в себя операцию "add" для данно­ го Ресурса. В настоящее время вместо этого рекомендуется создание нового экземпляра Volumelmage с атрибутом imageLocation, указывающим на Volume, чей снимок состояния хранится в созданном экземпляре. 5.15.1.1.2 Набор VolumeMeterCollection Типом ресурса для каждого элемента этого Набора является Meter (см. 5.17.3). Сериализация JSON: { "resourceURI". ’ http://schemas.dmtf.Org/dmi/1/VolumeMeterCollection". "id": string."count", number."meters’ : [ 101
ГОСТ Р ИСО/МЭК 19831—2017 { "resourceURI*: ’ http://schemas.dmtf.0rg/ami/l/Meter” . *id": string, ... остальные атрибуты Meter...У * ].? ■operations”: [ { "гвГ: “add", "href": string } ? ]} Сериализация XML: ■«Collection resourceURI="http://schemas.dmtf.org/cimL/1/VolumeMeterCollection* xmlns="http://schemas.dmtf.org/cimi/r> < id >xs:anyURt«count>xs:/nfeger«/count> «Meter»xs:anyURI ... остальные атрибуты Motor... * «operation rel=''add” href="xs:anyURn> ?>* «/Collection» 5.15.1.2 Операции Данный Ресурс поддерживает операции Read, Update и Delete. Операция Create поддерживается через Ресурс VolumeCollection. 5.15.2 Ресурс Volum oCollection Ресурс VolumeCollection представляет собой Набор Ресурсов Volume Поставщика и соответствует спецификации Набора, приведенный в 5.5.12. Данный Ресурс должен быть сериализован следующим образом: Сериализация JSON: { "resourceURI*: ’ http://schemas.dmtf.0rg/cimi/l/V0lumeC0llection’ . *id": string, ’ count*: number, 'volumes’ : [ { "resourceURI*: ’ http://schemas.dmtf.0rg/am i/l/V 0lume". *id": string, ... остальные атрибуты Volume... } . + ].? ’ operations": [ { *rel’ : "add", "href*: string) ? ] ГСериализация XML: «Collection resourceURI="http://schemas.dmtf.org/cimi/1/VolumeCollection" xmlns="http://schemas.dmtf.org/cimi/1"> xs.anyL/R/«/id> xs.wfog6r«/count> «Volume> xs.anyL/R/«/id> ... остальные атрибуты Volume...«Л/olume> * «operation r e l- ’add" href="xs.anyL/R/7> ?>* «/Collection» 5.15.2.1 Операции П р и м е ч а н и е — Операция «add» требует, чтобы использовался VotumeTemplate (см. 4.2.1.1). 102
ГОСТ Р ИСО/МЭК 19831—2017 5.15.3 Ресурс VolumeTemplate Данный Ресурс содержит конфигурационные параметры для создания Volume. Один экземпляр VolumeTemplate может использоваться для создания нескольких экземпляров Volume. Атрибуты Volu­ meTemplate приведены в таблице 34. Т а б л и ц а 34— Атрибуты VolumeTemplate Наименование V o lu m e T e m p la te Тип U R I http jV schem as dm tf.org.'cim ill /V olum e T em plate А трибут Тип Описание volumeConfigret Ссылка на VolumeConfiguration. который используется для создания Volume из данного шаблона VolumeTemplate. П р и м е ч а н и е — Могут определяться атрибуты VolumeConfiguration. а не ссылка на существующий Ресурс VolumeConfiguration. Ограничения: Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка; чтение-запись volumelmageret Ссылка на Volumelmage, который используется для создания Volume издан­ ного шаблона VolumeTemplate. Ограничения: Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка; чтение-запись meterTemplatesmeter Перечень ссыпок на шаблоны MeterTemplate. которые должны использовать­Templates [] ся для создания и подключения набора новых Meter к создаваемому Volume. П р и м е ч а н и е — Могут определяться атрибуты MeterTemplate. а не ссыл­ ка на существующий Ресурс MeterTemplate. Ограничения: Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка; чтение-запись eventLogTemplateref Ссылка на EventLogTemplate. который должен использоваться для создания и подключения нового EventLog к создаваемому Volume. П р и м е ч а н и е — Могут определяться атрибуты EventLogTemplate. а не ссылка на существующий Ресурс EventLogTemplate. Ограничения: Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка; чтение-запись При реализации или использовании VolumeTemplate Поставщики и Потребители должны исполь­ зовать синтаксис и семантику его атрибутов согласно таблице 34. а также таблицам, описывающим встроенные Ресурсы или связанные Наборы. Сериализацию Ресурса в JSON и в XML представляют следующим образом: Тип медиа JSON: application/json Сериализация JSON: { "resourceURI": "httpJ/schemas.dmtf.org/cimi/1/VolumeTemplatee. "id*: string."name": string. ? "description’ : string. ? "created", string. ? "updated": string. ? "properties": { string: string. + }. ? "volumeConfig": { "href’: string |... VolumoConfiguration... }. "volumelmage*: { 'href*: string}. ? "meterTemplates": [ 103
ГОСТ Р ИСО/МЭК 19831—2017 { "h re f: string. ? ... MeterTemplate... ? }.* ].? ’ EventLogTemplate’ : { 'h re f: string. ? ... EventLogTemplate... ? }.? ’ operations": [ { "reP: ’ ediP. "hreP: string}. ? { "reP: ’ delete”, "h re f: string} ? I ? } Тип медиа XML: application/xml Сериализация XML: «id>xs.ar>yl//?/«/id> xs.sfrmg«/name> ? xs:sfwrg«/description> ? xs:date77me ? xs:dateTime ? «property key=’ xs:string"> xs:string «/property> * «volumeConfig href=’ xs:anyURP?> ... VolumeConfiguration... ? «volumelmage href="xs:anyURP/> ? «meterTemplate hrof="xs:anyURP? > ... MeterTemplate... ? «/meterTemplate» * «eventLog Template href=’ xs:anyURP? > ... EventLogTemplate... ? ? «operation rel="edit" href=’ xs:anyURI7> ? «operation re t-’delete’ href="xs:anyURI7> ? * «/VolumeTemplate> 5.15.3.1 Операции Данный Ресурс поддерживает операции Read. Update и Delete. Операция Create поддерживается через Ресурс VolumeTemplateCollection. 5.15.4 Ресурс VolumeTomplatoColloction Ресурс VolumeTemplateCollection представляет собой Набор Ресурсов VolumeTemplate Поставщи­ ка и соответствует спецификации Набора, приведенной в 5.5.12. Данный Ресурс должен быть сериали­ зован следующим образом: Сериализация JSON: {"resourceURI*: "http://schemas.dmtf.org/cimi/1A/otumeTemplateCollection". ’ id”, string.'count*: number. ’ volumeTemplates” : [ { "resourceURI’ : "http://schemas.dmtf.Org/cimi/1/VolumeTemplate". ’ id": string. ... остальные атрибуты VolumeTemplate... }.♦I f ’ operations": [ { ’ rel’ : ’ add", "href: strin g ) ? ] } 104
ГОСТ Р ИСО/МЭК 19831—2017 Сериализация XML: < Collection resourceURI=’ http://schemas.dmtf.org/dmi/1/VolumeTomplateCollection" xmlns=*httpi//schemas.dmtf.org/cimi/r> xs:anyl/R/«/id> xs.7n/eger«/count> xs:anyl/R/«/id> ... остальные атрибуты Volume Templates... * «operation rel=’ add" href="xs.anyL/R/7> ? «/Collection» 5.15.4.1 Операции Данный Ресурс поддерживает операции Read и Update. Создание нового Ресурса VolumeTemplate поддерживается путем отправки запроса POST на адрес URI операции "add’ в соответствии с 4.2.1.1. 5.15.5 Ресурс Volum eConfiguration Ресурс VolumeConfiguration содержит набор параметров конфигурации для создания Volume с за­ данными характеристиками. VolumeConfiguration создаются Поставщиками, но по их усмотрению, могут быть созданы Потребителями. Атрибуты VolumeConfiguration приведены в таблице 35. Т а б л и ц а 35 — Атрибуты VolumeConfiguration Н а и м е н о в а н и е V o lu m e C o n fig u ra tio n Тип U R I h ttp ir/s c b e m a s .d m tf.o rg /c m ii/l Л/o lu m e C o n fig u ra tio n А трибут Тип О п и са н и е typeURI URI. указывающий на тип создаваемого Ресурса Volume. Настоящий стандарт опре­ деляет следующий URI:h t t p : / / s c h e m a s . d m t f . O r g / c i m i / 1 / m a p p e d : Указывает, что создаваемый Volume может совместно использоваться несколькими экземплярами Machine без явной операции монтирования в гостевой операционной системе. Могут определяться дополнительные значения. Если некоторые типы Volume требуют дополнительных данных, предполагается, что данный Ресурс расширен. Ограничения: Поставщик: обязательная поддержка: изменяемый. Потребитель: обязательная поддержка; чтение-запись formatstring Формат файловой системы, которая будет размещена на Ресурсах Volume, создава­ емых из данной конфигурации. Данный атрибут является значимым только для тех VolumeConfiguration. которые описывают блочные устройства. Данный атрибут является необязательным; отсутствие этого атрибута указывает, что Ресурсы Volume, созданные из данной конфигурации, не отформатированы, на них нет файловой системы. Значения в качестве примера; "ext4". "ntfs”. Ограничения: Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка; чтение-запись capacityinteger Размер по умолчанию в килобайтах, если ограничен PecypcoMVolume, созданным из данного VolumeConfiguration. Ограничения: Поставщик: обязательная поддержка: изменяемый. Потребитель: обязательная поддержка; чтение-запись Сериализацию Ресурса в JSON и в XML представляют следующим образом: Тип медиа JSON: application/json Сориализация JSON: { ’ resourceURl”: "http://schemas.dmtf.Org/cimi/1/VolumeConfiguration*,"id*: string. 105
ГОСТ Р ИСО/МЭК 19831—2017 'name": string, ? ■description", string, ? 'created*: string. ? 'updated*: string. ? ■properties": { string: string. ■*■},? 'type': string. 'format": string, 'capacity": number. ■operations": [ { "геГ: 'edit', "h re f: string }f ? { "reP: ’ delete", "href”: string} ? ] ? } Тип медиа XML: application/xml Сериализация XML: xs.s/rmg«/property> *xs:anyURI«format>xs:sfn'ng«/format> «capacity>xs./rjfegor«/capacity> «operation rel="edit" href=’ xs.anyL/Rr/> ? «operation rel="delete* href="xs:anyURf'f> ?* 5.15.5.1 Операции Данный Ресурс поддерживает операции Read, Update и Delete. Операция Create поддерживается через Ресурс VolumeConfigurationCollection. 5.15.6 Ресурс V olum eConfigurationC ollection Ресурс VolumeConfigurationCollection представляет собой Набор Ресурсов VolumeConfiguration Поставщика и соответствует спецификации Набора, приведенной в 5.5.12. Данный Ресурс должен быть сериализован следующим образом: Сериализация JSON: { "resourceURI*: ' http://schemas.dmtf.Org/cimi/1/VolumeConfigurationCollection’ ,'id": string. 'count': number.'volumeConfigurations": [ {"resourceURI*: ’ http://schemas.dmtf.Org/cimi/1/VolumeConfiguration", 'id": string. ... остальные атрибуты VolumeConfiguration... }.♦ I ? 'operations”: [ { 'геГ: ’ add", 'h re f: string} ? ] } Сериализация XML: «Collection resourceURI=“http://schemas.dmtf.org/cimi/1/VolumeConfigurationCollection' xmlns="http://schemas.dmtf.org/cimi/1"> «id>xs.anyL/R/«/id> 106
ГОСТ Р ИСО/МЭК 19831—2017 xs./r)teger xs:anyt/R/ ... остальные атрибуты VolumeConfiguration... * string,
"name": string, ? "descnption": string, ? "created", string, ? "updated": string, ? "properties": ( string: string. + }. ? "state": string,"imageLocabon": { "href’: string}, 107
ГОСТ Р ИСО/МЭК 19831—2017 'bootable”: boolean,■operations": [ { "геГ: "edit*, "h re f: string}. ? { "геГ: "delete”, "h re f: string} ? ] ?iТип медиа XML: application/xml Сериализация XML: «Volumelmage xmlns=*http://schemas.dmtf.org/cimi/r>xs.anyL//?/«/id> xs.sfrrng ? «description>xs.sfrfng«/descnption> ? < created >xs:date 7/me«/created > ? «updated>xs:dafe77me«/updated> ? «property key=mxs:string">xs:string ’xs.sfmg«/state> «imageLocation href="xs:anyL/R/"/> xs.boo/oan «operation rel="edit” href="xs:anyl/Rn> ? «operation rel=”delete* hrei-'xs:anyU R ri> ? * 5.15.7.1 Операции Данный Ресурс поддержиаает операции Read. Update и Delete. Операция Create поддерживается через Ресурсы VolumelmageCollecbon. 5.15.8 Ресурс Volum olmagoCollection Ресурс VolumelmageCollection представляет собой Набор Ресурсов Volumelmage Поставщика и соответствует спецификации Набора, приведенной в 5.5.12. Данный Ресурс должен быть сериализо­ ван следующим образом: Сериализация JSON: { "resourceURI": "http://schemas.dmtf.0rg/cimi/1 A/olumelmageCollection". 'id": string,"count": number, 'volumelmages": [ { "resourceURI*: "http://schemas.dmtf.0rg/am i/l/V 0lumelmage". 'id": string,... остальные атрибуты Volumelmage... } . ♦ ].? ■operations”: [ { 'rel": "add”, ’ href*: string) ? ] } Сериализация XML: «Collection resourceURI="http://schemas.dmtf.org/cimi/1/VolumelmageCollection* xmlns=”http://schomas.dmtf.org/cimi/r><\d>xs:anyURI«count>xs.7nfeger«/count> xs:anyURI ... остальные атрибуты Volumelmage... * «operation rel=”add" href~'xs:anyURr/> ?>’ «/Collection» 108
ГОСТ Р ИСО/МЭК 19831—2017 5.15.8.1 Операции Данный Ресурс поддерживает операции Read и Update. Создание новых Ресурсов Volumelmage поддерживается путем отправки запроса POST на адрес URI операции "add'B соответствии с 4.2.1.1. Если во время создания нового Ресурса Volumelmage атрибут "imageLocation" относится к суще­ ствующему Volume, то эта операция должна интерпретироваться как запрос на создание снимка состо­ яния этого ресурса Volume. После ее завершения атрибут "imageLocation* нового Ресурса Volumelmage не должен указывать на исходный Volume; вместо этого он должен ссылаться на статическую копию Volume. Кроме этого VolumeVolumelmageCollection ресурса Volume, на который указывала ссылка, дол­ жен быть обновлен; в него должна быть добавлена ссылка на созданный Ресурс Volumelmage, содер­ жащий снимок состояния. При необходимости во время этого процесса Поставщик может перевести Volume в состояние CAPTURING. 5.16 Сетевые ресурсы и отношения Ресурсы, вовлеченные в создание ресурсов Network и связанных с ними NetworkPort, а также от­ ношения между ними представлены на рисунке 5. Данный рисунок представляет собой схему отноше­ ний Ресурсов, при этом использование UML не является обязательным требованием. оо.- Рисунок 5 — Сетевые ресурсы 5.16.1 Ресурс Network Ресурс Network представляет собой Набор связанных между собой логических служб, предназна­ ченных для передачи трафика данных между оконечными узлами. Ресурсы Network в ForwardingGroup должны иметь один и тот же атрибут «networkType», чтобы предотвратить утечку данных для сетей с ограниченным доступом, если они будут в одной группе ForwardingGroup с общедоступными сетями. Атрибуты Network приведены в таблице 37. 109
ГОСТ Р ИСО/МЭК 19831—2017 Т а б л и ц а 37 — Атрибуты Network Н а и м е н о в а н и е С е ть Т и п URI h ttp iW sch e m a s.d m tf.o rg rcm W l/N e tw o rk А т р и б у т Тип О п и са н и е slatestring Рабочее состояние Network. Допустимые значения включают в себя: CREATING: Network находится в процессе создания. STARTING: Network находится в процессе запуска. STARTED: Network доступен и готов к использованию. STOPPING: Network находится в процессе остановки. STOPPED: Network остановлен и не доступен для использования. DELETING: Network находится в процессе удаления. ERROR: Поставщик обнаружил ошибку в Network. Операции, приводящие к переходам в указанные состояния, приведены в 5.16.1.2. Начальное состояние Сети приведено в 5.16.2.1. Огоаничения: Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка; только для чтения networkTypestring Индикатор того, есть ли у Ресурса Machine доступ к сети общего пользования или частной сети. Допустимые значения включают в себя: PUBLIC: представляет открытую сеть, трафик из которой может передаваться в Интернет. PRIVATE: определяет локальную закрытую сеть. Ограничения: Поставщик: обязательная поддержка; изменяемый. Потребитель: необязательная поддержха; чтение-запись mtuinteger (Maximum Transmission Unit — максимальный размер передаваемого пакета) Максимальный размер пакета, поддерживаемый в данной сети. Ограничения: Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка; чтение-запись classOfServicestring Поддерживаемая Поставщиком категория, объединяющая Набор атрибутов, характеризующих уровень качества обслуживания. Следующие значения при­ ведены в качестве примера: GOLD; высокая пропускная возможность, низкая задержка, низкие частотные от­ клонения (джиттер). SILVER, улучшенное, по сравнению с бронзовым классом, качество передачи голосового и видео трафика. BRONZE: отсутствие гарантий доставки. Спецификация возможных значений и подразумеваемое качество их обслужи­ вания не входит в область применения настоящего стандарта. Ограничения: Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка; чтение-запись networkPortsCollection Ссылка на перечень NetworkPort. которые связаны с данной Network. [Network Ограничения: Network Поставщик: необязательная поддержка; изменяемый. Port] Потребитель: необязательная поддержка; только для чтения forv/ardir>gGroupref Ссылка на ForwardingGroup, в который входит данный Ресурс Network. О гр а н и ч е н и я ; Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка; только для чтения metersCollection Ссылка на перечень Ресурсов Meter, которые используются для мониторинга[Meter] данного экземпляра Network. О гр а н и ч е н и я ; Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка; только для чтения 110
ГОСТ Р ИСО/МЭК 19831—2017Окончание таблицы 37 А трибут Тип О п и са н и е eventLogref Ссыпка на EventLog данного экземпляра Network. Ограничения: Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка, только для чтения При реализации или использовании Network Поставщики и Потребители должны использовать синтаксис и семантику его атрибутов согласно таблице 37. а также таблицам, описывающим встроен­ ные Ресурсы или связанные Наборы. Сериализацию Ресурса в JSON и в XML (см. 1.3) представляют следующим образом: Тип медиа JSON: application/json Сориализация JSON: { "resoorceURI": "httpJ/schemas.dmtf.org/cimi/l/Network", "id": string. "name": string. ? "description": string. ? "created", string, ? "updated": string. ? "properties": { string: string. + }, ? "state": string."networkType": string. ? "mtu": number. ? "classOfService": string. ? "networkPorts": ( "href": strin g }. ? "forwardingGroup": ( "href": string}. ? "meters’ : { ’ href': string}. ? "eventLog": { "href: string}. ? "operations": ( { "rel": "edit", "h re f: string}. ? { "rel": "delete", "h re f: string}. ? { "rel": "http://schemas.dmtf.org/cimi/1/acbon/start". "h re f: string}. ? { "re f: "http7/schemas.dmtf.org/cimi/1/act»on/stop". "h re f: string) ? ] ? } Тип медиа XML: applicatiorVxml Сериализация XML: «Network xmlns="http://schemas.dmtf.org/cimi/1 "> xs.anyL/R/«/id> «name>xs:sfr/ng«/name> ? xs.sfr/ng ? «created>xs:dateTime ? «updated>xs.dateT/me«/updated> ? «property key="xs:sfnVig’ >xs.sfnng«/property> * xs:sfnng «network!ype >xs:stnng«/networkType> ? «mtu> xs:integer «/mtu> ? xs:string ? «networkPorts href="xs:anyURI"/> ? «forwardingGroup href="xs:anyURI"/> ? «meters href="xs:anyURI7> ? «eventLog" href=’ xs:anyURI7> ? «operation rel=’ e d if href="xs:anyURI7> ? «operation rel=’ delete" href="xs:anyURI’ /> ? 111
ГОСТ Р ИСО/МЭК 19831—2017 ■«operation rel=Hhttp://schemas.dmtf.org/cimi/1/action/start’ href="xs:anyURI7» ? «operation rel="http:y/schemas.dmtf.org/cimi/1/action/stop" href="xs:anyURI7» ? * «/Network» 5.16.1.1 Наборы Следующие пункты описывают Наборы Ресурсов, принадлежащие Network. 5.16.1.1.1 Ресурс NetworkNotworkPortCollection Если Ресурсы NetworkPort созданы с помощью операции "add* ресурса NetworkPortCollection. при­ надлежащего некоторому ресурсу Network, они также должны быть добавлены к глобальному Набору, принадлежащему Точке входа в облако, NetworkPortCollection. При удалении Ресурса Network все ее Наборы, а также Ресурсы этих Наборов, должны быть уда­ лены согласно 5.5.12. Это означает, что все Ресурсы NetworkPort. связанные с удаляемой Network, также должны быть удалены. Типом ресурса для каждого элемента этого Набора является NetworkPort. приведенный в 5.16.7. Сориализация JSON: { "resourcellRI*: ' http://schernas.drntf.Org/cimi/1/NetworkNetworkPortCollection". "id”: string. 'count*: number. 'networkNetworkPorts": [ { "resourceURI*: "http://schemas.dmtf.Org/cimi/1/NetworkNetworkPort", *id": string. 'name”: string. ? ■description", string, ? 'created*: string. ? 'updated*: string. ? “properties": { string: string. -*-},? 'networkPort": { ’ href": string}, 'operations”: [ { ”rel*: "edit*, "href*: string}. ? { ”rel*: "delete", "href’: string} ? J? }.♦ 1? } Сориализация XML: «Collection resourcel)RI="http://schemas.dmtf.org/cimi/1/NetworkNetworkPortCollection" xmlns="http://schemas.dmtf.org/cimi/1"» «id»xs.anyL//?/«/id» <\d>xs:anyURIxsstring ? «description> xs:string «/description» ? «created» xs:dateTime «/created» ? «updated» xs:dateTime «/updated» ? «property key=mxs:s/rfagP> xs:string «/property» * «networkPort href="xs:anyURI7> «operation rel="edit" href=*xs:anyURrV» ? «operation r e l- ’delete* href="xs:anyURr/» ? 112
ГОСТ Р ИСО/МЭК 19831—2017>* «/NetworkNetworkPort» *> * 5.16.1.1.2 PecypcNetworkMeterCollection Типом ресурса для каждого элемента этого Набора является Meter, приведенный в 5.17.3. Сериализация JSON: { ’ resoorceURI". "http://schemas.dmtf.Org/cimi/1/NetworkMeterCollectioл”,"id": string."count": number."meters’ : [ { "resourceURI": "http://schemas.dmtf.0rg/cimi/l/Meter’ ."id": string.... остальные атрибуты Meter... }• + ]. ? "operations": [ { "rel“: "add”, "href’: string } ? ] } Сериализация XML: «Collection resourceURI=’ http://schemas.dmtf.org/cimi/1/NetworkMeterCollectx>n" xmlns="http://schemas.dmtf.org/cimi/1 *> xs:anyl/R/«/id> xs.7nfeger«/count> «Meter» «id»xs.anyl/R/«/id> ... остальные атрибуты Meter... * «operation rel=’ add" href=’ xs.anyt/R f/> ? «xs.any»* «/Collection» 5.16.1.2 Операции Данный Ресурс поддерживает операции Read. Update и Delete. Операция Create поддерживается через Ресурс NetworkCollection. Кроме этого выполняют следующие специальные операции: start /llnk@ rel: http://schemas.dmtf.Org/cimi/1/action/start Данная операция должна запустить Ресурс Network. Параметры входа: Нет. Параметры выхода: Нет. Во время обработки этой операции ресурс Network должен быть в состоянии STARTING. После успешного завершения этой операции Network должен быть в состоянии STARTED. Протокол HTTP Для запуска Network по адресу URI «http://schemas.dmtf.Org/cimi/1/actioa/start» Ресурса Network передают запрос POST, где запрос HTTP должен быть следующим. Тип медиа JSON:application/json Сериализация JSON: { ’ resoorceURI": "http://schemas.dmtf.Org/cimi/1/Action","action": "http://schemas.dmtf.org/dmi/1/actioai’start", "properties": { string: string. + } ? } 113
ГОСТ Р ИСО/МЭК 19831—2017 Тип модиа XML: application/xml Сериализация XML xs.s/w?g«/property» *>* «/Action > После успешной обработки запроса текст ответа HTTP может быть пустым, stop /Iink@rel: http://schemas.dmtf.org/cimi/1 /actiorVstop Данная операция должна остановить Network. Если Network остановлена, она не должна пере­ давать данные. Параметры входа: Нет. Параметры выхода: Нет. Во время обработки данной операции Network должна быть в состоянии «STOPPING». После успешного завершения данной операции Network должна быть в состоянии «STOPPED». Протокол HTTP Для остановки Network в URI «http://schemas.dmtf.Org/cimi/1/action/stop» Ресурса Network переда­ ют запрос POST, где запрос HTTP должен включать в себя следующее. Тип медиа JSON: application/json Сериализация JSON: { "resourceURI": ’ http://schemas.dmtf.0rg/am i/l/Acti0n*. "action"; "http://schemas.dmtf.Org/cimi/1/action/stop", "properties’ : { string: string. + } ? } Тип медиа XML: application/xml Сериализация XML : «Action xmlns="http://schemas.dmtf.org/cimi/r> http://schemas.dmtf.Org/cimi/1/action/stop «/action» «property key=*xs.s/r/ng">xs.s/wtg *>" «/Action» После успешной обработки запроса текст ответа HTTP может быть пустым. 5.16.2 Ресурс N etw orkCollection Ресурс NotworkCollection представляет собой Набор Ресурсов Network Поставщика и соответству­ ет спецификации Набора, приведенной в 5.5.12. Данный Ресурс должен быть сериализован следую­ щим образом: Сериализация JSON: { "resourceURI": ’ http://schernas.dmtf.0rg/am i/l/Netw0rkC0llecti0n", "id": string. "count": number,"networks": [ { "resourceURI": ’ http://schemas.dmtf.0rg/dm i/l/Netw0rk", "id": string, ... остальные атрибуты Network... }.♦ I ? "operations”: [ { *гвГ: "add", "h re f: string} ? ] } Сериализация XML: «Collection resourceURI="http://schemas.dmtf.org/cimi/1/NetworkCollection’ xmlns="http://schemas.dmtf.org/cimi/r> «id»xs.anyL//?/«/id> 114
ГОСТ Р ИСО/МЭК 19831—2017 xs./nfeger xs:anyURI ... остальные атрибуты Network... * «operation rel=’ add" hre1="xs:anyURri> ?>* «/Collection» 5.16.2.1 Операции П р и м е ч а н и е — Операция «add» требует, чтобы использовался NetworkTemplate (см.4.2.1.1). После успешной обработки операции "add", если иное не определено в атрибуте "initialState" шаблона NetworkTemplate. состояние нового Network должно быть значением возможности Defaultlni- tialState Ресурса ResourceWetadata Ресурса Network, если он определен. Если возможность Defaultlni- tialState не определена, значением по умолчанию должно быть STOPPED. Семантика "initialState" долж­ на быть эквивалентна выполнению Поставщиком надлежащих действий с новым Network для перевода его в заданное состояние. Если Поставщик не способен установить начальное состояние Network (указанное в шаблоне NetworkTemplate. либо подразумеваемое правилами), то создание Network должно завершиться с ошибкой. 5.16.3 Ресурс NetworkTemplate Ресурс NetworkTemplate содержит набор конфигурационных параметров, необходимых для созда­ ния Network. Один экземпляр NetworkTemplate может использоваться для создания нескольких Ресур­ сов Network. Атрибуты NetworkTemplate приведены в таблице 38. Т а б л и ц а 38 — Атрибуты NetworkTemplate Н а им ем о еам ж ! N e tw o rkT e m p la te Тип URI hM p:/.ischem as.dm tf.oro'cim ii'1JN etw orkT em pla le Атрибут Тип О п и са н и е initialStatestring Начальное состояние новой Network. Возможные значения включают в себя состояния, установленные для атри­ бута «stateoNetwork. которые не являются промежуточными (например. STARTED. STOPPED), и определяемые действиями, которые поддерживают­ ся Поставщиком. Поставщики должны лрвдоставитьперечень доступных зна­ чений через возможность «initialStates» Ресурса Network. О гр а н и ч ен и я ; Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка; чтение-запись networkConfigref Ссылка на NetworkConfiguration. используемый для создания Network из этого шаблона NetworkTemplate. П р и м е ч а н и е — Могут определяться атрибуты NetworkConfiguration. а не ссылка на существующий Ресурс NetworkConfiguration. О гр а н и ч ен и я ; Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка; чтение-запись fonvardingGroupref Ссылка на FonvardingGroup, в которую входит данная Network. П р и м е ч а н и е — Ресурсы Network всегда передают трафик сами себе; поэтому данный атрибут появляется только в тех случаях, где Network, соз­ данная из этого Шаблона, переадресует трафик одной или нескольким до­ полнительным сетям Network. Ограничения: Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка; чтение-запись 115
ГОСТ Р ИСО/МЭК 19831—2017Окончание таблицы 38 А тр и б ут Тип О п и са н и е meterTemplatesMeter Перечень ссылок на MeterTempiate. который должен использоваться для соз­Templates дания и подключения набора экземпляров Meter к создаваемой Network.11 П р и м е ч а н и е — Могут определяться атрибуты MeterTempiate. а не ссыл­ ка на существующий Ресурс MeterTempiate. О г в а н и ч а ш ш : Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка: чтение-запись eventLogTempIateref Ссыпка на EventLogTempIate, который должен использоваться для создания и подключения нового EventLog к создаваемой Network. П р и м е ч а н и е — Могут определяться атрибуты EventLogTempIate. а не ссылка на существующий Ресурс EventLogTempIate. Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка: чтение-запись При реализации или использовании NetworkTemplate Поставщики и Потребители должны исполь­ зовать синтаксис и семантику его атрибутов согласно таблице 38, а также таблицам, описывающим встроенные Ресурсы или связанные Наборы. Сериализацию Ресурса в JSON и в XML (см. 1.3) пред­ ставляют следующим образом: JSON тип медиа: application/json Сериализация JSON: ("resourceURI*: *http://schemas.dmtf.orgyc4mi/1/NetworkTemplate", *id": string. •name": string. ? ’ description", string. ? ’ created': String, ? ’ updated*: string. ? •properties': { string: string. ♦ }. ? 'initialState': string. ? ‘ networkConfig*: { *href: string |... NetworkingConfiguration... }.? •forwardingGroup": { "href” : string}, ? ’ meterTemplates*: [ { “h re f: string, ? ... MeterTempiate... ? ).* ).? ’ eventLogTempIate": { ’ h re f: string. ? ... EvontLogTomplate... ? }.? ’ operations": [ { "re f: *e d if, 'h re f: string}. ? { "rel*: 'delete", "href’: string} ? ] ? } Тип медиа XML: application/xml Сериализация XML: ГОСТ Р ИСО/МЭК 19831—2017 xs.sfr;ng ? «created >xs:date 77me ? xs:dafe7/me ? «property key="xs:stnVjg*>xs:sfr?Vjg«/property> * xs.s?r/'ng«/initialState> ? «networkConfig href="xs.anyl/f?/*?» ... NetworkConfiguration... ? «/networkConfig> ? «forwardingGroup href="xs:anyURI'7> ? «meterTemplate href="xs:anyURr? > ... MeterTemplate... ? * «eventLogTemptate href="xs:anyURI"? > ... EventLogTemplate... ? «/eventLogTemplate» ? «operation rel="edit* href="xs:anyURI7> ? «operation rel=’ delete" href=’ xs:anyURI7> ? * «/NetworkTemplate» 5.16.3.1 Операции Данный Ресурс поддерживает операции Read, Update и Delete. Операция Create поддерживается через Ресурс NetworkTemplateCollection. 5.16.4 Ресурс NetworkTemplateCollection Ресурс NetworkTemplateCollection представляет собой Набор Ресурсов NetworkTemplate Постав­ щика и соответствует спецификации Набора, приведенной в 5.5.12. Данный Ресурс должен быть сери­ ализован следующим образом: Сериализация JSON: { "resourceURI": *http.7/schemas.dmtf.org/cjmi/1/NetworkTemplateCollection", "id": string."count": number."networkTemplatos*: [ { "resourceURI”: "http_//schemas.dmtf.org/cimi/1/NetworkTemplate", "id*: string. ... остальные атрибуты NetworkTemplate... >.+ ].? "operations’ : [ { "rel": "add", "href’, strin g } ? ) } Сериализация XML: «Collection resourceURI="http://schemas.dmtf.org/cimi/1/NetworkTemplateCollection" xmlns=’ http://schemas.dmtf.org/cimi/r> xs.anyt/R/ teger nt> «NetworkTemplate» остальные атрибуты NetworkTemplate...
«/NetworkTemplate» * «operation rel=’ add" href=’ xs.anyl/R/7» ?>* «/Collection» 5.16.4.1 Операции Данный Ресурс поддерживает операции Read и Update. Создание нового Ресурса NetworkTem­ plate поддерживается путем отправки запроса POST к URI операции «add» в соответствии с 4.2.1.1. 117
ГОСТ Р ИСО/МЭК 19831—2017 5.16.5 Ресурс N etw orkConfiguration Совокупность параметров конфигурации, приведенная в таблице 39. представляет информацию, необходимую для создания Network с заданными характеристиками. Т а б л и ц а 39 — Атрибуты NetworkConfiguration Н а и м е н о в а н и е N e tw o rk C o n fig u fa tio n Т и п URI hltpiA’s c h e m a s .O m tf.o rg i'c ifn ifirN e lw o rk C o n fig u ra tio n А т р и б у т Тип О п и са н и е networkTypestring Индикатор, указывающий, является ли Network сетью общего пользования или частной сетью. Допустимые значения включают в себя: PUBLIC: представляет открытую сеть, трафик из которой может передаваться в Интернет. PRIVATE: определяет локальную закрытую сеть. О гр а н и ч е н и я . Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка: чтение-запись mtuinteger Maximum Transmission Unit является максимальным размером передаваемого па­ кета. Ограничения: Поставщик: необязательная поддержка, изменяемый. Потребитель: необязательная поддержка: чтение-запись classOfServicestring Поддерживаемая Поставщиком категория, объединяющая Набор атрибутов, ха­ рактеризующих уровень качества обслуживания. Следующие значения приведены в качестве примера: GOLD: Высокая пропускная возможность, низкая задержка, низкие частотные от­ клонения (джиттер). SILVER: улучшенное по сравнению с бронзовым классом качество передачи голо­ сового и видео трафика. BRONZE: отсутствие гарантий доставки. Спецификация возможных значений и подразумеваемое качество их обслужива­ ния не входит в область применения настоящего стандарта. Ограничения: Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка; чтение-запись Сериализацию Ресурса в JSON и в XML представляют следующим образом: Тип медиа JSON: application/json Сериализация JSON: {"resourceURI": ’ http://schemas.dmtf.Org/cimi/1/NetworkConfiguration", 'id": string,"name": string, ? 'description": string, ? 'created': string, ? 'updated*: string. ? 'properties": { string: string. ♦ }. ? 'networkType': string. ? 'mtu": number. ? 'classOfService': string. ? 'operations": [ { "reP: "ediP. "href": string}. ? { "reP: "delete", "href’: string } ? 1?) 118
ГОСТ Р ИСО/МЭК 19831—2017 Тип медиа XML: application/xml Сериализация XML: «NetworkConfiguration xmlns=’ http://schemas.dmtf.org/cimi/1 "><\d>xs:anyURIxs:sfr/ng«/name> ? «description>xs:sf//ng«/description> ? «created >xs:date 77me«/created> ? «updated>xs.dafe7/me«/updated> ? «property key="xs.sfring*>xs.sfr?r)g«/property> * «networkType>xs;sfrjng«/networkTypG> ? «mtu>xs./nteger«mtu> ? «classOfService>xs.sfnng ? «operation rel=’ edit" href-'xs:anyU R n> ? «operation rel="delete" href="xs:anyURn> ?«/NetworkConfiguration» 5.16.5.1 Операции Данный Ресурс поддерживает операции Read, Update и Delete. Операция Create поддерживается через Ресурс NetworkConfigurationCollection. 5.16.6 Ресурс NetworkConfigurationCollection Ресурс NetworkConfigurationCollection представляет собой Набор Ресурсов NetworkConfiguration Поставщика и соответствует спецификации Набора, приведенной в 5.5.12. Данный Ресурс должен быть сериализован следующим образом: Сериализация JSON: { "resourceURI":"http://schemas.dmtf.Org/cimi/1/NetworkConfigurationCollection". "id": string."count": number. "networkConfigurations": { { "resourceURI": “httpJ/schemas.dmtf.org/cimi/l/NetworkConfiguration", "id": string. ... остальные атрибуты NotworkConfiguration... >.+ ].? "operations": [ { "rel": "add", "href”: string} ? ] } Сериализация XML: «Collection resourceURI=*http://schemas.dmtf.org/cimi/1/NetworkConfigurationCollection" xmlns="httpi//schemas.dmtf.org/cimi/r> «id»xs:anyl/R/«/id> xs.7n/egor«/count> «NetworkConfiguration» «id»xs.anyl/R/«/id> ... остальные атрибуты NetworkConfiguration...«/'NetworkConfiguration> * «operation rel=’ add“ href=*xs.anyl//?/7> ? «xs.any»* «/Collection» 5.16.6.1 Операции Данный Ресурс поддерживает операции Read и Update. Создание нового Ресурса NetworkConfiguration поддерживается путем отправки запроса POST на адрес URI операции «add» в соответствии с 4.2.1.1. 119
ГОСТ Р ИСО/МЭК 19831—2017 5.16.7 Ресурс N otworkPort Ресурс NetworkPort реализует точку подключения Ресурса (например.Machine) к Network. Атрибу­ ты NetworkPort приведены в таблице 40. Т а б л и ц а 40 — Атрибуты NetworkPort Н а и м е н о ва н и е N e tw o rk P o rt Ти п URI http -Г/sc h e m a s d m tf.o rg /c im i/l /N e tw o rk P o rt А трибу» Тип О п и са н и е stateString Рабочее состояние NetworkPort. Допустимые значения включают в себя следующее: CREATING: NetworkPort находится в процессе создания. STARTED NetworkPort доступен (включен) и готов к использованию. STOPPED: NetworkPort остановлен (отключен) и не доступен для использования. DELETING: NetworkPort находится в процессе удаления. ERROR: Поставщик обнаружил ошибку в NetworkPort. Операции, приводящие к переходам к указанным состояниям, приведены в 5.16.7.2. Начальное состояние NetworkPort указано в 5.16.8.1. О гр а н и ч е н и я ; Поставщик: обязательная поддержка, изменяемый. Потребитель: обязательная поддержка: только для чтения networkref Ссылка на Network, связанный с данным NetworkPort. Ограничения: Поставщик: обязательная поддержка: изменяемый. Потребитель: обязательная поддержка: чтение-запись portTypestring Порт используется либо в качестве порта доступа (элемента сети), либо как маги­ стральный порт, который служит транспортом для нескольких сетей. Допустимые значения включают в себя: ACCESS: элемент сети. TRUNK: транспорт для нескольких сетей. О гр а н и ч е н и я ; Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка: чтение-запись classOf Servicestring Поддерживаемая Поставщиком категория, объединяющая Набор атрибутов, ха­ рактеризующих уровень качества обслуживания. Следующие значения приведены в качестве примера: GOLD: высокая пропускная возможность, низкая задержка, низкие частотные от­ клонения (джиттер). SILVER: улучшенное по сравнению с бронзовым классом качество передачи го­ лосового и видео трафика. BRONZE: отсутствие гарантий доставки. Спецификация возможных значений и подразумеваемое качество их обслужива­ ния не входит в область применения настоящего стандарта. Ограничения: Поставщик: обязательная поддержка: изменяемый. Потребитель: обязательная поддержка: чтение-запись meterscollection Ссылка на перечень Ресурсов Meter, используемых для мониторинга данного эк­/MeterJ земпляра NetworkPort. Ограничения: Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка; только для чтения eventLogref Ссылка на EventLog данного NetworkPort. О гр а н и ч е н и я ; Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка; только для чтения При реализации или использовании NetworkPort Поставщики и Потребители должны использо­ вать синтаксис и семантику его атрибутов согласно таблице 40. а также таблицам, описывающим ветро- 120
ГОСТ Р ИСО/МЭК 19831—2017 енныо Ресурсы или связанные Наборы. Сериализацию Ресурса в JSON и в XML (см. 1.3) представляют следующим образом: Тип модиа JSON: application/json Сериализация JSON: { "resourceURI": "httpJ/schemas.dmtf.org/cimi/l/NetworkPort’ , "id": string."name": string. ? "description": string. ? "created": string. ? "updated": string. ? "properties": { string: string. + }, ? "state": string,"network": { "href": string}. "portType": string, ? "classOfService": string, ? "meters": { "href” : string}. ? "eventLog": { 'h re f: string}, ? "operations": ( { "rel": "edit", "h re f: string}, ? { "rel": "delete", "h re f: string}. ? { "rel". "http://schemas.dmtf.Org/cimi/1/action/start’ . “href": string}. ? { "rel": "httpJ/schemas.dmtf.org/cimi/1/action/stop". "h re f: string) ? ]? } Тип медиа XML: application/xml Сериализация XML: «NetworkPort xmlns="httpJ/schemas.dmtf.org/cimi/1"> xs:anyl/R/«/id> xs:sfr/ng ? xs:str/ng ? «created >xs:date 77me«/created> ? xs.dafe7/me«/updated> ? «property key="xs.sfnng*>xs:sfnng«/property> * «state>xs:sfwig«/state> «network h re t-‘xs:anyURH>xs.s/ring«/portType> ? «classOfService>xs:smng ? «meters hrei-'xs:anyU R n> ? «eventLog" href="xs:anyURI"/> ? «operation rel="edit" href=”xs:anyURI7> ? «operation rel=’ delete" href="xs:anyURI’ /> ? «operation rel=’ http://schemas.dmtf.org/cimi/1/action/start" href=’ xs:anyURI"/> ? «operation rel=’ http://schemas.dmtf.org/cimi/1/action/stop" href="xs:anyURI7> ? ‘ 5.16.7.1 Наборы В настоящем подпункте приведены Наборы Ресурсов, принадлежащие NetworkPorts. 5.16.7.1.1 Ресурс NetworkPortMeterCollection Типом ресурса для каждого элемента этого Набора является Meter, приведенный в 5.17.3. Сериализация JSON: { "resourceURI"."http://schemas.dmtf.org/cimi/1/NetworkPortMeterCollect>on"f "id": string. 121
ГОСТ Р ИСО/МЭК 19831—2017 'count*: number,"meters": [ { "resourceURI*: ' http://schemas.dmtf.Org/dmi/1/Meter” . 'id": string, ... остальные атрибуты Motor... }.♦ ].? 'operations": [ { *rel": "add". 7иеГ: strin g } ? ] } Сериализация XML: «Collection resourceURI=Mhttp://schemas.dmtf.org/cimi/1/NetworkPortMeterCollection' xmlns="http://schemas.dmtf.org/cimi/r><\6>xs:anyURI xs:integer остальные атрибуты Meter...
* «operation rel="add' href~'xs:anyURr/> ?>* «/Collection» 5.16.7.2 Операции Данный Ресурс поддержиаает операции Road. Update и Delete. Операция Create поддерживается через Ресурс NetworkPortCollection. При удалении NetworkPort данный Ресурс должен быть удален из глобального Набора (принадле­ жащего Точке входа в облако) NetworkPortCollection, а также из NetworkPortsCollection соответствующей сети Network. Кроме этого выполняют следующие специальные операции: start /link@ rel: http://schemas.dmtf.0rg/cimi/l/acti0n/start Эта операция должна запустить NetworkPort. Параметры входа: Нет. Параметры выхода: Нет. После успешного завершения этой операции NetworkPort должен быть в состоянии STARTED. Протокол HTTP Для запуска NetworkPort передают запрос POST в URI «http://schemas.dmtf.org/cimi/1/action/start» Ресурса NetworkPort. где запрос HTTP должен быть следующим. Тип модиа JSON: application/json Сериализация JSON: { "resourceURI*: ' http://schemas.dmtf.0rg/dm i/l/Acti0n’ , 'action": "http://schemas.dmtf.Org/cimi/1/action/start", ■properties": { string: string. ♦ } ?iТип медиа XML: application/xml Сериализация XML: «Action xmlns=*http7/schemas.dmtf.org/cimi/1 '> «action» http://schemas.dmtf.org/cimi/1/action/start «/action» «property key='xs.sfr/ng"»xs.s/nng *>' «/Action» После успешной обработки запроса текст ответа HTTP может быть пустым, stop /I i nk@ rel: http://schemas.dmtf. org/cimi/1 /action/stop 122
ГОСТ Р ИСО/МЭК 19831—2017 Эта операция должна остановить NetworkPort. После остановки NetworkPort он не должен быть доступен для использования, и через него не должен проходить сетевой трафик. Параметры входа: Нет. Параметры выхода: Нет. После успешного завершения этой операции NetworkPort должен быть в состоянии STOPPED. Протокол HTTP Для остановки NetworkPort передают запрос POST в URI «http://schemas.dmtf.Org/cimi/1/action/ stop» Ресурса NetworkPort. где запрос HTTP должен быть следующим. Тип модиа JSON:applicatioa'json Сериализация JSON: { ’ resourceURI": "http://schemas.dmtf.Org/cimi/1/Action","action’ : "http://schemas.drntf.0rg/cimi/l/acti0n/st0p’ , "properties": { string: string. + } ? } Тип медиа XML: application/xml Сериализация XML: http://schemas.dmtf.org/cimi/1/actioa'stop «property koy="xs:string'>xs:string *>* После успешной обработки запроса текст ответа HTTP может быть пустым. 5.16.8 Ресурс N etworkPortCollection Ресурс NetworkPortCollection представляет собой Набор Ресурсов NetworkPort Поставщика и со­ ответствует спецификации Набора, приведенной в 5.5.12. Данный Ресурс должен быть сериализован следующим образом: Сериализация JSON: { "resotirceURI": "http://schemas.dmtf.Org/cimi/1/NetworkPortCollection", "id": string."count": number, "networkPorts’ : [ { ’ resourceURI": "http://schemas.dmtf.Org/cimi/1/NetworkPort*,"id*: string,... остальные атрибуты NetworkPort... }- + ],? "operations’ : [ { "rel": "add", "href” , string} ? ] } Сериализация XML: «Collection resourceURI=’ http://schemas.dmtf.org/c«mi/1/NetworkPortCollection’ xmlns=’ http://schemas.dmtf.org/cimi/1 ’ > «id>xs:anyl/R/«/id> xs.7n/eger«/count> «NetworkPort> xs:anyl//?/«/id> ... остальные атрибуты NetworkPort...«/NetworkPort> * «operation rel="add" hre1=’ xs:anyURf'l> ? «/Collection» 5.16.8.1 Операции П р и м е ч а н и е — Операция "add* требует, чтобы использовался шаблон NetworkPodTemplate (см. 4.2.1.1). 123
ГОСТ Р ИСО/МЭК 19831—2017 Если Ресурсы NetworkPort созданы с помощью операции ’ add" глобального, т. е. принадлежащего Точке входа в облако. Набора NetworkPortCollection, они также автоматически добавляются к Ресурсу NetworkPortCollection соответствующей сети Network. После успешного выполнения операции ’ add", если иное не определено в атрибуте 'initialState* шаблона NetworkPortTemplate. состояние нового NetworkPort должно быть значением возможности DefaultlnitialState в Ресурсе ResourceMetadata Ресурса NetworkPort, если таковой определен. Если воз­ можность DefaultlnitialState не определена, то значением по умолчанию должно быть STOPPED. Семан­ тика ’ initialState’ должна быть эквивалентна выполнению Поставщиком надлежащих действий с новым NetworkPort для перевода его в заданное состояние. Если Поставщик неспособен установить начальное состояние NetworkPort. указанное в шаблоне NetworkPortTemplate либо подразумеваемое правилами, то создание NetworkPort должно завершиться с ошибкой. 5.16.9 Ресурс NetworkPortTemplate Ресурс NetworkPortTemplate содержит набор конфигурационных параметров для создания Ресур­ са NetworkPort. Ресурс NetworkPortTemplate может использоваться для создания нескольких Ресурсов NetworkPort. Атрибуты NetworkPortTemplate приведены в таблице 41. Т а б л и ц а 41 — Атрибуты NetworkPortTemplate Н а и м е н о в а н и е N e tw o rk P o rtT e m p la le Ти п URI h ttp./j’scb e m a s .d m t(.o rg ilcim i.,1 iN e lw orfcP orlT em plale А тр и б ут Тип О п и са н и е initialStateString Начальное состояние нового NetworkPort. Возможные значения включают в себя такие состояния, определенные для атрибута "state" Ресурса initialStatestring NetworkPort. которые не являются промежуточными (например. STARTED. STOPPED), и определяются действиями, которые поддер­ живаются Поставщиком. Поставщики должны распространить пере­ чень доступных значений с помощью возможности "initialStates* Ресур­ са ResourceMetadata. принадлежащего Ресурсу NetworkPort. Ограничения; Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка; чтение-запись networkref Ссылка на сеть, которая будет связана с создаваемым NetworkPort. Если данный Шаблон используется для создания нового NetworkPort через глобальный Набор, принадлежащий Точке входа в облако NetworkPortCollection. то данный атрибут должен быть указан. Если данный Шаблон используется для создания нового NetworkPort через Набор NetworkPortsCollection, принадлежащий Ресурсу Network, дан­ ный атрибут должен отсутствовать или иметь то же значение, что и *id" Ресурса Network, к которому добавляется данный NetworkPort Ограничения: Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка; чтение-запись networkPortConfigref Ссылка на NetworkPortConfiguration, который используется для созда­ ния NetworkPort из данного NetworkPortTemplate. П р и м е ч а н и е — Могут определяться атрибуты NetworkPort­ Configuration, а не ссылка на существующий Ресурс Network- PortConfigur ation. Ограничения: Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка; чтение-запись 124
ГОСТ Р ИСО/МЭК 19831—2017Окончание таблицы 4 J Атрибут Тип Описание meterTemplatesmeterTemptates [) Перечень ссылок на MeterTemplate. которые должны использоваться для создания и подключения набора новых Ресурсов Meter к создава­ емому NetworkPort. П р и м е ч а н и е — Могут определяться атрибуты MeterTemplate. а не ссылка на существующий Ресурс MeterTemplate. Ограничения: Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка: чтение-запись eventLogTemplateref Ссылка на EventLogTemplate. который должен использоваться для соз­ дания и подключения нового EventLog к создаваемому NetworkPort. П р и м е ч а н и е — Могут определяться атрибуты EventLogTemplate. а не ссыпка на существующий Ресурс EventLogTemplate. Ограничения; Поставщик: необязательная поддержка: изменяемый Потребитель: необязательная поддержка: чтение-запись При реализации или использовании NetworkPortTemplate Поставщики и Потребители должны ис­ пользовать синтаксис и семантику его атрибутов согласно таблице 41. а также таблицам, описывающим встроенные Ресурсы или связанные Наборы. Сериализацию Ресурса в JSON и в XML (см. 1.3) пред­ ставляют следующим образом: Тип медиа JSON: applicationyjson Сериализация JSON: { "resourceURI". "httpJ/schemas.dmtf.org/cimi/l/NetworkPortTemplate", ”istring.
"name": string. ? "description": string. ? "created", string, ? "updated": string. ? "properties": { string: string. + }. ? "initialState": string, ? "network": { "href": string}, ? "networkPortConfig”: { "href': string |... NetworkPortConfiguration... }• "meterTemplates": ( { "href": string, ? ... MeterTemplate... ? } .* ]•? "eventLogTemplate”: { "href': string, ? ... EventLogTemplate... ? }.? "operations": [ { "rel": "edit", "h re f: string }, ? { "rel": "delete", "h re f: string} ? ] ? ГТип медиа XML: applicatk>n/xml Сериализация XML: xs:anyl/R/ 125
ГОСТ Р ИСО/МЭК 19831—2017 ig ? «created»xs:dafer/me«/created> ? ? «property key="xs:s/w?g"»xs.sfm7g«/property» * '?> ... NetworkPortConfiguration... ? «/networkPortConfig > «meterTemplate href="xs:anyt/R/'? > ... MeterTemplate... ? * «eventLogTemplate href=*xs:anyL//?r? > ... EvontLogTemplate... ? «/eventLogTemplate> ? «operation rel="edit" href=’ xs:anyl/R r/» ? «operation r e l- ’delete" href="xs:anyl//?f/» ?>" «/NetworkPortTemptate> 5.16.9.1 Операции Данный Ресурс поддерживает операции Read. Update и Delete. Операция Create поддерживается через Ресурс NetworkPortTemplateCollection. 5.16.10 Ресурс NetworkPortTemplateCollection Ресурс NetworkPortTemplateCollection представляет собой Набор Ресурсов NetworkPortTemplate Поставщика и соответствует спецификации Набора, приведенной в 5.5.12. Данный Ресурс должен быть сериализован следующим образом: Сериализация JSON: { "resourceURI": ' http://schemas.dmtf.Org/cimi/1/NetworkPortTemplateCollection". *id": string,"count*: number,"networkPortTemplates": [ {"resourceURI": "http://schemas.dmtf.Org/ami/1/NetworkPortTemplate". "id": string,... остальные атрибуты NetworkPortTemplate... } . ♦ ].? "operations": [ { "rel": "add", "href": strin g } ? ] } Сериализация XML: «Collection resourceURI="http://schemas.dmtf.org/cimi/1/NetworkPortTemplateCollection" xmlns="http://schemas.dmtf.org/cimi/T’> «NetworkPortTemplate» xs.anyL/R/«/id> ... остальные атрибуты NetworkPortTemplate...«/NetworkPortTemplate» ‘ «operation rel="add" href="xs:anyi/R/7» ?>* «/Collection» 126
ГОСТ Р ИСО/МЭК 19831—2017 5.16.10.1 Операции Данный Ресурс поддерживает операции Read и Update. Создание нового Ресурса NetworkPortTemplate поддерживается путем отправки запроса POST к URI операции «add» в соответ­ ствии с 4.2.1.1. 5.16.11 Ресурс Notw orkPortC onfiguration Совокупность параметров конфигурации для создания NetworkPort с заданными характеристика­ ми. Атрибуты NetworkPortConfiguration приведены в таблице 42. Т а б л и ц а 42 — Атрибуты NetworkPortConfiguration Н а и м е н о в а н и е N e t w o r k P o r tC o n fig u r a tio n Т и п U R I h ttp :W s c h e m a s ,d m tf.o r g j'c im if!J N e tw o r k P o ftC o n fig u r a !io n А т р и б у т Т и п О п и с а н и е portTypestring Порт используется либо в качестве порта доступа (элемента сети), либо как маги­ стральный порт, который служит транспортом для нескольких сетей. Допустимые значения включают в себя следующее: ACCESS: элемент сети. TRUNK: транспорт для нескольких сетей. Ограничения: Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка; чтение-запись classOfServicestring Поддерживаемая Поставщиком категория, объединяющая Набор атрибутов, харак­ теризующих уровень качества обслуживания. Следующие значения приведены в качестве примера: GOLD: высокая пропускная возможность, низкая задержка, низкие частотные откло­ нения (джиттер). SILVER: улучшенное по сравнению с бронзовым классом качество передачи голосо­ вого и видео трафика. BRONZE: отсутствие гарантий доставки. Спецификация возможных значений и подразумеваемое качество их обслуживания не входит в область применения настоящего стандарта. Ограничения: Поставщик: обязательная поддержка: изменяемый. Потребитель: обязательная поддержка; чтение-запись Сериализацию Ресурса в JSON и в XML представляют следующим образом. Тип медиа JSON: application/json Сериализация JSON: { "resourceURI"."http://schemas.dmtf.Org/cimi/1/NehvorkPortConfiguration*,"id*: string."name": string, ? "description*: string. ? "created", string. ? "updated": string. ? "properties": { string: string. + }, ? "portType”: string, ? "classOfService": string. ? "operations": [ { "rel” : "edit", "h re f: string}, ? { "rel”. "delete*. *href*: string} ? } 127
ГОСТ Р ИСО/МЭК 19831—2017 Тип модиа XML: application/xml Сериализация XML: xs:s/r/ng
? xs:sfm7g ?xs:dateTime ? ? «property key='xs.str/ng">xs.sf/Tng«/property> * «portType»xs.sfr/ng«/portType» ? xs.sfw?g«/classOfService» ? «operation rel="edit” href=’ xs.anyl//?/"/» ? «operation rel="delete' htei-'xs:anyU R n> ? «/NetworkPortConfiguration» 5.16.11.1 Операции Данный Ресурс поддерживает операции Read, Update и Delete. Операция Create поддерживается через Ресурс NetworkPortConfigurationCollection. 5.16.12 Ресурс NetworkPortC onfigurationC ollection Ресурс NetworkPortConfigurationCollection представляет собой Набор Ресурсов NetworkPorlCon- figuration Поставщика и соответствует спецификации Набора, приведенной в 5.5.12. Данный Ресурс должен быть сериализован следующим образом: Сериализация JSON: { "resourceURf: ' http://sctiemas.dmtf.Org/cimi/1/NetworkPortConfigurationCollection". 'id": string, 'count*: number,'networkPortConfigurations": [ {"resourceURI*: ' http://schemas.dmtf.Org/cimi/1/NetworkPortConfiguration". 'id": sthng,... остальные атрибуты NetworkPortConfiguration...I * }.? 'operations": ( { 'reP: "add", *href: string} ? ] } Сериализация XML: «Collection resourceURI=“http://schemas.dmtf.org/cimi/1/NetworkPortConfigurationCollection' xmlns="http://schemas.dmtf.org/cimi/r> xs.7n/eger«/count> «NetworkPortConfiguration» < id»xs.any URI... остальные атрибуты NetworkPortConfiguration...«/NetworkPortConfiguration» * «operation rel="add" brei="xs:anyURn> ? «/Collection» 5.16.12.1 Операции Данный Ресурс поддерживает операции Read и Update. Создание новых Ресурсов NetworkPort­ Configuration поддерживается путем отправки запроса POST к URI операции “add’ в соответствии с 4.2.1.1. 128
ГОСТ Р ИСО/МЭК 19831—2017 5.16.13 Ресурс Address Ресурс Addres представляет собой IP-адрес и метаданные, связанные с ним. для конкретной сети. Если Потребитель создает Ресурс Address, это семантически эквивалентно запросу статического IP-адреса, который позже может быть связан с Ресурсами. Ресурсы Addresse, созданные Потребите­ лями вручную, не должны удаляться автоматически при удалении Ресурса, использующего данный Address (например. Machine), так как предполагается, что срок жизни Ресурсов Address, созданных вручную, отличается от срока жизни Ресурсов, которые их используют. Ресурсы Address, созданные Поставщиками от имени Потребителя, должны удаляться по усмотрению Поставщика. В частности, Поставщик должен удалять Ресурсы Address, которые он создал от имени Потребителя, если удален Ресурс, использующий данный Address, или если Addres отсоединяется от Ресурса. Ресурсы Address, созданные Поставщиками, могут быть преобразованы в адреса, находящиеся под контролем Потребителя (т. е. не удаляются до явного требования Потребителя), путем изменения атрибута 'allocation" с "dynamic" на "static*, если такая функция поддерживается Поставщиками. Атри­ буты Address приведены в таблице 43. Т а б л и ц а 43 — Атрибуты Address Н а и м е н о в а н и е A d d r e s s Т и п U R I h i t p :t fs c h e m s s .d m ! f.o r g / c i m y i;A d d r e s s Атрибут Тип О п и с а н и е Фsiring IP-адрес, присвоенный виртуальному интерфейсу. Ограничения. Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка; чтение-запись hostnamesiring Разрешимое наименованиеОЫБ. связанное с этим сетевых* интерфейсом. Ограничения. Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка; чтение-запись allocationsiring Значение «dynamic» либо «static». Указывает на того, кто управляет данным адре­ сом: Поставщик или Потребитель. Ограничения: Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка; только для чтения defauItGatewaysiring IP-адрес маршрутизатора (шлюза), который обслуживает другие сети. Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка; чтение-запись dnsstring [] IP-адрес сервера службы доменных наименований для разрешения IP адресов. Ограничения; dnsstring (] Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка; чтение-запись protocolstring Выбранный сетевой протокол. например1Ру4 или IPv6. Ограничения; Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка; чтение-запись maskstring Сетевая маска, связанная с данным Address. Ограничения; Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка; чтение-запись networkref Ссылка на Network, с которой связан данный Address. Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка; чтение-запись 129
ГОСТ Р ИСО/МЭК 19831—2017Окончание таблицы 43 А т р и б у т Т и п О п и с а н и е resourceref Ссылка на Ресурс, который использует данный Address. Ограничения: Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка; только для чтения При реализации или использовании Addres Поставщики и Потребители должны использовать синтаксис и семантику его атрибутов согласно таблице 43, а также таблицам, описывающим встроен­ ные Ресурсы или связанные Наборы. Сериализацию Ресурса в JSON и в XML (см. 1.3) представляют следующим образом: Тип медиа JSON: application/json Сериализация JSON: ( "resourceURI’ : ' http://schemas.dmtf.Org/cimi/1/Address", 'id"; string,'name": string, ? 'description": string. ? 'created': string. ? 'updated*: string. ? 'properties': { string: string. + } .?'ip": string. 'hostname": string. ? 'allocation": string,'defauItGateway*: string. ? 'dns": [ string. + ). ? ■protocol”: string, 'mask”: string. ? 'network": { "href": string}, 'resource": { "hrer: string }, ? 'operations": [ { "геГ: 'edit*, "h re f: string}, ? { "геГ: "delete", "h re f: string} ? ] ? } Тип медиа XML: application/xm! Сериализация XML: < Address xmlns="http://schemas.dmtf.org/cimi/r>xs.anyL/R/«/id> xs:s/r/ng ? xs:s/mrg«/description> ? xs.dafeT/me ? xs:c/afe77me«/updated> ? «property key=’ xs:str/ng">xs:string * xs.sfrrng xs:sfnng ? «allocation>xs.sfmg«/allocation> xs:sfr/ng«/defauttGateway> ?xs:string * «protocol >xs:sfrj'ng«/protocol>xs:string ? «network hrei=mxs:anyURH>«resource href="xs.anyl//?/7> ? «operation rel="edit" href="xs:anyl/Rr/> ? «operation rel="delete* href="xs.anyl//?f/> ? 130
ГОСТ Р ИСО/МЭК 19831—2017 5.16.13.1 Операции Данный Ресурс поддерживает операции Read, Update и Delete. Операция Create поддерживается через Ресурс AddressCollection. 5.16.14 Ресурс AddressC ollection Ресурс AddressCollection представляет собой Набор Ресурсов Addres Поставщика, которыми владеет/управляет Потребитель или Поставщик, и соответствует спецификации Набора, приведенной в 5.5.12. Данный Ресурс должен быть сериализован следующим образом: Сериализация JSON: { ’ resourceURI": "http://schemas.dmtf.Org/cimi/1/AddressCollection", "id": string."count": number."addresses": ( { 'resourceURI": "http://schemas.dmtf.Org/cimi/1/Address". "id": string,... остальные атрибуты Address... }.+ ].? "operations': [ { "rel": "add", "h re f: string} ? J } Сериализация XML: ■«Collection resourccURI=*http://schemas.dmtf.org/cimi/1/AddressCollection' xmlns='http://schemas.drntf.org/cimi/r> «id>xs:anyl/R/«/id> «count>xs.7nteger«/count> «Address» остальные атрибуты Address...
* «operation rel=’ add" href='xs:anyl/R/"/> ? «xs.any»* «/Collection» 5.16.14.1 Операции П р и м е ч а н и е — Операция «add» требует использования шаблона AddressTemplate (см. 4.2.1.1). 5.16.15 Ресурс AddrossTemplate Данный Ресурс содержит конфигурационные параметры для создания Ресурса Address. Один эк­ земпляр AddressTemplate может использоваться для создания нескольких экземпляров Address Атри­ буты AddressTemplate, приведенных в таблице 44. Т а б л и ц а 44 — Атрибуты AddressTemplate Н а и м е н о в а н и е A d d r e s s T e m p la t e Т и п U R I h ttp iV s c h e m a s .d m tf .o fs y c in W I / A d d te s s T e m p la te А т р и б у т Тип О п и с а н и е IPstring IP-адрес, присвоенный виртуальному интерфейсу. Ограничения; Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка; чтение-запись hostnamestring Допустимое наименование DNS. связанное с этим сетевым интерфейсом. Ограничения: Поставщик: необязательная поддержка: изменяемый Потребитель: необязательная поддержка; чтение-запись 131
ГОСТ Р ИСО/МЭК 19831—2017Окончание таблицы 44 А т р и б у т Тип О п и с а н и е allocationString Значение «dynamic» либо «static». Указывает на того, кто управляет данным адре­ сом: Поставщик или Потребитель. Ограничения: Поставщик: обязательная поддержка: изменяемый. Потребитель: обязательная поддержка; только для чтения defauItGatewaystring IP-адрес маршрутизатора (шлюза), который обслуживает другие сети. Ограничения: Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка: чтение-запись dnsstring IP-адрес сервера службы доменных наименований для разрешения IP адресов.U Огваниченид; Поставщик: необязательная поддержка: изменяемый. Потребитель: необязательная поддержка: чтение-запись protocolstring Выбранный сетевой протокол, например IPv4 или IPv6. Поставщик: обязательная поддержка: изменяемый. Потребитель: обязательная поддержка: чтение-запись maskstring Сетевая маска, связанная с данным Address. Ограничения: Поставщик: необязательная поддержка; изменяемый. Потребитель: необязательная поддержка: чтение-запись networkref Ссылка на Network, с которой связан данный Address. Ограничения: Поставщик: обязательная поддержка: изменяемый. Потребитель: обязательная поддержка: чтение-запись При реализации или использовании AddressTemplate Поставщики и Потребители должны исполь­ зовать синтаксис и семантику его атрибутов согласно таблице 44. а также таблицам, описывающим встроенные Ресурсы или связанные Наборы. Потребитель и Поставщик должны сериализовать данный Ресурс в соответствии со следующим описанием. Сериализацию Ресурса в JSON и в XML (см. 1.3) представляют следующим образом: Тип медиа JSON: application/json Сериализация JSON: { "resourceURI": "http://schemas.dmtf.orgycimi/1/AddressTemplate", 'id". string. ■name”: string. ? •description": string. ?'created*: string. ? 'updated*: string. ? ■properties”: { string: string. -*-},? *ip": string. 'hostname": string. ? 'allocation": string.'defauItGateway*: string. ? *dns": ( string. * ) . ? "protocol”: string, ’ mask": string, ? 'network”: { "href” : string}, "operations": [ { "reP: "edit*, "h re f: string}. ? { "rel": "delete", "h re f: string} ? ] ? } 132
ГОСТ Р ИСО/МЭК 19831—2017 Тип медиа XML: application/xml Сериализация XML: xs:anyL/f?/ xs.sfr/ng«/name» ? «description>xs.\str/ng«/description> ? «created»xs.d3fo7Vme«/created> ? xs.dafoT/me ? «property key="xs:stnng’ >xs:stnng * xs:s/mg «hostname»xs:slr/ng«/hostname> ? xs:sfn'ng «defaultGateway»xs.s/rmg«/defaultGateway» «dns»xs:sfnng ♦ «protocol»xs:s/wjg«/protocol> < mask >xs:string mask> «network href ="xs:anyURn>«operation rel="edit* href="xs:anyURn> ? «operation rel=’ delete" href='xs:ar>yURn> ?>‘ «/AddressTemplate> 5.16.15.1 Операции Данный Ресурс поддерживает операции Read. Update и Delete. Операция Create поддерживается через Ресурс AddressTemplateCollection. 5.16.16 Ресурс AddressTemplateCollection Ресурс AddressTemplateCollection представляет собой Набор Ресурсов AddressTemplate Постав­ щика и соответствует спецификации Набора, приведенной в 5.5.12. Данный Ресурс должен быть сери­ ализован следующим образом: Сериализация JSON: { "resourceURI"."http://schemas.dmtf.Org/cimi/1/AddressTemplateCollection*."id*: string."count": number."addressTemplates": [ { ’ resourceURI": "http://schemas.dmtf.Org/cimi/1/AddrossTemplatG", "id": string, ... остальные атрибуты AddressTemplate...)■*]•? "operations': [ { "геГ. "add*, "h re f: string} ? ] ГСериализация XML: «Collection resourceURI=’ http://schemas.dmtf.org/cimi/1/AddressTemplateCollection" xmlns=’ http://schemas.dmtf.org/cimi/r> «id»xs.anyl/R/«/id> «count»xs./nfeger«/count> «AddressTemplate» xs.anyt/R/«/id> ... остальные атрибуты AddressTemplate...«/AddressTemplate» * «operation rel=’ add" href="xs:anyL/R/7» ? «xs.any»* «/Collection» 133
ГОСТ Р ИСО/МЭК 19831—2017 5.16.16.1 Операции Данный Ресурс поддерживает операции Read и Update. Создание новых Ресурсов AddressTem- plate поддерживается путем отправки запроса POST к URI "addLink" в соответствии с 4.2.1.1. 5.16.17 Ресурс ForwardingG roup ForwardingGroup представляет собой совокупность Ресурсов Network, между которыми настроена маршрутизация. Все сети в ForwardingGroup должны иметь одинаковые атрибуты 'networkType*, чтобы предот­ вратить утечку данных для сетей с ограниченным доступом, если они будут в одной группе Forwarding­ Group с общедоступными сетями. Поставщики не должны позволять маршрутизацию между двумя экземплярами Network, если они не соединены явным образом, будучи частью общей ForwardingGroup. Атрибуты ForwardingGroup при­ ведены в таблице 45. Т а б л и ц а 45 — Атрибуты ForwardingGroup Н а и м е н о в а н и е F o r w a r d in g G r o u p Т и п U RI h ttp ^ / s c h e m a s .d m tf.o rg i'cim iiT ^ F o r w a r d in g G r o u p А т р и б у т Т и п О п и с а н и е networkscollection 1Forwarding Ссылка на перечень ссылок на Network в данной ForwardingGroup.Group Network] Ограничения: Поставщик: обязательная поддержка: изменяемый. Потребитель: обязательная поддержка; только для чтения При реализации или использовании ForwardingGroup Поставщики и Потребители должны исполь­ зовать синтаксис и семантику его атрибутов согласно таблице 45. а также таблицам, описывающим встроенные Ресурсы или связанные Наборы. Сериализацию Ресурса в JSON и в XML (см. 1.3) пред­ ставляют следующим образом: Тип медиа JSON: application/json Сериализация JSON: { "resourceURP: ’ http://schemas.dmtf.Org/cimi/1/ForwardingGroup". 'id": string. 'name": string. ? 'description", string, ? 'created': string. ? 'updated": string. ? ■properties’ : { string-, string. + }, ? 'networks': ( { "h re f: strin g ), + ].? ’ operations": [ { ”rel’ : ’ edit', "h re f: string}, ? { "reP: ’ delete", "h re f: string} ? ] ? } Тип медиа XML: application/xml Сериализация XML: «ForwardingGroup xmlns="http://schemas.dmtf.org/cimi/1"><\d>xs:anyURI«name>xs.s/wig«/name> ? xs.s/w7g«/description> ? xs.date77me«/created> ? xs;r/afe77me«/updated> ? «property key=’ xs:s//7ng">xs:sm'ng«/property> * «network href=*xs:anyL/Rr> * 134
ГОСТ Р ИСО/МЭК 19831—2017 o p e ra tio n rel=’ edit’ href="xs:anyURI7> ? «operation rel="delete” href=’ xs:anyURI7> ?>* «/ForwardingGroup» 5.16.17.1 Наборы Следующие подпункты описывают Наборы Ресурсов, принадлежащие ForwardingGroups. 5.16.17.1.1 Набор ForwardingGroupNetworkCollection Типом ресурса для каждого элемента этого Набора является ForwardingGroupNetwork, приведен­ ный в таблице 46. Т а б л и ц а 46 — Атрибуты ForwardingGroupNetwork Наименование ForwardingGroupNetwork Тип URIhttp://schemas dmtf.orgJcimi>1SForwardingGroupNctwork Атрибут Тип Описание networkref Ссылка на Network в ForwardingGroup. Огдашпениа: Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка; чтение-запись Сериализация JSON: { "resourceURI":"http://schemas.drntf.Org/cimi/1/ForwardingGroupNetworkCollection", “id’ : string, "count", number, “forwardingGroupNetworks". [ { "resourceURI":"http://schemas.dmtf.Org/cimi/1/Forv/ardingGroupNetwork", "id": string. "name": string. ? "description": string. ? "created": string. ? "updated": string, ? "properties": { string: string. + }. ? "network": { "h re f: string}, "operations': [ { "reP: "edit", "h re f: string}. ? { "reP: "delete", "h re f: string} ? 1? }.+ ” ].? "operations": [ { "ref. "add", "href, string} ? ] } Сериализация XML: «Collection resourceURI="http://schemas.dmtf.org/cimi/1/ForwardingGroupNetworkCollection" xmlns='http;//schemas.dmtf.org/cimi/r> «id>xs.anyL/R/«/id> xs;/nfeger«/count> «ForwardingGroupNetwork» «id>xs:anyL/R/«/id> «name>xs:str/ng«/name> ? 135
ГОСТ Р ИСО/МЭК 19831—2017 xs.smng«/descnption> ?xs:dateTime ? xs:da/e77me«/updated> ? «property key="xs.s/wig"»xs:sfn'ng=mxs:anyURI"l>
? «operation rel-'delete" hrei-'xs:anyURf'f> ?>* «/ForwardingGroupNetwork» * «operation r e l- ’add" brei-'xs:anyU R n> ?>* «/Collection» 5.16.17.2 Операции Данный Ресурс поддерживает Операции Read, Update и Delete. Операция Create поддерживается через Ресурс ForwardingGroupCollection. 5.16.18 Ресурс Forw ardingG roupC ollection Ресурс ForwardingGroupCollection представляет собой Набор Ресурсов ForwardingGroup Постав­ щика и соответствует спецификации Набора, приведенной в 5.5.12. Данный Ресурс должен быть сери­ ализован следующим образом: Сериализация JSON: { “resourceURI*: •http://schemas.dmtf.Org/cimi/1/ForwardingGroupCollection". *id". string. *соипГ: number, 'forward ingGroups*: [ { "resourceURI*: "http://schemas.dmtf.Org/ami/1/ForwardingGroup", "id": string, ... остальные атрибуты ForwardingGroup... >.♦ ].? *operationsf: [ { "rel": "add", "href*: strin g ) ? ] ) Сериализация XML: «Collection resourceURI="http://schemas.dmtf.org/cimi/1/ForwardingGroupCollection" xmlns="http://schemas.dmtf.org/cimi/1"»<\d>xs:anyURlxs:mfeger«/count> «ForwardingGroup» остальные атрибуты ForwardingGroup...«/ForwardingGroup» * «operation rel="add" href~'xs:anyURr/> ? «xs.any»* «/Collection» 5.16.18.1 Операции П р и м е ч а н и е — Операция "add’ требует использования Forv/ardirvgGroupTemplate (см. 4.2.1.1). 5.16.19 Ресурс ForwardingGroupTemplate Данный Ресурс содержит конфигурационные параметры для создания Ресурсов ForwardingGroup. Один экземпляр ForwardingGroupTemplate может использоваться для создания нескольких экземпля­ ров ForwardingGroups. Атрибуты ForwardingGroupTemplate приведены в таблице 47. 136
ГОСТ Р ИСО/МЭК 19831—2017 Т а б л и ц а 47 — Атрибуты ForwardmgGroupTemplate Н а и м е н о в а н и е F o r w a r a in g G r o u p T e m p la t c Т и п U R I M !p :/ / s c h e m a s .< J m tlo rg i‘cim i.1ir F o r w a r a in g G f o u p T e m p la le А т р и б у т Т и п О п и с а н и е networksгвЦ] Массив ссылок на Network в данной группе ForwardingGroup. Название единицы массива: сеть Ограничения: Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка; чтение-запись При реализации или использовании ForwardingGroupTemplate Поставщики и Потребители должны использовать синтаксис и семантику его атрибутов согласно таблице 47, а также таблицам, описыва­ ющим встроенные Ресурсы или связанные Наборы. Потребитель и Поставщик должны сериализовать данный Ресурс в соответствии со следующим описанием. Сериализацию Ресурса в JSON и в XML (см. 1.3) представляют следующим образом: Тип медиа JSON: application/json Сериализация JSON: { "resourceURI":"http://schemas.dmtf.Org/cimi/1/Forv/ardingGroupTemplate", "id": string,"name": string, ? "description": string. ? "created": string, ? "updated": string, ? "properties”: { string: string. + }, ? "networks": ( { "href": string}, + ]•? "operations": [ { "rel". "edit", "href": string}, ? { "rel": "delete", "h re f: string} ? ] ? } Тип медиа XML: application/xml Сериализация XML: «ForwardingGroupTemplate xmlns="http://schemas.dmtf.org/dmi/1 ’ > xs:anyl/R/ xs.s/i7ng ? «description>xs:sf//ng«/description> ? >xs:daie
7/me
? xs.dafe7/me ? < property key="xs.sfnng">xs.sfring * «network href="xs:anyL//?r> * «operation rel="edit" href="xs.anyl/R/7> ? «operation rel=”delete" href='xs:anyURH> ?* 5.16.19.1 Операции Данный Ресурс поддерживает Операции Read. Update и Delete. Операция Create поддерживается через Ресурс ForwardingGroupTemplateCollection. 137
ГОСТ Р ИСО/МЭК 19831—2017 5.16.20 Ресурс ForwardingGroupTomplatoCollection Ресурс ForwardingGroupTemplateCollection представляет собой Набор Ресурсов ForwardingGroup- Template Поставщика и соответствует спецификации Набора, приведенной в 5.5.12. Данный Ресурс должен быть сериализован следующим образом: Сориализация JSON: { "resourceURI*: "http://schemas.dmtf.Org/cimi/1/ForwardingGroupTemplateCollection", "id”: string, "count*: number, "forwardingGroupTemptates": [ { "resourceURI": "http://schemas.dmtf.Org/cimi/1/ForwardingGroupTemplate". "id": string,... остальные атрибуты ForwardingGroupTemplate... }.♦ ].? "operations": [ { "rel": "add", "h re f: string) ? ] ГСориализация XML: «Collection resourceURI=“http://schemas.dmtf.org/cimi/1/ForwardingGroupTemplateCollection" xmlns="http://schemas.dmtf.org/cimi/r> xs;anyl//?/«/id> xs.wfog6ir <\6>xs:anyURI ... остальные атрибуты ForwardingGroupTemplatc... * «operation rel="add” href- nxs:anyURri> ?>* «/Collection» 5.16.20.1 Операции Данный Ресурс поддерживает операции Read и Update. Создание новых Ресурсов Forwarding- GroupTemplate поддерживается путем отправки запроса POST к URI операции «add»e соответствии с 4.2.1.1. 5.17 Ресурсы мониторинга и отношения Ресурсы, используемые при отслеживании выполнения операций, а также при измерении и мо­ ниторинге состояния других Ресурсов, приведены на рисунке 6. который представлен в виде схемы от­ ношений Ресурсов, при этом использование UML не является обязательным требованием. 5.17.1 Ресурс Job Данный Ресурс представляет собой процесс (т. е. последовательность одной или нескольких опе­ раций. направленных на достижение определенной цели), который выполняется Поставщиком. Если Поставщик поддерживает предоставление Ресурсов Job Потребителям, то каждый запрос от Потребителя, который вызывает изменения в окружении, может привести к созданию Ресурса Job; в этом случае Потребителям, инициировавшим запросы, должна быть доступна абсолютная ссылка URI к созданному Ресурсу Job. Поставщики могут создать дополнительные Ресурсы Job для операций, инициируемых Поставщиками, если Поставщик предоставляет Ресурсы Job Потребителям. Если задание Job завершено неуспешно (например, находится в состоянии FAILED или STOPPED), в настоящем стандарте не установлены какие-либо требования к Поставщику, обеспечивающие гаран­ тированное сохранение задействованных Ресурсов в определенных состояниях. На основании внеш­ них условий в этот момент времени Поставщик может принять решение отменить эффекты операции; приостановить процесс; провести некоторые действия по очистке: либо предпринять какие-либо другие действия. Однако Поставщики должны перечислить все Ресурсы, на которые повлияло выполнение за­ дания Job в атрибуте "affectedResources', таким образом давая Потребителям возможность определить состояние Ресурсов самостоятельно. В случае, когда Ресурс удален, ссылки на такой Ресурс не должны появляться в атрибуте «affectedResources». 138
ГОСТ Р ИСО/МЭК 19831—2017 I v c n t l n g T c m p l a t e E v c n t L o g Event ‘ 1Щ1] string '•d [1 J : s tr in g ♦ Id]!]: s tr in g *ld[1): string •n am o [0..lj: string • n a m o ]0 ..t) : s trin g • n a m e ] ! ) .!] : s trin g • namefO..!]: string *descrip;ion[0..1): string • d e s c r ip t io n ] ! ) - ! ] : s tr in g • d e s c r ip tio n ]!)..!]: s irin g • description]!)..!): string •ciedledlO .-l]: dotoTimo • c r e a te d ] !)..! ]: d a te T im e • c r e a t e d ] ! ) - 1]: d a te T im e •cre a te d ]0 -t]: date lim e *updolcil{0..1]: dateTime * u p d a te d ]!)..! |: d a te T im e • u p d a te d ] ! ) ..! } d a te T im e •updated]))..!). dnteTimc •properties]!)..*]; property •p ro p ertiesJ O ..*]: p r o p e r ty •p r o p e r tie s ]!). *): p r o p e r ty • properties]!).*} property *targetResotirce[1)r ref • t a i g e t R e s o u r c e ] ! ] : r e f • t e r g e t R e s o u r c e [ 1 ] : r e f 0..* • timestamp] 1 ) date 1 ime UHI * e v e n ts ( 0 _ 1 ]: c o lle c tio n •e v e n ts { 0 ..1 ): c o lle c t io n •typo[1]: string *u n its {lj: string • p e r s i s t e n c e ] ! ]: s trin g • p e r s is t e n c e ] ! ] : s tr in g ♦content]0..1): any ♦sam plelnteival[l]: integer * s u m m a ry [0 ..1 ] : s tr u c tu r e • nntcomefO-.t]: string ♦timeScopeJI): string • severityJO..!]: string ♦intorvalDuraction[1J: duration •co nta ct|0 ..1 } string •i%Conlinuous|1]: boolean •somplcs|0..1]: collection ♦rninValue]0..1]: string J o b »m»cValun|0..1J. string rd ]!£ string ♦9topr«ne|0..1J: dateTime *neme]U_1j: string ♦ expir«sTime|P_ 1 ]: dateTime •description]!)..!]: string *created[0..1J: dateTime M e te r Conliquratkin •u pdated]!)-!]: dateTime id]1): string • properties]!),.*]: property name[0..1): string •s ta te ]!]: string description]!)..!): string •targctResourccJlfc ref M e te r I ernufc created]!)..!): dateTime • affectedResources(0..*]: ref id|1): string updated]!)..!]: dote Time ' action] 1]: URI ‘ name[0..1J: str«ng properties]!)..*]: property •returnC odo]!]: integer dcscripcion{0..1]: string asxociatedTi>(0..!]: URI 'p ro g re s s ]!]: Integer created[0..1]: dateTInie * aspect]! £ URI • stntusM cssage]!]: string •updated]!)..!]: date Time •u n its ]!]: string •tim eOfSiatueChange]!]: date Типе ♦ properties]!)..*]: property sam plclntcrval]!]: integer *isCanccflable[1]: baolcnn targKtResource[1): ref tin»cScopc]1]: string •porcntJob[0-1]: ref m ctcrC ontigf! ]:rc f intervriD uraction|1]: duration •nestedJobsp)..!]: ret isC ontinuou*]!]: boulean Рисунок 6 — Ресурсы мониторинга Ресурс Job допускает вложение Ресурсов Job. Настоящий стандарт не распространяется на опре­ деление преобразования единичной в несколько вложенных Ресурсов Job. Однако если существуют вложенные задания, то самый верхний ресурс Job должен предоставить общую информацию о со­ стоянии всех заданий и находиться в состоянии SUCCESS, только если все вложенные задания также находится в состоянии SUCCESS. Если созданы вложенные Ресурсы Job. для самого верхнего Ресурса Job не требуется ссылаться на все затронутые Ресурсы в ого атрибуте "affectedResources". Потреби­ тель должен проверить все вложенные ресурсы Job. чтобы определить полный перечень Ресурсов, на которые повлияли задания. Атрибуты Job приведены в таблице 48. Т а б л и ц а 4 8 — Атрибуты Job Наименование Job Тип URI http:Wschemas.dmtf.orgfcinWVJob Атрибуг Тип Описание stateSiring Состояние процесса, связанного с данной операцией. Допустимые значения включают в себя: QUEUED: Указывает, что операция еще не начала обрабатываться. RUNNING: Указывает, что операция все еще выполняется. FAILED: Указывает, что операция была завершена неуспешно. SUCCESS: Указывает, что операция завершена успешно. STOPPING: Указывает, что операция находится в процессе остановки. STOPPED: Указывает, что операция была прервана. Операции, приводящие к переходам к указанным состояниям, приведены в 5.17.1.1. 139
ГОСТ Р ИСО/МЭК 19831—2017Продолжение таблицы 48 А т р и б у » Тип О п и с а н и е slatestring Ограничения: Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка; только для чтения largetResourceref Ссылка на Ресурс верхнего уровня, с которым выполняется операция. Как правило этим Ресурсом является Ресурс, для которого была вызвана опе­ рация. П р и м е ч а н и е — Если задание "add* выполняется на Наборе (например, MachineCollection), атрибут targetResource должен ссылаться на Ресурс На­ бора. поскольку именно в этом Ресурсе выполняется данная операция. Кро­ ме того, созданный Ресурс должен появиться в атрибуте 'affectedResources". Ограничения: Поставщик: обязательная поддержка; неизменяемый. Потребитель: обязательная поддержка; только для чтения affectedResourcesrefl) Перечень ссылок на Ресурсы, на которые повлияло данное задание. П р и м е ч а н и е — Переченьв обязательном порядке должен содержать ссылку 'targetResource*. Наименование элемента массива: affectedResource Огданичения Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка: только для чтения actionURI URI, указывающий на тип выполняемой операции. Ограничения: Поставщик: обязательная поддержка; неизменяемый. Потребитель: обязательная продержка; только для чтения retumCodeinteger Код возврата операции. Конкретное значение, определенное для реализа­ ции. В настоящем стандарте зарезервированы для использования значения в диапазоне от 0 до 9999. Ограничения. Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка: только для чтения progress integer Целое число в диапазоне от 0 до 100, указывающее прогресс выполнения задания. Если задание больше не выполняется, то вне зависимости от результата зна­ чение должно быть равно 100. Ограничения: Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка; только для чтения statusMessagestring Строка, читаемая человеком, которая предоставляет информацию об опе­ рации и используется для того, чтобы затем квалифицировать или предоста­ вить дополнительную информацию о текущем статусе операции. Например данный атрибут может указать на причину того, почему операция была не­ успешной либо была отменена Потребителем или Поставщиком. Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка; только для чтения timeOfStatusChangedateJime Метка времени, определяющая момент времени, когда изменился статус операции. Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка; только для чтения 140
ГОСТ Р ИСО/МЭК 19831—2017Окончание таблицы 48 Атрибут Tun Описание parentJobref Ссылка на Ресурс Job. для которого данный Ресурс является подчиненным. Ограничения: Поставщик: обязательная поддержка: неизменяемый. Потребитель: обязательная поддержка; только для чтения nestedJobsref l] Массив ссылок на совокупность вложенных заданий. Наименование обьекта массива: nestedJob Ограничения: Поставщик: обязательная поддержка: изменяемый. Потребитель: обязательная поддержка: только для чтения При реализации или использовании Job Поставщики и Потребители должны использовать син­ таксис и семантику его атрибутов согласно таблице 48. а также таблицам, описывающим встроенные Ресурсы или связанные Наборы. Сериализацию Ресурса в JSON и в XML (см. 1.3) представляют сле­ дующим образом: Тип медиа JSON: application/json Сериализация JSON: { "resourceURI": "http://schemas.dmtf.org/cimi/1/JobM,"id": string."name*: string. ? "description": string. ? "created”: string. ? "updated": string. ? "properties": { string: string. + }, ? "state": string."targetResource": { ’ href’: string}. "affectedResources": ( { ' href: string}, + ), "action*: string."returnCode": number."progress", number."statusMessage": string."timeOfStatusChange": date."parentJob": { "h re f: string}, ? "nestedJobs*: ( { "h re f: string}. + ].? "operations’ : ( { *rel” : "edit", "href” : string}, ? { "rel": "delete*, 'h re f: string}. ? { ’ rel”: "http://schemas.dmtf.org/cimi/1/acbon/stop", "h re f: string} ? ]? } Тип медиа XML: application/xml Сериализация XML: xs.sfr)ng«/property> * xs:sfnng«/state> «targetResource href="xs:anyL/Rf/> 141
ГОСТ Р ИСО/МЭК 19831—2017 =mxs:anyURn>
♦ «action»xs.anyl//?/«/action > xs.7nteger«/returnCode> xs.7nfegerc progress» «statusMessage»xs.s//-/ng xs:dare77me«/timeOfStatusChange» ="xs:anyURH> ? hrei="xs:anyURn> * «operation rei=''edit" href=’ xs:anyl//?r/> ? «operation rel-'delete* h re f-’xs .a n y l/R f/» ? «operation r e l- 'http://schemas.dmtf.ofg/cimi/1/action/stop" href="xs:anyURH> ?>* «/Job> 5.17.1.1 Операции Ресурса Данный Ресурс поддерживает операции Read, Update и Delete. Удаление Ресурса Job в состоянии RUNNING должно быть эквивалентно остановке Job и последующему удалению. Ответом на запрос на удаление выполняющегося Ресурса Job, который не поддерживает действие ’ stop’ , должен быть отказ. Кроме этого определены следующие специальные операции: stop /link@ rel. http://schemas.dmtf.Org/cimi/1/action/stop Данная операция должна остановить задание Job. Параметры входа: Нет. Параметры выхода: Нет. Во время обработки этой операции Job должен быть в состоянии STOPPING. После успешного завершения этой операции Job должен быть в состоянии "STOPPED”. Протокол HTTP Чтобы остановить Job, необходимо отправить запрос POST к URI "http://schemas.dmtf.Org/cimi/1/ action/stop’ Ресурса Job, где запрос HTTP должен быть следующим. Тип модиа JSON: application/json Сериализация JSON: { "resourceURI*: ’ http://schemas.dmtf.0rg/dm i/l/Acti0n’ , ■action": "http://schemas.dmtf.Org/cimi/1/action/stop", ■properties’ : { string-, string. + } ? } Тип медиа XML: application/xml Сериализация XML «Action xmlns=*http://schemas.dmtf.org/cimi/r»«action» http://schemas.dmtf.Org/cimi/1/acton/stop «/action» «property key=*xs:string"» xs:string «/property» * * «/Action» После успешной обработки запроса текст ответа HTTP может быть пустым. 5.17.2 Ресурс JobC ollection Ресурс JobCollection представляет собой Набор Ресурсов Job Поставщика и соответствует спе­ цификации Набора, приведенной в 5.5.12. Данный Ресурс должен быть сериализован следующим об­ разом: Сериализация JSON: { "resourceURI*: ’ http://schemas.dmtf.0rg/c1m i/l/J0bC0llecti0n ', *id": string. "count*: integer. ■jobs": [ { "resourceURI*: ’ http://schemas.dmtf.0rg/am i/l/J0b’ . *id": string. 1 4 2
ГОСТ Р ИСО/МЭК 19831—2017 ... остальные атрибуты Job... Ь + ] ? } Сериализация XML: «Collection resourcellRI="httpJ/schemas.dmtf.org/cimi/1/JobCollectjon" xmlns=’ http://schemas.dmtf.org/cimi/r> xs:anyt/R/«/id>xs:integer nt> xs:anyl/R/ ... остальные атрибуты Job... *>* «/Collection» 5.17.3 Ресурс Meter Данный Ресурс представляет доступ к некоторому измеримому свойству, связанному с заданным Ресурсом. Если Ресурс, на который ссылается «targetResource» Ресурса Meter, удален, то все Ресурсы Meter, связанные с этим Ресурсом, также должны быть удалены. Другими словами, удаление набора MetersCollection, определенного для Ресурса (например. MetersCollection Ресурса Machine), также должно привести к удалению всех Ресурсов Meter, на которые ссылается этот Набор. Атрибуты Meter приведены в таблице 49. Т а б л и ц а 49 — Атрибуты Meter Наименование Meter Т и п U R I http:Mschemas.dmtf.orgfcimtfl.1 Meter Атрибут Тип Описание targetResourceref Ссылка на Ресурс, с которым связан Meter. Ограничения: Поставщик: обязательная поддержка; неизменяемый. Потребитель: обязательная поддержка; только для чтения aspectURI Уникальный идентификатор, представляющий аспект измеряемого Ресурса. Ограничения; aspectURI Поставщик: обязательная поддержка; неизменяемый. Потребитель: обязательная поддержка; только для чтения unitssiring Наименование используемых единиц измерения, например килобиты в се­ кунду. процент использования ЦП и т.д. Ограничения; Поставщик: обязательная поддержка; неизменяемый. Потребитель: обязательная поддержка; только для чтения samplelntervalinteger Время между последовательными измерениями в секундах. Ограничения: Поставщик: обязательная поддержка; изменяемый Потребитель: обязательная поддержка; чтение-запись timeScopesiring Временной аспект применения данного Ресурса Meter. Имеются два возможных значения: "Point" указывает, что Meter относится к моменту времени. "Interval' — что Meter относится к временному интервалу. Например можно определить Ресурс Meter, цель которого заключается в том, чтобы предоставить среднее использование ЦПУ за день. Ограничения; Поставщик: обязательная поддержка; неизменяемый. Потребитель: обязательная поддержка: только для чтения 143
ГОСТ Р ИСО/МЭК 19831—2017Окончание таблицы 49 А т р и б у т Тип О п и с а н и е intervalDurationduration Продолжительность интервала в случае, когда timeScope установлен равным «Interval». Возможные значения, hourly, daily, weekly, monthly, yearly. Поставщик: обязательная поддержка; неизменяемый. Потребитель: обязательная поддержка; только для чтения isContinuousboolean Данное значение указывает, является ли показатель PecypcaMeter непрерыв­ ным или скалярным. PerformanceMeter служит примером линейной метрики. Ограничения: Поставщик: обязательная поддержка; неизменяемый. Потребитель: обязательная поддержка: только для чтения samplescollection Ссыпка на перечень измерений.lSample] Ограничения: Поставщик: обязательная поддержка: изменяемый. Потребитель: обязательная поддержка: только для чтения minValuestring Ожидаемое минимальное значение показателя. Ограничения: Поставщик: обязательная поддержка: неизменяемый. Потребитель: обязательная поддержка: только для чтения maxValuestring Ожидаемое максимальное значение показателя. Ограничения: Поставщик: обязательная поддержка; неизменяемый. Потребитель: обязательная поддержка: только для чтения stopTimedateTime Момент времени, с которого Ресурс Meter прекращает проводить измерения. Ограничения: Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка: чтение-запись expiresTimedateTime Момент времени, с которого Ресурс Meter больше не опрашивается. Что озна­ чает удаление Ресурса Meter по окончании этого момента времени. Примечание — Meter может быть удален до этого времени, если удален из­ меряемый Ресурс. Поставщик: обязательная поддержка: изменяемый. Потребитель: обязательная поддержка: чтение-запись При реализации или использовании Ресурса Meter Поставщики и Потребители должны использо­ вать синтаксис и семантику его атрибутов согласно таблице 49. а также таблицам, описывающим встро­ енные Ресурсы или связанные Наборы. Сериализацию Ресурса в JSON и в XML (см. 1.3) представляют следующим образом; Тип медиа JSON: application/json Сериализация JSON: { "resourceURI*: 'httpV/schemas.dmtf.org/cimi/l/Meter". ■id"; string, 'name"; string, ? ’ description"; string, ? ’ created": string, ? 'updated*; string. ? ■properties’ ; { string: string, + }. ? *targetResource"; { "h re f: string), ■aspect"; string,'units’ : string. 144
ГОСТ Р ИСО/МЭК 19831—2017 "samplelnterval": number. "timeScope*: string. "intervalDuration": string. "isContinuous": boolean. "samples": { "h re f: strin g }. ? "minValue”: string. ? "maxValue": string. ? "stopTime": string, ? "expiresTime”: string. ? "operations": [ { "rel". "edit", "h re f: string}. ? { "rel": "delete*, 'h re f: string }. ? { "rel". "httpJ/schemas.dmtf.org/cimi/1/action/start". "href": string }.? { "rel": "httpJ/schemas.dmtf.org/cimi/1/action/stop". "h re f: string} ? ] ? } Тип медиа XML: application/xml Сериализация XML: xs:anyl/R/ xs:sfr/ng ? xs:sfring
? xs:dafo77me«/created> ? xs:dafo7/me ? < property key="xs;sfn7ig*>xs.sfring«/property> * anyURf'f> «aspect>xs:anyUR/«/aspect>xs:stringxs./r)feger xs:sfw>g «intervalDuration xs.f/orafor?«/intervalDuration> «isContinuous>xs:boo/ean«/isContinuous> «samples href=wxs:anyURn> ? xs.s/r/ng ? xs:sf/7ng ? «stopTime>xs.dafe77m©«/stopTime> ? xs.dafeT/me ? «operation rel='edit* href="xs:anyURn> ? «operation rel=’ delete” href=*xs:anyURI"/> ? «operation rel=’ http://schemas.dmtf.org7cimi/1/action/start" href=’ xs:anyURI"/> ? «operation rel="http://schemas.dmtf.org/cimi/1/action/stop" href=*xs:anyURI"/> ? «xs:any>* «/Meter> 5.17.3.1 Наборы В настоящем подпункте приведены Наборы Ресурсов, принадлежащие Ресурсам Meter. 5.17.3.1.1 Ресурс SampleCollection Типом ресурса для каждого элемента этого Набора является Sample, приведенный в таблице 50. 145
ГОСТ Р ИСО/МЭК 19831—2017 Т а б л и ц а 50 — Атрибуты Sample Н а и м е н о в а н и е Sample Т и п U RIhttp://schenias.dmtf.orgfcimb‘1JSample А т р и б у т Тип О п и с а н и е timestampdateTime Указывает на временной интервал, когда был измерен показатель tinre Scope = ’ Point". Если timeScope —"Interval", он указывает на момпент окончания временного интер­ вала. Поставщик: обязательная поддержка; неизменяемый. Потребитель: обязательная поддержка; только для чтения valuesiring Обозначает измеренное значение показателя. Ограничения: Поставщик: обязательная поддержка: неизменяемый. Потребитель: обязательная поддержка; только для чтения При реализации или использовании Sample Поставщики и Потребители должны использовать синтаксис и семантику его атрибутов согласно таблице 50. а также таблицам, описывающим встроен­ ные Ресурсы или связанные Наборы. Сериализацию Набора Sample как в JSON. так и в XML представ­ ляют следующим образом: Сериализация JSON: { "resourceURI": ’ http://schemas.dmtf.Org/ami/1/SampleCollection", "id", string."count": number. "samples’ : [ { "resourceURI": ’ http://schemas.dmtf.Org/cimi/1/Sample". "id": string."name": string. ? ’ description": string, ? 'created*: string. ? "updated": string, ? ■properties’ : { string: string. ♦ } , ? timestamp": string, "value": string >.♦ ].? } Сериализация XML: «Collection resourceURI-'http ://schemas.dmtf.org/cimi/1/SampleCollection" xmlns="http://schemas.dmtf.org/cimi/r> xs.anyt/R/«/id> xs.7nfeger xs.anyL/R/«/id> xs:s/w?g ? xs.sfrwg«/description> ? xs.c/ateT/me«/created> ? xs:dafe 77me ? «property key="xs:string">xs:string«/property> * «sample timestamp="xs:dateTime’ value=’ xs:string"/>>* «/Sample» * 146
ГОСТ Р ИСО/МЭК 19831—2017>* 5.17.3.2 Операции Данный Ресурс поддерживает операции Read. Update и Delete. Операция Create поддерживается через Ресурс MeterCollection. Удапение Ресурса Meter должно приводить к исключению из атрибута Meter атрибута targetResource. Кроме того, определены следующие специальные операции: start /link@ rol: http://schemas.dmtf.Org/cimi/1/action/start Эта операция должна запускать Meter. Параметры входа: Нет. Параметры выхода: Нет. После успешного завершения этой операции Meter должен начать записывать измерения показа­ теля. связанного с его целевым Ресурсом. Протокол HTTP Для запуска Meter необходимо отправить запрос POST к URI "http://schemas.dmtf.0rg/cimi/1 /action/ start" Ресурса Meter, где запрос HTTP должен быть следующим. Тип медиа JSON:applicatioa'json Сериализация JSON: { "resourceURI": "http://schemas.dmtf.Org/cimi/1/Action'',"action’ : "http://schemas.dmtf.Org/cimi/1/action/start","properties": { string: string. + } ? } Тип медиа XML: application/xml Сериализация XML xs:string * * «/Action» После успешной обработки запроса текст ответа HTTP может быть пустым, stop /llnk@ rel: http://schemas.dmtf.0rg/cimi/l/action/stop Эта операция должна останавливать Meter. Параметры входа: Нет. Параметры выхода: Нет. После успешного завершения этой операции Ресурс Meter не записывает измерения показателя, связанного с его целевым Ресурсом. Протокол HTTP Для остановки Ресурса Meter необходимо отправить запрос POST к URI "http://schemas.dmtf.org/ cimi/1/action/stop’ Ресурса Meter, где запрос HTTP должен быть следующим. Тип медиа JSON: application/json Сериализация JSON: { "resourceURI". "http://schemas.dmtf.Org/cimi/1/Action", "action’ : "http://schemas.dmtf.Org/ami/1/action/stop", "properties": { string: string. + } ? } Тип медиа XML: applicatiorv/xml Сериализация XML «Action xmlns="http://schemas.dmtf.org/cimi/1"> «action> http://schemas.dmtf.0rg/cimi/1 /action/stop «/action» «property key-'xs:string’ > xs:string «/property» * «xs:any>* «/Action» 147
ГОСТ Р ИСО/МЭК 19831—2017 После успешной обработки запроса текст ответа HTTP может быть пустым. 5.17.4 Ресурс MeterCollection Ресурс MeterCollection представляет собой Набор Ресурсов Meter Поставщика и соответствует спецификации Набора, приведенной в 5.5.12. Данный Ресурс должен быть сериализован следующим образом: Сериализация JSON: { "resourceURI": "http://schemas.dmtf.org/cimi/1/MeterCollectionn. "id": string, "count*: number,"meters": [ { "resourceURP: "http://schemas.dmtf.org/cimi/1/Meter", 'id": string. ... остальные атрибуты Meter... }.♦ 1,? "operations": ( { "rel": "add", "h re f: string} ? ] } Сериализация XML: «Collection resourceURI="http://schemas.dmtf.org/cimi/1/MeterCollection" xmlns="http://schemas.dmtf.org/cimi/1”><\6>xs:anyURlxs.7nteger«/count> xs.anyL/R/«/id> ... остальные атрибуты Meter...«/Meter» * «operation r e l- ’add’ href-'xs:anyU Rr/> ?>* «/Collection» 5.17.4.1 Операции П р и м е ч а н и е — Операция "add* требует использования MeterTemplate (см. 4.2.1.1). Если Ресурсы Meter создаются через операцию "add” глобального набора MeterCollection (при­ надлежащего Точке входа в облако), они также должны автоматически добавляться к Набору Meters соответствующего targetResource. 5.17.5 Ресурс MeterTemplate Ресурс MeterTemplate представляет информацию, необходимую для создания нового экземпляра Meter. Атрибуты MeterTemplate приведены в таблице 51. Т а б л и ц а 51 — Атрибуты MeterTemplate Н а и м е н о в а н и е M e te r T e m p la te Тип U R I h ttp :tfs c h e m a s .d m tf.o r g / c im \SU'M e te r T e m p la te А т р и б у т Тип О п и с а н и е targetResourceret Ссылка на измеряемый Ресурс. Тип Ресурса должен быть одним из типов ’ assoctatedTo". перечисленных в MeterConfiguration, на который ссылается данный шаблон. Если данный Шаблон используется для создания нового экземпляра Meter через гло­ бальный Набор MetersCollection (принадлежащий Точке входа в облако), то данный атрибут должен присутствовать. Если данный Шаблон используется для создания нового экземпляра Meter через MetersCollection целевого Ресурса, данный атрибут должен отсутствовать или иметь такое же значение, что и "id" Ресурса, к которому добавляется создаваемый экземпляр Meter. Ограниченна; Поставщик: обязательная поддержха; изменяемый. Потребитель: обязательная поддержка: чтение-запись 148
ГОСТ Р ИСО/МЭК 19831—2017Окончание таблицы 51 А т р и б у т Тип О п и с а н и е meterConfigret Ссылка на MeterConfiguration. который используется для создания Meter от данного MeterTemplate. П р и м е ч а н и е — Могут определяться атрибуты MeterConfiguration, а не ссылка на существующий Ресурс MeterConfiguration. Ограничения: Поставщик: обязательная поддержка: изменяемый. Потребитель: обязательная поддержка: чтение-запись При реализации или использовании MeterTemplate Поставщики и Потребители должны использо­ вать синтаксис и семантику его атрибутов согласно таблице 51. а также таблицам, описывающим встро­ енные Ресурсы или связанные Наборы. Сериализацию Ресурса в JSON и в XML (см. 1.3) представляют следующим образом: Тип медиа JSON: applicatiorVjson Сериализация JSON: { "resourceURI": "httpJ/schemas.dmtf.ofg/cimi/l/MeterTemplate". "id*: string,"name": string. ? "description": string, ? "created", string, ? "updated”, string, ? "properties": { string: string. + }, ? “targetResource": { stnng}. "meterConfig*: { "href, string |... MoterConfiguration... }• "operations": ( { ’ re f: "edit", "href': string }, ? { ’ ret": "delete*. *h re f: string} ? ] ? } Тип медиа XML: application/xml Сериализация XML: «id>xs.anyl//?/«/id> xs:s&7ngr ? xs:sfnng ? «created >xs:daf0T/me«/created> ? xs.dafe7/me ? < property key="xs:sfnng*>xs:sfn'ng * hrei="xs:anyURr/>
«meterConfig href- ’ xs:anyURH>... MoterConfiguration... ? «operation rel="edit* href="xs:anyURff> ? «operation rel=’ delete" href="xs:anyURn> ?* «/MeterTemplate> 5.17.6 Ресурс MeterTomplateCollection Ресурс MeterTomplateCollection представляет собой Набор Ресурсов MeterTemplate Поставщика и соответствует спецификации Набора, приведенный в 5.5.12. Данный Ресурс должен быть сериализо­ ван следующим образом: 149
ГОСТ Р ИСО/МЭК 19831—2017 Сериализация JSON: { "resourceURI*: "http://schemas.dmtf.Org/cimi/1/MeterTemplateCollectiorT, ’ id": string,’ count*: number, ’ meterTemplates’ : [ { "resourceURI*: ’ http://schemas.dmtf.0rg/c1mi/l/MeterTemplate*, *id": string, ... остальные атрибуты MeterTemplate... } . ♦ ].? ’ operations": ( { ’ rel’ : "add", ТиеГ: strin g } ? ] } Сериализация XML: «Collection resourceURI-'http://schemas.dmtf.0rg/cimi/l/MeterTemplateCollection* xmlns=nhttp://schemas.dmtf.org/cimi/T’> < id >xs:anyURIxs./nfeger < id >xs:anyURI ... остальные атрибуты MeterTemplate... * «operation rel="add* bret="xs:anyURn> ?' «/Collection» 5.17.6.1 Операции Данный Ресурс поддерживает операции Read и Update. Создание новых Ресурсов MeterTemplate поддерживается с помощью запроса POST к URI операции "add" в соответствии с 4.2.1.1. 5.17.7 Ресурс M eterConfiguration Ресурс MeterConfiguration представляет определение Meter. Атрибуты MeterConfiguration приве­ дены в таблице 52. Т а б л и ц а 52 — Атрибуты MeterConfiguration Н а и м е н о в а н и е M e te r C o n fig u r a tio n Т и п U R I h Itp y V s c h e m a s d m tf.o rg .'cim if 1 fM o l e r C o n fig u r e lion А т р и б у т Т и п О п и с а н и е associatedToURI [) Массив вида URI. указывающий на типы Ресурсов, к которым может быть при­ менен Meter, созданный из этой конфигурации. Пространство значений этих URI идентично находящимся в ResourceMetadata.typeURI, который является URI. однозначно определяющим тип Ресурса. Ограничения: Поставщик: обязательная поддержка: изменяемый. Потребитель: обязательная поддержка; чтение-запись aspectURI Уникальный идентификатор, представляющий аспект измеряемого Ресурса (см. URI. приведенные в CIM. в таблице 53). Ограничения: Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка; чтение-запись unitsstring Наименование используемых единиц измерения, например, килобиты в секунду, процент использования ЦП и т.д. Поставщик: обязательная поддержка: изменяемый. Потребитель: обязательная поддержка; чтение-запись 150
ГОСТ Р ИСО/МЭК 19831—2017Окончание таблицы 52 Атрибут Тип Описание samplelntervalinteger Интервал времени между последовательными измерениями в секундах. Ограничения: Поставщик: обязательная поддержка: изменяемый. Потребитель: обязательная поддержка: чтение-запись timeScopestring Временной аспект применения создаваемого Ресурса Meter. Имеются два возможных значения: "Point' указывает, что Meter относится к мо­ менту времени. "Interval" — что Meter относится к временному интервалу. Напри­ мер. можно определить MeterConfiguration, цель которого заключается в опреде­ лении среднего использования ЦПУ за день. Поставщик: обязательная поддержка: изменяемый. Потребитель: обязательная поддержка; чтение-запись intervalDurationduration Продолжительность временного интервала в случае, когда timeScope установ­ лен равным ’ Interval". Возможные значения: hourly, daily, weekly, monthly, yearly. Ограничения: Поставщик: обязательная поддержка: изменяемый. Потребитель: обязательная поддержка: чтение-запись isContinuousboolean Данное значение указывает, является ли показатель Meter непрерывным или скалярным. PerformanceMeter служит примером линейной метрики. Ограничения; Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка: чтение-запись Сериализацию Ресурса в JSON и в XML представляют следующим образом Тип медиа JSON: applicatiortfjson Сериализация JSON: { "resourceURI": "httpJ/schemas.dmtf.org/cimi/l/MeterConfiguration". "id*: string. "name": string. ? "description": string. ? "created": string, ? "updated", string. ? "properties": { string: string. + }. ? "associatedTo": [ { "h re f: string }, + ].? "aspect": string. "units": string. "samplelnterval": number. "timeScope": string. "intervalDuration": string, "isContinuous”: boolean, "operations": [ { "rel”: "edit", "h re f: string}. ? { "rel": "delete", "href": string } ? ] ? } Тип медиа XML: application/xml сериализация XML: xs:anyURI xs:string ? 151
ГОСТ Р ИСО/МЭК 19831—2017 xs:string «/description» ? xs:dateTimo с/created> ? xs:dateTime ? «property key=*xs:string"> xs:string «/property» * «associatedTo href='xs:anyURI7» * «aspect» xs:anyURI «/aspect» «units» xs:string «/units» «samplelnterval» xs:integer «/samplelnterval» «timeScope» xs:string «/timeScope» «intervalDuration» xsiduration «/intervalDuration» «isContinuous» xs:boolean «/isContinuous» «operation rel="edit" href=’ xs:anyURI7» ? «operation rel-'delete* href="xs:anyURI7» ? ГОСТ Р ИСО/МЭК 19831—2017 Сериализация JSON: { "resourceURI": "httpJ/schemas.dmtf.org/cirTu/l/MeterConfigurationCollection", ”istring.
"count”: number."meterConfigurations": [ { "resourceURI". ”http://schemas.dmtf.ofg/cimi/1/MeterConfiguration", "id": string.... остальные атрибуты MeterConfiguration... >• + ].? "operations": [ { "rel": "add", "h re f, string} ? ) } Сериализация XML: «Collection resourceURI=’ http://schemas.dmtf.org/cimi/1/MeterConfigurationCollection" xmlns='http://schemas.dmtf.org/cimi/r> xs:anyL/R/«/id> «count>xs.7nteger«/count> xs:anyL/R/ ... остальные атрибуты MeterConfiguration...«/MeterConfiguration» * «operation rel=’ add" href="xs:anyl/R/7> ?>* «/Collection» 5.17.8.1 Операции Данный Ресурс поддерживает операции Read и Update. Создание нового Ресурса MeterConfigura­ tion поддерживается путем отправки запроса POST к URI операции “add’ B соответствии с 4.2.1.1. 5.17.9 Ресурс EvontLog Ресурс представляет реестр событий. Если Ресурс, на который указывает атрибут "targetResource" в EventLog, удален, то EventLog, свя­ занный с этим Ресурсом, также может быть удален. Другими словами, удаление Ресурса (например. Machine) может привести к удалению EventLog. на который имеется ссылка из этого Ресурса. Такое поведение определяется возможностью EventLog.Linked. Если EventLog будет удален, то все его события также должны быть удалены. Атрибуты EventLog приведены таблице 54. Т а б л и ц а 54 — Атрибуты EventLog Н а и м е н о в а н и е E v e n t L o g Т и п U R I t ittp jV s c lv e m a s .d m tf.o r g / d n i iH / E v e n tL o g А т р и б у т Тип О п и с а н и е Target-ref Ссылка на Ресурс, с которым связаны события. Resource Ограничения: Поставщик: обязательная поддержка: неизменяемый. Потребитель: обязательная поддержка; только для чтения eventscollection Ссылка на перечень произошедших событий.[Events] Ограничения: Поставщик: обязательная поддержка: изменяемый. Потребитель: обязательная поддержка; только для чтения persistencestring Значение, которое указывает на длительность хранения событий в EventLog. На­ пример, daily (день), weekly (неделя), monthly (месяц) или yearly (год). События, которые хранятся дольше указанного срока, могут быть удалены. 153
ГОСТ Р ИСО/МЭК 19831—2017Окончание таблицы 54 А т р и б у т Тип Описание persistencestring Ограничения; Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка; чтение-запись summary Сводка всех событий, существующих в EventLog. при выполнении операции чте­structure> ния. сгруппированная по степени важности.(структура Каждый атрибут сводки — структура (без имени) со следующими атрибутами:без наиме­ нования) Наименование Тип Описание lowinteger Число произошедших событий с низкой степенью важ­ ности. Поставщик: обязательная поддержка; изменяемый Потребитель: обязательная поддержка; только для чтения mediuminteger Число произошедших событий со средней степенью важности. Ограничения: Поставщик: обязательная поддержка: изменяемый Потребитель: обязательная поддержка; только для чтения highinteger Число произошедших событий с высокой степенью важности. Поставщик: обязательная поддержка: изменяемый Потребитель: обязательная поддержка; только для чтения criticalinteger Число произошедших событий с критической степе­ нью важности. Ограничения: Поставщик: обязательная поддержка; изменяемый Потребитель: обязательная поддержка; только для чтения Ограничения; Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка; только для чтения При реализации или использовании EventLog Поставщики и Потребители должны использовать синтаксис и семантику его атрибутов согласно таблице 54, а также таблицам, описывающим встроен­ ные Ресурсы или связанные Наборы. Сериализацию Ресурса в JSON и в XML (см. 1.3) представляют следующим образом; Тип модиа JSON: application/json Сериализация JSON: { "resourceURI*: ' http://schemas.dmtf.Org/dmi/1/EventLog’ , ’ id": string, 'name": string, ? ’ description": string, ? 'created*: string, ? 'updated*: string. ? ■properties’ : { string: string, + }. ? 'targetResource": { "h re f: string}, ’ events": { "href”: string}, ■persistence": string,’ summary": { 154
ГОСТ Р ИСО/МЭК 19831—2017 "low*: number."medium*: number."high": number."critical*: number }•? "operations": [ { "rel”: "edit", "hrefГ: s trin g ),? { "rol": "delete*, 'h re f: string} ? ] ? } Тип медиа XML: applicatiorVxml Сериализация XML : xs:sfring * ="xs:anyURn>
hre\-'xs:anyURH>
xs:sfr/ng xs./nfeger xs.7rtfeger«/medium> xs.7nfeger xs.7nteger«/critical> ? «operation rel=’ delete" href="xs:anyURn> ? * 5.17.9.1 Наборы В настоящем подпункте приведены Наборы Ресурсов, принадлежащие Ресурсам EventLog. 5.17.9.1.1 Ресурс EventCollection Типом ресурса для каждого элемента этого Набора является Event, приведенный в 5.17.13. Сериализация JSON: { ’ resourceURI": "http7/schemas.dmtf.org/cimi/1/EventCollection*, "id*: string."count", number."events": [ { "resourceURI": "http7/schemas.dmtf.org/cimi/1/Event". "id*: string. ... остапьиыв атрибуты Event... K + ].? "operations": [ { "rel": "add", "href": string} ? ] } Сериализация XML: «Collection resourceURI=*http://schemas.dmtf.org/cimi/1/EventCoJlection" xmlns=*http7/schemas.dmtf.org/cimi/r> «id>xs.anyl/R/«/id> 155
ГОСТ Р ИСО/МЭК 19831—2017 «count>xs.wfeger«/count> xs.ar?yL/R/«/id> ... остальные атрибуты Event... * bref-'xs:anyU R n> ?>* 5.17.9.2 Операции Данный Ресурс поддерживает операции Read, Update и Delete. 5.17.10 Ресурс EventLogColloction Ресурс EventLogCollection представляет собой Набор Ресурсов EventLog Поставщика и соответ­ ствует спецификации Набора, приведенной в 5.5.12. Данный Ресурс должен быть сериализован следу­ ющим образом: Сериализация JSON: { "resourceURP: "http://schemas.dmtf.Org/ami/1/EventLogCollection", *id": string, 'count*: number,'eventLogs": [ { "resourceURI*: ’ http://schemas.dmtf.0rg/ami/l/EventL0g".'id": string, ... остальные атрибуты EventLog... }.♦ ].? ’ operations": [ { 'rel": "add". ТиеГ: string} ? ] } Сериализация XML: «Collection resourceURI=“http://schemas.dmtf.org/cimi/1/EventLogCollection" xmlns="http://schemas.dmtf.org/cimi/1"> >xs:anyURIxs./nfeger«/count> < \d>xs:anyURI ... остальные атрибуты EventLog... * «operation rel="add" href="xs:anyL/R/7> ? «/Collection» 5.17.11 PecypcEventLogTemplato Ресурс EventLogTemplate представляет информацию, необходимую для создания нового экзем­ пляра EventLog. Атрибуты EventLogTemplate приведены в таблице 55. Т а б л и ц а 55 — Атрибуты EventLogTemplate Н а и м е н о в а н и е E v e n t L o g T e m p la te Т и п U RI n t t p j / s c h e m a s d m tt.o rg / c im V I A E v e n tL o g T e m p la to А т р и б у т Тип О п и с а н и е targetResourceref Ссылка на Ресурс, к которому должен быть подключен EventLog. Ограничения: Поставщик: обязательная поддержка: изменяемый. Потребитель: обязательная поддержка: чтение-запись 156
ГОСТ Р ИСО/МЭК 19831—2017Окончание таблицы 55 А т р и б у т Т и п О п и с а н и е persistencestring Значение, определяющее длительность хранения событий в EventLog. Например daily (день), weekly (неделя), monthly (месяц) или yearly (год). События, которые хранятся дольше указанного срока, могут быть удалены. Ограничения: Поставщик: обязательная поддержка; изменяемый. Потребитель: обязательная поддержка; чтение-запись При реализации или использовании EventLogTemplate Поставщики и Потребители должны ис­ пользовать синтаксис и семантику его атрибутов согласно таблице 55, а также таблицам, описывающим встроенные Ресурсы или связанные Наборы. Сериализацию Ресурса в JSON и в XML (см. 1.3) пред­ ставляют следующим образом: Тип медиа JSON: application/json Сериализация JSON: { "resourceURI": "httpd/schemas.dmtf.org/cimi/l/EventLogTemplate". "id*: string."name’ : string. ? "description": string. ? "created": string. ? "updated": string. ? "properties": { string: string. + }. ? "targetResource": { string}. "persistence": string. "operations’ : [ { "rel": "edit", "h re f: string }. ? { "rel": "delete", "href": string } ? ] ? } Тип медиа XML: applicatiorVxml: Сериализация X M L : xs.sfnng * xs:anyURI«name»xs.s/rwg«/name> ? ? xs:date77me ? ? «property key="xs:s/r/ng">xs:s/w?g * xs.c/afeT/me xs.s/nng xs.any* «/content» ? xs:s/ring«/outcome> ? ? «contact»xs.s/nng«/contact> ? «xs.any»* «/Event» В таблице 57 приведены URI для атрибута "type", на которые распространяется настоящий стан­ дарт. Дополнительные типы могут быть добавлены Поставщиком, например с целью охарактеризовать внешние события, отображенные в инфраструктуре EventCIMI. Рекомендуется, чтобы эти URI указыва­ ли на документы с описанием, из которого Потребители смогут получить сведения о типе. Типы Event, приведенные в настоящем стандарте, используют базовый URI: http://schemas.dmtf.0rg/cimi/1/event/. Если в графе «Тип события» в таблице приведен только относительный URI (например, state), такой URI должен быть добавлен в конец базового URI. Т а б л и ц а 57 — URI типов Т и п с о б ы т и я О п и с а н и е state События этого типа предоставляют информацию о состоянии и времени выполнения ресурсов CIMI, таких как экземпляры Машин. Систем. Сетей и Томов. Эта информация включает в себя отчеты о любом изменении в атрибуте "state" этих Ресурсов. Элемент content, связанный с данным типом Event, имеет следующую структуру. Данные Тип Описание resNamestring Наименование Ресурса, о состоянии которого сообщается. Поставщик: необязательная поддержка; неизменяемый. Потребитель: необязательная поддержка; только для чтения 160
ГОСТ Р ИСО/МЭК 19831—2017Продолжение таблицы 57 Т и п с о € ы 1Ия О п и с а н и е state Д а н н ы е Тип О п и с а н и е resourcer e f Ссылка на Ресурс, о состоянии которого сообщается. П р и м е ч а н и е — Ссылка может оказаться недопустимой, так как событие может пережить Ресурс. Ограничения: Поставщик: обязательная поддержка: неизменяемый. Потребитель: необязательная поддержка: только для чтения resTypeUR1 URI. обозначающий данный тип Ресурса (такой же. как и тип URI, свя­ занный с типом Ресурса для этого Ресурса). Ограничения: Поставщик: необязательная поддержка; неизменяемый. Потребитель: необязательная поддержка; только для чтения. statestring Состояние Ресурса должно совпадать со значением атрибута 'state" (если он присутствует) Ресурса в момент времени начала события. Ограничения: Поставщик: обязательная поддержка; неизменяемый. Потребитель: необязательная поддержка; только для чтения previousstring Предыдущее значение состояния, если событие сообщает об измене­ нии состояния. Ограничения: Поставщик: необязательная поддержка; неизменяемый. Потребитель: необязательная поддержка; только для чтения. alarm События этого типа сообщают об ошибках или авариях, происходящих влроцессе операций менеджмента Облачных ресурсов. Эта информация включает в себя отказы обеспечения ре­ сурсов, отказы выполнения запросов к интерфейсу CIMI и любую критическую ситуацию, кото­ рую необходимо своевременно рассмотреть. Элемент content, связанный с этим типом события, имеет следующую структуру: Д а н н ы е Т и п О п и с а н и е resNamestring Наименование Ресурса, связанное с этим событием, если возможно. Ограничения: Поставщик: необязательная поддержка; неизменяемый. Потребитель: необязательная поддержка: только для чтения resourcer e f Ссылка на Ресурс, связанная с этим событием, если возможно. П р и м е ч а н и е — Ссылка может стать недопустимой, так как собы­ тие может пережить Ресурс. Ограничения: Поставщик: обязательная поддержка; неизменяемый. Потребитель: необязательная поддержка; только для чтения resURI URI. обозначающий этот тип Ресурса, связанный с этим событием, type если применимо (так же. как тип URI. связанный с типом Ресурса для этого Ресурса). Ограничения: Поставщик: необязательная поддержка; неизменяемый. Потребитель: необязательная поддержка; только для чтения codestring Код аварийного сигнала. Ограничения: Поставщик: обязательная поддержка: неизменяемый. Потребитель: необязательная поддержка: только для чтения 161
ГОСТ Р ИСО/МЭК 19831—2017Продолжение таблицы 57 Т и п с о б ы т и я О п и с а н и е alarm Д а н н ы е Т и п О п и с а н и е detailsiring Подробная информация, связанная с этим событием. Ограничения; Поставщик: необязательная поддержка; неизменяемый. Потребитель: необязательная поддержка; только для чтения model События этого типа сообщают об изменениях в модели ресурса CIMI. которая включает в себя создание, изменение и разрушение экземпляров Ресурса; а также обновления метаданных (расширения Ресурса, возможности и ограничения и т.д.). Элемент content связанный с этим типом события, имеет следующую структуру; Д а н н ы е Тип О п и с а н и е resNamesiring Наименование главной модели Ресурса, затронутого изменением. Ограничения: Поставщик: необязательная поддержка; неизменяемый Потребитель: необязательная поддержка; только для чтения resourceref Ссылка на главную модель Ресурса, затронутого изменением. П р и м е ч а н и е — Ссылка может стать недопустимой, так как собы­ тие может пережить Ресурс. Ограничения: Поставщик: обязательная поддержка; неизменяемый. Потребитель: необязательная поддержка; только для чтения restypeURt URI. обозначающий этот тип ресурса (так же, как тип URI. связанный с типом ресурса для этого Ресурса). Ограничения: Поставщик: необязательная поддержка; неизменяемый. Потребитель: необязательная поддержка; только для чтения changestring Вид изменения, о котором сообщает событие (create/update/delete). Ограничения: Поставщик: обязательная поддержка; неизменяемый. Потребитель: необязательная поддержка; только для чтения detailstring Подробная информация, связанная с изменением, обычно данные для обновления или создания, предоставленные в запросе. Ограничения: Поставщик: необязательная поддержка; неизменяемый. Потребитель: необязательная поддержка; только для чтения access События этого типа отслеживают все запросы доступа к некоторому Ресурсу поставщика CIMI. Элемент content, связанный с этим типом события, имеет следующую структуру; Д а н н ы е Тип О п и с а н и е operationstring Метод или наименование операции, использованной для доступа (для протокола HTTP это метод запроса HTTP). Ограничения; Поставщик: обязательная поддержка; неизменяемый. Потребитель: необязательная поддержка; только для чтения resourceref Ссылка на первичный Ресурс, поддерживающий операцию (для про­ токола HTTP—URI Ресурса или URI. связанный с операцией). П р и м е ч а н и е — Ссылка может стать недопустимой, так как собы­ тие может пережить Ресурс. Ограничения; Поставщик: обязательная поддержка; неизменяемый. Потребитель: необязательная поддержка; только для чтения 162
ГОСТ Р ИСО/МЭК 19831—2017Окончание таблицы 57 Тиг. с о б ь п и я О п и с а н и е Д а н н ы е Тип О п и с а н и е detailstring Подробная информация, связанная с изменением, как правило, дан­ ные для обновления или создания, которые используется в запросе. Ограничения: Поставщик: необязательная поддержка; неизменяемый. Потребитель: необязательная поддержка; только для чтения initiatorstring Детали, определяющие инициатора запроса в случае, если эта инфор­ мация может быть связана с запросом. Ограничения: Поставщик: необязательная поддержка; неизменяемый. Потребитель: необязательная поддержка; только для чтения http^/schemas. События этого типа представляют события, имеющие значение для аудита, в соответствии с dmtf.org/doud/ CADF (...). Этот тип гложет подразделяться далее через продолжение пути в URI (например. audit/ Шhttp://schemas dmtf.org.fdoud.'audit/1.0/event/security. для событий аудита безопасности). Элемент content, связанный с этим типом события, имеет ту же структуру, что и сериализация события, определенная в CADF. Сериализацию свойства "content' для различных типов событий представляют следующим об­ разом: событие "state": Сериализация JSON: { "id": string, “type": "http://schemas.dmtf.0rg/cimi/1 /event/state*. "content": { "resName": string,"resource": { "h re f : strin g }, "resType*: string."state": string,"previous": string ? } fСериализация XML: http://schemas.dmtf.0rg/cimi/1/event/state xs:sfnng «resource hre1=’ xs:anyURr/>< resType>xs. anyL/R/ xs.s/nng xs:sfn'ng ? ? Событие "alarm ": Сериализация JSON: { "id": string. "type": "http://schemas.dmtf.0rg/cimi/1 /event/alarm". "content": { 163
ГОСТ Р ИСО/МЭК 19831—2017 ’ resName’ : string ? 'resource’ : { "href1: string}, ? 'resType": string ? 'c o d e ': string. ’ detail” : string ? } } Сериализация XML: http://schemas.dmtf.Org/dmi/1/event/alarm «resname»xs:sfmg«/resname> ? «resource href="xs:anyl//?/7> ? ? ? Событие "m odel": Сериализация JSON: { "id": string. 'type': ' http://schemas.dmtf.Org/dmi/1 /event/model”. 'content": { 'resName': string. ? 're s o u rc e ': { ’ h re f : string}. ? 'resType": string. ? 'change’ ; string. ’ detail". string ? }) Сериализация XML: «Event xmlns="http ://schemas .d mtf.org/cimi/1 "> http://schemas.dmtf.Org/dmi/1/event/model «content» «resname>xs:s/r/ng«/resname> ? «resource href="xs:anyt/R/7> ? xs:anyURI «/restype» ? «change» xs:string «/change» «detail» xs:string «/detail» ? «/content» ? «/Event» Событие "access": Сериализация JSON: { "id": string. 'type*: 'http://schemas.dmtf.org/dmi/1/event/access', ’ content": { 'operation’ : string. 'resource’ : { "h re f : string}. 164
ГОСТ Р ИСО/МЭК 19831—2017 "detail": string. ? "initiator": string ? } } Сериализация XML: http://schemas.dmtf.Org/cimi/1/event/access xs.sfnng < resource hre1='xs:anyURr/>xs:smng ? xs:sfr/ngr ? ? 5.17.13.1 Операции Данный Ресурс поддерживает операции Read. Update и Delete.6 Вопросы безопасности Существуют разнообразные методы защиты, которые могут использоваться. Настоящий стандарт не устанавливает определенных требований к конкретным методам. Поставщики должны предоставить достаточное количество информации о применяемых методах защиты, чтобы Потребитель мог реали­ зовать необходимые алгоритмы для успешной связи с Поставщиком. 165
ГОСТ Р ИСО/МЭК 19831—2017 Приложение А (обязательное) Поддоржка OVF в CIMI В настоящем приложении определено, каким образом элементы дескриптора OVF отображаются на ресур­ сы CIMI и их атрибуты. Данное определение дает возможность создавать различные ресурсы CIMI путем импорта пакетов OVF. Это осуществляется путем задания ссылки на пакет OVF в операции import Ресурса SyslemCollection или SystemTemplateCollecbon (тип медиа в таком URI должен быть 'applicationfovT). Дополнительная информация по OVF приведена в (2]. Поддержка импорта и экспорта OVF является необязательной для Поставщика: число атрибутов OVF, до­ ступных через CIMI. зависит от реализации. Поставщик может поддерживать импорт пакета OVF либо только для System, либо только для SystemTemplate. либо для обоих. Поддержку фактического импорта и экспорта пакета OVF осуществляет гипервизор под управлением реализации CIMI. и созданные таким образом ресурсы CIMI от­ ражают работу гипервизора по импорту и формированию представления результатов. Импорт пакета OVF может быть отражен при создании Шаблонов, которые позднее могут использоваться для создания экземпляров System. Machine и других компонентов Ресурсов. Импорт пакета OVF может также ис­ пользоваться для непосредственного создания экземпляров System. Machine и других компонентов Ресурсов без создания Шаблонов. В 5.13.4 приведено описание того, как следует импортировать файл OVF, чтобы создать SystemTemplate (и составляющие Ресурсы). Созданный таким образом шаблон SystemTemplate содержит ссылку на MachineTemptate для каждой VirtualSystem. которая определена в дескрипторе OVFVirtualSystemCollection. П р и м е ч а н и е — В настоящее время CIMI позволяет создавать экземпляры Systems, таким образом для каждого набора VirtualSystemCotlection во вложенной совокупности наборов создается отдельный шаблон SystemTemplate в рамках «родительского» SystemTemplate с шаблонами MachineTemplate для каждой из систем VirtualSystem. содержащихся в данном наборе VirtualSystemCollection. Значения атрибутов для MachineTemplate извлекаются из раздела VirtualHardwareSection описания системы VirtualSystem (обязательного в OVF). Если используется более одной секции VirtualHardwareSection для данной системы VirtualSystem (что допускается в OVF). результат зависит от реализации, но реализация может выбрать шаблон MachineTemplate из существующей (возможно, статической) совокупности, которая наилучшим образом подходит для VirtualHardwareSection. Элементы в VirtualHardwareSection отображаются в свойствах CIMI Machine- Configuration. при этом создается соответствующий Ресурс MachineConfiguration. который подсоединяется к соз­ данному шаблону MachineTemplate для этой системы VirtualSystem. Шаблоны CIMI VolumeTemplate созданы в соответствии с DiskSection дескриптора OVF и могут совместно использоваться в более чем в одной системе VirtualSystem (MachineTemplate CIMI). определенных в пакете OVF. Кроме того, из DiskSection может быть создан новый ресурс CIMI Machinelmage. если определен ovf.fileRef для со­ держимого виртуального диска. Шаблоны CIMI NetworkTemplate созданы в соответствии с NetworkSection дескриптора OVF наряду с элемен­ тами Connection в элементах Virtual Hard wareSection. которые относятся к имеющим соответствующее наименова­ ние сетям. В 5.13.2.1 приведено описание метода импортирования файла OVF для создания System (и составляющих Ресурсов). System, созданная таким образом, содержит ссылку на Machine для каждой VirtualSystem. которая опре­ делена в дескрипторе OVFVirtualSystemCollection. П р и м е ч а н и е — В настоящее время CIMI позволяет создавать экземпляры Systems, таким образом для каждого набора VirtualSystemCollection во вложенной совокупности наборов создается отдельный экземпляр System 8 рамках «родительского» экземпляра System, в котором для каждой из содержащихся систем VirtualSystem в этом наборе VirtualSystemCoilectioncoMaercB экземпляр Machine. Значения атрибутов для Machine извлекаются из раздела VirtualHardwareSection описания системы Virtual- System (обязательного в OVF). Если используется более одной секции VirtualHardwareSection для данной системы VirtualSystem (что допускается в OVF). результат зависит от реализации. Элементы в VirtualHardwareSection ото­ бражаются в свойствах CIMI MachineConfiguration. при этом создается соответствующий Ресурс MachineConfigura­ tion. который подсоединяется к созданному экземпляру Machine для этой системы VirtualSystem. Экземпляры Volume CIMI создаются в соответствии с DiskSection дескриптора OVF и могут совместно ис­ пользоваться в более чем в одной системе VirtualSystem (Machine CIMI), определенной в пакете OVF. Кроме того, на базе DiskSection может быть создан новый ресурс CIMI Machinelmage. если для содержимого виртуального диска определен атрибут ovf:fileRef. Сети Networks CIMI созданы в соответствии с NetworkSection дескриптора OVF. наряду с элементами Connection в VirtualHardwareSection. которые обращаются к данным сетям, имеющим наименование. 166
ГОСТ Р ИСО/МЭК 19831—2017 Приложение В (справочное) XML-схема Расположение схемы XML для сериализации XML модели CIMI—http:.'/schemas.dmtf.org/cimii’1/ DSP8009_1.O.xsd Предоставленная схема не предназначена для отражения любых ограничений моделирования и любых тре­ бований. определенных в модели. Данная схема разработана преимущественно для применения в сериализо­ ванных материалах в запросах Потребителя, а также в ответах Поставщика и предназначена для обеспечения их предварительной не исчерпывающей синтаксической проверки. В частности, обновления данной спецификации в будущем могут привести к смешиванию новых элементов XML в Ресурсах, используя для Ресурсов текущее про­ странство имен CIMI. Предоставленная схема является отправной точкой для тех. кто может счесть ее полезной, и. возможно, она должна быть модифицирована, исходя из потребностей конкретного приложения. 167
ГОСТ Р ИСО/МЭК 19831—2017 Приложение С (справочное) История изменений Версия Дата Описание 1.0.0 2012-08-28 — 1.0.1 2012-09-12 Опечатки 1.1.0 2013-10-22 Опубликовано как стандарт DMTF 168
ГОСТ Р ИСО/МЭК 19831—2017 Приложение ДА (справочное) Сведения о соответствии ссы лочны х международных стандартов национальным стандартам Т а б л и ц а ДА.1 О б о з н а ч е н и е с с ы л о ч н о г о м е ж д у н а р о д н о ю С т е п е н ь О б о з н а ч е н и е и н а и м е н о в а н и е с о о т в е т с т в у ю щ е г о с т а н д а р т а с о о т в е т с т в и я н а ц и о н а л ь н о г о с т а н д а р т а IEC 80000-13:2008 — • ISO 8601:2004 — * ISO/IEC 14977:1996 — • * Соответствующий национальный стандарт отсутствует. 169
ГОСТ Р ИСО/МЭК 19831—2017 УДК 004.057.8 ОКС 35.100.05 Ключевые слова: служба облачных вычислений, потребитель службы облачных вычислений, инфра­ структура как услуга. Набор. Ресурс Редактор М.Ю. Сухинина Технический редактор В.Н. Прусакова Корректор С.И. Фирсова Компьютерная верстка Е.Е. Кругова С д а н о о н а б о р 2 8 .0 2 .2 0 1 7 . П о д п и с а н о в п е ч а т ь 2 0 .0 4 .2 0 1 7 . Ф о р м а т 6 0 * 8 4 Г а р н и т у р а А р и а л У е л . л е ч . л . 2 0 .0 0 . У ч .-и з д . л . 1 9 .4 6 . Т и р а ж 2 9 э к а . З а » . 5 0 5 П о д г о т о в л е н о н а о с н о в е э л е к т р о н н о й в е р с и и , п р е д о с т а в л е н н о й р а з р а б о т ч и к о м с т а н д а р т а И з д а н о и о т п е ч а т а н о в о Ф Г У П о С Т А Н Д А Р Т И Н Ф О Р М » . 1 2 3 9 9 5 М о с к в а . Г р а н а т н ы й л е р .. 4w w w .90slin fo .ru in f o ig g o s l ir .f o r uГОСТ Р ИСО/МЭК 19831-2017

Похожие документы