

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Referência da estrutura de regras
<a name="rule-reference"></a>

Esta seção é uma referência somente para a configuração de regras. Para obter uma visão geral conceitual da estrutura do pipeline, consulte [CodePipeline referência de estrutura de tubulação](reference-pipeline-structure.md).

Cada provedor de regras no CodePipeline usa um conjunto de campos de configuração obrigatórios e opcionais na estrutura do pipeline. Esta seção fornece as seguintes informações de referência por provedor de regras:
+ Valores válidos para os campos `RuleType` incluídos no bloco de regras da estrutura do pipeline, como `Owner` e `Provider`.
+ Descrições e outras informações de referência para os parâmetros de `Configuration` (obrigatórios e opcionais) incluídos na seção de regras da estrutura de pipeline.
+ Exemplos válidos de campos de configuração de regras JSON e YAML.

As informações de referência estão disponíveis para os seguintes provedores de regras:

**Topics**
+ [CloudWatchAlarm](rule-reference-CloudWatchAlarm.md)
+ [Regra do CodeBuild](rule-reference-CodeBuild.md)
+ [Comandos](rule-reference-Commands.md)
+ [DeploymentWindow](rule-reference-DeploymentWindow.md)
+ [LambdaInvoke](rule-reference-LambdaInvoke.md)
+ [VariableCheck](rule-reference-VariableCheck.md)

# CloudWatchAlarm
<a name="rule-reference-CloudWatchAlarm"></a>

Ao criar uma condição, você pode adicionar a regra `CloudWatchAlarm`. Esta seção fornece uma referência para os parâmetros da regra. Para ter mais informações sobre regras e condições, consulte [Como funcionam as condições do estágio?](concepts-how-it-works-conditions.md).

Você já deve ter criado um alarme na Amazon CloudWatch como um recurso separado.

**Topics**
+ [Tipo de regra](#rule-reference-CloudWatchAlarm-type)
+ [Parâmetros de configuração](#rule-reference-CloudWatchAlarm-config)
+ [Exemplo de configuração de regra](#rule-reference-CloudWatchAlarm-example)
+ [Consulte também](#rule-reference-CloudWatchAlarm-links)

## Tipo de regra
<a name="rule-reference-CloudWatchAlarm-type"></a>
+ Categoria: `Rule`
+ Proprietário: `AWS`
+ Fornecedor: `CloudWatchAlarm`
+ Versão: `1`

## Parâmetros de configuração
<a name="rule-reference-CloudWatchAlarm-config"></a>

**AlarmName**  
Obrigatório: Sim  
O nome do CloudWatch alarme. Esse é um recurso separado criado em CloudWatch.

**AlarmStates**  
Obrigatório: não  
Os estados CloudWatch de alarme desejados para a regra monitorar. Valores válidos: ALARM, OK ou INSUFFICIENT\$1DATA.

**WaitTime**  
Obrigatório: não  
O tempo de espera em minutos para que ocorra uma alteração de estado antes de executar o resultado da regra. Por exemplo, configure 20 minutos para esperar que um estado de alarme mude para OK antes de aplicar o resultado da regra. 

## Exemplo de configuração de regra
<a name="rule-reference-CloudWatchAlarm-example"></a>

------
#### [ YAML ]

```
rules:
    - name: MyMonitorRule
      ruleTypeId:
        category: Rule
        owner: AWS
        provider: CloudWatchAlarm
        version: '1'
      configuration:
        AlarmName: CWAlarm
        WaitTime: '1'
      inputArtifacts: []
      region: us-east-1
```

------
#### [ JSON ]

```
                            "rules": [
                                {
                                    "name": "MyMonitorRule",
                                    "ruleTypeId": {
                                        "category": "Rule",
                                        "owner": "AWS",
                                        "provider": "CloudWatchAlarm",
                                        "version": "1"
                                    },
                                    "configuration": {
                                        "AlarmName": "CWAlarm",
                                        "WaitTime": "1"
                                    },
                                    "inputArtifacts": [],
                                    "region": "us-east-1"
                                }
                            ]
                        }
```

------

## Consulte também
<a name="rule-reference-CloudWatchAlarm-links"></a>

Os recursos relacionados a seguir podem ajudar você a trabalhar com essa regra.
+ [Criar condições “em caso de falha”](stage-conditions.md#stage-conditions-onfailure): esta seção fornece etapas para criar uma condição “em caso de falha” com uma regra de alarme.

# Regra do CodeBuild
<a name="rule-reference-CodeBuild"></a>

Ao criar uma condição, você pode adicionar a regra do CodeBuild. Esta seção fornece uma referência para os parâmetros da regra. Para ter mais informações sobre regras e condições, consulte [Como funcionam as condições do estágio?](concepts-how-it-works-conditions.md).

Você pode usar a regra do CodeBuild para criar uma condição na qual a execução bem-sucedida do projeto de compilação atenda aos critérios da regra, como a execução bem-sucedida da compilação para uma condição beforeEntry.

**nota**  
Para condições beforeEntry configuradas com o resultado **Ignorar**, somente as seguintes regras estão disponíveis: `LambdaInvoke` e `VariableCheck`.

**Topics**
+ [Permissões de política de perfil de serviço](#rule-reference-Commands-policy)
+ [Tipo de regra](#rule-reference-Commands-type)
+ [Parâmetros de configuração](#rule-reference-Commands-config)
+ [Exemplo de configuração de regra](#rule-reference-Commands-example)
+ [Consulte também](#rule-reference-Commands-links)

## Permissões de política de perfil de serviço
<a name="rule-reference-Commands-policy"></a>

Para permissões para essa regra, adicione o seguinte à declaração da política do perfil de serviço do CodePipeline. Reduza o escopo das permissões até o nível do recurso.

```
{
    "Effect": "Allow",
    "Action": [
        "codebuild:BatchGetBuilds",
        "codebuild:StartBuild"
    ],
    "Resource": "resource_ARN"
},
```

## Tipo de regra
<a name="rule-reference-Commands-type"></a>
+ Categoria: `Rule`
+ Proprietário: `AWS`
+ Fornecedor: `CodeBuild`
+ Versão: `1`

## Parâmetros de configuração
<a name="rule-reference-Commands-config"></a>

**ProjectName**  
Obrigatório: Sim  
`ProjectName` é o nome do projeto de compilação no CodeBuild.

**PrimarySource**  
Obrigatório: condicional  
O valor do parâmetro `PrimarySource` deve ser o nome de um dos artefatos de entrada para a ação. O CodeBuild procura o arquivo buildspec e executa os comandos buildspec no diretório que contém a versão descompactada desse artefato.  
Esse parâmetro será necessário se vários artefatos de entrada forem especificados para uma ação do CodeBuild. Quando houver apenas um artefato de origem para a ação, o artefato `PrimarySource` assumirá esse artefato como padrão.

**BatchEnabled**  
Obrigatório: Não  
O valor booleano do parâmetro `BatchEnabled` permite que a ação execute várias compilações na mesma execução de compilação.  
Quando esta opção está habilitada, a opção `CombineArtifacts` está disponível.  
Para exemplos de pipeline com compilações em lote habilitadas, consulte [Integração do CodePipeline ao CodeBuild e compilações em lote](https://docs.aws.amazon.com/codebuild/latest/userguide/sample-pipeline-batch.html).

**CombineArtifacts**  
Obrigatório: Não  
O valor booleano do parâmetro `CombineArtifacts` combina todos os artefatos de uma compilação em lote em um único arquivo de artefato para a ação de compilação.  
Para usar esta opção, o parâmetro `BatchEnabled` deve estar ativado.

**EnvironmentVariables**  
Obrigatório: Não  
O valor deste parâmetro é usado para definir variáveis de ambiente para a ação do CodeBuild no pipeline. O valor do parâmetro `EnvironmentVariables` assume a forma de uma matriz JSON de objetos de variáveis de ambiente. Consulte o parâmetro de exemplo em [Declaração de ação (CodeBuild exemplo)](action-reference-CodeBuild.md#action-reference-CodeBuild-example).  
Cada objeto tem três partes, todas são strings:  
+ `name`: o nome ou a chave da variável de ambiente. 
+ `value`: o valor da variável de ambiente. Ao usar o tipo `PARAMETER_STORE` ou `SECRETS_MANAGER`, este valor deve ser o nome de um parâmetro já armazenado no AWS Systems Manager Parameter Store ou um segredo já armazenado no AWS Secrets Manager, respectivamente.
**nota**  
Não recomendamos o uso de variáveis de ambiente para armazenar valores confidenciais, principalmente credenciais da AWS. Quando você usa o console do CodeBuild ou a AWS CLI, as variáveis de ambiente são exibidas em texto sem formatação. Para valores confidenciais, recomendamos usar o tipo `SECRETS_MANAGER`. 
+ `type`: (opcional) o tipo da variável de ambiente. Os valores válidos são `PARAMETER_STORE`, `SECRETS_MANAGER` ou `PLAINTEXT`. Se não especificado, assumirá como padrão `PLAINTEXT`.
Ao inserir `name`, `value` e `type` na configuração das variáveis de ambiente, principalmente se a variável de ambiente contiver a sintaxe da variável de saída do CodePipeline, não ultrapasse o limite de 1000 caracteres no campo de valor da configuração. Um erro de validação será retornado quando esse limite for excedido.
Para obter mais informações, consulte [EnvironmentVariable](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_EnvironmentVariable.html) na Referência da API do AWS CodeBuild. Para ver um exemplo de ação do CodeBuild com uma variável de ambiente que retorna o nome de ramificação do GitHub, consulte [Exemplo: use uma BranchName variável com variáveis de CodeBuild ambiente](actions-variables.md#actions-variables-examples-env-branchname).

## Exemplo de configuração de regra
<a name="rule-reference-Commands-example"></a>

------
#### [ YAML ]

```
name: codebuild-rule
ruleTypeId:
  category: Rule
  owner: AWS
  provider: CodeBuild
  version: '1'
configuration:
  ProjectName: my-buildproject
  EnvironmentVariables: '[{"name":"VAR1","value":"variable","type":"PLAINTEXT"}]'
inputArtifacts:
- name: SourceArtifact
region: us-east-1
```

------
#### [ JSON ]

```
{
    "name": "codebuild-rule",
    "ruleTypeId": {
        "category": "Rule",
        "owner": "AWS",
        "provider": "CodeBuild",
        "version": "1"
    },
    "configuration": {
        "ProjectName": "my-buildproject"
    },
    "inputArtifacts": [
        {
            "name": "SourceArtifact",
            "EnvironmentVariables": "[{\"name\":\"VAR1\",\"value\":\"variable\",\"type\":\"PLAINTEXT\"}]"
        }
    ],
    "region": "us-east-1"
}
```

------

## Consulte também
<a name="rule-reference-Commands-links"></a>

Os recursos relacionados a seguir podem ajudar você a trabalhar com essa regra.
+ Para ter mais informações sobre regras e condições, consulte [Condition](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_Condition.html), [RuleTypeId](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_RuleTypeId.html) e [RuleExecution](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_RuleExecution.html) no *Guia de API do CodePipeline*.

# Comandos
<a name="rule-reference-Commands"></a>

Ao criar uma condição, você pode adicionar a regra `Commands`. Esta seção fornece uma referência para os parâmetros da regra. Para ter mais informações sobre regras e condições, consulte [Como funcionam as condições do estágio?](concepts-how-it-works-conditions.md).

Você pode usar a regra `Commands` para criar uma condição na qual os comandos bem-sucedidos atendam aos critérios da regra, como a saída e o caminho do arquivo para os comandos serem bem-sucedidos em uma condição beforeEntry.

**nota**  
Em relação a condições beforeEntry configuradas com o resultado **Ignorar**, somente as seguintes regras estão disponíveis: `LambdaInvoke` e `VariableCheck`.

**Topics**
+ [Considerações sobre a regra Comands](#rule-reference-Commands-considerations)
+ [Permissões de política de perfil de serviço](#rule-reference-Commands-policy)
+ [Tipo de regra](#rule-reference-Commands-type)
+ [Parâmetros de configuração](#rule-reference-Commands-config)
+ [Exemplo de configuração de regra](#rule-reference-Commands-example)
+ [Consulte também](#rule-reference-Commands-links)

## Considerações sobre a regra Comands
<a name="rule-reference-Commands-considerations"></a>

As considerações a seguir se aplicam à regra Commands.
+ A regra de comandos usa CodeBuild recursos semelhantes à CodeBuild ação, ao mesmo tempo em que permite comandos do ambiente shell em uma instância de computação virtual sem a necessidade de associar ou criar um projeto de construção.
**nota**  
A execução da regra de comandos acarretará cobranças separadas em AWS CodeBuild.
+ Como a regra de Comandos CodePipeline usa CodeBuild recursos, as compilações executadas pela ação serão atribuídas aos limites de criação da sua conta em CodeBuild. As compilações executadas pela regra Commands serão contabilizadas para os limites de compilações simultâneas, conforme configurado para essa conta.
+ O tempo limite para compilações com a regra de Comandos é de 55 minutos, com base nas CodeBuild compilações.
+ A instância de computação usa um ambiente de compilação isolado em CodeBuild. 
**nota**  
Como o ambiente de compilação isolado é usado no nível da conta, uma instância pode ser reutilizada para outra execução de pipeline.
+ Todos os formatos são compatíveis, exceto os formatos de várias linhas. Você deve usar o formato de linha única ao inserir comandos.
+ Para essa regra, CodePipeline assumirá a função de serviço de pipeline e usará essa função para permitir o acesso aos recursos em tempo de execução. É recomendável configurar o perfil de serviço para que as permissões sejam reduzidas ao nível da ação.
+ As permissões adicionadas à função CodePipeline de serviço estão detalhadas em[Adicionar permissões à função CodePipeline de serviço](how-to-custom-role.md#how-to-update-role-new-services).
+ A permissão necessária para visualizar logs no console está detalhada em [Permissões necessárias para visualizar registros computacionais no console](security-iam-permissions-console-logs.md). Nas telas de exemplo a seguir, use o link **Registros** para ver os registros de uma regra de comandos bem-sucedida nos CloudWatch registros.  
![\[A página Status de um pipeline com a regra Commands\]](http://docs.aws.amazon.com/pt_br/codepipeline/latest/userguide/images/commands-rule-status.png)  
![\[A página de registros CloudWatch de um pipeline com a regra de comandos\]](http://docs.aws.amazon.com/pt_br/codepipeline/latest/userguide/images/commands-rule-logs.png)
+ Ao contrário de outras ações em CodePipeline, você não define campos na configuração da ação; você define os campos de configuração da ação fora da configuração da ação.

## Permissões de política de perfil de serviço
<a name="rule-reference-Commands-policy"></a>

Ao CodePipeline executar a regra, CodePipeline cria um grupo de registros usando o nome do pipeline da seguinte forma. Isso permite reduzir as permissões para os recursos de log usando o nome do pipeline.

```
/aws/codepipeline/MyPipelineName
```

Caso utilize um perfil de serviço já existente, será preciso incluir as permissões a seguir ao perfil de serviço para habilitar o uso da ação Commands.
+ registros: CreateLogGroup
+ registros: CreateLogStream
+ registros: PutLogEvents

Na declaração de política do perfil de serviço, reduza as permissões até o nível do pipeline, conforme mostrado no exemplo a seguir.

```
{
    "Effect": "Allow",
    "Action": [
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:PutLogEvents"
    ],
    "Resource": "arn:aws:logs:*:YOUR_AWS_ACCOUNT_ID:log-group:/aws/codepipeline/YOUR_PIPELINE_NAME:*"
}
```

Para visualizar logs no console usando a página de diálogo de detalhes da ação, a permissão para visualizar logs deve ser adicionada ao perfil do console. Para ter mais informações, consulte o exemplo de política de permissões do console em [Permissões necessárias para visualizar registros computacionais no console](security-iam-permissions-console-logs.md).

## Tipo de regra
<a name="rule-reference-Commands-type"></a>
+ Categoria: `Rule`
+ Proprietário: `AWS`
+ Fornecedor: `Commands`
+ Versão: `1`

## Parâmetros de configuração
<a name="rule-reference-Commands-config"></a>

**Comandos**  
Obrigatório: Sim  
Você pode fornecer comandos de shell para a regra `Commands` ser executada. No console, os comandos são inseridos em linhas separadas. Na CLI, os comandos são inseridos como strings separadas.  
Os formatos de várias linhas não são compatíveis e resultarão em uma mensagem de erro. O formato de linha única deve ser usado para inserir comandos no campo **Comandos**.
Os detalhes a seguir oferecem a computação padrão usada para a regra Commands. Para obter mais informações, consulte a referência de [modos e tipos de computação do ambiente de criação](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) no Guia do CodeBuild usuário.  
+ **CodeBuild imagem: aws/codebuild/amazonlinux 2-x86\$164 standard:** 5.0
+ **Tipo de computação:** Linux Small
+ **Valor do ComputeType do ambiente**: BUILD\$1 \$1SMALL GENERAL1
+ **Valor do tipo de ambiente:** LINUX\$1CONTAINER

## Exemplo de configuração de regra
<a name="rule-reference-Commands-example"></a>

------
#### [ YAML ]

```
result: FAIL
rules:
- name: CommandsRule
  ruleTypeId:
    category: Rule
    owner: AWS
    provider: Commands
    version: '1'
  configuration: {}
  commands:
  - ls
  - printenv
  inputArtifacts:
  - name: SourceArtifact
  region: us-east-1
```

------
#### [ JSON ]

```
{
    "result": "FAIL",
    "rules": [
        {
            "name": "CommandsRule",
            "ruleTypeId": {
                "category": "Rule",
                "owner": "AWS",
                "provider": "Commands",
                "version": "1"
            },
            "configuration": {},
            "commands": [
                "ls",
                "printenv"
            ],
            "inputArtifacts": [
                {
                    "name": "SourceArtifact"
                }
            ],
            "region": "us-east-1"
        }
    ]
}
```

------

## Consulte também
<a name="rule-reference-Commands-links"></a>

Os recursos relacionados a seguir podem ajudar você a trabalhar com essa regra.
+ Para obter mais informações sobre regras e condições, consulte [Condição](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_Condition.html) e [RuleExecution](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_RuleExecution.html)no *Guia da CodePipeline API*. [RuleTypeId](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_RuleTypeId.html)

# DeploymentWindow
<a name="rule-reference-DeploymentWindow"></a>

Ao criar uma condição, você pode adicionar a regra `DeploymentWindow`. Esta seção fornece uma referência para os parâmetros da regra. Para ter mais informações sobre regras e condições, consulte [Como funcionam as condições do estágio?](concepts-how-it-works-conditions.md).

**Topics**
+ [Tipo de regra](#rule-reference-DeploymentWindow-type)
+ [Parâmetros de configuração](#rule-reference-DeploymentWindow-config)
+ [Exemplo de configuração de regra](#rule-reference-DeploymentWindow-example)
+ [Consulte também](#rule-reference-DeploymentWindow-links)

## Tipo de regra
<a name="rule-reference-DeploymentWindow-type"></a>
+ Categoria: `Rule`
+ Proprietário: `AWS`
+ Fornecedor: `DeploymentWindow`
+ Versão: `1`

## Parâmetros de configuração
<a name="rule-reference-DeploymentWindow-config"></a>

**Cron**  
Obrigatório: Sim  
A expressão que define os dias e horários em que a implantação será permitida. As expressões cron são compostas por 6 campos obrigatórios e um campo opcional separados por espaço em branco. Os campos de expressão cron permitem que você especifique um padrão de programação com uma expressão cron da seguinte forma.    
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/codepipeline/latest/userguide/rule-reference-DeploymentWindow.html)
+ O caractere “\$1” é usado para especificar todos os valores. Por exemplo, “\$1” no campo de minutos significa “a cada minuto”.
+ O '?' o caractere é permitido para day-of-month os day-of-week campos e. É usado para especificar “nenhum valor específico”. Isso é útil quando você precisa especificar algo em um dos dois campos, mas não no outro.
+ O caractere “-” é usado para especificar intervalos. Por exemplo, “10-12” no campo da hora significa “as horas 10, 11 e 12”.
+ O caractere “,” é usado para especificar valores adicionais. Por exemplo, “SEG, WED, SEX” no day-of-week campo significa “os dias segunda, quarta e sexta-feira”.
+ O caractere “/” é usado para especificar incrementos. Por exemplo, “0/15” no campo de segundos significa “os segundos 0, 15, 30 e 45”. E “5/15” no campo de segundos significa “os segundos 5, 20, 35 e 50”. Especificar “\$1” antes de “/” é equivalente a especificar 0 como valor inicial. 
+ O caractere 'L' é permitido para os day-of-week campos day-of-month e. Esse caractere é a abreviatura de “último”, mas tem um significado diferente em cada um dos dois campos. Por exemplo, o valor “L” no day-of-month campo significa “o último dia do mês” - dia 31 para janeiro, dia 28 para fevereiro em anos não bissextos. Se usado no day-of-week campo sozinho, significa simplesmente “7" ou “SAT”. Mas se usado no day-of-week campo após outro valor, significa “o último <specified\$1day>dia do mês” - por exemplo, “6L” significa “a última sexta-feira do mês”. Você também pode especificar uma diferença em relação ao último dia do mês, como “L-3", o que significaria o third-to-last dia do mês civil.
+ O caractere 'W' é permitido para o day-of-month campo. Esse caractere é usado para especificar o dia da semana (segunda-feira a sexta-feira) mais próximo do dia determinado. Por exemplo, se você especificasse “15W” como o valor do day-of-month campo, o significado seria: “o dia da semana mais próximo do 15º dia do mês”. Então, se o dia 15 for um sábado, o gatilho será acionado na sexta-feira, dia 14. Se o dia 15 for um domingo, o gatilho disparará na segunda-feira, dia 16. Se o dia 15 for uma terça-feira, disparará na terça-feira, dia 15.
+ Os caracteres 'L' e 'W' também podem ser combinados para que a day-of-month expressão produza 'LW', que se traduz em “último dia útil do mês”.
+ O caractere '\$1' é permitido para o day-of-week campo. Este caractere é usado para especificar “o enésimo” <dia\$1especificado> dia do mês. Por exemplo, o valor de “6 \$13" no day-of-week campo significa a terceira sexta-feira do mês (dia 6 = sexta-feira e "\$13" = a 3ª no mês).
+ Os caracteres válidos e os nomes dos meses e dias da semana não diferenciam maiúsculas de minúsculas.

**TimeZone**  
Obrigatório: não  
O fuso horário da janela de implantação. A expressão regular corresponde aos padrões nos seguintes formatos:  
+ **Formato Região/Cidade**. O valor corresponde a um fuso horário no formato Region/City Região/Cidade\$1Cidade. Por exemplo, `America/New_York` ou `Europe/Berlin`.
+ **Formato UTC**. O valor corresponde à string UTC, opcionalmente seguida por um deslocamento no formato \$1HH:MM ou -HH:MM. Por exemplo `UTC`, `UTC+05:30` ou `UTC-03:00`. Esse será o formato padrão se o parâmetro não for definido de outra forma.
+ **Formato de abreviação**. O valor corresponde a uma abreviação de 3 a 5 caracteres para um fuso horário. Por exemplo, `EST` ou `IST`.

  Para obter uma tabela de valores de TimeZone ID válidos, consulte [https://docs.oracle.com/middleware/1221/ .html wcs/tag-ref/MISC/TimeZones](https://docs.oracle.com/middleware/1221/wcs/tag-ref/MISC/TimeZones.html). Observe que certas abreviações são duplicadas, como CST para Horário Padrão Central, Horário Padrão da China e Horário Padrão de Cuba.

## Exemplo de configuração de regra
<a name="rule-reference-DeploymentWindow-example"></a>

------
#### [ YAML ]

```
- name: MyDeploymentRule
  ruleTypeId:
    category: Rule
    owner: AWS
    provider: DeploymentWindow
    version: '1'
  configuration:
    Cron: 0 0 9-17 ? * MON-FRI *
    TimeZone: PST
  inputArtifacts: []
  region: us-east-1
```

------
#### [ JSON ]

```
[
                    {
                        "name": "MyDeploymentRule",
                        "ruleTypeId": {
                            "category": "Rule",
                            "owner": "AWS",
                            "provider": "DeploymentWindow",
                            "version": "1"
                        },
                        "configuration": {
                            "Cron": "0 0 9-17 ? * MON-FRI *",
                            "TimeZone": "PST"
                        },
                        "inputArtifacts": [],
                        "region": "us-east-1"
                    }
                ]
```

------

## Consulte também
<a name="rule-reference-DeploymentWindow-links"></a>

Os recursos relacionados a seguir podem ajudar você a trabalhar com essa regra.
+ [Criar condições “em caso de sucesso”](stage-conditions.md#stage-conditions-onsuccess): esta seção fornece etapas para criar uma condição “em caso de sucesso” com uma regra de janela de implantação.
+ Para obter mais informações sobre regras e condições, consulte [Condição](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_Condition.html) e [RuleExecution](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_RuleExecution.html)no *Guia da CodePipeline API*. [RuleTypeId](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_RuleTypeId.html)

# LambdaInvoke
<a name="rule-reference-LambdaInvoke"></a>

Ao criar uma condição, você pode adicionar a regra `LambdaInvoke`. Esta seção fornece uma referência para os parâmetros da regra. Para ter mais informações sobre regras e condições, consulte [Como funcionam as condições do estágio?](concepts-how-it-works-conditions.md).

Você já deve ter criado uma função no Lambda como um recurso separado.

**Topics**
+ [Tipo de regra](#rule-reference-CloudWatchAlarm-type)
+ [Parâmetros de configuração](#rule-reference-LambdaInvoke-config)
+ [Exemplo de configuração de regra](#rule-reference-LambdaInvoke-example)
+ [Consulte também](#rule-reference-LambdaInvoke-links)

## Tipo de regra
<a name="rule-reference-CloudWatchAlarm-type"></a>
+ Categoria: `Rule`
+ Proprietário: `AWS`
+ Fornecedor: `LambdaInvoke`
+ Versão: `1`

## Parâmetros de configuração
<a name="rule-reference-LambdaInvoke-config"></a>

**FunctionName**  
Obrigatório: Sim  
O nome da função do Lambda.

**UserParameters**  
Obrigatório: Não  
Esses são parâmetros fornecidos como entrada para a função no formato de par de chave/valor.

## Exemplo de configuração de regra
<a name="rule-reference-LambdaInvoke-example"></a>

------
#### [ YAML ]

```
- name: MyLambdaRule
  ruleTypeId:
    category: Rule
    owner: AWS
    provider: LambdaInvoke
    version: '1'
  configuration:
    FunctionName: my-function
  inputArtifacts:
  - name: SourceArtifact
  region: us-east-1
```

------
#### [ JSON ]

```
[
    {
        "name": "MyLambdaRule",
        "ruleTypeId": {
            "category": "Rule",
            "owner": "AWS",
            "provider": "LambdaInvoke",
            "version": "1"
        },
        "configuration": {
            "FunctionName": "my-function"
        },
        "inputArtifacts": [
            {
                "name": "SourceArtifact"
            }
        ],
        "region": "us-east-1"
    }
]
```

------

## Consulte também
<a name="rule-reference-LambdaInvoke-links"></a>

Os recursos relacionados a seguir podem ajudar você a trabalhar com essa regra.
+ [Criar condições “em caso de falha”](stage-conditions.md#stage-conditions-onfailure): esta seção fornece etapas para criar uma condição “em caso de falha” com uma regra de alarme.

# VariableCheck
<a name="rule-reference-VariableCheck"></a>

Ao criar uma condição, você pode adicionar a regra `VariableCheck`. Esta seção fornece uma referência para os parâmetros da regra. Para ter mais informações sobre regras e condições, consulte [Como funcionam as condições do estágio?](concepts-how-it-works-conditions.md).

A regra `VariableCheck` pode ser utilizada para definir uma condição que verifica a variável de saída em relação a uma expressão especificada. A regra passa na verificação quando o valor da variável atende aos critérios da regra, como o valor ser igual ou maior que uma variável de saída especificada.

**Topics**
+ [Tipo de regra](#rule-reference-VariableCheck-type)
+ [Parâmetros de configuração](#rule-reference-VariableCheck-config)
+ [Exemplo de configuração de regra](#rule-reference-VariableCheck-example)
+ [Consulte também](#rule-reference-VariableCheck-links)

## Tipo de regra
<a name="rule-reference-VariableCheck-type"></a>
+ Categoria: `Rule`
+ Proprietário: `AWS`
+ Fornecedor: `VariableCheck`
+ Versão: `1`

## Parâmetros de configuração
<a name="rule-reference-VariableCheck-config"></a>

**Operador**  
Obrigatório: Sim  
O operador que indica qual operação executar para a verificação da variável.  
No exemplo a seguir, a variável de saída do nome do repositório será verificada para verificar se é igual a `MyDemoRepo`.  

```
        "configuration": {
            "Variable": "#{SourceVariables.RepositoryName}",
            "Value": "MyDemoRepo",
            "Operator": "EQ"
        },
```
Os operadores estão disponíveis para criar uma expressão da seguinte maneira.  
+ **Equals**: escolha esse operador para verificar se a variável é igual ao valor da string.

  **Parâmetro da CLI:** `EQ`
+ **Contains**: escolha esse operador para verificar se a variável contém o valor da string como uma substring.

  **Parâmetro da CLI:** `CONTAINS`
+ **Matches**: escolha esse operador para verificar se a variável corresponde a uma determinada expressão regex como o valor da string. 

  Todas as expressões regulares estão em CodePipeline conformidade com a sintaxe regex Java. Consulte uma descrição abrangente da sintaxe regex do Java e de seus constructos em [java.util.regex.Pattern](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/regex/Pattern.html).

  **Parâmetro da CLI:** `MATCHES`
+ **Not equals**: escolha esse operador para verificar se a variável não é igual ao valor da string.

  **Parâmetro da CLI:** `NE`

**Variável**  
Obrigatório: Sim  
As variáveis do pipeline a serem verificadas.

**Valor**  
Obrigatório: Sim  
O valor da expressão a ser verificada.  
No exemplo a seguir, a variável de saída do nome do repositório será verificada para verificar se é igual a `MyDemoRepo`.  

```
        "configuration": {
            "Variable": "#{SourceVariables.RepositoryName}",
            "Value": "MyDemoRepo",
            "Operator": "EQ"
        },
```

No exemplo de JSON a seguir, duas regras separadas são definidas, uma para uma instrução `EQ` (equals) que verifica o nome do repositório e da ramificação formatado como \$1 \$1. SourceVariables RepositoryName\$1 e um para `CONTAINS` isso verifica a variável de saída da mensagem de confirmação formatada como \$1 \$1SourceVariables. CommitMessage\$1 em relação ao valor fornecido “atualizar”.

```
  "beforeEntry": {
                    "conditions": [
                        {
                            "result": "FAIL",
                            "rules": [
                                {
                                    "name": "MyVarCheckRule",
                                    "ruleTypeId": {
                                        "category": "Rule",
                                        "owner": "AWS",
                                        "provider": "VariableCheck",
                                        "version": "1"
                                    },
                                    "configuration": {
                                        "Operator": "EQ",
                                        "Value": "MyDemoRepo",
                                        "Variable": "#{SourceVariables.RepositoryName}"
                                    },
                                    "inputArtifacts": [],
                                    "region": "us-east-1"
                                },
                                {
                                    "name": "MyVarCheckRuleContains",
                                    "ruleTypeId": {
                                        "category": "Rule",
                                        "owner": "AWS",
                                        "provider": "VariableCheck",
                                        "version": "1"
                                    },
                                    "configuration": {
                                        "Operator": "CONTAINS",
                                        "Value": "update",
                                        "Variable": "#{SourceVariables.CommitMessage}"
                                    },
                                    "inputArtifacts": [],
                                    "region": "us-east-1"
                                }
                            ]
                        }
                    ]
                }
            }
        ],
```

## Exemplo de configuração de regra
<a name="rule-reference-VariableCheck-example"></a>

------
#### [ YAML ]

```
- name: MyVariableCheck
  ruleTypeId:
    category: Rule
    owner: AWS
    provider: VariableCheck
    version: '1'
  configuration:
    Variable: "#{SourceVariables.RepositoryName}"
    Value: MyDemoRepo
    Operator: EQ
  inputArtifacts: []
  region: us-west-2
```

------
#### [ JSON ]

```
"rules": [
    {
        "name": "MyVariableCheck",
        "ruleTypeId": {
            "category": "Rule",
            "owner": "AWS",
            "provider": "VariableCheck",
            "version": "1"
        },
        "configuration": {
            "Variable": "#{SourceVariables.RepositoryName}",
            "Value": "MyDemoRepo",
            "Operator": "EQ"
        },
        "inputArtifacts": [],
        "region": "us-west-2"
    }
]
```

------

## Consulte também
<a name="rule-reference-VariableCheck-links"></a>

Os recursos relacionados a seguir podem ajudar você a trabalhar com essa regra.
+ [Tutorial: criar uma regra de verificação de variável para um pipeline como uma condição de entrada](tutorials-varcheckrule.md): esta seção fornece um tutorial com etapas para criar uma condição Na entrada com uma regra de verificação de variáveis.
+ [Referência de variáveis](reference-variables.md): esta seção fornece informações de referência e exemplos para variáveis de pipeline.
+ Para obter mais informações sobre regras e condições, consulte [Condição](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_Condition.html) e [RuleExecution](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_RuleExecution.html)no *Guia da CodePipeline API*. [RuleTypeId](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_RuleTypeId.html)