Критерии развертывания сужают область действия политики: она применяется только к тем развертываниям, в которых соответствующие критерии истинны. Например, критерии развертывания можно использовать для создания политики, применяемой только к определенному элементу каталога или шаблону.
Создание критериев развертывания
Выражения критериев развертывания создаются в графическом интерфейсе. Для создания сложных выражений можно использовать операторы И и ИЛИ. Можно также группировать выражения с использованием операторов в скобках. Дополнительные сведения об обработке выражений см. в разделе Порядок операций в выражении.
Deployment equals Multi-tier five machine with LB AND (Owned By equals [email protected] OR Owned By [email protected])
Свойства критериев развертывания
Чтобы создавать функциональные критерии развертывания, необходимо понимать синтаксис.
Текстовое поле критериев содержит различные раскрывающиеся меню с доступными свойствами и операторами. Структура выражения зависит от доступных значений и порядка выполнения операций.
Раскрывающиеся меню содержат следующие свойства. Некоторые свойства могут различаться в зависимости от типа политики.
Свойство | Описание | Доступно в следующих типах политик | Поддерживает эти операторы |
---|---|---|---|
Cloud Template |
Идентификатор для облачного шаблона Cloud Assembly, который был использован для создания развертывания. Используйте |
|
|
|
Идентификатор элемента каталога Service Broker, который использовался для запроса развертывания. Используйте |
|
|
Deployment Creation Cost |
Значение затрат. Если развертывание соответствует указанному выражению затрат, запускается процесс подтверждения. |
|
|
Deployment |
Идентификатор развертывания. Если необходимо применить политику к существующим развертываниям, используйте |
|
|
Created By |
Имя пользователя, запросившего развертывание. Требуемый формат: [email protected]. Этот пользователь запросил развертывание. |
|
|
Name |
Имя развертывания. Если необходимо применить политику к существующим политикам и политикам, которые могут быть созданы в будущем, если политики соответствуют указанному выражению имени развертывания, используйте |
|
|
Owned By |
Имя текущего владельца развертывания. |
|
|
Owner Type |
Тип владельца развертывания. Тип владения может быть основан на пользователях или группах Active Directory. |
|
|
Requested By |
Имя пользователя, запросившего действие по регулярному обслуживанию. Требуемый формат: [email protected]. При создании политик утверждения критерий |
|
|
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 и т. д. |
Порядок операций в выражении
Выражение обрабатывается в следующем порядке. Группы указываются в круглых скобках.
- Выражения в группах
- И
- ИЛИ
Следующие примеры помогают понять этот порядок.
- X ИЛИ Y И Z. В этом примере выражение Y И Z вычисляется до X ИЛИ Y. Затем X ИЛИ сравнивается с результатом выражения Y И Z.
- (X ИЛИ Y) И Z. В этом примере X ИЛИ Y вычисляется раньше И, поскольку выражение в группе всегда вычисляется первым. Далее И Z вычисляется относительно результата выражения X ИЛИ Y.