private string CreateChecksumFile(HashType hashType, bool relative, bool recursive)
        {
            var create  = new CreateChecksums();
            var request = new CreateChecksumsRequest()
            {
                RelativeToUri = (relative ? _dataUri : String.Empty),
                DirectoryUri  = _dataUri,
                Recursive     = recursive,
                HashType      = hashType,
            };
            var response = create.Execute(request);

            return(response.OutputFileUri);
        }
        static ChecksumsResponse Create(Arguments arguments)
        {
            Console.Write($"CREATE: {arguments.DirectoryUri}");
            if (arguments.UseAbsolutePath)
            {
                Console.Write(" -absolute");
            }
            if (arguments.RunAsPreview)
            {
                Console.Write(" -preview");
            }
            if (arguments.CreateReport)
            {
                Console.Write(" -report");
            }
            if (arguments.HashType == Core.HashType.Sha1)
            {
                Console.Write(" -sha1");
            }
            Console.WriteLine();

            // get starting directory
            var currentUri   = arguments.CurrentDirectoryUri;
            var directoryUri = arguments.IsCurrentDirectory
                                ? currentUri
                                : arguments.DirectoryUri;

            // decide to make it relative
            var relativeToUri = arguments.UseAbsolutePath
                                ? string.Empty
                                : directoryUri;

            // prepare service request
            var request = new CreateChecksumsRequest()
            {
                HashType      = arguments.HashType,
                DirectoryUri  = directoryUri,
                RelativeToUri = relativeToUri,
                Report        = arguments.CreateReport,
                Preview       = arguments.RunAsPreview,
                LogStream     = Console.Out,
                Recursive     = true,
            };

            // create and execute service request
            var create   = new CreateChecksums();
            var response = create.Execute(request);

            return(response);
        }