aws:loop
: itera nas etapas de uma automação
Essa ação itera em um subconjunto de etapas em um runbook de automação. Você pode escolher um loop de estilo do while
ou for each
. Para construir um loop do
while
, use o parâmetro de entrada LoopCondition
. Para construir um loop for each
, use os parâmetros de entrada Iterators
e IteratorDataType
. Ao usar uma ação aws:loop
, especifique somente o parâmetro de entrada Iterators
ou LoopCondition
. O número máximo de iterações é 100.
A propriedade onCancel
só pode ser usada para etapas definidas em um loop. A propriedade onCancel
não é compatível com a ação aws:loop
. A propriedade onFailure
pode ser usada para uma ação aws:loop
, mas ela só será usada se ocorrer um erro inesperado causando a falha da etapa. Se você definir propriedades onFailure
para as etapas em um loop, a ação aws:loop
herdará essas propriedades e reagirá adequadamente quando ocorrer uma falha.
Exemplos
Veja a seguir exemplos de como criar os diferentes tipos de ações de loop.
Entrada
Veja a entrada a seguir.
- Iteradores
-
A lista de itens sobre os quais as etapas devem ser iteradas. O número máximo de iteradores é 100.
Tipo: StringList
Obrigatório: Não
- IteratorDataType
-
Um parâmetro opcional para especificar o tipo de dados dos
Iterators
. Um valor para esse parâmetro pode ser fornecido junto com o parâmetro de entradaIterators
. Se você não especificar um valor para esse parâmetro eIterators
, deverá especificar um valor para o parâmetroLoopCondition
.Tipo: string
Valores válidos: Boolean | Integer | String | StringMap
Padrão: String
Obrigatório: Não
- LoopCondition
-
Consiste em uma
Variable
e uma condição do operador a ser avaliada. Se você não especificar um valor para esse parâmetro, deverá especificar um valor para os parâmetrosIterators
eIteratorDataType
. Você pode usar avaliações complexas de operadores usando uma combinação dos operadoresAnd
,Not
eOr
. A condição é avaliada após a conclusão das etapas do loop. Se a condição fortrue
e o valorMaxIterations
não tiver sido atingido, as etapas do loop serão executadas novamente. As condições do operador são as seguintes:Operações de string
-
StringEquals
-
EqualsIgnoreCase
-
StartsWith
-
EndsWith
-
Contém
Operações numéricas
-
NumericEquals
-
NumericGreater
-
NumericLesser
-
NumericGreaterOrEquals
-
NumericLesser
-
NumericLesserOrEquals
Operação booleana
-
BooleanEquals
Tipo: StringMap
Obrigatório: Não
-
- MaxIterations
-
O número máximo de vezes que as etapas do loop são executadas. Quando o valor especificado para essa entrada é atingido, o loop para de ser executado mesmo se
LoopCondition
ainda fortrue
ou se houver objetos restantes no parâmetroIterators
.Tipo: número inteiro
Valores válidos: 1 a 100
Obrigatório: Não
- Etapas
-
A lista de etapas a serem executadas no loop. Elas funcionam como um runbook aninhado. Nessas etapas, você pode acessar o valor atual do iterador de um loop
for each
usando a sintaxe{{loopStepName.CurrentIteratorValue}}
. Você também pode acessar um valor inteiro da iteração atual para os dois tipos de loop usando a sintaxe{{loopStepName.CurrentIteration}}
.Type: Lista de etapas
Obrigatório: Sim
Saída
- CurrentIteration
-
A iteração atual do loop como um número inteiro. Os valores de iteração começam em 1.
Tipo: número inteiro
- CurrentIteratorValue
-
O valor do iterador atual como uma string. Essa saída só está presente em loops
for each
.Tipo: string