Что такое Regex для облачной информации, имя политики IAM - PullRequest
1 голос
/ 19 июня 2019

Я пытаюсь определить параметр для имени роли IAM.Вот мой параметр

         Type: String
         AllowedPattern: "arn:aws:iam::*$"
         ConstraintDescription: Must be an IAM policy ARN.

Имя политики IAM имеет формат - arn:aws:iam::AccountNumber:policy/staging_test

Вот ошибка, которую я получаю Parameter EnvDynamoDbPolicy failed to satisfy constraint:

Ответы [ 2 ]

0 голосов
/ 20 июня 2019

* в регулярном выражении не является «оператором подстановки», оно имеет конкретное значение (а именно, ноль или более предшествующего символа / группы).

«Описание» правил, которым должен удовлетворять пользовательский ARN политики IAM:

  1. Начните с "arn: aws: iam ::"
  2. Идет идентификатор учетной записи, которая состоит из 12 цифр
  3. Затем следует ": policy /"
  4. сопровождается ... хотя бы одним символом?

Таким образом, шаблон регулярного выражения будет:

^arn:aws:iam::\d{12}:policy/.+

Именно это и описывают вышеописанные шаги. (В зависимости от используемого движка регулярных выражений вам может понадобиться экранировать косую черту от обратной косой черты.)

0 голосов
/ 20 июня 2019

Было ли что-нибудь после Parameter EnvDynamoDbPolicy failed to satisfy constraint:?

Если вы посмотрите на java.util.regex.Pattern, который использует облачная информация для сопоставления регулярных выражений, я не вижу их, использующих знак доллара.

Вот ссылка на документы, которые указывают на шаблоны Java , и Вот ссылка на сами шаблоны .

Я не волшебник регулярных выражений, но похоже, что если вы только что убрали знак доллара, он бы сработал Итак ...

Я не проверял это, это просто предположение

Type: String
AllowedPattern: "arn:aws:iam::*"
ConstraintDescription: Must be an IAM policy ARN.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...