jit.go 1.1 KB

123456789101112131415161718192021222324252627
  1. package models
  2. // JITOperationRequest - request body for JIT admin operations
  3. type JITOperationRequest struct {
  4. Action string `json:"action"` // enable, disable, request, approve, deny
  5. RequestID string `json:"request_id,omitempty"`
  6. GrantID string `json:"grant_id,omitempty"`
  7. Reason string `json:"reason,omitempty"`
  8. ExpiresAt int64 `json:"expires_at,omitempty"` // Unix epoch timestamp (seconds) for when access should expire
  9. }
  10. // JITAccessRequest - request body for user JIT access request
  11. type JITAccessRequest struct {
  12. NetworkID string `json:"network_id"` // Network identifier
  13. Reason string `json:"reason"` // Reason for access request (required)
  14. }
  15. // UserJITNetworkStatus represents JIT status for a network from user's perspective
  16. type UserJITNetworkStatus struct {
  17. NetworkID string `json:"network_id"`
  18. NetworkName string `json:"network_name,omitempty"`
  19. JITEnabled bool `json:"jit_enabled"`
  20. HasAccess bool `json:"has_access"`
  21. Grant any `json:"grant,omitempty"` // schema.JITGrant
  22. Request any `json:"request,omitempty"` // schema.JITRequest
  23. PendingRequest bool `json:"pending_request"`
  24. }