provisioning

package
v0.0.0-...-fb7f86c Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 18, 2023 License: AGPL-3.0 Imports: 26 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrNotFound = fmt.Errorf("object not found")
View Source
var ErrPermissionDenied = errors.New("permission denied")
View Source
var ErrValidation = fmt.Errorf("invalid object specification")

Functions

func GetSecretKeysForContactPointType

func GetSecretKeysForContactPointType(contactPointType string) ([]string, error)

GetSecretKeysForContactPointType returns settings keys of contact point of the given type that are expected to be secrets. Returns error is contact point type is not known.

func NewFakeProvisioningStore

func NewFakeProvisioningStore() *fakeProvisioningStore

func PersistConfig

PersistConfig validates to config before eventually persisting it if no error occurs

func RemoveSecretsForContactPoint

func RemoveSecretsForContactPoint(e *apimodels.EmbeddedContactPoint) (map[string]string, error)

RemoveSecretsForContactPoint removes all secrets from the contact point's settings and returns them as a map. Returns error if contact point type is not known.

Types

type AMConfigStore

type AMConfigStore interface {
	GetLatestAlertmanagerConfiguration(ctx context.Context, query *models.GetLatestAlertmanagerConfigurationQuery) (*models.AlertConfiguration, error)
	UpdateAlertmanagerConfiguration(ctx context.Context, cmd *models.SaveAlertmanagerConfigurationCmd) error
}

AMStore is a store of Alertmanager configurations.

type AlertRuleService

type AlertRuleService struct {
	// contains filtered or unexported fields
}

func NewAlertRuleService

func NewAlertRuleService(ruleStore RuleStore,
	provenanceStore ProvisioningStore,
	dashboardService dashboards.DashboardService,
	quotas QuotaChecker,
	xact TransactionManager,
	defaultIntervalSeconds int64,
	baseIntervalSeconds int64,
	log log.Logger) *AlertRuleService

func (*AlertRuleService) CreateAlertRule

func (service *AlertRuleService) CreateAlertRule(ctx context.Context, rule models.AlertRule, provenance models.Provenance, userID int64) (models.AlertRule, error)

CreateAlertRule creates a new alert rule. This function will ignore any interval that is set in the rule struct and use the already existing group interval or the default one.

func (*AlertRuleService) DeleteAlertRule

func (service *AlertRuleService) DeleteAlertRule(ctx context.Context, orgID int64, ruleUID string, provenance models.Provenance) error

func (*AlertRuleService) GetAlertGroupsWithFolderTitle

func (service *AlertRuleService) GetAlertGroupsWithFolderTitle(ctx context.Context, orgID int64) ([]models.AlertRuleGroupWithFolderTitle, error)

GetAlertGroupsWithFolderTitle returns all groups with folder title that have at least one alert.

func (*AlertRuleService) GetAlertRule

func (service *AlertRuleService) GetAlertRule(ctx context.Context, orgID int64, ruleUID string) (models.AlertRule, models.Provenance, error)

func (*AlertRuleService) GetAlertRuleGroupWithFolderTitle

func (service *AlertRuleService) GetAlertRuleGroupWithFolderTitle(ctx context.Context, orgID int64, namespaceUID, group string) (models.AlertRuleGroupWithFolderTitle, error)

GetAlertRuleGroupWithFolderTitle returns the alert rule group with folder title.

func (*AlertRuleService) GetAlertRuleWithFolderTitle

func (service *AlertRuleService) GetAlertRuleWithFolderTitle(ctx context.Context, orgID int64, ruleUID string) (AlertRuleWithFolderTitle, error)

GetAlertRuleWithFolderTitle returns a single alert rule with its folder title.

func (*AlertRuleService) GetAlertRules

func (service *AlertRuleService) GetAlertRules(ctx context.Context, orgID int64) ([]*models.AlertRule, error)

func (*AlertRuleService) GetRuleGroup

func (service *AlertRuleService) GetRuleGroup(ctx context.Context, orgID int64, namespaceUID, group string) (models.AlertRuleGroup, error)

func (*AlertRuleService) ReplaceRuleGroup

func (service *AlertRuleService) ReplaceRuleGroup(ctx context.Context, orgID int64, group models.AlertRuleGroup, userID int64, provenance models.Provenance) error

func (*AlertRuleService) UpdateAlertRule

func (service *AlertRuleService) UpdateAlertRule(ctx context.Context, rule models.AlertRule, provenance models.Provenance) (models.AlertRule, error)

UpdateAlertRule updates an alert rule.

func (*AlertRuleService) UpdateRuleGroup

func (service *AlertRuleService) UpdateRuleGroup(ctx context.Context, orgID int64, namespaceUID string, ruleGroup string, intervalSeconds int64) error

UpdateRuleGroup will update the interval for all rules in the group.

type AlertRuleWithFolderTitle

type AlertRuleWithFolderTitle struct {
	AlertRule   models.AlertRule
	FolderTitle string
}

type ContactPointQuery

type ContactPointQuery struct {
	// Optionally filter by name.
	Name  string
	OrgID int64
	// Optionally decrypt secure settings, requires OrgAdmin.
	Decrypt bool
}

type ContactPointService

type ContactPointService struct {
	// contains filtered or unexported fields
}

func NewContactPointService

func NewContactPointService(store AMConfigStore, encryptionService secrets.Service,
	provenanceStore ProvisioningStore, xact TransactionManager, log log.Logger, ac accesscontrol.AccessControl) *ContactPointService

func (*ContactPointService) CreateContactPoint

func (ecp *ContactPointService) CreateContactPoint(ctx context.Context, orgID int64,
	contactPoint apimodels.EmbeddedContactPoint, provenance models.Provenance) (apimodels.EmbeddedContactPoint, error)

func (*ContactPointService) DeleteContactPoint

func (ecp *ContactPointService) DeleteContactPoint(ctx context.Context, orgID int64, uid string) error

func (*ContactPointService) GetContactPoints

GetContactPoints returns contact points. If q.Decrypt is true and the user is an OrgAdmin, decrypted secure settings are included instead of redacted ones.

func (*ContactPointService) UpdateContactPoint

func (ecp *ContactPointService) UpdateContactPoint(ctx context.Context, orgID int64, contactPoint apimodels.EmbeddedContactPoint, provenance models.Provenance) error

type MockAMConfigStore

type MockAMConfigStore struct {
	mock.Mock
}

MockAMConfigStore is an autogenerated mock type for the AMConfigStore type

func NewMockAMConfigStore

func NewMockAMConfigStore(t mockConstructorTestingTNewMockAMConfigStore) *MockAMConfigStore

NewMockAMConfigStore creates a new instance of MockAMConfigStore. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations.

func (*MockAMConfigStore) EXPECT

func (*MockAMConfigStore) GetLatestAlertmanagerConfiguration

func (_m *MockAMConfigStore) GetLatestAlertmanagerConfiguration(ctx context.Context, query *models.GetLatestAlertmanagerConfigurationQuery) (*models.AlertConfiguration, error)

GetLatestAlertmanagerConfiguration provides a mock function with given fields: ctx, query

func (*MockAMConfigStore) UpdateAlertmanagerConfiguration

func (_m *MockAMConfigStore) UpdateAlertmanagerConfiguration(ctx context.Context, cmd *models.SaveAlertmanagerConfigurationCmd) error

UpdateAlertmanagerConfiguration provides a mock function with given fields: ctx, cmd

type MockAMConfigStore_Expecter

type MockAMConfigStore_Expecter struct {
	// contains filtered or unexported fields
}

func (*MockAMConfigStore_Expecter) GetLatestAlertmanagerConfiguration

func (_e *MockAMConfigStore_Expecter) GetLatestAlertmanagerConfiguration(ctx interface{}, query interface{}) *MockAMConfigStore_GetLatestAlertmanagerConfiguration_Call

GetLatestAlertmanagerConfiguration is a helper method to define mock.On call

  • ctx context.Context
  • query *models.GetLatestAlertmanagerConfigurationQuery

func (*MockAMConfigStore_Expecter) GetsConfig

func (*MockAMConfigStore_Expecter) SaveSucceeds

func (*MockAMConfigStore_Expecter) SaveSucceedsIntercept

func (*MockAMConfigStore_Expecter) UpdateAlertmanagerConfiguration

func (_e *MockAMConfigStore_Expecter) UpdateAlertmanagerConfiguration(ctx interface{}, cmd interface{}) *MockAMConfigStore_UpdateAlertmanagerConfiguration_Call

UpdateAlertmanagerConfiguration is a helper method to define mock.On call

  • ctx context.Context
  • cmd *models.SaveAlertmanagerConfigurationCmd

type MockAMConfigStore_GetLatestAlertmanagerConfiguration_Call

type MockAMConfigStore_GetLatestAlertmanagerConfiguration_Call struct {
	*mock.Call
}

MockAMConfigStore_GetLatestAlertmanagerConfiguration_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetLatestAlertmanagerConfiguration'

func (*MockAMConfigStore_GetLatestAlertmanagerConfiguration_Call) Return

type MockAMConfigStore_UpdateAlertmanagerConfiguration_Call

type MockAMConfigStore_UpdateAlertmanagerConfiguration_Call struct {
	*mock.Call
}

MockAMConfigStore_UpdateAlertmanagerConfiguration_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'UpdateAlertmanagerConfiguration'

func (*MockAMConfigStore_UpdateAlertmanagerConfiguration_Call) Return

type MockProvisioningStore

type MockProvisioningStore struct {
	mock.Mock
}

MockProvisioningStore is an autogenerated mock type for the ProvisioningStore type

func NewMockProvisioningStore

func NewMockProvisioningStore(t testing.TB) *MockProvisioningStore

NewMockProvisioningStore creates a new instance of MockProvisioningStore. It also registers the testing.TB interface on the mock and a cleanup function to assert the mocks expectations.

func (*MockProvisioningStore) DeleteProvenance

func (_m *MockProvisioningStore) DeleteProvenance(ctx context.Context, o models.Provisionable, org int64) error

DeleteProvenance provides a mock function with given fields: ctx, o, org

func (*MockProvisioningStore) EXPECT

func (*MockProvisioningStore) GetProvenance

GetProvenance provides a mock function with given fields: ctx, o, org

func (*MockProvisioningStore) GetProvenances

func (_m *MockProvisioningStore) GetProvenances(ctx context.Context, org int64, resourceType string) (map[string]models.Provenance, error)

GetProvenances provides a mock function with given fields: ctx, org, resourceType

func (*MockProvisioningStore) SetProvenance

SetProvenance provides a mock function with given fields: ctx, o, org, p

type MockProvisioningStore_DeleteProvenance_Call

type MockProvisioningStore_DeleteProvenance_Call struct {
	*mock.Call
}

MockProvisioningStore_DeleteProvenance_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'DeleteProvenance'

func (*MockProvisioningStore_DeleteProvenance_Call) Return

func (*MockProvisioningStore_DeleteProvenance_Call) Run

type MockProvisioningStore_Expecter

type MockProvisioningStore_Expecter struct {
	// contains filtered or unexported fields
}

func (*MockProvisioningStore_Expecter) DeleteProvenance

func (_e *MockProvisioningStore_Expecter) DeleteProvenance(ctx interface{}, o interface{}, org interface{}) *MockProvisioningStore_DeleteProvenance_Call

DeleteProvenance is a helper method to define mock.On call

  • ctx context.Context
  • o models.Provisionable
  • org int64

func (*MockProvisioningStore_Expecter) GetProvenance

func (_e *MockProvisioningStore_Expecter) GetProvenance(ctx interface{}, o interface{}, org interface{}) *MockProvisioningStore_GetProvenance_Call

GetProvenance is a helper method to define mock.On call

  • ctx context.Context
  • o models.Provisionable
  • org int64

func (*MockProvisioningStore_Expecter) GetProvenances

func (_e *MockProvisioningStore_Expecter) GetProvenances(ctx interface{}, org interface{}, resourceType interface{}) *MockProvisioningStore_GetProvenances_Call

GetProvenances is a helper method to define mock.On call

  • ctx context.Context
  • org int64
  • resourceType string

func (*MockProvisioningStore_Expecter) GetReturns

func (*MockProvisioningStore_Expecter) SaveSucceeds

func (*MockProvisioningStore_Expecter) SetProvenance

func (_e *MockProvisioningStore_Expecter) SetProvenance(ctx interface{}, o interface{}, org interface{}, p interface{}) *MockProvisioningStore_SetProvenance_Call

SetProvenance is a helper method to define mock.On call

  • ctx context.Context
  • o models.Provisionable
  • org int64
  • p models.Provenance

type MockProvisioningStore_GetProvenance_Call

type MockProvisioningStore_GetProvenance_Call struct {
	*mock.Call
}

MockProvisioningStore_GetProvenance_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetProvenance'

func (*MockProvisioningStore_GetProvenance_Call) Return

func (*MockProvisioningStore_GetProvenance_Call) Run

type MockProvisioningStore_GetProvenances_Call

type MockProvisioningStore_GetProvenances_Call struct {
	*mock.Call
}

MockProvisioningStore_GetProvenances_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetProvenances'

func (*MockProvisioningStore_GetProvenances_Call) Return

func (*MockProvisioningStore_GetProvenances_Call) Run

type MockProvisioningStore_SetProvenance_Call

type MockProvisioningStore_SetProvenance_Call struct {
	*mock.Call
}

MockProvisioningStore_SetProvenance_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'SetProvenance'

func (*MockProvisioningStore_SetProvenance_Call) Return

func (*MockProvisioningStore_SetProvenance_Call) Run

type MockQuotaChecker

type MockQuotaChecker struct {
	mock.Mock
}

MockQuotaChecker is an autogenerated mock type for the QuotaChecker type

func NewMockQuotaChecker

func NewMockQuotaChecker(t mockConstructorTestingTNewMockQuotaChecker) *MockQuotaChecker

NewMockQuotaChecker creates a new instance of MockQuotaChecker. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations.

func (*MockQuotaChecker) CheckQuotaReached

func (_m *MockQuotaChecker) CheckQuotaReached(ctx context.Context, target quota.TargetSrv, scopeParams *quota.ScopeParameters) (bool, error)

CheckQuotaReached provides a mock function with given fields: ctx, target, scopeParams

func (*MockQuotaChecker) EXPECT

type MockQuotaChecker_CheckQuotaReached_Call

type MockQuotaChecker_CheckQuotaReached_Call struct {
	*mock.Call
}

MockQuotaChecker_CheckQuotaReached_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'CheckQuotaReached'

func (*MockQuotaChecker_CheckQuotaReached_Call) Return

func (*MockQuotaChecker_CheckQuotaReached_Call) Run

type MockQuotaChecker_Expecter

type MockQuotaChecker_Expecter struct {
	// contains filtered or unexported fields
}

func (*MockQuotaChecker_Expecter) CheckQuotaReached

func (_e *MockQuotaChecker_Expecter) CheckQuotaReached(ctx interface{}, target interface{}, scopeParams interface{}) *MockQuotaChecker_CheckQuotaReached_Call

CheckQuotaReached is a helper method to define mock.On call

  • ctx context.Context
  • target quota.TargetSrv
  • scopeParams *quota.ScopeParameters

func (*MockQuotaChecker_Expecter) LimitExceeded

func (*MockQuotaChecker_Expecter) LimitOK

type MuteTimingService

type MuteTimingService struct {
	// contains filtered or unexported fields
}

func NewMuteTimingService

func NewMuteTimingService(config AMConfigStore, prov ProvisioningStore, xact TransactionManager, log log.Logger) *MuteTimingService

func (*MuteTimingService) CreateMuteTiming

CreateMuteTiming adds a new mute timing within the specified org. The created mute timing is returned.

func (*MuteTimingService) DeleteMuteTiming

func (svc *MuteTimingService) DeleteMuteTiming(ctx context.Context, name string, orgID int64) error

DeleteMuteTiming deletes the mute timing with the given name in the given org. If the mute timing does not exist, no error is returned.

func (*MuteTimingService) GetMuteTimings

func (svc *MuteTimingService) GetMuteTimings(ctx context.Context, orgID int64) ([]definitions.MuteTimeInterval, error)

GetMuteTimings returns a slice of all mute timings within the specified org.

func (*MuteTimingService) UpdateMuteTiming

UpdateMuteTiming replaces an existing mute timing within the specified org. The replaced mute timing is returned. If the mute timing does not exist, nil is returned and no action is taken.

type NopTransactionManager

type NopTransactionManager struct{}

func (*NopTransactionManager) InTransaction

func (n *NopTransactionManager) InTransaction(ctx context.Context, work func(ctx context.Context) error) error

type NotificationPolicyService

type NotificationPolicyService struct {
	// contains filtered or unexported fields
}

func (*NotificationPolicyService) GetAMConfigStore

func (nps *NotificationPolicyService) GetAMConfigStore() AMConfigStore

func (*NotificationPolicyService) GetPolicyTree

func (nps *NotificationPolicyService) GetPolicyTree(ctx context.Context, orgID int64) (definitions.Route, error)

func (*NotificationPolicyService) ResetPolicyTree

func (nps *NotificationPolicyService) ResetPolicyTree(ctx context.Context, orgID int64) (definitions.Route, error)

func (*NotificationPolicyService) UpdatePolicyTree

func (nps *NotificationPolicyService) UpdatePolicyTree(ctx context.Context, orgID int64, tree definitions.Route, p models.Provenance) error

type ProvisioningStore

type ProvisioningStore interface {
	GetProvenance(ctx context.Context, o models.Provisionable, org int64) (models.Provenance, error)
	GetProvenances(ctx context.Context, org int64, resourceType string) (map[string]models.Provenance, error)
	SetProvenance(ctx context.Context, o models.Provisionable, org int64, p models.Provenance) error
	DeleteProvenance(ctx context.Context, o models.Provisionable, org int64) error
}

ProvisioningStore is a store of provisioning data for arbitrary objects.

type QuotaChecker

type QuotaChecker interface {
	CheckQuotaReached(ctx context.Context, target quota.TargetSrv, scopeParams *quota.ScopeParameters) (bool, error)
}

QuotaChecker represents the ability to evaluate whether quotas are met.

type RuleStore

type RuleStore interface {
	GetAlertRuleByUID(ctx context.Context, query *models.GetAlertRuleByUIDQuery) (*models.AlertRule, error)
	ListAlertRules(ctx context.Context, query *models.ListAlertRulesQuery) (models.RulesGroup, error)
	GetRuleGroupInterval(ctx context.Context, orgID int64, namespaceUID string, ruleGroup string) (int64, error)
	InsertAlertRules(ctx context.Context, rule []models.AlertRule) (map[string]int64, error)
	UpdateAlertRules(ctx context.Context, rule []models.UpdateRule) error
	DeleteAlertRulesByUID(ctx context.Context, orgID int64, ruleUID ...string) error
	GetAlertRulesGroupByRuleUID(ctx context.Context, query *models.GetAlertRulesGroupByRuleUIDQuery) ([]*models.AlertRule, error)
}

RuleStore represents the ability to persist and query alert rules.

type TemplateService

type TemplateService struct {
	// contains filtered or unexported fields
}

func NewTemplateService

func NewTemplateService(config AMConfigStore, prov ProvisioningStore, xact TransactionManager, log log.Logger) *TemplateService

func (*TemplateService) DeleteTemplate

func (t *TemplateService) DeleteTemplate(ctx context.Context, orgID int64, name string) error

func (*TemplateService) GetTemplates

func (t *TemplateService) GetTemplates(ctx context.Context, orgID int64) (map[string]string, error)

func (*TemplateService) SetTemplate

type TransactionManager

type TransactionManager interface {
	InTransaction(ctx context.Context, work func(ctx context.Context) error) error
}

TransactionManager represents the ability to issue and close transactions through contexts.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL