Documentation
¶
Index ¶
- Constants
- Variables
- type APIError
- type AgentConfig
- type AgentConfigWire
- type AgentFilter
- type ChangeLogGroupIn
- type ConfigProvider
- type ConfigWire
- type CreateAgentConfigIn
- type CreateLogGroupIn
- type CreateLogIn
- type Entry
- type Handler
- func (h *Handler) ExtractOperation(c *echo.Context) string
- func (h *Handler) ExtractResource(c *echo.Context) string
- func (h *Handler) GetSupportedOperations() []string
- func (h *Handler) Handler() echo.HandlerFunc
- func (h *Handler) MatchPriority() int
- func (h *Handler) Name() string
- func (h *Handler) Reset()
- func (h *Handler) Restore(ctx context.Context, data []byte) error
- func (h *Handler) RouteMatcher() service.Matcher
- func (h *Handler) Shutdown(ctx context.Context)
- func (h *Handler) Snapshot(ctx context.Context) []byte
- func (h *Handler) StartWorker(ctx context.Context) error
- func (h *Handler) Trusted() echo.HandlerFunc
- type InMemoryBackend
- func (b *InMemoryBackend) ChangeAgentConfigCompartment(id, ifMatch, compartment string) (string, error)
- func (b *InMemoryBackend) ChangeLogGroupCompartment(id, ifMatch, compartment string) (string, error)
- func (b *InMemoryBackend) ChangeLogLogGroup(groupID, id, ifMatch, target string) (string, error)
- func (b *InMemoryBackend) Compartments() []string
- func (b *InMemoryBackend) CreateAgentConfig(in CreateAgentConfigIn) (string, error)
- func (b *InMemoryBackend) CreateLog(groupID string, in CreateLogIn) (string, error)
- func (b *InMemoryBackend) CreateLogGroup(in CreateLogGroupIn) (string, error)
- func (b *InMemoryBackend) DeleteAgentConfig(id, ifMatch string) (string, error)
- func (b *InMemoryBackend) DeleteLog(groupID, id, ifMatch string) (string, error)
- func (b *InMemoryBackend) DeleteLogGroup(id, ifMatch string) (string, error)
- func (b *InMemoryBackend) DeleteWorkRequest(id string) error
- func (b *InMemoryBackend) EmitServiceLog(service, resource, category string, ev ServiceEvent) int
- func (b *InMemoryBackend) GetAgentConfig(id string) (AgentConfigWire, string, error)
- func (b *InMemoryBackend) GetLog(groupID, id string) (LogWire, string, error)
- func (b *InMemoryBackend) GetLogGroup(id string) (LogGroupWire, string, error)
- func (b *InMemoryBackend) GetWorkRequest(id string) (WorkRequestWire, error)
- func (b *InMemoryBackend) ListAgentConfigs(f AgentFilter, o ListOpts) (page.Page[agentSummaryWire], error)
- func (b *InMemoryBackend) ListLogGroups(compartment, name string, o ListOpts) (page.Page[LogGroupWire], error)
- func (b *InMemoryBackend) ListLogs(groupID string, f LogFilter, o ListOpts) (page.Page[LogWire], error)
- func (b *InMemoryBackend) ListServices(o ListOpts) page.Page[ServiceSummaryWire]
- func (b *InMemoryBackend) ListWorkRequests(compartment, id, status string, o ListOpts) (page.Page[WorkRequestWire], error)
- func (b *InMemoryBackend) PutLogs(logID string, in PutLogsIn) error
- func (b *InMemoryBackend) Reset()
- func (b *InMemoryBackend) Restore(ctx context.Context, data []byte) error
- func (b *InMemoryBackend) SearchLogs(in SearchIn, token string, limit int) (SearchOut, string, error)
- func (b *InMemoryBackend) SetClock(now func() time.Time)
- func (b *InMemoryBackend) SetTransition(d time.Duration)
- func (b *InMemoryBackend) Snapshot(ctx context.Context) []byte
- func (b *InMemoryBackend) Sweep()
- func (b *InMemoryBackend) UpdateAgentConfig(id, ifMatch string, in UpdateAgentConfigIn) (string, error)
- func (b *InMemoryBackend) UpdateLog(groupID, id, ifMatch string, in UpdateLogIn) (string, error)
- func (b *InMemoryBackend) UpdateLogGroup(id, ifMatch string, in UpdateLogGroupIn) (string, error)
- func (b *InMemoryBackend) WorkRequestExists(id string) error
- func (b *InMemoryBackend) WorkRequestLogs(id string, o ListOpts) (page.Page[wrLogWire], error)
- type ListOpts
- type Log
- type LogBatch
- type LogConfig
- type LogEntry
- type LogFilter
- type LogGroup
- type LogGroupWire
- type LogWire
- type Provider
- type PutLogsIn
- type Query
- type SearchIn
- type SearchOut
- type ServiceEvent
- type ServiceSource
- type ServiceSummaryWire
- type Settings
- type SourceWire
- type Tags
- type UpdateAgentConfigIn
- type UpdateLogGroupIn
- type UpdateLogIn
- type WorkRequest
- type WorkRequestWire
Constants ¶
const DefaultPort = 8160
DefaultPort is the dedicated listener's default TCP port.
const (
// Region is the fixed region baked into emulated OCIDs.
Region = "us-ashburn-1"
)
Variables ¶
var ErrNilAppContext = errors.New("ocilogging: nil app context")
ErrNilAppContext is returned when Init is called with a nil AppContext.
var ErrSnapshotNull = errors.New("ocilogging: null entry in snapshot")
ErrSnapshotNull is returned when a snapshot contains a null entry.
Functions ¶
This section is empty.
Types ¶
type APIError ¶
APIError is an OCI error response: HTTP status plus the `code` and `message` body fields.
type AgentConfig ¶
type AgentConfig struct {
TimeCreated time.Time `json:"timeCreated"`
TimeModified time.Time `json:"timeModified"`
TransitionAt *time.Time `json:"transitionAt,omitempty"`
ServiceConfig json.RawMessage `json:"serviceConfiguration"`
Tags Tags `json:"tags"`
ID string `json:"id"`
CompartmentID string `json:"compartmentId"`
Name string `json:"displayName"`
Description string `json:"description,omitempty"`
State string `json:"state"`
ConfigType string `json:"configurationType"`
Etag string `json:"etag"`
Groups []string `json:"groupList,omitempty"`
Seq int64 `json:"seq"`
Enabled bool `json:"isEnabled"`
}
AgentConfig is a stored unified agent configuration.
type AgentConfigWire ¶
type AgentConfigWire struct {
TimeCreated time.Time `json:"timeCreated"`
TimeModified time.Time `json:"timeLastModified"`
FreeformTags map[string]string `json:"freeformTags,omitempty"`
DefinedTags map[string]map[string]any `json:"definedTags,omitempty"`
ID string `json:"id"`
CompartmentID string `json:"compartmentId"`
Name string `json:"displayName"`
Description string `json:"description,omitempty"`
LifecycleState string `json:"lifecycleState"`
ConfigurationState string `json:"configurationState"`
GroupAssociation groupAssociationWire `json:"groupAssociation"`
ServiceConfig json.RawMessage `json:"serviceConfiguration"`
Enabled bool `json:"isEnabled"`
}
AgentConfigWire is the GetUnifiedAgentConfiguration response.
type AgentFilter ¶
type AgentFilter struct {
Compartment, Name, State, LogID, GroupID string
}
AgentFilter narrows ListUnifiedAgentConfigurations.
type ChangeLogGroupIn ¶
type ChangeLogGroupIn struct {
TargetLogGroupID string `json:"targetLogGroupId"`
}
ChangeLogGroupIn is the ChangeLogLogGroup request body.
type ConfigProvider ¶
type ConfigProvider interface {
GetOCILoggingSettings() Settings
}
ConfigProvider extracts OCI Logging configuration from the AppContext Config.
type ConfigWire ¶
type ConfigWire struct {
Source *SourceWire `json:"source,omitempty"`
Archiving *archivingWire `json:"archiving,omitempty"`
CompartmentID string `json:"compartmentId,omitempty"`
}
ConfigWire is the log configuration as sent and returned over the wire.
type CreateAgentConfigIn ¶
type CreateAgentConfigIn struct {
Tags
Enabled *bool `json:"isEnabled"`
Description *string `json:"description"`
GroupAssoc *groupAssociationWire `json:"groupAssociation"`
Name string `json:"displayName"`
Compartment string `json:"compartmentId"`
ServiceConfig json.RawMessage `json:"serviceConfiguration"`
}
CreateAgentConfigIn is the CreateUnifiedAgentConfiguration request body.
type CreateLogGroupIn ¶
type CreateLogGroupIn struct {
Tags
Description *string `json:"description"`
Name string `json:"displayName"`
Compartment string `json:"compartmentId"`
}
CreateLogGroupIn is the CreateLogGroup request body.
type CreateLogIn ¶
type CreateLogIn struct {
Tags
Enabled *bool `json:"isEnabled"`
Retention *int `json:"retentionDuration"`
Configuration *ConfigWire `json:"configuration"`
Name string `json:"displayName"`
LogType string `json:"logType"`
}
CreateLogIn is the CreateLog request body.
type Entry ¶
type Entry struct {
Time time.Time `json:"time"`
Ingested time.Time `json:"ingested"`
ID string `json:"id"`
Data string `json:"data"`
Source string `json:"source"`
Type string `json:"type"`
Subject string `json:"subject,omitempty"`
Seq int64 `json:"seq"`
}
Entry is one ingested log record.
type Handler ¶
type Handler struct {
Backend *InMemoryBackend
Port int
EnforceAuth bool
// contains filtered or unexported fields
}
Handler serves OCI Logging: control plane, ingestion and search.
func NewHandler ¶
func NewHandler(backend *InMemoryBackend) *Handler
NewHandler creates a Handler; callers override Port and EnforceAuth from Settings.
func (*Handler) ExtractOperation ¶
ExtractOperation returns the operation name for metrics.
func (*Handler) ExtractResource ¶
ExtractResource returns the addressed resource id for metrics.
func (*Handler) GetSupportedOperations ¶
GetSupportedOperations lists the supported operations.
func (*Handler) Handler ¶
func (h *Handler) Handler() echo.HandlerFunc
Handler returns the Echo handler for all OCILogging requests.
func (*Handler) MatchPriority ¶
MatchPriority is irrelevant because RouteMatcher never matches.
func (*Handler) RouteMatcher ¶
RouteMatcher never matches: OCILogging runs on its own listener.
func (*Handler) Snapshot ¶
Snapshot implements persistence.Persistable by delegating to the backend.
func (*Handler) StartWorker ¶
StartWorker binds the dedicated listener synchronously so a port conflict is returned to the caller.
func (*Handler) Trusted ¶
func (h *Handler) Trusted() echo.HandlerFunc
Trusted returns a handler that skips request-signature verification, for the in-process dashboard proxy.
type InMemoryBackend ¶
InMemoryBackend holds every log group, log, agent configuration, work request and ingested entry under one lock.
func NewInMemoryBackend ¶
func NewInMemoryBackend() *InMemoryBackend
NewInMemoryBackend creates an empty backend.
func (*InMemoryBackend) ChangeAgentConfigCompartment ¶
func (b *InMemoryBackend) ChangeAgentConfigCompartment(id, ifMatch, compartment string) (string, error)
ChangeAgentConfigCompartment moves an agent configuration to another compartment.
func (*InMemoryBackend) ChangeLogGroupCompartment ¶
func (b *InMemoryBackend) ChangeLogGroupCompartment(id, ifMatch, compartment string) (string, error)
ChangeLogGroupCompartment moves a log group to another compartment.
func (*InMemoryBackend) ChangeLogLogGroup ¶
func (b *InMemoryBackend) ChangeLogLogGroup(groupID, id, ifMatch, target string) (string, error)
ChangeLogLogGroup moves a log to another log group of the same compartment.
func (*InMemoryBackend) Compartments ¶
func (b *InMemoryBackend) Compartments() []string
Compartments lists the distinct compartments that hold log groups.
func (*InMemoryBackend) CreateAgentConfig ¶
func (b *InMemoryBackend) CreateAgentConfig(in CreateAgentConfigIn) (string, error)
CreateAgentConfig creates a unified agent configuration.
func (*InMemoryBackend) CreateLog ¶
func (b *InMemoryBackend) CreateLog(groupID string, in CreateLogIn) (string, error)
CreateLog creates a log inside a log group.
func (*InMemoryBackend) CreateLogGroup ¶
func (b *InMemoryBackend) CreateLogGroup(in CreateLogGroupIn) (string, error)
CreateLogGroup creates a log group in CREATING state and returns its work request.
func (*InMemoryBackend) DeleteAgentConfig ¶
func (b *InMemoryBackend) DeleteAgentConfig(id, ifMatch string) (string, error)
DeleteAgentConfig moves an agent configuration to DELETING.
func (*InMemoryBackend) DeleteLog ¶
func (b *InMemoryBackend) DeleteLog(groupID, id, ifMatch string) (string, error)
DeleteLog moves a log to DELETING; its entries are dropped when the transition completes.
func (*InMemoryBackend) DeleteLogGroup ¶
func (b *InMemoryBackend) DeleteLogGroup(id, ifMatch string) (string, error)
DeleteLogGroup moves an empty log group to DELETING.
func (*InMemoryBackend) DeleteWorkRequest ¶
func (b *InMemoryBackend) DeleteWorkRequest(id string) error
DeleteWorkRequest removes a finished work request.
func (*InMemoryBackend) EmitServiceLog ¶
func (b *InMemoryBackend) EmitServiceLog(service, resource, category string, ev ServiceEvent) int
EmitServiceLog stores the event in every ACTIVE SERVICE log whose source matches; it returns how many logs took it.
func (*InMemoryBackend) GetAgentConfig ¶
func (b *InMemoryBackend) GetAgentConfig(id string) (AgentConfigWire, string, error)
GetAgentConfig returns one agent configuration and its etag.
func (*InMemoryBackend) GetLog ¶
func (b *InMemoryBackend) GetLog(groupID, id string) (LogWire, string, error)
GetLog returns one log and its etag.
func (*InMemoryBackend) GetLogGroup ¶
func (b *InMemoryBackend) GetLogGroup(id string) (LogGroupWire, string, error)
GetLogGroup returns one log group and its etag.
func (*InMemoryBackend) GetWorkRequest ¶
func (b *InMemoryBackend) GetWorkRequest(id string) (WorkRequestWire, error)
GetWorkRequest returns one work request.
func (*InMemoryBackend) ListAgentConfigs ¶
func (b *InMemoryBackend) ListAgentConfigs(f AgentFilter, o ListOpts) (page.Page[agentSummaryWire], error)
ListAgentConfigs lists the agent configurations of a compartment.
func (*InMemoryBackend) ListLogGroups ¶
func (b *InMemoryBackend) ListLogGroups(compartment, name string, o ListOpts) (page.Page[LogGroupWire], error)
ListLogGroups lists the log groups of a compartment.
func (*InMemoryBackend) ListLogs ¶
func (b *InMemoryBackend) ListLogs(groupID string, f LogFilter, o ListOpts) (page.Page[LogWire], error)
ListLogs lists the logs of a log group.
func (*InMemoryBackend) ListServices ¶
func (b *InMemoryBackend) ListServices(o ListOpts) page.Page[ServiceSummaryWire]
ListServices returns the service catalog.
func (*InMemoryBackend) ListWorkRequests ¶
func (b *InMemoryBackend) ListWorkRequests( compartment, id, status string, o ListOpts, ) (page.Page[WorkRequestWire], error)
ListWorkRequests lists the work requests of a compartment.
func (*InMemoryBackend) PutLogs ¶
func (b *InMemoryBackend) PutLogs(logID string, in PutLogsIn) error
PutLogs stores the batches in an ACTIVE, enabled log.
func (*InMemoryBackend) Restore ¶
func (b *InMemoryBackend) Restore(ctx context.Context, data []byte) error
Restore loads backend state from a snapshot.
func (*InMemoryBackend) SearchLogs ¶
func (b *InMemoryBackend) SearchLogs(in SearchIn, token string, limit int) (SearchOut, string, error)
SearchLogs runs a query over the ingested entries within the time range.
func (*InMemoryBackend) SetClock ¶
func (b *InMemoryBackend) SetClock(now func() time.Time)
SetClock injects the time source used for lifecycle, timestamps and retention.
func (*InMemoryBackend) SetTransition ¶
func (b *InMemoryBackend) SetTransition(d time.Duration)
SetTransition sets how long CREATING, UPDATING and DELETING states last.
func (*InMemoryBackend) Snapshot ¶
func (b *InMemoryBackend) Snapshot(ctx context.Context) []byte
Snapshot serialises the backend state, including registered API keys.
func (*InMemoryBackend) Sweep ¶
func (b *InMemoryBackend) Sweep()
Sweep applies lifecycle transitions and retention against the backend clock.
func (*InMemoryBackend) UpdateAgentConfig ¶
func (b *InMemoryBackend) UpdateAgentConfig(id, ifMatch string, in UpdateAgentConfigIn) (string, error)
UpdateAgentConfig replaces the mutable fields of an agent configuration.
func (*InMemoryBackend) UpdateLog ¶
func (b *InMemoryBackend) UpdateLog(groupID, id, ifMatch string, in UpdateLogIn) (string, error)
UpdateLog changes the mutable fields of a log; it passes through UPDATING.
func (*InMemoryBackend) UpdateLogGroup ¶
func (b *InMemoryBackend) UpdateLogGroup(id, ifMatch string, in UpdateLogGroupIn) (string, error)
UpdateLogGroup changes the mutable fields of a log group; it passes through UPDATING.
func (*InMemoryBackend) WorkRequestExists ¶
func (b *InMemoryBackend) WorkRequestExists(id string) error
WorkRequestExists reports whether a work request exists (its error list is always empty).
func (*InMemoryBackend) WorkRequestLogs ¶
WorkRequestLogs returns the log entries of a work request.
type Log ¶
type Log struct {
TimeCreated time.Time `json:"timeCreated"`
TimeModified time.Time `json:"timeModified"`
TransitionAt *time.Time `json:"transitionAt,omitempty"`
Config *LogConfig `json:"configuration,omitempty"`
Tags Tags `json:"tags"`
ID string `json:"id"`
GroupID string `json:"logGroupId"`
Name string `json:"displayName"`
LogType string `json:"logType"`
State string `json:"state"`
Etag string `json:"etag"`
Retention int `json:"retentionDuration"`
Seq int64 `json:"seq"`
Enabled bool `json:"isEnabled"`
}
Log is a custom or service log inside a log group.
type LogBatch ¶
type LogBatch struct {
DefaultTime *time.Time `json:"defaultlogentrytime"`
Source *string `json:"source"`
Type *string `json:"type"`
Subject string `json:"subject"`
Entries []LogEntry `json:"entries"`
}
LogBatch is a group of entries sharing a source, type and subject.
type LogConfig ¶
type LogConfig struct {
Source *ServiceSource `json:"source,omitempty"`
Archiving *bool `json:"archiving,omitempty"`
CompartmentID string `json:"compartmentId,omitempty"`
}
LogConfig is the stored log configuration.
type LogEntry ¶
type LogEntry struct {
Time *time.Time `json:"time"`
Data *string `json:"data"`
ID *string `json:"id"`
}
LogEntry is one entry of a batch.
type LogFilter ¶
type LogFilter struct {
LogType, Name, State, Service, Resource string
}
LogFilter narrows ListLogs.
type LogGroup ¶
type LogGroup struct {
TimeCreated time.Time `json:"timeCreated"`
TimeModified time.Time `json:"timeModified"`
TransitionAt *time.Time `json:"transitionAt,omitempty"`
Tags Tags `json:"tags"`
ID string `json:"id"`
CompartmentID string `json:"compartmentId"`
Name string `json:"displayName"`
Description string `json:"description,omitempty"`
State string `json:"state"`
Etag string `json:"etag"`
Seq int64 `json:"seq"`
}
LogGroup is a container of logs.
type LogGroupWire ¶
type LogGroupWire struct {
TimeCreated time.Time `json:"timeCreated"`
TimeModified time.Time `json:"timeLastModified"`
FreeformTags map[string]string `json:"freeformTags,omitempty"`
DefinedTags map[string]map[string]any `json:"definedTags,omitempty"`
ID string `json:"id"`
CompartmentID string `json:"compartmentId"`
Name string `json:"displayName"`
Description string `json:"description,omitempty"`
LifecycleState string `json:"lifecycleState"`
}
LogGroupWire is the GetLogGroup response and the ListLogGroups item.
type LogWire ¶
type LogWire struct {
TimeCreated time.Time `json:"timeCreated"`
TimeModified time.Time `json:"timeLastModified"`
Configuration *ConfigWire `json:"configuration,omitempty"`
FreeformTags map[string]string `json:"freeformTags,omitempty"`
DefinedTags map[string]map[string]any `json:"definedTags,omitempty"`
ID string `json:"id"`
LogGroupID string `json:"logGroupId"`
CompartmentID string `json:"compartmentId"`
Name string `json:"displayName"`
LogType string `json:"logType"`
LifecycleState string `json:"lifecycleState"`
Retention int `json:"retentionDuration"`
Enabled bool `json:"isEnabled"`
}
LogWire is the GetLog response and the ListLogs item.
type Provider ¶
type Provider struct{}
Provider implements service.Provider for OCI Logging. It runs on its own listener (see Handler.StartWorker) and never matches on the shared AWS router.
func (*Provider) Init ¶
func (p *Provider) Init(ctx *service.AppContext) (service.Registerable, error)
Init creates the backend and handler; the port is bound in StartWorker.
type PutLogsIn ¶
type PutLogsIn struct {
SpecVersion string `json:"specversion"`
Batches []LogBatch `json:"logEntryBatches"`
}
PutLogsIn is the PutLogs request body.
type Query ¶
type Query struct {
Streams []string
// contains filtered or unexported fields
}
Query is a parsed Logging search.
func ParseQuery ¶
ParseQuery parses the supported subset of the Logging query language.
type SearchIn ¶
type SearchIn struct {
TimeStart *time.Time `json:"timeStart"`
TimeEnd *time.Time `json:"timeEnd"`
ReturnFieldInfo *bool `json:"isReturnFieldInfo"`
SearchQuery string `json:"searchQuery"`
}
SearchIn is the SearchLogs request body.
type SearchOut ¶
type SearchOut struct {
Results []searchResultWire `json:"results"`
Fields []fieldInfoWire `json:"fields,omitempty"`
Summary searchSummaryWire `json:"summary"`
}
SearchOut is the SearchLogs response body.
type ServiceEvent ¶
ServiceEvent is a log record emitted by another emulated OCI service.
type ServiceSource ¶
type ServiceSource struct {
Parameters map[string]string `json:"parameters,omitempty"`
Service string `json:"service"`
Resource string `json:"resource"`
Category string `json:"category"`
}
ServiceSource is the OCISERVICE source of a SERVICE log.
type ServiceSummaryWire ¶
type ServiceSummaryWire struct {
ID string `json:"id"`
Name string `json:"name"`
Endpoint string `json:"endpoint"`
ServicePrincipalName string `json:"servicePrincipalName"`
TenantID string `json:"tenantId"`
Namespace string `json:"namespace,omitempty"`
ResourceTypes []resourceTypeWire `json:"resourceTypes"`
}
ServiceSummaryWire is one entry of the ListServices catalog.
type Settings ¶
type Settings struct {
Port int `` //nolint:lll // config struct tags are intentionally verbose
/* 220-byte string literal not displayed */
EnforceAuth bool `` //nolint:lll // config struct tags are intentionally verbose
/* 223-byte string literal not displayed */
}
Settings holds service-level configuration, embedded in the root CLI as CLI.OCILogging.
func DefaultSettings ¶
func DefaultSettings() Settings
DefaultSettings returns the settings used when no ConfigProvider is available.
type SourceWire ¶
type Tags ¶
type Tags struct {
FreeformTags map[string]string `json:"freeformTags,omitempty"`
DefinedTags map[string]map[string]any `json:"definedTags,omitempty"`
}
Tags are the shared freeform and defined tag sets of a resource.
type UpdateAgentConfigIn ¶
type UpdateAgentConfigIn struct {
Tags
Enabled *bool `json:"isEnabled"`
Description *string `json:"description"`
Name *string `json:"displayName"`
GroupAssoc *groupAssociationWire `json:"groupAssociation"`
ServiceConfig json.RawMessage `json:"serviceConfiguration"`
}
UpdateAgentConfigIn is the UpdateUnifiedAgentConfiguration request body.
type UpdateLogGroupIn ¶
type UpdateLogGroupIn struct {
Tags
Name *string `json:"displayName"`
Description *string `json:"description"`
}
UpdateLogGroupIn is the UpdateLogGroup request body.
type UpdateLogIn ¶
type UpdateLogIn struct {
Tags
Name *string `json:"displayName"`
Enabled *bool `json:"isEnabled"`
Retention *int `json:"retentionDuration"`
Configuration *ConfigWire `json:"configuration"`
}
UpdateLogIn is the UpdateLog request body.
type WorkRequest ¶
type WorkRequest struct {
Accepted time.Time `json:"accepted"`
FinishAt time.Time `json:"finishAt"`
ID string `json:"id"`
Operation string `json:"operation"`
CompartmentID string `json:"compartmentId"`
EntityType string `json:"entityType"`
EntityID string `json:"entityId"`
EntityURI string `json:"entityUri"`
Action string `json:"action"`
Seq int64 `json:"seq"`
}
WorkRequest records an asynchronous admin operation.
type WorkRequestWire ¶
type WorkRequestWire struct {
TimeAccepted time.Time `json:"timeAccepted"`
TimeStarted *time.Time `json:"timeStarted,omitempty"`
TimeFinished *time.Time `json:"timeFinished,omitempty"`
OperationType string `json:"operationType"`
Status string `json:"status"`
ID string `json:"id"`
CompartmentID string `json:"compartmentId"`
Resources []wrResourceWire `json:"resources"`
PercentComplete float32 `json:"percentComplete"`
}
WorkRequestWire is the work request shape shared by Get and List.