勢いで実装できそうだったので、実装してみました。
mappru -e -o RouteTable
でVPC Route Tableをエクスポートして、mappru -a
でRouteTableファイルを適用します。ファイルに書いてないVPC・Route Tableは管理対象外となります。
あと、重要な点ですがS3エンドポイントはAPIが異なるため今のところ管理できません。無視します。
DSLは以下のような感じです。
require 'other/tablefile' vpc "vpc-12345678" do route_table "foo-rt" do subnets "subnet-12345678" route destination_cidr_block: "0.0.0.0/0", gateway_id: "igw-12345678" route destination_cidr_block: "192.168.100.101/32", network_interface_id: "eni-12345678" # 今のところ、network_interface_idで指定するようにしてます。instance_idは指定できません end route_table "bar-rt" do subnets "subnet-87654321" route destination_cidr_block: "192.168.100.102/32", network_interface_id: "eni-87654321" end # Undefined Route Table will be ignored end # Undefined VPC will be ignored
一応、基本的な動作確認はしていますし、運用にも乗せるつもりではありますが、影響範囲が大きいのでご利用する場合はご注意を…