Ошибка регистрации в блоке RUBY в Chef - PullRequest
0 голосов
/ 17 мая 2018

У меня есть следующий рецепт с рубиновым блоком.В идеале предполагается, что он запускает команду curl, но я изменил ее, чтобы она выполнялась как блок ruby, используя приведенный ниже URI

ruby_block 'Run Curl API' do
  block do
require 'net/http'
require 'uri'
require 'json'

uri = URI.parse("http://#{server}")
request = Net::HTTP::Post.new(uri)
request.content_type = "application/json"
request.body = JSON.dump({
  "customerId" => "#{customerId}",
  "cloudName" => "#{cloudName}",
  "vpcId" => "#{vpcId}",
})

req_options = {
  use_ssl: uri.scheme == "https",
}

response = Net::HTTP.start(uri.hostname, uri.port, req_options) do       |http|
  http.request(request)
end
# response.code
# response.body
  action :run
end

Как бы я вызвал команду chef :: log так, чтобы, если атрибут ""customerId "=>" # {customerId} ", не определен или при условии, что он должен отображаться как критическая ошибка ??

Спасибо

1 Ответ

0 голосов
/ 17 мая 2018

Внутри вашего ruby_block вы можете использовать Chef::Application.fatal!('message') и поставить его на необходимую проверку для неопределенного customerId.

...