Skip to content

Commit

Permalink
Merge pull request #900 from OctopusDeploy/dylan/runbook-clients
Browse files Browse the repository at this point in the history
Add Config as Code Runbooks support
  • Loading branch information
dylanlerch authored Jan 23, 2025
2 parents b536f79 + 2fd1a08 commit ed4ef49
Show file tree
Hide file tree
Showing 10 changed files with 515 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -3354,6 +3354,21 @@ Octopus.Client.Model
Octopus.Client.Model.PersistenceSettingsType Type { get; }
String Url { get; set; }
}
class GitRunbookRunParameters
{
.ctor(String)
String Comments { get; set; }
String EnvironmentId { get; set; }
String[] ExcludedMachineIds { get; set; }
Boolean ForcePackageDownload { get; set; }
Dictionary<String, String> FormValues { get; set; }
Nullable<DateTimeOffset> QueueTime { get; set; }
Nullable<DateTimeOffset> QueueTimeExpiry { get; set; }
String[] SkipActions { get; set; }
String[] SpecificMachineIds { get; set; }
String TenantId { get; set; }
Boolean UseGuidedFailure { get; set; }
}
class GitTagResource
Octopus.Client.Extensibility.IResource
Octopus.Client.Model.IAuditedResource
Expand Down Expand Up @@ -4050,6 +4065,29 @@ Octopus.Client.Model
.ctor()
String ChangeDescription { get; set; }
}
class ModifyRunbookCommand
Octopus.Client.Extensibility.IResource
Octopus.Client.Model.IAuditedResource
Octopus.Client.Extensibility.INamedResource
Octopus.Client.Extensibility.IHaveSpaceResource
Octopus.Client.Model.IHaveSlugResource
Octopus.Client.Model.ICommitCommand
Octopus.Client.Model.RunbookResource
{
.ctor()
String ChangeDescription { get; set; }
}
class ModifyRunbookProcessCommand
Octopus.Client.Extensibility.IResource
Octopus.Client.Model.IAuditedResource
Octopus.Client.Model.IProcessResource
Octopus.Client.Extensibility.IHaveSpaceResource
Octopus.Client.Model.ICommitCommand
Octopus.Client.Model.RunbookProcessResource
{
.ctor()
String ChangeDescription { get; set; }
}
MultipleAccountType
{
None = 0
Expand Down Expand Up @@ -5003,6 +5041,11 @@ Octopus.Client.Model
Int32 QuantityToKeep { get; set; }
Boolean ShouldKeepForever { get; set; }
}
class RunbookRunGitResource
{
.ctor(Octopus.Client.Model.RunbookRunResource[])
Octopus.Client.Model.RunbookRunResource[] Resources { get; set; }
}
class RunbookRunParameters
{
.ctor()
Expand All @@ -5025,13 +5068,25 @@ Octopus.Client.Model
Nullable<Boolean> UseGuidedFailure { get; set; }
static Octopus.Client.Model.RunbookRunParameters MapFrom(Octopus.Client.Model.RunbookRunResource)
}
class RunbookRunPreviewParameters
{
.ctor(Octopus.Client.Model.RunbookRunPreviewTarget[])
Octopus.Client.Model.RunbookRunPreviewTarget[] DeploymentPreviews { get; set; }
Boolean IncludeDisabledSteps { get; set; }
}
class RunbookRunPreviewResource
Octopus.Client.Extensibility.IResource
Octopus.Client.Model.IAuditedResource
Octopus.Client.Model.DeploymentPreviewBaseResource
{
.ctor()
}
class RunbookRunPreviewTarget
{
.ctor(String)
String EnvironmentId { get; set; }
String TenantId { get; set; }
}
class RunbookRunResource
Octopus.Client.Extensibility.IResource
Octopus.Client.Model.IAuditedResource
Expand Down Expand Up @@ -5106,6 +5161,14 @@ Octopus.Client.Model
String NextNameIncrement { get; set; }
String RunbookProcessId { get; set; }
}
class RunGitRunbookParameters
{
.ctor(Octopus.Client.Model.GitRunbookRunParameters[])
String Notes { get; set; }
Octopus.Client.Model.GitRunbookRunParameters[] Runs { get; set; }
List<SelectedGitResource> SelectedGitResources { get; set; }
List<SelectedPackage> SelectedPackages { get; set; }
}
class S3FeedResource
Octopus.Client.Extensibility.IResource
Octopus.Client.Model.IAuditedResource
Expand Down Expand Up @@ -9193,7 +9256,9 @@ Octopus.Client.Repositories.Async
Octopus.Client.Repositories.Async.IGet<RunbookProcessResource>
Octopus.Client.Repositories.Async.IModify<RunbookProcessResource>
{
Task<RunbookProcessResource> Get(Octopus.Client.Model.ProjectResource, String, String, CancellationToken)
Task<RunbookSnapshotTemplateResource> GetTemplate(Octopus.Client.Model.RunbookProcessResource)
Task<RunbookProcessResource> Modify(Octopus.Client.Model.ProjectResource, String, Octopus.Client.Model.RunbookProcessResource, String, CancellationToken)
}
interface IRunbookRepository
Octopus.Client.Repositories.Async.IFindByName<RunbookResource>
Expand All @@ -9203,13 +9268,21 @@ Octopus.Client.Repositories.Async
Octopus.Client.Repositories.Async.IModify<RunbookResource>
Octopus.Client.Repositories.Async.IDelete<RunbookResource>
{
Task<RunbookResource> Create(Octopus.Client.Model.ProjectResource, String, Octopus.Client.Model.RunbookResource, String, CancellationToken)
Task<RunbookEditor> CreateOrModify(Octopus.Client.Model.ProjectResource, String, String)
Task Delete(Octopus.Client.Model.ProjectResource, String, Octopus.Client.Model.RunbookResource, String, CancellationToken)
Task<RunbookResource> FindByName(Octopus.Client.Model.ProjectResource, String)
Task<RunbookResource> Get(Octopus.Client.Model.ProjectResource, String, String, CancellationToken)
Task<RunbookRunPreviewResource> GetPreview(Octopus.Client.Model.DeploymentPromotionTarget)
Task<RunbookRunPreviewResource[]> GetPreview(Octopus.Client.Model.ProjectResource, String, String, Octopus.Client.Model.RunbookRunPreviewParameters, CancellationToken)
Task<RunbookRunTemplateResource> GetRunbookRunTemplate(Octopus.Client.Model.RunbookResource)
Task<RunbookRunTemplateResource> GetRunbookRunTemplate(Octopus.Client.Model.ProjectResource, String, String, CancellationToken)
Task<RunbookSnapshotTemplateResource> GetRunbookSnapshotTemplate(Octopus.Client.Model.RunbookResource)
Task<RunbookSnapshotTemplateResource> GetRunbookSnapshotTemplate(Octopus.Client.Model.ProjectResource, String, String, CancellationToken)
Task<RunbookResource> Modify(Octopus.Client.Model.ProjectResource, String, Octopus.Client.Model.RunbookResource, String, CancellationToken)
Task<RunbookRunResource> Run(Octopus.Client.Model.RunbookResource, Octopus.Client.Model.RunbookRunResource)
Task<RunbookRunResource[]> Run(Octopus.Client.Model.RunbookResource, Octopus.Client.Model.RunbookRunParameters)
Task<RunbookRunGitResource> Run(Octopus.Client.Model.ProjectResource, String, String, Octopus.Client.Model.RunGitRunbookParameters, CancellationToken)
}
interface IRunbookRunRepository
Octopus.Client.Repositories.Async.IGet<RunbookRunResource>
Expand All @@ -9221,6 +9294,7 @@ Octopus.Client.Repositories.Async
Task<TaskResource> GetTask(Octopus.Client.Model.RunbookRunResource)
Task Paginate(String[], String[], String[], Func<ResourceCollection<RunbookRunResource>, Boolean>)
Task Paginate(String[], String[], String[], String[], Func<ResourceCollection<RunbookRunResource>, Boolean>)
Task<RunbookRunResource> Retry(Octopus.Client.Model.RunbookRunResource, CancellationToken)
}
interface IRunbookSnapshotRepository
Octopus.Client.Repositories.Async.IGet<RunbookSnapshotResource>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3371,6 +3371,21 @@ Octopus.Client.Model
Octopus.Client.Model.PersistenceSettingsType Type { get; }
String Url { get; set; }
}
class GitRunbookRunParameters
{
.ctor(String)
String Comments { get; set; }
String EnvironmentId { get; set; }
String[] ExcludedMachineIds { get; set; }
Boolean ForcePackageDownload { get; set; }
Dictionary<String, String> FormValues { get; set; }
Nullable<DateTimeOffset> QueueTime { get; set; }
Nullable<DateTimeOffset> QueueTimeExpiry { get; set; }
String[] SkipActions { get; set; }
String[] SpecificMachineIds { get; set; }
String TenantId { get; set; }
Boolean UseGuidedFailure { get; set; }
}
class GitTagResource
Octopus.Client.Extensibility.IResource
Octopus.Client.Model.IAuditedResource
Expand Down Expand Up @@ -4067,6 +4082,29 @@ Octopus.Client.Model
.ctor()
String ChangeDescription { get; set; }
}
class ModifyRunbookCommand
Octopus.Client.Extensibility.IResource
Octopus.Client.Model.IAuditedResource
Octopus.Client.Extensibility.INamedResource
Octopus.Client.Extensibility.IHaveSpaceResource
Octopus.Client.Model.IHaveSlugResource
Octopus.Client.Model.ICommitCommand
Octopus.Client.Model.RunbookResource
{
.ctor()
String ChangeDescription { get; set; }
}
class ModifyRunbookProcessCommand
Octopus.Client.Extensibility.IResource
Octopus.Client.Model.IAuditedResource
Octopus.Client.Model.IProcessResource
Octopus.Client.Extensibility.IHaveSpaceResource
Octopus.Client.Model.ICommitCommand
Octopus.Client.Model.RunbookProcessResource
{
.ctor()
String ChangeDescription { get; set; }
}
MultipleAccountType
{
None = 0
Expand Down Expand Up @@ -5022,6 +5060,11 @@ Octopus.Client.Model
Int32 QuantityToKeep { get; set; }
Boolean ShouldKeepForever { get; set; }
}
class RunbookRunGitResource
{
.ctor(Octopus.Client.Model.RunbookRunResource[])
Octopus.Client.Model.RunbookRunResource[] Resources { get; set; }
}
class RunbookRunParameters
{
.ctor()
Expand All @@ -5044,13 +5087,25 @@ Octopus.Client.Model
Nullable<Boolean> UseGuidedFailure { get; set; }
static Octopus.Client.Model.RunbookRunParameters MapFrom(Octopus.Client.Model.RunbookRunResource)
}
class RunbookRunPreviewParameters
{
.ctor(Octopus.Client.Model.RunbookRunPreviewTarget[])
Octopus.Client.Model.RunbookRunPreviewTarget[] DeploymentPreviews { get; set; }
Boolean IncludeDisabledSteps { get; set; }
}
class RunbookRunPreviewResource
Octopus.Client.Extensibility.IResource
Octopus.Client.Model.IAuditedResource
Octopus.Client.Model.DeploymentPreviewBaseResource
{
.ctor()
}
class RunbookRunPreviewTarget
{
.ctor(String)
String EnvironmentId { get; set; }
String TenantId { get; set; }
}
class RunbookRunResource
Octopus.Client.Extensibility.IResource
Octopus.Client.Model.IAuditedResource
Expand Down Expand Up @@ -5125,6 +5180,14 @@ Octopus.Client.Model
String NextNameIncrement { get; set; }
String RunbookProcessId { get; set; }
}
class RunGitRunbookParameters
{
.ctor(Octopus.Client.Model.GitRunbookRunParameters[])
String Notes { get; set; }
Octopus.Client.Model.GitRunbookRunParameters[] Runs { get; set; }
List<SelectedGitResource> SelectedGitResources { get; set; }
List<SelectedPackage> SelectedPackages { get; set; }
}
class S3FeedResource
Octopus.Client.Extensibility.IResource
Octopus.Client.Model.IAuditedResource
Expand Down Expand Up @@ -9218,7 +9281,9 @@ Octopus.Client.Repositories.Async
Octopus.Client.Repositories.Async.IGet<RunbookProcessResource>
Octopus.Client.Repositories.Async.IModify<RunbookProcessResource>
{
Task<RunbookProcessResource> Get(Octopus.Client.Model.ProjectResource, String, String, CancellationToken)
Task<RunbookSnapshotTemplateResource> GetTemplate(Octopus.Client.Model.RunbookProcessResource)
Task<RunbookProcessResource> Modify(Octopus.Client.Model.ProjectResource, String, Octopus.Client.Model.RunbookProcessResource, String, CancellationToken)
}
interface IRunbookRepository
Octopus.Client.Repositories.Async.IFindByName<RunbookResource>
Expand All @@ -9228,13 +9293,21 @@ Octopus.Client.Repositories.Async
Octopus.Client.Repositories.Async.IModify<RunbookResource>
Octopus.Client.Repositories.Async.IDelete<RunbookResource>
{
Task<RunbookResource> Create(Octopus.Client.Model.ProjectResource, String, Octopus.Client.Model.RunbookResource, String, CancellationToken)
Task<RunbookEditor> CreateOrModify(Octopus.Client.Model.ProjectResource, String, String)
Task Delete(Octopus.Client.Model.ProjectResource, String, Octopus.Client.Model.RunbookResource, String, CancellationToken)
Task<RunbookResource> FindByName(Octopus.Client.Model.ProjectResource, String)
Task<RunbookResource> Get(Octopus.Client.Model.ProjectResource, String, String, CancellationToken)
Task<RunbookRunPreviewResource> GetPreview(Octopus.Client.Model.DeploymentPromotionTarget)
Task<RunbookRunPreviewResource[]> GetPreview(Octopus.Client.Model.ProjectResource, String, String, Octopus.Client.Model.RunbookRunPreviewParameters, CancellationToken)
Task<RunbookRunTemplateResource> GetRunbookRunTemplate(Octopus.Client.Model.RunbookResource)
Task<RunbookRunTemplateResource> GetRunbookRunTemplate(Octopus.Client.Model.ProjectResource, String, String, CancellationToken)
Task<RunbookSnapshotTemplateResource> GetRunbookSnapshotTemplate(Octopus.Client.Model.RunbookResource)
Task<RunbookSnapshotTemplateResource> GetRunbookSnapshotTemplate(Octopus.Client.Model.ProjectResource, String, String, CancellationToken)
Task<RunbookResource> Modify(Octopus.Client.Model.ProjectResource, String, Octopus.Client.Model.RunbookResource, String, CancellationToken)
Task<RunbookRunResource> Run(Octopus.Client.Model.RunbookResource, Octopus.Client.Model.RunbookRunResource)
Task<RunbookRunResource[]> Run(Octopus.Client.Model.RunbookResource, Octopus.Client.Model.RunbookRunParameters)
Task<RunbookRunGitResource> Run(Octopus.Client.Model.ProjectResource, String, String, Octopus.Client.Model.RunGitRunbookParameters, CancellationToken)
}
interface IRunbookRunRepository
Octopus.Client.Repositories.Async.IGet<RunbookRunResource>
Expand All @@ -9246,6 +9319,7 @@ Octopus.Client.Repositories.Async
Task<TaskResource> GetTask(Octopus.Client.Model.RunbookRunResource)
Task Paginate(String[], String[], String[], Func<ResourceCollection<RunbookRunResource>, Boolean>)
Task Paginate(String[], String[], String[], String[], Func<ResourceCollection<RunbookRunResource>, Boolean>)
Task<RunbookRunResource> Retry(Octopus.Client.Model.RunbookRunResource, CancellationToken)
}
interface IRunbookSnapshotRepository
Octopus.Client.Repositories.Async.IGet<RunbookSnapshotResource>
Expand Down
7 changes: 7 additions & 0 deletions source/Octopus.Server.Client/Model/ModifyRunbookCommand.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
namespace Octopus.Client.Model
{
public class ModifyRunbookCommand : RunbookResource, ICommitCommand
{
public string ChangeDescription { get; set; }
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
namespace Octopus.Client.Model
{
public class ModifyRunbookProcessCommand : RunbookProcessResource, ICommitCommand
{
public string ChangeDescription { get; set; }
}
}
39 changes: 39 additions & 0 deletions source/Octopus.Server.Client/Model/RunbookRunGitParameters.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
using System;
using System.Collections.Generic;
using System.Linq;

namespace Octopus.Client.Model
{
public class RunGitRunbookParameters(GitRunbookRunParameters[] runs)
{
public GitRunbookRunParameters[] Runs { get; set; } = runs;
public string Notes { get; set; }
public List<SelectedPackage> SelectedPackages { get; set; } = new();
public List<SelectedGitResource> SelectedGitResources { get; set; } = new();
}

public class GitRunbookRunParameters(string environmentId)
{
public string EnvironmentId { get; set; } = environmentId;

public string TenantId { get; set; }

public bool ForcePackageDownload { get; set; } = false;

public string[] SkipActions { get; set; } = [];

public string[] SpecificMachineIds { get; set; } = [];

public string[] ExcludedMachineIds { get; set; } = [];

public bool UseGuidedFailure { get; set; } = false;

public Dictionary<string, string> FormValues { get; set; } = new();

public DateTimeOffset? QueueTime { get; set; }

public DateTimeOffset? QueueTimeExpiry { get; set; }

public string Comments { get; set; }
}
}
10 changes: 10 additions & 0 deletions source/Octopus.Server.Client/Model/RunbookRunGitResource.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
using System;
using System.Collections.Generic;
using System.Linq;

namespace Octopus.Client.Model;

public class RunbookRunGitResource(RunbookRunResource[] resources)
{
public RunbookRunResource[] Resources { get; set; } = resources;
}
15 changes: 15 additions & 0 deletions source/Octopus.Server.Client/Model/RunbookRunPreviewParameters.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
namespace Octopus.Client.Model;

public class RunbookRunPreviewParameters(RunbookRunPreviewTarget[] deploymentPreviews)
{
public RunbookRunPreviewTarget[] DeploymentPreviews { get; set; } = deploymentPreviews;
public bool IncludeDisabledSteps { get; set; }
}

public class RunbookRunPreviewTarget(string environmentId)
{

public string EnvironmentId { get; set; } = environmentId;

public string TenantId { get; set; }
}
Loading

0 comments on commit ed4ef49

Please sign in to comment.