mirror of https://github.com/ceph/ceph
115 lines
3.2 KiB
Lua
115 lines
3.2 KiB
Lua
local elasticsearch = require ("elasticsearch")
|
|
local json = require ("lunajson")
|
|
|
|
local client = elasticsearch.client{
|
|
hosts = {
|
|
{
|
|
host = "localhost",
|
|
port = "9200"
|
|
}
|
|
}
|
|
}
|
|
|
|
local copyfrom = {}
|
|
if (Request.CopyFrom ~= nil) then
|
|
copyfrom = {
|
|
Tenant = Request.CopyFrom.Tenant,
|
|
Bucket = Request.CopyFrom.Bucket,
|
|
Object = {
|
|
Name = Request.CopyFrom.Object.Name,
|
|
Instance = Request.CopyFrom.Object.Instance,
|
|
Id = Request.CopyFrom.Object.Id,
|
|
Size = Request.CopyFrom.Object.Size,
|
|
MTime = Request.CopyFrom.Object.MTime
|
|
}
|
|
}
|
|
end
|
|
|
|
local res, status = client:index{
|
|
index = "rgw",
|
|
type = "Request",
|
|
id = Request.Id,
|
|
body =
|
|
{
|
|
RGWOp = Request.RGWOp,
|
|
DecodedURI = Request.DecodedURI,
|
|
ContentLength = Request.ContentLength,
|
|
GenericAttributes = json.encode(Request.GenericAttributes),
|
|
Response = {
|
|
HTTPStatusCode = Request.Response.HTTPStatusCode,
|
|
HTTPStatus = Request.Response.HTTPStatus,
|
|
RGWCode = Request.Response.RGWCode,
|
|
Message = Request.Response.Message
|
|
},
|
|
SwiftAccountName = Request.SwiftAccountName,
|
|
Bucket = {
|
|
Tenant = Request.Bucket.Tenant,
|
|
Name = Request.Bucket.Name,
|
|
Marker = Request.Bucket.Marker,
|
|
Id = Request.Bucket.Id,
|
|
Count = Request.Bucket.Count,
|
|
Size = Request.Bucket.Size,
|
|
ZoneGroupId = Request.Bucket.ZoneGroupId,
|
|
CreationTime = Request.Bucket.CreationTime,
|
|
MTime = Request.Bucket.MTime,
|
|
Quota = {
|
|
MaxSize = Request.Bucket.Quota.MaxSize,
|
|
MaxObjects = Request.Bucket.Quota.MaxObjects,
|
|
Enabled = Request.Bucket.Quota.Enabled,
|
|
Rounded = Request.Bucket.Quota.Rounded
|
|
},
|
|
PlacementRule = {
|
|
Name = Request.Bucket.PlacementRule.Name,
|
|
StorageClass = Request.Bucket.PlacementRule.StorageClass
|
|
},
|
|
User = {
|
|
Tenant = Request.Bucket.User.Tenant,
|
|
Id = Request.Bucket.User.Id
|
|
}
|
|
},
|
|
Object = {
|
|
Name = Request.Object.Name,
|
|
Instance = Request.Object.Instance,
|
|
Id = Request.Object.Id,
|
|
Size = Request.Object.Size,
|
|
MTime = Request.Object.MTime
|
|
},
|
|
CopyFrom = copyfrom,
|
|
ObjectOwner = {
|
|
DisplayName = Request.ObjectOwner.DisplayName,
|
|
User = {
|
|
Tenant = Request.ObjectOwner.User.Tenant,
|
|
Id = Request.ObjectOwner.User.Id
|
|
}
|
|
},
|
|
ZoneGroup = {
|
|
Name = Request.ZoneGroup.Name,
|
|
Endpoint = Request.ZoneGroup.Endpoint
|
|
},
|
|
Environment = json.encode(Request.Environment),
|
|
Policy = json.encode(Request.Policy),
|
|
UserPolicies = json.encode(Request.UserPolicies),
|
|
RGWId = Request.RGWId,
|
|
HTTP = {
|
|
Parameters = json.encode(Request.HTTP.Parameters),
|
|
Resources = json.encode(Request.HTTP.Resources),
|
|
Metadata = json.encode(Request.HTTP.Metadata),
|
|
Host = Request.HTTP.Host,
|
|
Method = Request.HTTP.Method,
|
|
URI = Request.HTTP.URI,
|
|
QueryString = Request.HTTP.QueryString,
|
|
Domain = Request.HTTP.Domain
|
|
},
|
|
Time = Request.Time,
|
|
Dialect = Request.Dialect,
|
|
Id = Request.Id,
|
|
TransactionId = Request.TransactionId,
|
|
Tags = json.encode(Request.Tags),
|
|
User = {
|
|
Tenant = Request.User.Tenant,
|
|
Id = Request.User.Id
|
|
}
|
|
}
|
|
}
|
|
|