2017-02-28 3 views
0

ネストされたテンプレート設定があり、サブネット値を子ELBテンプレートに渡そうとしています。しかし、私はValue of property Subnets must be of type List of Stringエラーを取得し続けます。 これは私が親テンプレートに値を設定しています方法です:サブネットパラメータがクラウドフォーメーションテンプレートの入力としてリストを受け入れないaws

ELBSubnetAZ: !FindInMap [ AccountSettings, !Ref "ChefServerRegion", ELBSubnetAZ ] 

これは私がで値を使用しています方法です:

ELBSubnetAZ: "subnet-*****,subnet-****" 

これは私が子供のテンプレートに値を渡しています方法です子テンプレート:私も試した

ELBSubnetAZ: 
Description: "ELB Subnet 1" 
Type: "List<AWS::EC2::Subnet::Id>" 

ELBSubnetAZ: 
    Description: "ELB Subnet 1" 
    Type: CommaDelimitedList 
リソースには

Subnets: 
     - !Ref ELBSubnetAZ 

私は親テンプレートからサブネットの単一の値を渡すと子の文字列変数として受け入れる場合、それはすべてが正常に動作します。 私は何が欠けていますか?ここで

+0

この問題は、親テンプレート。より大きなスニペット、特にサブネットIDを子スタックに渡すスニペットを投稿できますか? – spg

+0

@spg私はこれらの値を渡すことを除いて私の親テンプレートではあまりやっていません。また、親テンプレート内のパラメータタイプを定義していません。 –

答えて

0

は、私はそれを解決する方法である:

私は親テンプレートに変更を加えるdidntのが、子テンプレートで、私は文字列として値を受信して​​、Fnキーを使用して、リストにして文字列を分割:: Split関数を。幸いにも、Fn :: Split関数の出力はListを返します。私のリソースで

ELBSubnetAZ: 
    Description: "ELB Subnets" 
    Type: String 

、これは私がそれを分割しています方法です:

Subnets: { "Fn::Split" : [ ",", { "Ref":"ELBSubnetAZ" } ] } 
0

私は同じ問題に遭遇しました。 ELBをして展開するための私の元AWS CFテンプレート:

Parameters: 
    ELBSubnetID: 
    Type: 'List<AWS::EC2::Subnet::Id>' 
    Description: Subnet ID for ELB 
Resources: 
    MyLoadBalancer: 
    Type: 'AWS::ElasticLoadBalancing::LoadBalancer' 
    Properties: 
     Listeners: 
     - LoadBalancerPort: '80' 
      InstancePort: '80' 
      Protocol: HTTP 
     Subnets: 
     - !Ref ELBSubnetID 

私はAWS CFでスタックを作成するためのテンプレートを使用する場合、このエラーメッセージ投げた:私はサブネットを固定

Value of property Subnets must be of type List of String 

のプロパティセクションを次のように入力して、スタックを正常に作成できました。

Parameters: 
    ELBSubnetID: 
    Type: 'List<AWS::EC2::Subnet::Id>' 
    Description: Subnet ID for ELB 
Resources: 
    MyLoadBalancer: 
    Type: 'AWS::ElasticLoadBalancing::LoadBalancer' 
    Properties: 
     Listeners: 
     - LoadBalancerPort: '80' 
      InstancePort: '80' 
      Protocol: HTTP 
     Subnets: 
     - !Join 
      - ',' 
      - !Ref ELBSubnetID 
関連する問題