Documentation
¶
Overview ¶
******************************************************************************
- Copyright 2019 VMware Inc. *
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
- in compliance with the License. You may obtain a copy of the License at *
- http://www.apache.org/licenses/LICENSE-2.0 *
- Unless required by applicable law or agreed to in writing, software distributed under the License
- is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- or implied. See the License for the specific language governing permissions and limitations under
- the License. ******************************************************************************
******************************************************************************
- Copyright 2019 VMware Inc. *
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
- in compliance with the License. You may obtain a copy of the License at *
- http://www.apache.org/licenses/LICENSE-2.0 *
- Unless required by applicable law or agreed to in writing, software distributed under the License
- is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- or implied. See the License for the specific language governing permissions and limitations under
- the License. ******************************************************************************
******************************************************************************
- Copyright 2019 VMware Inc. *
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
- in compliance with the License. You may obtain a copy of the License at *
- http://www.apache.org/licenses/LICENSE-2.0 *
- Unless required by applicable law or agreed to in writing, software distributed under the License
- is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- or implied. See the License for the specific language governing permissions and limitations under
- the License. ******************************************************************************
Index ¶
- type AddExecutor
- type CollectionExecutor
- type DeleteExecutor
- type IdExecutor
- type IntervalActionLoader
- type IntervalDeleter
- type IntervalLoader
- type IntervalUpdater
- type IntervalWriter
- type SchedulerQueueDeleter
- type SchedulerQueueLoader
- type SchedulerQueueUpdater
- type SchedulerQueueWriter
- type ScrubExecutor
- type UpdateExecutor
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AddExecutor ¶
func NewAddExecutor ¶
func NewAddExecutor(db IntervalWriter, scClient SchedulerQueueWriter, interval contract.Interval) AddExecutor
This factory method returns an executor used to add an addressable.
type CollectionExecutor ¶
func NewAllExecutor ¶
func NewAllExecutor(db IntervalLoader, limit int) CollectionExecutor
type DeleteExecutor ¶
type DeleteExecutor interface {
Execute() error
}
DeleteExecutor handles the deletion of a interval. Returns ErrIntervalNotFound if an interval could not be found with a matching ID
func NewDeleteByIDExecutor ¶
func NewDeleteByIDExecutor( intervalDeleter IntervalDeleter, sqDeleter SchedulerQueueDeleter, did string) DeleteExecutor
NewDeleteByIDExecutor creates a new DeleteExecutor which deletes an interval based on id.
func NewDeleteByNameExecutor ¶
func NewDeleteByNameExecutor( intervalDeleter IntervalDeleter, sqDeleter SchedulerQueueDeleter, dname string) DeleteExecutor
NewDeleteByNameExecutor creates a new DeleteExecutor which deletes an interval based on name.
type IdExecutor ¶
func NewIdExecutor ¶
func NewIdExecutor(db IntervalLoader, id string) IdExecutor
func NewNameExecutor ¶
func NewNameExecutor(db IntervalLoader, name string) IdExecutor
type IntervalActionLoader ¶
type IntervalActionLoader interface {
IntervalActionsByIntervalName(name string) ([]contract.IntervalAction, error)
}
type IntervalDeleter ¶
type IntervalDeleter interface {
DeleteIntervalById(id string) error
ScrubAllIntervals() (int, error)
IntervalLoader
IntervalActionLoader
}
IntervalDeleter deletes interval.
type IntervalLoader ¶
type IntervalLoader interface {
Intervals() ([]contract.Interval, error)
IntervalsWithLimit(limit int) ([]contract.Interval, error)
IntervalById(id string) (contract.Interval, error)
IntervalByName(name string) (contract.Interval, error)
}
IntervalLoader provides functionality for obtaining Interval.
type IntervalUpdater ¶
type IntervalUpdater interface {
UpdateInterval(interval contract.Interval) error
IntervalLoader
IntervalActionLoader
}
IntervalUpdater updates interval.
type IntervalWriter ¶
type IntervalWriter interface {
AddInterval(interval contract.Interval) (string, error)
IntervalLoader
}
IntervalWriter adds interval.
type SchedulerQueueDeleter ¶
type SchedulerQueueDeleter interface {
RemoveIntervalInQueue(intervalId string) error
SchedulerQueueLoader
}
SchedulerQueueDeleter deletes interval from SchedulerQueue
type SchedulerQueueLoader ¶
type SchedulerQueueLoader interface {
QueryIntervalByID(intervalId string) (contract.Interval, error)
QueryIntervalByName(intervalName string) (contract.Interval, error)
}
SchedulerQueueLoader provides functionality for obtaining Interval from SchedulerQueue
type SchedulerQueueUpdater ¶
type SchedulerQueueUpdater interface {
UpdateIntervalInQueue(interval contract.Interval) error
SchedulerQueueLoader
}
SchedulerQueueUpdater update interval in SchedulerQueue
type SchedulerQueueWriter ¶
type SchedulerQueueWriter interface {
AddIntervalToQueue(interval contract.Interval) error
SchedulerQueueLoader
}
SchedulerQueueWriter adds interval in SchedulerQueue
type ScrubExecutor ¶
func NewScrubExecutor ¶
func NewScrubExecutor(db IntervalDeleter) ScrubExecutor
NewDeleteByScrubExecutor creates a new DeleteExecutor which scrubs intervals.
type UpdateExecutor ¶
type UpdateExecutor interface {
Execute() error
}
func NewUpdateExecutor ¶
func NewUpdateExecutor(database IntervalUpdater, scClient SchedulerQueueUpdater, interval contract.Interval) UpdateExecutor
This factory method returns an executor used to update an addressable.