public StandardResponse PostFile(string path, byte[] content, int?uid, int?gid, int?mode, FileKind type, bool?overwrite)
        {
            System.Diagnostics.Contracts.Contract.Requires(type != FileKind.Unknown, "FileKind.Unknown is not valid.");

            IRestRequest request = new RestRequest($"/{Client.Version}/containers/{Name}/files?path={path}");

            if (uid.HasValue)
            {
                request.AddParameter("X-LXD-uid", uid.Value);
            }
            if (gid.HasValue)
            {
                request.AddParameter("X-LXD-gid", gid.Value);
            }
            if (mode.HasValue)
            {
                request.AddParameter("X-LXD-mode", mode.Value);
            }
            if (type != FileKind.Unknown)
            {
                request.AddParameter("X-LXD-type", type == FileKind.Directory ? "directory" : (type == FileKind.File ? "file" : "symlink"));
            }
            if (overwrite.HasValue)
            {
                request.AddParameter("X-LXD-write", overwrite.Value);
            }

            request.AddFile("", content, "");
            IRestResponse restResponse = API.Post(request);

            return(StandardResponse.Parse(restResponse));
        }
        public StandardResponse DeleteFile(string path)
        {
            IRestRequest request = new RestRequest($"/{Client.Version}/containers/{Name}/files?path={path}");

            request.AddParameter("path", path, ParameterType.UrlSegment);
            IRestResponse restResponse = API.Delete(request);

            return(StandardResponse.Parse(restResponse));
        }
        public StandardResponse PostFile(string path, byte[] content)
        {
            WebClientEx wc = new WebClientEx()
            {
                Certificates = API.ClientCertificates
            };

            var responseByteArray = wc.UploadData(API.BaseUrl + $"{Client.Version}/containers/{Name}/files?path={path}", null, content);

            return(wc.ResponseHeaders[HttpRequestHeader.ContentType] == "application/json"
                ? StandardResponse.Parse(System.Text.Encoding.ASCII.GetString(responseByteArray))
                : new StandardResponse.InvalidResponse());
        }