私はTroposphereを使用して CloudFormation スタックを構築していますが、構成で設定されている場合にのみ Elastic Load Balancer 属性を渡しConnectionSettings
たいと考えています。それ以外の場合は指定したくありません。
デフォルトに設定するとNone
、値が期待される型ではないというエラーが表示されtroposphere.elasticloadbalancing.ConnectionSettings
ます。
他の設定を上書きする可能性があるため、呼び出しで明示的なデフォルトを設定することは避けたいと思います。
理想的には、既存のオブジェクトに属性を追加できるようにしたいと考えています。
lb = template.add_resource(elb.LoadBalancer(
...
))
if condition:
lb.add_attribute(ConnectionSettings = elb.ConnectionSettings(
...
))
それを達成する方法はありますか?
更新:私は隠しTroposphere
メソッドを使用してそれを達成しましたが、これは機能しますが、満足していません:
if condition:
lb.__setattr__('ConnectionSettings', elb.ConnectionSettings(
....
))
モジュールの外部からのプライベート メソッドの使用を伴わないソリューションにまだ興味があります。