module Sensu::Settings::Validators::API
Public Instance Methods
validate_api(api)
click to toggle source
Validate a Sensu
API
definition. Validates: port, bind
@param api [Hash] sensu api definition.
# File lib/sensu/settings/validators/api.rb, line 50 def validate_api(api) must_be_a_hash_if_set(api) || invalid(api, "api must be a hash") if is_a_hash?(api) must_be_an_integer_if_set(api[:port]) || invalid(api, "api port must be an integer") must_be_a_string_if_set(api[:bind]) || invalid(api, "api bind must be a string") validate_api_authentication(api) validate_api_endpoints(api) if api[:endpoints] end end
validate_api_authentication(api)
click to toggle source
Validate API
authentication. Validates: user, password
@param api [Hash] sensu api definition.
# File lib/sensu/settings/validators/api.rb, line 9 def validate_api_authentication(api) if either_are_set?(api[:user], api[:password]) must_be_a_string(api[:user]) || invalid(api, "api user must be a string") must_be_a_string(api[:password]) || invalid(api, "api password must be a string") end end
validate_api_endpoints(api)
click to toggle source
Validate API
endpoints. Validates: endpoints
@param api [Hash] sensu api definition.
# File lib/sensu/settings/validators/api.rb, line 22 def validate_api_endpoints(api) if is_an_array?(api[:endpoints]) api[:endpoints].each do |endpoint| if is_a_hash?(endpoint) if endpoint[:url] must_be_a_string(endpoint[:url]) || invalid(api, "api endpoint url must be a string") else must_be_a_string(endpoint[:host]) || invalid(api, "api endpoint host must be a string") must_be_an_integer(endpoint[:port]) || invalid(api, "api endpoint port must be an integer") must_be_boolean_if_set(endpoint[:ssl]) || invalid(api, "api endpoint ssl must be a boolean") end else invalid(api, "api endpoints must each be a hash") end end else invalid(api, "api endpoints must be an array") end end