Skip to content

Commit

Permalink
Merge pull request #257 from OctopusDeploy/enh-transientNode4540
Browse files Browse the repository at this point in the history
Add heartbeat policy to nodes
  • Loading branch information
tothegills authored May 25, 2018
2 parents 3be476e + 4d61eb4 commit 7a22c4f
Show file tree
Hide file tree
Showing 3 changed files with 52 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -1890,6 +1890,11 @@ Octopus.Client.Model
FullHealthCheck = 0
ConnectionTest = 1
}
HeartbeatDeletionPolicy
{
NeverDelete = 0
DeleteAfterOfflineTimeout = 1
}
interface IAuditedResource
{
String LastModifiedBy { get; set; }
Expand Down Expand Up @@ -2294,13 +2299,26 @@ Octopus.Client.Model
.ctor()
Octopus.Client.Model.FeedType FeedType { get; }
}
class OctopusServerNodeHeartbeatPolicy
{
static System.TimeSpan DefaultOfflineTimeout
.ctor()
Octopus.Client.Model.HeartbeatDeletionPolicy DeletionPolicy { get; set; }
TimeSpan OfflineTimeout { get; set; }
HeartbeatDeletionPolicy
{
NeverDelete = 0
DeleteAfterOfflineTimeout = 1
}
}
class OctopusServerNodeResource
Octopus.Client.Extensibility.IResource
Octopus.Client.Model.IAuditedResource
Octopus.Client.Extensibility.INamedResource
Octopus.Client.Model.Resource
{
.ctor()
Octopus.Client.Model.OctopusServerNodeHeartbeatPolicy HeartbeatPolicy { get; set; }
Boolean IsInMaintenanceMode { get; set; }
Boolean IsOffline { get; set; }
String LastSeen { get; set; }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2360,6 +2360,11 @@ Octopus.Client.Model
FullHealthCheck = 0
ConnectionTest = 1
}
HeartbeatDeletionPolicy
{
NeverDelete = 0
DeleteAfterOfflineTimeout = 1
}
interface IAuditedResource
{
String LastModifiedBy { get; set; }
Expand Down Expand Up @@ -2767,13 +2772,26 @@ Octopus.Client.Model
.ctor()
Octopus.Client.Model.FeedType FeedType { get; }
}
class OctopusServerNodeHeartbeatPolicy
{
static System.TimeSpan DefaultOfflineTimeout
.ctor()
Octopus.Client.Model.HeartbeatDeletionPolicy DeletionPolicy { get; set; }
TimeSpan OfflineTimeout { get; set; }
HeartbeatDeletionPolicy
{
NeverDelete = 0
DeleteAfterOfflineTimeout = 1
}
}
class OctopusServerNodeResource
Octopus.Client.Extensibility.IResource
Octopus.Client.Model.IAuditedResource
Octopus.Client.Extensibility.INamedResource
Octopus.Client.Model.Resource
{
.ctor()
Octopus.Client.Model.OctopusServerNodeHeartbeatPolicy HeartbeatPolicy { get; set; }
Boolean IsInMaintenanceMode { get; set; }
Boolean IsOffline { get; set; }
String LastSeen { get; set; }
Expand Down
16 changes: 16 additions & 0 deletions source/Octopus.Client/Model/OctopusServerNodeResource.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,20 @@

namespace Octopus.Client.Model
{
public class OctopusServerNodeHeartbeatPolicy
{
public static TimeSpan DefaultOfflineTimeout = TimeSpan.FromMinutes(30);

public enum HeartbeatDeletionPolicy
{
NeverDelete,
DeleteAfterOfflineTimeout
}

public HeartbeatDeletionPolicy DeletionPolicy { get; set; } = HeartbeatDeletionPolicy.NeverDelete;
public TimeSpan OfflineTimeout { get; set; } = DefaultOfflineTimeout;
}

public class OctopusServerNodeResource : Resource, INamedResource
{
public string Name { get; set; }
Expand All @@ -14,5 +28,7 @@ public class OctopusServerNodeResource : Resource, INamedResource
public int MaxConcurrentTasks { get; set; }
[Writeable]
public bool IsInMaintenanceMode { get; set; }
[Writeable]
public OctopusServerNodeHeartbeatPolicy HeartbeatPolicy { get; set; }
}
}

0 comments on commit 7a22c4f

Please sign in to comment.