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.
117 lines
7.9 KiB
117 lines
7.9 KiB
package domain
|
|
|
|
import "context"
|
|
|
|
type Store interface {
|
|
VerifyCurrentPassword(ctx context.Context, password string) error
|
|
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
|
|
}
|
|
|