示例#1
0
        public RunbookEditor CreateOrModify(ProjectResource project, string name, string description)
        {
            var existing = repository.FindByName(project, name);

            if (existing == null)
            {
                Instance = repository.Create(new RunbookResource
                {
                    ProjectId                = project.Id,
                    Name                     = name,
                    Description              = description,
                    EnvironmentScope         = RunbookEnvironmentScope.All,
                    DefaultGuidedFailureMode = GuidedFailureMode.EnvironmentDefault,
                    RunRetentionPolicy       = new RunbookRetentionPeriod {
                        QuantityToKeep = 100
                    }
                });
            }
            else
            {
                existing.Name        = name;
                existing.Description = description;

                Instance = repository.Modify(existing);
            }

            return(this);
        }
示例#2
0
 public static Task <RunbookResource> FindByNameOrIdOrFail(this IRunbookRepository repo, string nameOrId, ProjectResource project)
 {
     return(repo.FindByNameOrIdOrFail(n => repo.FindByName(project, n),
                                      "Runbooks",
                                      "runbook",
                                      nameOrId,
                                      $" in {project.Name}"));
 }
        public RunbookEditor CreateOrModify(ProjectResource project, string name, string description)
        {
            var existing = repository.FindByName(project, name);

            if (existing == null)
            {
                Instance = repository.Create(new RunbookResource
                {
                    ProjectId   = project.Id,
                    Name        = name,
                    Description = description
                });
            }
            else
            {
                existing.Name        = name;
                existing.Description = description;

                Instance = repository.Modify(existing);
            }

            return(this);
        }
        public async Task <RunbookEditor> CreateOrModify(ProjectResource project, string name, string description)
        {
            var existing = await repository.FindByName(project, name).ConfigureAwait(false);

            if (existing == null)
            {
                Instance = await repository.Create(new RunbookResource
                {
                    ProjectId   = project.Id,
                    Name        = name,
                    Description = description
                }).ConfigureAwait(false);
            }
            else
            {
                existing.Name        = name;
                existing.Description = description;

                Instance = await repository.Modify(existing).ConfigureAwait(false);
            }

            return(this);
        }
示例#5
0
 public static Task <RunbookResource> FindByNameOrIdOrFail(this IRunbookRepository repo, string nameOrId, ProjectResource project)
 => repo.FindByNameOrIdOrFail(n => repo.FindByName(project, n), "Runbooks", "runbook", nameOrId, enclosingContextDescription: $" in {project.Name}");