Критерии развертывания сужают область действия политики: она применяется только к тем развертываниям, в которых соответствующие критерии истинны. Например, критерии развертывания можно использовать для создания политики, применяемой только к определенному элементу каталога или шаблону.

Создание критериев развертывания

Выражения критериев развертывания создаются в графическом интерфейсе. Для создания сложных выражений можно использовать операторы И и ИЛИ. Можно также группировать выражения с использованием операторов в скобках. Дополнительные сведения об обработке выражений см. в разделе Порядок операций в выражении.

Ниже приведен пример выражения.
Deployment equals Multi-tier five machine with LB AND (Owned By equals [email protected] OR Owned By [email protected])
При использовании компонентов критериев развертывания оно выглядит следующим образом.
Пример критериев развертывания.

Свойства критериев развертывания

Чтобы создавать функциональные критерии развертывания, необходимо понимать синтаксис.

Текстовое поле критериев содержит различные раскрывающиеся меню с доступными свойствами и операторами. Структура выражения зависит от доступных значений и порядка выполнения операций.

Раскрывающиеся меню содержат следующие свойства. Некоторые свойства могут различаться в зависимости от типа политики.

Свойство Описание Доступно в следующих типах политик Поддерживает эти операторы
Cloud Template

Идентификатор для облачного шаблона Cloud Assembly, который был использован для создания развертывания.

Используйте Cloud Template вместо Catalog Item, если политика относится к облачным шаблонам Cloud Assembly. Например, у шаблона Amazon Web Services нет Cloud Template.

  • Утверждения
  • Регулярное обслуживание
  • Аренда
  • Ограничение развертываний
  • равно
  • не равно

Catalog Item

Идентификатор элемента каталога Service Broker, который использовался для запроса развертывания.

Используйте Catalog Item вместо Cloud Template, если политика может включать элементы каталога Service Broker на основе любого шаблона, рабочего процесса расширяемости или другого типа содержимого. Например, облачные шаблоны Cloud Assembly и шаблоны Amazon Web Services CloudFormation, развернутые из каталога, имеют Catalog Item.

  • Утверждения
  • Регулярное обслуживание
  • Аренда
  • Ограничение развертываний
  • равно
  • не равно
Deployment Creation Cost

Значение затрат.

Если развертывание соответствует указанному выражению затрат, запускается процесс подтверждения.

  • Утверждения
  • Ограничение развертываний
  • равно
  • не равно
  • больше
  • больше или равно
  • меньше
  • меньше или равно
Deployment

Идентификатор развертывания.

Если необходимо применить политику к существующим развертываниям, используйте Deployment.

  • Утверждения
  • Регулярное обслуживание
  • Аренда
  • Ограничение развертываний
  • равно
  • не равно
Created By

Имя пользователя, запросившего развертывание. Требуемый формат: [email protected].

Этот пользователь запросил развертывание.

  • Регулярное обслуживание
  • Аренда
  • равно
  • не равно
  • соответствует регулярному выражению
  • содержит
Name

Имя развертывания.

Если необходимо применить политику к существующим политикам и политикам, которые могут быть созданы в будущем, если политики соответствуют указанному выражению имени развертывания, используйте Name, а не Deployment.

  • Утверждения
  • Регулярное обслуживание
  • Аренда
  • Ограничение развертываний
  • равно
  • не равно
  • соответствует регулярному выражению
  • содержит
Owned By

Имя текущего владельца развертывания.

  • Утверждения
  • Регулярное обслуживание
  • Аренда
  • Ограничение развертываний
  • равно
  • не равно
  • соответствует регулярному выражению
  • содержит
Owner Type

Тип владельца развертывания. Тип владения может быть основан на пользователях или группах Active Directory.

  • Утверждения
  • Регулярное обслуживание
  • Аренда
  • Ограничение развертываний
  • равно
  • не равно
Requested By

Имя пользователя, запросившего действие по регулярному обслуживанию. Требуемый формат: [email protected].

При создании политик утверждения критерий Requested By указывает на пользователя, который запросил действие по регулярному обслуживанию, а не развертывание. Пользователь, запросивший развертывание, указывается в качестве критерия Created By.

  • Утверждения
  • Ограничение развертываний
  • равно
  • не равно
  • соответствует регулярному выражению
  • содержит
Resources

Ресурсы, которые являются частью развертывания.

Критерии развертывания можно определить на основе следующих ресурсов.

  • Облачная зона
  • Учетная запись облачной службы
  • Количество ЦП
  • Тип облака
  • Диски
  • Конфигурация ресурсов
  • Содержит моментальные снимки
  • Изображение
  • ИД образа
  • Тип ОС
  • Состояние электропитания
  • Регион
  • Теги

    Определенные пользователем и обнаруженные теги.

  • Общий объем памяти (МБ)
  • Тип ресурса
  • Утверждения
  • Регулярное обслуживание
  • Аренда
  • Ограничение развертываний

Форматы критериев для тегов ресурсов

Теги ресурсов — это пары «ключ — значение». При определении критериев развертывания на основе тегов необходимо задать ключ. Значение можно не указывать. Критерии основаны на тегах, определяемых пользователем, и системных тегах.

Например, при создании критериев для одной пары тегов выражение будет следующим.
Resources has any 
    Tags has any 
        Key equals env 
        AND 
        Value equals dev
Пример выражения для критерия простого развертывания одной пары «ключ — значение», которое отображается в пользовательском интерфейсе.
Чтобы создать критерий на основе одного ключа и нескольких значений, выражение должно выглядеть следующим образом.
Resources has any 
    Tags has any 
        Key equals env 
            AND 
                Value equals dev 
                OR
                Value equals prod
Пример выражения для критерия развертывания с одним ключом и несколькими значениями, которое отображается в пользовательском интерфейсе.
Чтобы создать критерии на основе нескольких ключей и без значений, выражение должно выглядеть следующим образом.
Resources has any 
    Tags has any 
        Key equals env1 
        OR 
        Key equals env2
Пример выражения для критериев развертывания с несколькими ключами, отображаемого в пользовательском интерфейсе.
Чтобы создать критерии оценки двух разных пар «ключ — значение», нужно добавить их как отдельные теги ресурсов. Например:
Resources has any 
    Tags has any 
        Key equals env 
        AND 
        Value equals envprod
    AND
    Tags has any 
        Key equals vc_65_network 
        AND 
        Value equals vc
Пример выражения для критерия развертывания с несколькими ключами и значениями, которое отображается в пользовательском интерфейсе.

Использование операторов contains и matches Regex

Операторы contains и matches Regex определяют поиск по заданному набору символов в свойстве. Эти операторы можно применять к свойствам на основе строк, которые не поддерживают раскрывающиеся списки, например createdBy, name и ownedBy.

Оператор contains выполняет поиск всех экземпляров значения, указанного в любом контексте. В текстовом поле для ввода значения учитываются регистр и пробелы. Если нужно учесть изменение контекста, то необходимо задать значение для каждого дополнительного варианта. Для простого поиска с ограниченным количеством значений используйте оператор contains.

Оператор matches Regex обеспечивает большую гибкость при сложных поисках, где требуется учитывать множество контекстных изменений. Регулярные выражения должны соответствовать синтаксису ECMAScript. При определении регулярных выражений не используйте символ косой черты (/) в начале и конце значения.

В таблице ниже приводятся примеры выражений, в которых используются два оператора, и видно, как их можно использовать для достижения одной и той же цели.

Пример с оператором contains Пример с оператором matches Regex Значение поля совпадает
Name contains test
Name matches Regex test*

Все имена развертывания, содержащие символы test в нижнем регистре. Например, test deployment, mytest, test-123 и т. д.

Name contains test
OR
Name contains Test
Name matches Regex (t|T)est.*

Все имена развертывания, содержащие символы test или Test.

(group)
	Created By contains admin@
	(group)
	AND
		Created By contains .com
		OR
		Created By contains .org
(group)
AND
	Name contains test
	OR
	Name contains test-
	OR
	Name contains Test
	OR
	Name contains Test-
	OR
	Name contains deploy
	OR
	Name contains Deploy
Created By matches Regex admin@\S+\.((com)|(org))
AND
Name matches ((t|T)est)|(d|D)epl.*.

Все развертывания, созданные пользователями, чей адрес электронной почты начинается с admin@ и заканчивается на .com или .org.

Все имена развертываний, содержащие test и (или) deploy в любом сочетании. Например test deployment, testdeployment, Test-Deployment и т. д.

Порядок операций в выражении

Выражение обрабатывается в следующем порядке. Группы указываются в круглых скобках.

  1. Выражения в группах
  2. И
  3. ИЛИ

Следующие примеры помогают понять этот порядок.

  • X ИЛИ Y И Z. В этом примере выражение Y И Z вычисляется до X ИЛИ Y. Затем X ИЛИ сравнивается с результатом выражения Y И Z.
  • (X ИЛИ Y) И Z. В этом примере X ИЛИ Y вычисляется раньше И, поскольку выражение в группе всегда вычисляется первым. Далее И Z вычисляется относительно результата выражения X ИЛИ Y.