

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

# カスタム オプション
<a name="configuration-options-custom"></a>

オプションおよび他の設定ファイルの `aws:elasticbeanstalk:customoption` ブロックで読み取りが可能な値を定義するために、`Resources` 名前空間を使用します。単一の設定ファイルでユーザー指定の設定を収集するために、カスタムオプションを使用します。

たとえば、環境を起動するユーザーにより設定される、リソースを定義する複雑な設定ファイルがあるとします。カスタムオプションの値を取得するために `Fn::GetOptionSetting` を使用する場合は、ユーザーにより簡単に検出でき、修正できる、別の設定ファイルのオプションの定義を指定できます。

また、設定オプションであるため、カスタムオプションは API レベルで設定ファイルの値を上書きするように設定できます。詳細については、「[優先順位](command-options.md#configuration-options-precedence)」を参照してください。

カスタムオプションは、その他のオプションと同様に定義されます。

```
option_settings:
  aws:elasticbeanstalk:customoption:
    {{option name}}: {{option value}}
```

たとえば、次の設定ファイルは `ELBAlarmEmail` という名前のオプションを作成し、`someone@example.com` に値を設定します。

```
option_settings:
  aws:elasticbeanstalk:customoption:
    ELBAlarmEmail: someone@example.com
```

他の場所で、設定ファイルは `Fn::GetOptionSetting` 属性の値を入力するために、`Endpoint` でオプションを読み取る SNS トピックを定義します。

```
Resources:
  MySNSTopic:
    Type: AWS::SNS::Topic
    Properties:
      Subscription:
        - Endpoint: 
            Fn::GetOptionSetting:
              OptionName: ELBAlarmEmail
              DefaultValue: nobody@example.com
          Protocol: email
```

`Fn::GetOptionSetting` を使用したスニペットの他の例は、[Elastic Beanstalk 環境リソースの追加とカスタマイズ](environment-resources.md) にあります。