public SwarmServiceUpdateJob(ACRConfig config, ACRPayload payload)
        {
            var image = payload.GetImageName();

            ServiceName = config.Services[image];

            LoginCommand  = $"docker login -u \"{config.Username}\" -p \"{config.Password}\" {config.Registry}";
            UpdateCommand = $"docker service update --force {ServiceName} --with-registry-auth --image={config.Registry}/{image}";
        }
        public IActionResult Post(Guid token, [FromBody] ACRPayload payload)
        {
            var image = payload?.GetImageName();

            if (token != this.config.Token || string.IsNullOrEmpty(image))
            {
                logger.LogWarning($"WebHook Request Failed: Bad Token [{token}] or Image [{image}]");
                return(BadRequest());
            }
            else if (!config.Services.ContainsKey(image))
            {
                logger.LogWarning($"WebHook Request Failed: Invalid image [{image}]");
                return(BadRequest());
            }

            logger.LogInformation($"WebHook Request Succeeded: For image [{image}]");
            Program.DeploymentQueue.AddJob(new SwarmServiceUpdateJob(config, payload));

            return(Ok());
        }