2016-07-19 3 views
0

Я вижу, что мне нужно использовать метод change_resource_record_sets. Но какие параметры я предоставляю? У кого-нибудь есть пример?Как удалить запись CNAME с Route53 с помощью Ruby SDK

route53.change_resource_record_sets(
    { 
    hosted_zone_id: "/hostedzone/EXAMPLEID", 
    change_batch: { 
     changes: [ 
     { 
      action: "DELETE", 
      resource_record_set: { 
      name: "r9i.staging.example.com.", 
      type: "CNAME", 
      resource_records: [ 
       { value: "other.example.io" } 
      ], 
      alias_target: nil 
      } 
     } 
     ] 
    } 
    }) 

Возвращает:

Aws::Route53::Errors::InvalidInput: Invalid request 
from /Users/amir/.rvm/gems/ruby-2.2.1/gems/aws-sdk-core- 
2.2.3/lib/seahorse/client/plugins/raise_response_errors.rb:15:in 
`call' 
from /Users/amir/.rvm/gems/ruby-2.2.1/gems/aws-sdk-core- 
2.2.3/lib/aws-sdk-core/plugins/param_converter.rb:20:in `call' 
from /Users/amir/.rvm/gems/ruby-2.2.1/gems/aws-sdk-core- 
2.2.3/lib/seahorse/client/plugins/response_target.rb:21:in `call' 
from /Users/amir/.rvm/gems/ruby-2.2.1/gems/aws-sdk-core- 

2.2.3/Библиотека/конька/клиент/request.rb: 70: в send_request' from /Users/amir/.rvm/gems/ruby-2.2.1/gems/aws-sdk-core- 2.2.3/lib/seahorse/client/base.rb:207:in блоке (2 уровня) в define_operation_methods' из (IRB): 62

ответ

1

Похоже, что отсутствует TTL. Ниже работал для меня. Замените значение TTL на значение вашей записи.

require 'aws-sdk' 
r53 = Aws::Route53::Client.new(region:'us-east-1') 


r53.change_resource_record_sets(
    { 
hosted_zone_id: "/hostedzone/ZZZZZ", 
change_batch: { 
    changes: [ 
    { 
     action: "DELETE", 
     resource_record_set: { 
     name: "r9i.staging.example.com.", 
     type: "CNAME", 
     ttl: 300, 
     resource_records: [ 
      { value: "other.example.io" } 
     ], 
     alias_target: nil 
     } 
    } 
    ] 
} 
}) 
+0

Да, действительно. Это отсутствует в руководстве для разработчиков. Я скажу им. –