You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

116 lines
7.8 KiB

package domain
import "context"
type Store interface {
Login(ctx context.Context, request AuthLoginRequest) (AuthSession, error)
ActorBySession(ctx context.Context, sessionToken string) (Actor, error)
Logout(ctx context.Context, sessionToken string) error
AuthSessions(ctx context.Context) ([]AuthSessionInfo, error)
RevokeAuthSession(ctx context.Context, sessionID string) (CommandResult, error)
AuthTokens(ctx context.Context) ([]AuthTokenInfo, error)
CreateAuthToken(ctx context.Context, request AuthTokenCreateRequest) (AuthTokenCreateResult, error)
RevokeAuthToken(ctx context.Context, tokenID string) (CommandResult, error)
AuthUsers(ctx context.Context) ([]AuthUser, error)
AuthGroups(ctx context.Context) ([]AuthGroup, error)
AuthPermissions(ctx context.Context) ([]AuthPermission, error)
ExternalAuth(ctx context.Context) (ExternalAuthSettings, error)
UpdateExternalAuth(ctx context.Context, update ExternalAuthUpdate) (CommandResult, error)
AddressFilters(ctx context.Context) (AddressFilterSettings, error)
UpdateAddressFilters(ctx context.Context, settings AddressFilterSettings) (CommandResult, error)
CreateAuthUser(ctx context.Context, request AuthUserCreateRequest) (AuthUser, error)
ChangeOwnPassword(ctx context.Context, request AuthSelfPasswordUpdateRequest) (AuthUser, error)
CreateAuthGroup(ctx context.Context, request AuthGroupCreateRequest) (AuthGroup, error)
UpdateAuthGroup(ctx context.Context, groupID string, request AuthGroupUpdateRequest) (AuthGroup, error)
DeleteAuthGroup(ctx context.Context, groupID string) (CommandResult, error)
UpdateAuthUser(ctx context.Context, username string, request AuthUserUpdateRequest) (AuthUser, error)
UpdateAuthUserPassword(ctx context.Context, username string, request AuthUserPasswordUpdateRequest) (AuthUser, error)
DeleteAuthUser(ctx context.Context, username string) (CommandResult, error)
SystemStatus(ctx context.Context) (SystemStatus, error)
ServiceHealth(ctx context.Context) ([]ServiceHealth, error)
NetworkState(ctx context.Context) (NetworkState, error)
UpdateNetwork(ctx context.Context, update NetworkUpdate) (CommandResult, error)
TimeSettings(ctx context.Context) (TimeSettings, error)
UpdateTimeSettings(ctx context.Context, update TimeSettingsUpdate) (CommandResult, error)
ManagementAccess(ctx context.Context) (ManagementAccessSettings, error)
UpdateManagementAccess(ctx context.Context, update ManagementAccessUpdate) (CommandResult, error)
RemoteSyslog(ctx context.Context) (RemoteSyslogSettings, error)
UpdateRemoteSyslog(ctx context.Context, update RemoteSyslogUpdate) (CommandResult, error)
TLSCertificate(ctx context.Context) (TLSCertificateSettings, error)
TLSCertificates(ctx context.Context) (TLSCertificateInventory, error)
CreateTLSCertificate(ctx context.Context, request TLSCertificateCreateRequest) (TLSCertificateEntry, error)
ImportTLSCertificate(ctx context.Context, request TLSCertificateImportRequest) (TLSCertificateEntry, error)
ExportTLSCSR(ctx context.Context, certificateID string, request TLSCSRRequest) (TLSCSRArtifact, error)
DeleteTLSCertificate(ctx context.Context, certificateID string) (CommandResult, error)
UpdateTLSCertificate(ctx context.Context, update TLSCertificateUpdate) (CommandResult, error)
Ports(ctx context.Context) ([]Port, error)
Port(ctx context.Context, channel string) (Port, error)
AlarmRules(ctx context.Context) ([]AlarmRule, error)
AlarmRule(ctx context.Context, ruleID string) (AlarmRule, error)
AlarmDeliveryPolicy(ctx context.Context) (AlarmDeliveryPolicy, error)
EmailNotification(ctx context.Context) (EmailNotificationSettings, error)
SNMPAgent(ctx context.Context) (SNMPAgentSettings, error)
SNMPTrapTargets(ctx context.Context) (SNMPTrapTargetSettings, error)
ConfigStatus(ctx context.Context) (ConfigSummary, error)
ConfigExport(ctx context.Context) (ConfigExport, error)
RestoreConfig(ctx context.Context, snapshot ConfigExport) (CommandResult, error)
AuditEvents(ctx context.Context) ([]AuditEvent, error)
SystemLogEvents(ctx context.Context, filter SystemLogFilter) ([]SystemLogEvent, error)
PortLogEvents(ctx context.Context, filter PortLogFilter) ([]PortLogEvent, error)
ClearPortLogs(ctx context.Context, channel string) (PortLogClearResult, error)
ClearSystemLogs(ctx context.Context) (SystemLogClearResult, error)
ClearLinkLogs(ctx context.Context) (LinkLogClearResult, error)
LinkLogEvents(ctx context.Context, filter LinkLogFilter) ([]LinkLogEvent, error)
LogPolicy(ctx context.Context) (LogPolicySettings, error)
LogRetention(ctx context.Context) (LogRetentionSettings, error)
UpdateLogRetention(ctx context.Context, update LogRetentionUpdate) (CommandResult, error)
RecordAudit(ctx context.Context, event AuditEvent) (string, error)
RecordSystemLog(ctx context.Context, event SystemLogEvent) (SystemLogEvent, error)
RecordPortLog(ctx context.Context, event PortLogEvent) (PortLogEvent, error)
RecordLinkState(ctx context.Context, observation LinkStateObservation) (*LinkLogEvent, error)
OpenDirectSession(ctx context.Context, channel string, request DirectSessionRequest) (DirectSession, error)
CloseDirectSession(ctx context.Context, channel string, sessionID string) (DirectSession, error)
ClaimDirectWriter(ctx context.Context, channel string) (DirectSession, error)
ReleaseDirectWriter(ctx context.Context, channel string) (DirectSession, error)
ExportLogs(ctx context.Context, request LogExportRequest) (Operation, error)
SyncBrowserTime(ctx context.Context, request BrowserTimeSyncRequest) (Operation, error)
SyncNTPTime(ctx context.Context) (Operation, error)
RunDiagnostics(ctx context.Context, kind string, request DiagnosticsRequest) (Operation, error)
SupportBundle(ctx context.Context, bundleID string) (SupportBundleArtifact, error)
TestAlarmDelivery(ctx context.Context, request AlarmDeliveryTestRequest) (Operation, error)
RebootSystem(ctx context.Context) (Operation, error)
FactoryReset(ctx context.Context) (Operation, error)
UpdatePort(ctx context.Context, channel string, update PortUpdate) (CommandResult, error)
UpdatePorts(ctx context.Context, channels []string, update PortUpdate) (CommandResult, error)
UpdateAlarmRule(ctx context.Context, ruleID string, update AlarmRuleUpdate) (CommandResult, error)
UpdateAlarmDeliveryPolicy(ctx context.Context, update AlarmDeliveryPolicyUpdate) (CommandResult, error)
UpdateEmailNotification(ctx context.Context, update EmailNotificationUpdate) (CommandResult, error)
UpdateSNMPAgent(ctx context.Context, update SNMPAgentUpdate) (CommandResult, error)
UpdateSNMPTrapTargets(ctx context.Context, update SNMPTrapTargetUpdate) (CommandResult, error)
ApplyConfig(ctx context.Context) (CommandResult, error)
SaveConfig(ctx context.Context) (CommandResult, error)
SaveAndApplyConfig(ctx context.Context) (CommandResult, error)
DiscardConfig(ctx context.Context) (CommandResult, error)
SaveAndRestart(ctx context.Context) (Operation, error)
RestartPort(ctx context.Context, channel string) (Operation, error)
RestartPorts(ctx context.Context, channels []string) (Operation, error)
Operations(ctx context.Context) ([]Operation, error)
Operation(ctx context.Context, operationID string) (Operation, error)
}
// PortServiceCredentialProvider is an optional protected-store extension used
// only by the channel service runtime. Returned credentials must never be
// passed to an HTTP response or configuration export.
type PortServiceCredentialProvider interface {
ResolvePortServiceCredentials(ctx context.Context, phase string, ports []Port) ([]Port, error)
}
// PortAuthorizer is the server-side per-channel authorization extension used
// by Web/API Direct Mode and channel SSH/Telnet listeners.
type PortAuthorizer interface {
AuthorizePort(ctx context.Context, actor Actor, channel string, access string) error
}
type ClientAddressAuthorizer interface {
AuthorizeClient(ctx context.Context, address string, protocol string, destinationPort int) error
}