使用雾,如何更改disable_api_termination的值?

时间:2014-03-31 23:04:38

标签: amazon-web-services fog

以下是我的尝试:

@cloud = Fog::Compute::New(<SECRET STUFF HERE>)
server = @cloud.servers.get('i-abcdef12')

attrs = {
    "disable_api_termination" => true 
}

@cloud.modify_instance_attribute(server.id,attrs)

.rvm / gems / ruby​​-1.9.2-p320 / gems / excon-0.31.0 / lib / excon / middlewares / expected.rb:10:in`response_call':UnknownParameter =&gt;无法识别参数disable_api_termination(Fog :: Compute :: AWS :: Error)

谢谢!

1 个答案:

答案 0 :(得分:1)

attrs应该只是一个哈希(不是哈希数组)。如果将attrs分配更改为:

attrs = {
  "DisableApiTermination.Value" => true 
}

我认为它应该适合你。

编辑:将密钥设为字符串而不是符号。

编辑:现在意识到它通过raw传递而不是重新映射东西,所以我们需要明确地匹配api期望的内容。