public ServiceInstanceCreationOrUpdateRequest(string serviceId, SemanticVersion serviceVersion, IPAddress serviceInstanceAddress, ServiceInstanceInputDto input)
            : base(ExecutionRequestType.Mutation)
        {
            if (string.IsNullOrWhiteSpace(serviceId))
            {
                throw new ArgumentException("Value cannot be null or whitespace.", nameof(serviceId));
            }

            ServiceId              = serviceId;
            ServiceVersion         = serviceVersion ?? throw new ArgumentNullException(nameof(serviceVersion));
            ServiceInstanceAddress = serviceInstanceAddress ?? throw new ArgumentNullException(nameof(serviceInstanceAddress));
            Input = input ?? throw new ArgumentNullException(nameof(input));
        }
 public async Task <IActionResult> Put(string serviceId, SemanticVersion serviceVersion,
                                       IPAddress serviceInstanceAddress, [FromBody] ServiceInstanceInputDto serviceInstanceDescription)
 {
     return(await Execute(new ServiceInstanceCreationOrUpdateRequest(serviceId, serviceVersion,
                                                                     serviceInstanceAddress, serviceInstanceDescription)));
 }