lib/flapjack/data/check.rb in flapjack-2.0.0b1 vs lib/flapjack/data/check.rb in flapjack-2.0.0rc1

- old
+ new

@@ -29,19 +29,20 @@ include Swagger::Blocks include Flapjack::Data::Extensions::Associations include Flapjack::Data::Extensions::ShortName - define_attributes :name => :string, - :enabled => :boolean, - :ack_hash => :string, - :initial_failure_delay => :integer, - :repeat_failure_delay => :integer, - :notification_count => :integer, - :condition => :string, - :failing => :boolean, - :alertable => :boolean + define_attributes :name => :string, + :enabled => :boolean, + :initial_failure_delay => :integer, + :repeat_failure_delay => :integer, + :initial_recovery_delay => :integer, + :ack_hash => :string, + :notification_count => :integer, + :condition => :string, + :failing => :boolean, + :alertable => :boolean index_by :enabled, :failing, :alertable unique_index_by :name, :ack_hash # TODO validate uniqueness of :name, :ack_hash @@ -202,20 +203,24 @@ :numericality => {:greater_than_or_equal_to => 0, :only_integer => true} validates :repeat_failure_delay, :allow_nil => true, :numericality => {:greater_than_or_equal_to => 0, :only_integer => true} + validates :initial_recovery_delay, :allow_nil => true, + :numericality => {:greater_than_or_equal_to => 0, :only_integer => true} + before_validation :create_ack_hash validates :ack_hash, :presence => true validates_with Flapjack::Data::Validators::IdValidator attr_accessor :count swagger_schema :Check do key :required, [:id, :type, :name, :enabled, :initial_failure_delay, - :repeat_failure_delay, :failing] + :repeat_failure_delay, :initial_recovery_delay, :failing, :condition, + :ack_hash] property :id do key :type, :string key :format, :uuid end property :type do @@ -233,10 +238,13 @@ key :type, :integer end property :repeat_failure_delay do key :type, :integer end + property :initial_recovery_delay do + key :type, :integer + end property :failing do key :type, :boolean key :enum, [true, false] end property :condition do @@ -284,12 +292,11 @@ key :"$ref", :UnscheduledMaintenancesLinkage end end swagger_schema :CheckCreate do - key :required, [:type, :name, :enabled, :initial_failure_delay, - :repeat_failure_delay] + key :required, [:type, :name, :enabled] property :id do key :type, :string key :format, :uuid end property :type do @@ -307,10 +314,13 @@ key :type, :integer end property :repeat_failure_delay do key :type, :integer end + property :initial_recovery_delay do + key :type, :integer + end property :relationships do key :"$ref", :CheckCreateLinks end end @@ -341,10 +351,13 @@ key :type, :integer end property :repeat_failure_delay do key :type, :integer end + property :initial_recovery_delay do + key :type, :integer + end property :relationships do key :"$ref", :CheckUpdateLinks end end @@ -370,26 +383,27 @@ def self.jsonapi_methods @jsonapi_methods ||= { :post => Flapjack::Gateways::JSONAPI::Data::MethodDescriptor.new( :attributes => [:name, :enabled, :initial_failure_delay, - :repeat_failure_delay], + :repeat_failure_delay, :initial_recovery_delay], :descriptions => { :singular => "Create a check.", :multiple => "Create checks." } ), :get => Flapjack::Gateways::JSONAPI::Data::MethodDescriptor.new( :attributes => [:name, :enabled, :initial_failure_delay, - :repeat_failure_delay, :ack_hash, :failing, :condition], + :repeat_failure_delay, :initial_recovery_delay, + :failing, :condition, :ack_hash], :descriptions => { :singular => "Returns data for a check.", :multiple => "Returns data for multiple check records." } ), :patch => Flapjack::Gateways::JSONAPI::Data::MethodDescriptor.new( :attributes => [:name, :enabled, :initial_failure_delay, - :repeat_failure_delay], + :repeat_failure_delay, :initial_recovery_delay], :descriptions => { :singular => "Update a check.", :multiple => "Update checks." } ),