

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# ルール構造リファレンス
<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` パラメータの値は、アクションへの入力アーティファクトの名前の 1 つでなければなりません。CodeBuild は、このアーティファクトを解凍したものを含むディレクトリで buildspec のファイルを探し、buildspec コマンドを実行します。  
このパラメータは、CodeBuild アクションに複数の入力アーティファクトが指定されている場合に必要となります。アクションのソースアーティファクトが 1 つだけの場合、`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)」のパラメータ例を参照してください。  
各オブジェクトには 3 つの部分があり、それらはすべて文字列です。  
+ `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 Logs で正常に完了したコマンドルールのログを表示します。  
![\[コマンドルールを含むパイプラインの [ステータス] ページ\]](http://docs.aws.amazon.com/ja_jp/codepipeline/latest/userguide/images/commands-rule-status.png)  
![\[コマンドルールを持つパイプラインの CloudWatch の [ログ] ページ\]](http://docs.aws.amazon.com/ja_jp/codepipeline/latest/userguide/images/commands-rule-logs.png)
+ CodePipeline の他のアクションとは異なり、アクション設定ではフィールドを設定せず、アクション設定の外部でアクション設定フィールドを設定します。

## サービスロールのポリシーのアクセス許可
<a name="rule-reference-Commands-policy"></a>

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 つの必須フィールドと、空白で区切られた 1 つのオプションフィールドで構成されます。cron 式フィールドを使用すると、次のように cron 式でスケジュールパターンを指定できます。    
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/codepipeline/latest/userguide/rule-reference-DeploymentWindow.html)
+ すべての値を指定するには、「\$1」文字を使用します。例えば、分フィールドの「\$1」は「毎分」を意味します。
+ 「?」文字は、日フィールドと曜日フィールドで使用できます。「特定の値なし」を指定するために使用します。2 つのフィールドの一方だけに指定し、他方には指定する必要がない場合に便利です。
+ 「-」文字は範囲を指定するために使用します。例えば、時間フィールドの「10-12」は「10 時、11 時、12 時」を意味します。
+ 「,」文字は追加の値を指定するために使用します。例えば、曜日フィールドの「MON,WED,FRI」は、「月曜日、水曜日、金曜日」を意味します。
+ 「/」文字は増分を指定するために使用します。例えば、秒フィールドの「0/15」は「0 秒、15 秒、30 秒、45 秒」を意味します。また、秒フィールドの「5/15」は「5 秒、20 秒、35 秒、50 秒」を意味します。「/」の前に「\$1」を指定することは、開始値として 0 を指定することと同じです。
+ 「L」文字は、日フィールドと曜日フィールドで使用できます。この文字は「last」の省略文字ですが、2 つのフィールド間で意味が異なります。例えば、日フィールドの「L」値は「月末」を意味します。例えば、1 月 31 日、うるう年の 2 月 28 日などです。曜日フィールドで単独で使用した場合は、「7」または「土曜日」を意味します。ただし、別の値に続けて曜日フィールドで使用した場合は、「月の最後の <指定した曜日>」を意味します。例えば「6L」は「月の最後の金曜日」を意味します。また、月末からのオフセットを指定することもできます。例えば、「L-3」は月末の 3 日前を意味します。
+ 「W」文字は日フィールドで使用できます。この文字は、特定の日に最も近い平日 (月～金) を指定するために使用します。例えば、日フィールドの値として「15W」と指定すると、「月の 15 日に最も近い平日」を意味します。したがって、15 日が土曜日の場合、トリガーは 14 日の金曜日に発生します。15 日が日曜日の場合、トリガーは 16 日の月曜日に発生します。15 日が火曜日の場合、トリガーは 15 日の火曜日に発生します。
+ 「L」文字と「W」文字を日フィールドで組み合わせて「LW」と指定することもできます。これは、「月の最後の平日」を意味します。
+ 「\$1」文字は曜日フィールドで使用できます。この文字は、月の「n 番目」の <指定した曜日> を指定するために使用します。例えば、曜日フィールドの「6\$13」値は、月の第 3 金曜日を指定します。「6」= 金曜日、「\$13」= 月の 3 番目を意味します。
+ 有効な文字や、月と曜日の名前では大文字と小文字が区別されません。

**TimeZone**  
必須: いいえ  
デプロイウィンドウのタイムゾーン。正規表現は、以下の形式のパターンと一致します。  
+ **リージョン/都市の形式**。値は、リージョン/都市またはリージョン/都市\$1都市の形式のタイムゾーンと一致します。例えば、`America/New_York`、`Europe/Berlin` です。
+ **UTC 形式**。値は文字列 UTC に一致し、オプションで \$1HH:MM または -HH:MM の形式でオフセットが続きます。例えば、`UTC`、`UTC+05:30`、または `UTC-03:00` です。パラメータが特に設定されていない場合、これがデフォルト形式です。
+ **略語形式**。値は、タイムゾーンの 3～5 文字の略語と一致します。例えば、`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`
+ **一致** - 変数が特定の正規表現式と (文字列値として) 一致するかどうかをチェックするには、この演算子を選択します。

  CloudFormation のすべての正規表現は、Java の正規表現構文に準拠しています。Java の正規表現構文とそのコンストラクトの包括的な説明については、「[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 の例では、2 つの個別のルールを定義しています。1 つは \$1\$1SourceVariables.RepositoryName\$1 としてフォーマットされたリポジトリ名とブランチ名をチェックする `EQ` (等しい) ステートメント用で、もう 1 つは \$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)」を参照してください。