

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

# カスタム CloudFormation フックを開発するための前提条件
<a name="hooks-prerequisites"></a>

Java または Python でカスタムフックを開発できます。カスタムフックを開発するための前提条件は次のとおりです。

**Java の前提条件**
+ [Apache Maven](https://maven.apache.org/install.html)
+ [JDK 17](https://www.oracle.com/java/technologies/downloads/#java17)
**注記**  
[CloudFormation コマンドラインインターフェイス (CLI) ](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/what-is-cloudformation-cli.html)を使用して Java 用の Hooks プロジェクトを開始する場合は、Python 3.8 以降もインストールする必要があります。CloudFormation CLI の Java プラグインは、 `pip` (Python のパッケージマネージャー) を介してインストールできます。この は Python でディストリビューションされます。

Java Hooks プロジェクトにフックハンドラーを実装するには、[Java Hook ハンドラーのサンプルファイルを](samples/java-handlers.zip)ダウンロードできます。

**Python の前提条件**
+ [Python バージョン 3.8](https://www.python.org/downloads/) 以降。

Python Hooks プロジェクトのフックハンドラーを実装するには、[Python Hook ハンドラーのサンプルファイルを](samples/python-handlers.zip)ダウンロードできます。

## フックを開発するためのアクセス許可
<a name="hooks-development-permissions"></a>

CloudFormation `Create`、、`Update`および `Delete`スタックのアクセス許可に加えて、次の AWS CloudFormation オペレーションにアクセスする必要があります。これらのオペレーションへのアクセスは、IAM ロールの CloudFormation ポリシーを通じて管理されます。
+ [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/register-type.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/register-type.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/list-types.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/list-types.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/deregister-type.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/deregister-type.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/set-type-configuration.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/set-type-configuration.html)

詳細については、「[CloudFormation フックの IAM アクセス許可を付与する](grant-iam-permissions-for-hooks.md)」を参照してください。

## Hooks の開発環境を設定する
<a name="hooks-environment"></a>

Hooks を開発するには、[CloudFormation テンプレート](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-guide.html)と Python または Java に精通している必要があります。

 

**CloudFormation CLI および関連するプラグインをインストールするには:**

1. Python パッケージマネージャー`pip`である を使用して CloudFormation CLI をインストールします。

   ```
   pip3 install cloudformation-cli
   ```

1. CloudFormation CLI 用の Python または Java プラグインをインストールします。

------
#### [ Python ]

   ```
   pip3 install cloudformation-cli-python-plugin
   ```

------
#### [ Java ]

   ```
   pip3 install cloudformation-cli-java-plugin
   ```

------

CloudFormation CLI とプラグインをアップグレードするには、アップグレードオプションを使用できます。

------
#### [ Python ]

```
pip3 install --upgrade cloudformation-cli cloudformation-cli-python-plugin
```

------
#### [ Java ]

```
pip3 install --upgrade cloudformation-cli cloudformation-cli-java-plugin
```

------