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."
}
),