

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 규칙 구조 참조
<a name="rule-reference"></a>

이 섹션은 규칙 구성에 대한 참조일 뿐입니다. 파이프라인 구조의 개념적 개요는 [CodePipeline 파이프라인 구조 참조](reference-pipeline-structure.md) 단원을 참조하십시오.

CodePipeline의 각 규칙 공급자는 파이프라인 구조에서 필수 및 옵션 구성 필드 세트를 사용합니다. 이 섹션에는 다음과 같은 규칙 공급자별 참조가 나와 있습니다.
+ 파이프라인 구조 규칙 블록에 포함된 `RuleType` 필드의 유효한 값(예: `Owner` 및 `Provider`).
+ 파이프라인 구조 규칙 섹션에 포함된 `Configuration` 파라미터(필수 및 옵션)에 대한 설명 및 기타 참조 정보.
+ 유효한 예제 JSON 및 YAML 규칙 구성 필드.

참조 정보는 다음과 같은 규칙 공급자에 대해 사용할 수 있습니다.

**Topics**
+ [CloudWatchAlarm](rule-reference-CloudWatchAlarm.md)
+ [CodeBuild 규칙](rule-reference-CodeBuild.md)
+ [명령](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>

조건을 생성할 때 `CloudWatchAlarm` 규칙을 추가할 수 있습니다. 이 섹션에서는 규칙 파라미터에 대한 참조를 제공합니다. 규칙 및 조건에 대한 자세한 내용은 [스테이지 조건은 어떻게 작동하나요?](concepts-how-it-works-conditions.md) 섹션을 참조하세요.

Amazon CloudWatch에 별도의 리소스로 경보가 이미 생성되어 있어야 합니다.

**Topics**
+ [규칙 타입](#rule-reference-CloudWatchAlarm-type)
+ [구성 파라미터](#rule-reference-CloudWatchAlarm-config)
+ [규칙 구성의 예](#rule-reference-CloudWatchAlarm-example)
+ [다음 사항도 참조하세요.](#rule-reference-CloudWatchAlarm-links)

## 규칙 타입
<a name="rule-reference-CloudWatchAlarm-type"></a>
+ 범주: `Rule`
+ 소유자: `AWS`
+ 공급자: `CloudWatchAlarm`
+ 버전: `1`

## 구성 파라미터
<a name="rule-reference-CloudWatchAlarm-config"></a>

**AlarmName**  
필수 항목 여부: 예  
CloudWatch 경보의 이름입니다. 이는 CloudWatch에서 생성된 별도의 리소스입니다.

**AlarmStates**  
필수 여부: 아니요  
모니터링할 규칙에 대해 원하는 CloudWatch 경보 상태입니다. 유효한 값은 ALARM, OK 및 INSUFFICIENT\$1DATA입니다.

**WaitTime**  
필수 여부: 아니요  
규칙 결과를 실행하기 전에 상태 변경을 허용하는 분 단위의 대기 시간입니다. 예를 들어 규칙 결과를 적용하기 전에 경보 상태가 OK로 변경될 때까지 기다리도록 20분을 구성합니다.

## 규칙 구성의 예
<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"
                                }
                            ]
                        }
```

------

## 다음 사항도 참조하세요.
<a name="rule-reference-CloudWatchAlarm-links"></a>

이 규칙을 수행할 때 참조할 수 있는 관련 리소스는 다음과 같습니다.
+ [실패 시 조건 생성](stage-conditions.md#stage-conditions-onfailure) - 이 섹션에서는 경보 규칙으로 실패 시 조건을 생성하는 단계를 제공합니다.

# CodeBuild 규칙
<a name="rule-reference-CodeBuild"></a>

조건을 생성할 때 CodeBuild 규칙을 추가할 수 있습니다. 이 섹션에서는 규칙 파라미터에 대한 참조를 제공합니다. 규칙 및 조건에 대한 자세한 내용은 [스테이지 조건은 어떻게 작동하나요?](concepts-how-it-works-conditions.md) 섹션을 참조하세요.

CodeBuild 규칙을 사용하여 빌드 프로젝트의 성공적인 실행이 beforeEntry 조건에 대한 빌드 실행 성공과 같은 규칙 기준을 충족하는 조건을 생성할 수 있습니다.

**참고**  
**건너뛰기** 결과로 구성된 beforeEntry 조건의 경우 `LambdaInvoke` 및 `VariableCheck` 규칙만 사용할 수 있습니다.

**Topics**
+ [서비스 역할 정책 권한](#rule-reference-Commands-policy)
+ [규칙 타입](#rule-reference-Commands-type)
+ [구성 파라미터](#rule-reference-Commands-config)
+ [규칙 구성의 예](#rule-reference-Commands-example)
+ [다음 사항도 참조하세요.](#rule-reference-Commands-links)

## 서비스 역할 정책 권한
<a name="rule-reference-Commands-policy"></a>

이 규칙에 대한 권한의 경우 CodePipeline 서비스 역할 정책 문에 다음을 추가합니다. 권한을 리소스 수준으로 범위를 좁힙니다.

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

## 규칙 타입
<a name="rule-reference-Commands-type"></a>
+ 범주: `Rule`
+ 소유자: `AWS`
+ 공급자: `CodeBuild`
+ 버전: `1`

## 구성 파라미터
<a name="rule-reference-Commands-config"></a>

**ProjectName**  
필수 여부: 예  
`ProjectName`은 CodeBuild에서 빌드 프로젝트의 이름입니다.

**PrimarySource**  
필수 항목 여부: 조건부  
`PrimarySource` 파라미터 값은 작업에 대한 입력 아티팩트 중 하나의 이름이어야 합니다. CodeBuild는 buildspec 파일을 찾아 이 아티팩트의 압축 해제된 버전이 포함된 디렉터리에서 buildspec 명령을 실행합니다.  
CodeBuild 작업에 대해 여러 입력 아티팩트가 지정되는 경우 이 파라미터는 필수 항목입니다. 작업에 대해 소스 아티팩트가 하나만 있는 경우 해당 아티팩트의 기본값은 `PrimarySource` 아티팩트입니다.

**BatchEnabled**  
필수 여부: 아니요  
`BatchEnabled` 파라미터의 부울 값을 사용하면 작업이 동일한 빌드 실행에서 여러 빌드를 실행할 수 있습니다.  
이 옵션을 활성화하면 `CombineArtifacts` 옵션을 사용할 수 있습니다.  
배치 빌드가 활성화된 파이프라인 예제는 [CodePipeline과 CodeBuild 및 배치 빌드의 통합](https://docs.aws.amazon.com/codebuild/latest/userguide/sample-pipeline-batch.html)을 참조하세요.

**CombineArtifacts**  
필수 여부: 아니요  
`CombineArtifacts` 파라미터의 부울 값은 배치 빌드의 모든 빌드 아티팩트를 빌드 작업을 위한 단일 아티팩트 파일로 결합합니다.  
이 옵션을 사용하려면 `BatchEnabled` 파라미터를 활성화해야 합니다.

**EnvironmentVariables**  
필수 여부: 아니요  
이 파라미터의 값은 파이프라인의 CodeBuild 작업에 대한 환경 변수를 설정하는 데 사용됩니다. `EnvironmentVariables` 파라미터 값은 환경 변수 객체의 JSON 배열 형식을 취합니다. [작업 선언(CodeBuild 예제)](action-reference-CodeBuild.md#action-reference-CodeBuild-example)의 예제 파라미터를 참조하십시오.  
각 객체에는 세 부분이 있으며 모두 문자열입니다.  
+ `name`: 환경 변수의 이름 또는 키입니다.
+ `value`: 환경 변수의 값입니다. `PARAMETER_STORE` 또는 `SECRETS_MANAGER` 유형을 사용할 경우 이 값은 각각 이미 AWS Systems Manager Parameter Store에 저장한 파라미터 이름이거나 이미 AWS Secrets Manager에 저장한 암호여야 합니다.
**참고**  
환경 변수를 사용하여 중요한 값(특히 AWS 자격 증명)을 저장하는 것은 가급적 피해야 합니다. CodeBuild 콘솔 또는 AWS CLI를 사용하면 환경 변수가 일반 텍스트로 표시됩니다. 중요한 값의 경우 대신 `SECRETS_MANAGER` 유형을 사용하는 것이 좋습니다.
+ `type`: (선택 사항) 환경 변수의 유형입니다. 유효한 값은 `PARAMETER_STORE`, `SECRETS_MANAGER`또는 `PLAINTEXT`입니다. 지정하지 않으면 기본적으로 `PLAINTEXT`가 사용됩니다.
환경 변수 구성에 대해 `name`, `value` 및 `type`을 입력할 때, 특히 환경 변수에 CodePipeline 출력 변수 구문이 포함된 경우 구성 값 필드에 1000자 제한을 초과하지 마십시오. 이 제한을 초과하면 확인 오류가 반환됩니다.
자세한 내용을 알아보려면 AWS CodeBuild API 참조의 [EnvironmentVariable](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_EnvironmentVariable.html)을 참조하세요. GitHub 브랜치 이름으로 확인되는 환경 변수를 포함하는 CodeBuild 작업의 예는 [예: CodeBuild 환경 변수와 함께 BranchName 변수 사용](actions-variables.md#actions-variables-examples-env-branchname) 섹션을 참조하세요.

## 규칙 구성의 예
<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"
}
```

------

## 다음 사항도 참조하세요.
<a name="rule-reference-Commands-links"></a>

이 규칙을 수행할 때 참조할 수 있는 관련 리소스는 다음과 같습니다.
+ 규칙 및 조건에 대한 자세한 내용은 *CodePipeline API 가이드*의 [조건](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_Condition.html), [RuleTypeId](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_RuleTypeId.html) 및 [RuleExecution](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_RuleExecution.html)을 참조하세요.

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

조건을 생성할 때 `Commands` 규칙을 추가할 수 있습니다. 이 섹션에서는 규칙 파라미터에 대한 참조를 제공합니다. 규칙 및 조건에 대한 자세한 내용은 [스테이지 조건은 어떻게 작동하나요?](concepts-how-it-works-conditions.md) 섹션을 참조하세요.

`Commands` 규칙을 사용하여 성공한 명령이 beforeEntry 조건에 성공하는 명령의 출력 및 파일 경로와 같은 규칙 기준을 충족하는 조건을 생성할 수 있습니다.

**참고**  
**건너뛰기** 결과로 구성된 beforeEntry 조건의 경우 `LambdaInvoke` 및 `VariableCheck` 규칙만 사용할 수 있습니다.

**Topics**
+ [명령 규칙에 대한 고려 사항](#rule-reference-Commands-considerations)
+ [서비스 역할 정책 권한](#rule-reference-Commands-policy)
+ [규칙 타입](#rule-reference-Commands-type)
+ [구성 파라미터](#rule-reference-Commands-config)
+ [규칙 구성의 예](#rule-reference-Commands-example)
+ [다음 사항도 참조하세요.](#rule-reference-Commands-links)

## 명령 규칙에 대한 고려 사항
<a name="rule-reference-Commands-considerations"></a>

명령 규칙에는 다음 고려 사항이 적용됩니다.
+ 명령 규칙은 CodeBuild 작업과 유사한 CodeBuild 리소스를 사용하는 동시에 빌드 프로젝트를 연결하거나 생성할 필요 없이 가상 컴퓨팅 인스턴스에서 쉘 환경 명령을 허용합니다.
**참고**  
명령 규칙을 실행하면 별도의 요금이 발생합니다 AWS CodeBuild.
+ CodePipeline의 명령 규칙은 CodeBuild 리소스를 사용하기 때문에 작업에서 실행되는 빌드는 CodeBuild에서 계정의 빌드 제한에 귀속됩니다. 명령 규칙에서 실행되는 빌드는 해당 계정에 구성된 동시 빌드 제한에 포함됩니다.
+ CodeBuild 빌드를 기반으로 할 때 명령 규칙을 사용한 빌드의 제한 시간은 55분입니다.
+ 컴퓨팅 인스턴스는 CodeBuild에서 격리된 빌드 환경을 사용합니다.
**참고**  
격리된 빌드 환경은 계정 수준에서 사용되므로 인스턴스를 다른 파이프라인 실행에 재사용할 수 있습니다.
+ 다중 라인 형식을 제외한 모든 형식이 지원됩니다. 명령을 입력할 때는 단일 줄 형식을 사용해야 합니다.
+ 이 규칙의 경우 CodePipeline은 파이프라인 서비스 역할을 수행하고 해당 역할을 사용하여 런타임 시 리소스에 대한 액세스를 허용합니다. 권한 범위가 작업 수준까지 내려가도록 서비스 역할을 구성하는 것이 좋습니다.
+ CodePipeline 서비스 역할에 추가된 권한은 [CodePipeline 서비스 역할에 권한 추가](how-to-custom-role.md#how-to-update-role-new-services)에 자세히 설명되어 있습니다.
+ 콘솔에서 로그를 보는 데 필요한 권한은 [콘솔에서 컴퓨팅 로그를 보는 데 필요한 권한](security-iam-permissions-console-logs.md)에 자세히 설명되어 있습니다. 다음 예제 화면에서 **로그** 링크를 사용하여 CloudWatch 로그에서 성공적인 명령 규칙에 대한 로그를 봅니다.  
![\[명령 규칙이 있는 파이프라인의 상태 페이지\]](http://docs.aws.amazon.com/ko_kr/codepipeline/latest/userguide/images/commands-rule-status.png)  
![\[명령 규칙이 있는 파이프라인에 대한 CloudWatch의 로그 페이지\]](http://docs.aws.amazon.com/ko_kr/codepipeline/latest/userguide/images/commands-rule-logs.png)
+ CodePipeline의 다른 작업과 달리 작업 구성에서는 필드를 설정하지 않고 작업 구성 외부에서 작업 구성 필드를 설정합니다.

## 서비스 역할 정책 권한
<a name="rule-reference-Commands-policy"></a>

CodePipeline이 규칙을 실행하면 CodePipeline은 다음과 같이 파이프라인 이름을 사용하여 로그 그룹을 생성합니다. 이렇게 하면 파이프라인 이름을 사용하여 리소스를 로깅할 수 있는 권한을 범위 아래로 지정할 수 있습니다.

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

기존 서비스 역할을 사용하는 경우 명령 작업을 사용하려면 서비스 역할에 대해 다음 권한을 추가해야 합니다.
+ logs:CreateLogGroup
+ logs:CreateLogStream
+ logs:PutLogEvents

서비스 역할 정책 설명에서 다음 예제와 같이 파이프라인 수준까지 권한의 범위를 좁힙니다.

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

작업 세부 정보 대화 상자를 사용하여 콘솔에서 로그를 보려면 로그를 볼 수 있는 권한을 콘솔 역할에 추가해야 합니다. 자세한 내용은 [콘솔에서 컴퓨팅 로그를 보는 데 필요한 권한](security-iam-permissions-console-logs.md)에서 콘솔 권한 정책 예제를 참조하세요.

## 규칙 타입
<a name="rule-reference-Commands-type"></a>
+ 범주: `Rule`
+ 소유자: `AWS`
+ 공급자: `Commands`
+ 버전: `1`

## 구성 파라미터
<a name="rule-reference-Commands-config"></a>

**명령**  
필수 항목 여부: 예  
실행할 `Commands` 규칙에 쉘 명령을 제공할 수 있습니다. 콘솔에서 명령은 별도의 줄에 입력됩니다. CLI에서 명령은 별도의 문자열로 입력됩니다.  
다중 라인 형식은 지원되지 않으며 오류 메시지가 표시됩니다. **명령** 필드에 명령을 입력하려면 단일 줄 형식을 사용해야 합니다.
다음 세부 정보는 명령 규칙에 사용되는 기본 컴퓨팅을 제공합니다. 자세한 내용은 CodeBuild 사용 설명서의 [빌드 환경 컴퓨팅 모드 및 유형](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html)을 참조하세요.  
+ **CodeBuild 이미지:** aws/codebuild/amazonlinux2-x86\$164-standard:5.0
+ **컴퓨팅 유형:** Linux Small
+ **환경 computeType 값:** BUILD\$1GENERAL1\$1SMALL
+ **환경 유형 값:** LINUX\$1CONTAINER

## 규칙 구성의 예
<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"
        }
    ]
}
```

------

## 다음 사항도 참조하세요.
<a name="rule-reference-Commands-links"></a>

이 규칙을 수행할 때 참조할 수 있는 관련 리소스는 다음과 같습니다.
+ 규칙 및 조건에 대한 자세한 내용은 *CodePipeline API 가이드*의 [조건](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_Condition.html), [RuleTypeId](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_RuleTypeId.html) 및 [RuleExecution](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_RuleExecution.html)을 참조하세요.

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

조건을 생성할 때 `DeploymentWindow` 규칙을 추가할 수 있습니다. 이 섹션에서는 규칙 파라미터에 대한 참조를 제공합니다. 규칙 및 조건에 대한 자세한 내용은 [스테이지 조건은 어떻게 작동하나요?](concepts-how-it-works-conditions.md) 섹션을 참조하세요.

**Topics**
+ [규칙 타입](#rule-reference-DeploymentWindow-type)
+ [구성 파라미터](#rule-reference-DeploymentWindow-config)
+ [규칙 구성의 예](#rule-reference-DeploymentWindow-example)
+ [다음 사항도 참조하세요.](#rule-reference-DeploymentWindow-links)

## 규칙 타입
<a name="rule-reference-DeploymentWindow-type"></a>
+ 범주: `Rule`
+ 소유자: `AWS`
+ 공급자: `DeploymentWindow`
+ 버전: `1`

## 구성 파라미터
<a name="rule-reference-DeploymentWindow-config"></a>

**Cron**  
필수 항목 여부: 예  
배포가 허용되는 날짜와 시간을 정의하는 표현식입니다. Cron 표현식은 6개의 필수 필드와 공백으로 구분된 하나의 선택적 필드로 구성됩니다. cron 표현식 필드를 사용하면 다음과 같이 cron 표현식을 사용하여 일정 패턴을 지정할 수 있습니다.    
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/codepipeline/latest/userguide/rule-reference-DeploymentWindow.html)
+ '\$1' 문자는 모든 값을 지정하는 데 사용됩니다. 예를 들어 분 필드의 ‘\$1’는 ‘매분’을 의미합니다.
+ 날짜 및 요일 필드에는 '?' 문자가 허용됩니다. 이 문자는 '특정 값 없음'을 지정하는 데 사용됩니다. 두 필드 중 하나에 무언가를 지정해야 하지만 다른 필드에는 지정하지 않아도 되는 경우에 유용합니다.
+ '-' 문자는 범위를 지정하는 데 사용됩니다. 예를 들어 시간 필드의 '10\$112'는 '10, 11, 12시간’을 의미합니다.
+ ',' 문자는 추가 값을 지정하는 데 사용됩니다. 예를 들어 요일 필드의 ‘MON,WED,FRI’는 ‘월요일, 수요일, 금요일’을 의미합니다.
+ '/' 문자는 증분을 지정하는 데 사용됩니다. 예를 들어 초 필드의 ‘0/15’는 ‘0, 15, 30, 45초’를 의미합니다. 초 필드의 ‘5/15’는 ‘5, 20, 35, 50초’를 의미합니다. '/' 앞에 '\$1'를 지정하는 것은 시작할 값을 0으로 지정하는 것과 같습니다.
+ 날짜 및 요일 필드에는 'L' 문자가 허용됩니다. 이 문자는 ‘last’의 약자이지만 두 필드 각각에서 의미가 다릅니다. 예를 들어, 날짜 필드의 값 ‘L’은 ‘해당 월의 마지막 날’을 의미합니다. 1월의 경우 31일, 윤년이 아닌 2월의 경우 28일입니다. 요일 필드에 단독으로 사용되는 경우, 단순히 ‘7’ 또는 ‘SAT’를 의미합니다. 하지만 다른 값 뒤에 있는 요일 필드에 사용하는 경우 '해당 월의 마지막 <specified\$1day>일'을 의미합니다. 예를 들어 '6L'은 '월의 마지막 금요일'을 의미합니다. 또한 해당 월의 마지막 날부터의 오프셋을 지정할 수도 있습니다. 예를 들어 ‘L-3’은 달력 월의 셋째날부터 마지막 날까지를 의미합니다.
+ 날짜 필드에는 'W' 문자가 허용됩니다. 이 문자는 지정된 날짜에 가장 가까운 평일(월요일\$1금요일)을 지정하는 데 사용됩니다. 예를 들어 '15W'를 날짜 필드 값으로 지정하면 ‘해당 월에서 15일에 가장 가까운 평일'을 의미합니다. 따라서 15일이 토요일인 경우 트리거는 14일 금요일에 실행됩니다. 15일이 일요일인 경우 트리거는 16일 월요일에 실행됩니다. 15일이 화요일인 경우 15일 화요일에 실행됩니다.
+ 'L' 문자와 'W' 문자를 결합하여 'LW'를 만들 수도 있습니다. 이 표현식은 '해당 월의 마지막 평일'로 해석됩니다.
+ 요일 필드에는 '\$1' 문자가 허용됩니다. 이 문자는 해당 월의 ‘n 번째’ <specified\$1day>일을 지정하는 데 사용됩니다. 예를 들어, 요일 필드의 ‘6\$13’ 값은 해당 월의 세 번째 금요일(6번째 날 = 금요일, ‘\$13’ = 해당 월의 세 번째 금요일)을 의미합니다.
+ 적합한 문자와 월 및 일의 이름은 대소문자를 구분하지 않습니다.

**   TimeZone**  
필수 여부: 아니요  
배포 창의 시간대입니다. 정규식은 다음 형식의 패턴과 일치합니다.  
+ **리전/도시 형식**. 값은 Region/City 또는 Region/City\$1City 형식의 시간대와 일치합니다. 예: `America/New_York` 또는 `Europe/Berlin`.
+ **UTC 형식**. 값은 문자열 UTC와 선택적으로 일치하고, 그 다음에 \$1HH:MM 또는 -HH:MM 형식의 오프셋이 옵니다. 예를 들면 `UTC`, `UTC+05:30` 또는 `UTC-03:00`입니다. 이는 파라미터가 다르게 설정되지 않은 경우 기본값입니다.
+ **약어 형식**. 값은 시간대의 3\$15자 약어와 일치합니다. 예: `EST` 또는 `IST`.

  유효한 TimeZoneID 값의 표는 [https://docs.oracle.com/middleware/1221/wcs/tag-ref/MISC/TimeZones.html](https://docs.oracle.com/middleware/1221/wcs/tag-ref/MISC/TimeZones.html)을 참조하세요. 중부 표준시, 중국 표준시, 쿠바 표준시를 나타내는 CST와 같이 특정 약어는 중복됩니다.

## 규칙 구성의 예
<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"
                    }
                ]
```

------

## 다음 사항도 참조하세요.
<a name="rule-reference-DeploymentWindow-links"></a>

이 규칙을 수행할 때 참조할 수 있는 관련 리소스는 다음과 같습니다.
+ [성공 시 조건 생성](stage-conditions.md#stage-conditions-onsuccess) - 이 섹션에서는 배포 창 규칙을 사용하여 성공 사 조건을 생성하는 단계를 제공합니다.
+ 규칙 및 조건에 대한 자세한 내용은 *CodePipeline API 가이드*의 [조건](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_Condition.html), [RuleTypeId](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_RuleTypeId.html) 및 [RuleExecution](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_RuleExecution.html)을 참조하세요.

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

조건을 생성할 때 `LambdaInvoke` 규칙을 추가할 수 있습니다. 이 섹션에서는 규칙 파라미터에 대한 참조를 제공합니다. 규칙 및 조건에 대한 자세한 내용은 [스테이지 조건은 어떻게 작동하나요?](concepts-how-it-works-conditions.md) 섹션을 참조하세요.

Lambda에 별도의 리소스로 함수가 이미 생성되어 있어야 합니다.

**Topics**
+ [규칙 타입](#rule-reference-CloudWatchAlarm-type)
+ [구성 파라미터](#rule-reference-LambdaInvoke-config)
+ [규칙 구성의 예](#rule-reference-LambdaInvoke-example)
+ [다음 사항도 참조하세요.](#rule-reference-LambdaInvoke-links)

## 규칙 타입
<a name="rule-reference-CloudWatchAlarm-type"></a>
+ 범주: `Rule`
+ 소유자: `AWS`
+ 공급자: `LambdaInvoke`
+ 버전: `1`

## 구성 파라미터
<a name="rule-reference-LambdaInvoke-config"></a>

**FunctionName**  
필수 여부: 예  
Lambda 함수의 이름입니다.

**UserParameters**  
필수 여부: 아니요  
키 값 페어 형식의 함수에 대한 입력으로 제공되는 파라미터입니다.

## 규칙 구성의 예
<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"
    }
]
```

------

## 다음 사항도 참조하세요.
<a name="rule-reference-LambdaInvoke-links"></a>

이 규칙을 수행할 때 참조할 수 있는 관련 리소스는 다음과 같습니다.
+ [실패 시 조건 생성](stage-conditions.md#stage-conditions-onfailure) - 이 섹션에서는 경보 규칙으로 실패 시 조건을 생성하는 단계를 제공합니다.

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

조건을 생성할 때 `VariableCheck` 규칙을 추가할 수 있습니다. 이 섹션에서는 규칙 파라미터에 대한 참조를 제공합니다. 규칙 및 조건에 대한 자세한 내용은 [스테이지 조건은 어떻게 작동하나요?](concepts-how-it-works-conditions.md) 섹션을 참조하세요.

`VariableCheck` 규칙을 사용하여 출력 변수가 제공된 표현식에 대해 확인되는 조건을 생성할 수 있습니다. 규칙은 변수 값이 지정된 출력 변수와 같거나 큰 값과 같은 규칙 기준을 충족할 때 확인을 전달합니다.

**Topics**
+ [규칙 타입](#rule-reference-VariableCheck-type)
+ [구성 파라미터](#rule-reference-VariableCheck-config)
+ [규칙 구성의 예](#rule-reference-VariableCheck-example)
+ [다음 사항도 참조하세요.](#rule-reference-VariableCheck-links)

## 규칙 타입
<a name="rule-reference-VariableCheck-type"></a>
+ 범주: `Rule`
+ 소유자: `AWS`
+ 공급자: `VariableCheck`
+ 버전: `1`

## 구성 파라미터
<a name="rule-reference-VariableCheck-config"></a>

**연산자**  
필수 항목 여부: 예  
변수 확인을 위해 수행할 작업을 나타내는 연산자입니다.  
다음 예제에서는 리포지토리 이름의 출력 변수가 `MyDemoRepo`와 동일한지 확인합니다.  

```
        "configuration": {
            "Variable": "#{SourceVariables.RepositoryName}",
            "Value": "MyDemoRepo",
            "Operator": "EQ"
        },
```
다음 연산자를 사용하여 다음과 같이 표현식을 생성할 수 있습니다.  
+ **같음** - 변수가 문자열 값과 동일한지 확인하려면 이 연산자를 선택합니다.

  **CLI 파라미터:** `EQ`
+ **포함** - 변수에 문자열 값이 하위 문자열로 포함되어 있는지 확인하려면 이 연산자를 선택합니다.

  **CLI 파라미터:** `CONTAINS`
+ **일치** - 변수가 문자열 값으로 지정된 정규식과 일치하는지 확인하려면 이 연산자를 선택합니다.

  CodePipeline의 모든 정규식은 Java regex 구문을 따릅니다. Java regex 구문과 그 구조에 대한 포괄적인 설명은 [java.util.regex.Pattern](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/regex/Pattern.html)을 참조하세요.

  **CLI 파라미터:** `MATCHES`
+ **같이 않음** - 변수가 문자열 값과 같지 않은지 확인하려면 이 연산자를 선택합니다.

  **CLI 파라미터:** `NE`

**변수**  
필수 항목 여부: 예  
확인할 파이프라인 변수입니다.

**값**  
필수 항목 여부: 예  
확인할 표현식의 값입니다.  
다음 예제에서는 리포지토리 이름의 출력 변수가 `MyDemoRepo`와 동일한지 확인합니다.  

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

다음 JSON 예제에서는 두 가지 별도의 규칙이 정의되어 있습니다. 하나는 \$1\$1SourceVariables.RepositoryName\$1 형식의 리포지토리 및 브랜치 이름을 확인하는 `EQ`(같음) 문이고, 다른 하나는 \$1\$1SourceVariables.CommitMessage\$1 형식의 커밋 메시지 출력 변수를 'update' 값에 대해 확인하는 `CONTAINS`입니다.

```
  "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"
                                }
                            ]
                        }
                    ]
                }
            }
        ],
```

## 규칙 구성의 예
<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"
    }
]
```

------

## 다음 사항도 참조하세요.
<a name="rule-reference-VariableCheck-links"></a>

이 규칙을 수행할 때 참조할 수 있는 관련 리소스는 다음과 같습니다.
+ [자습서: 입력 조건으로 파이프라인에 대한 변수 확인 규칙 생성](tutorials-varcheckrule.md) - 이 섹션에서는 가변 확인 규칙을 사용하여 입력 시 조건을 생성하는 단계를 포함하는 자습서를 제공합니다.
+ [변수 참조](reference-variables.md) - 이 섹션에서는 파이프라인 변수에 대한 참조 정보와 예제를 제공합니다.
+ 규칙 및 조건에 대한 자세한 내용은 *CodePipeline API 가이드*의 [조건](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_Condition.html), [RuleTypeId](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_RuleTypeId.html) 및 [RuleExecution](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_RuleExecution.html)을 참조하세요.