とりあえず IP address の確認から、っていきなり見当たらず焦るなど。以下なのか。
- Address
- associateIpAddress
- listPublicIpAddress
- disassociateIpAddress
とは言え、今回は Fog から云々、ってのは想定してなくて、IP 確保しといて ID が分かってれば OK ですね。
とりあえず、近々で使うのは list_public_ip_addresses なのか。て、何も出力されません。
@compute.list_public_ip_addresses({'listall' => true})
こちら、固定で対応の方向なのでコンパネから拾う事に (弱
ぐぬ
以下で確認できたorz
p @compute.list_public_ip_addresses({'listall' => true})
阿呆だorz
閑話休題
とりあえず listPortForwardingRules の戻りが以下な模様。
{"listportforwardingrulesresponse"=>
{"count"=>1,
"portforwardingrule"=>[{"id"=>22222,
"privateport"=>"22",
"privateendport"=>"22",
"protocol"=>"tcp",
"publicport"=>"9999",
"publicendport"=>"9999",
"virtualmachineid"=>33333,
"virtualmachinename"=>"fugahoge-VM",
"virtualmachinedisplayname"=>"devopsOkinawa#1",
"ipaddressid"=>4444,
"ipaddress"=>"192.168.255.254",
"state"=>"Active",
"cidrlist"=>""}]}}
入力してた項目としては
- {private, publid} な port
- vm な ID 指定で良いのかどうか
- IP も ID 指定で良いはず
createPortForwardingRule に必要なパラメータとしては
- ipaddressid
- privateport
- protocol
- publicport
- virtualmachineid
とのこと。ある意味ここが指定できれば OK ということなのか。以下なカンジなのかどうか。
@compute.create_port_forwarding_rule ({
'ipaddressid' => ""
'privateport' => ""
'protocol' => ""
'publicport' => ""
'virtualmachineid' => "" })
p @compute.list_port_forwarding_rules({'ipaddressid' => ""})
とりあえず、仮想リソースを deploy して確認してみる。
結果
楽勝で OK でした。すばらです。あと destroy も仕込んで試験しとく方向。何かあれば追記の方向にて。
追記
削除も確認。destroy ではなくて delete でしたね。
あと、いちいちスクリプトを修正しなきゃ、なあたりもなんとかしたい。