Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions internal/namespaces/audit_trail/v1alpha1/custom.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,7 @@ import (
func GetCommands() *core.Commands {
cmds := GetGeneratedCommands()

cmds.MustFind("audit-trail", "event", "list").Override(eventListBuilder)

return cmds
}
96 changes: 96 additions & 0 deletions internal/namespaces/audit_trail/v1alpha1/custom_event.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
package audit_trail

import (
"context"

"github.com/scaleway/scaleway-cli/v2/core"
audit_trail "github.com/scaleway/scaleway-sdk-go/api/audit_trail/v1alpha1"
)

func eventListBuilder(c *core.Command) *core.Command {
c.View = &core.View{
Fields: []*core.ViewField{
{
Label: "Recorded at",
Comment thread
remyleone marked this conversation as resolved.
Outdated
FieldName: "RecordedAt",
},
{
Label: "Name",
FieldName: "Resource.Name",
},
{
Label: "StatusCode",
FieldName: "StatusCode",
},
{
Label: "MethodName",
FieldName: "MethodName",
},
{
Label: "Principal",
FieldName: "Principal.ID",
},
{
Label: "Source IP",
Comment thread
remyleone marked this conversation as resolved.
Outdated
FieldName: "SourceIP",
},
{
Label: "ProjectID",
FieldName: "ProjectID",
},
{
Label: "ProductName",
FieldName: "ProductName",
},
{
Label: "RequestBody",
FieldName: "RequestBody",
},
{
Label: "RequestID",
FieldName: "RequestID",
},
{
Label: "User-Agent",
FieldName: "UserAgent",
},
{
Label: "ID",
FieldName: "ID",
},
{
Label: "ServiceName",
FieldName: "ServiceName",
},
{
Label: "Type",
FieldName: "Resource.Type",
},
{
Label: "Resource ID",
Comment thread
remyleone marked this conversation as resolved.
Outdated
FieldName: "Resource.ID",
},
{
Label: "Resource Created At",
Comment thread
remyleone marked this conversation as resolved.
FieldName: "Resource.CreatedAt",
},
{
Label: "Resource Updated At",
Comment thread
remyleone marked this conversation as resolved.
FieldName: "Resource.UpdatedAt",
},
},
}

c.AddInterceptors(func(ctx context.Context, argsI interface{}, runner core.CommandRunner) (interface{}, error) {
originalRes, err := runner(ctx, argsI)
if err != nil {
return nil, err
}

eventsResponse := originalRes.(*audit_trail.ListEventsResponse)

return eventsResponse.Events, nil
})

return c
}