Documentation
¶
Index ¶
- Variables
- func IsDuplicateKeyError(err error) bool
- func ValidateAndNormalizeCondition(c *pb.Condition, isUpdate bool) (*pb.Condition, error)
- func ValidateAndNormalizeConditionsQuery(q *GetLatestConditionsQuery) error
- func ValidateAndNormalizeConfiguration(c *pb.Configuration, isUpdate bool) (*pb.Configuration, error)
- func ValidateAppliedConfiguration(c *pb.AppliedConfiguration) error
- func ValidateInvokeConfigurationRequest(req *InvokeConfigurationRequest) error
- type AppliedConfiguration
- type Condition
- type ConditionVersion
- type Configuration
- type ConfigurationVersion
- type GetLatestConditionsQuery
- type InvokeConfigurationRequest
- type Iterator
- type MongoIterator
- type ProccessAppliedConfigurations
- type Process
- type ProcessConditions
- type ProcessConfigurations
- type Store
- type UpdateAppliedConfigurationResourceRequest
Constants ¶
This section is empty.
Variables ¶
Functions ¶
func IsDuplicateKeyError ¶
func ValidateAndNormalizeConditionsQuery ¶
func ValidateAndNormalizeConditionsQuery(q *GetLatestConditionsQuery) error
func ValidateAndNormalizeConfiguration ¶
func ValidateAndNormalizeConfiguration(c *pb.Configuration, isUpdate bool) (*pb.Configuration, error)
func ValidateAppliedConfiguration ¶
func ValidateAppliedConfiguration(c *pb.AppliedConfiguration) error
func ValidateInvokeConfigurationRequest ¶
func ValidateInvokeConfigurationRequest(req *InvokeConfigurationRequest) error
Types ¶
type AppliedConfiguration ¶
type AppliedConfiguration struct { RecordID string `bson:"_id"` pb.AppliedConfiguration }
func MakeAppliedConfiguration ¶
func MakeAppliedConfiguration(c *pb.AppliedConfiguration) AppliedConfiguration
func (*AppliedConfiguration) GetAppliedConfiguration ¶
func (c *AppliedConfiguration) GetAppliedConfiguration() *pb.AppliedConfiguration
func (*AppliedConfiguration) UnmarshalBSON ¶
func (c *AppliedConfiguration) UnmarshalBSON(data []byte) error
type Condition ¶
type Condition struct { Id string `bson:"_id"` Owner string `bson:"owner"` ConfigurationId string `bson:"configurationId"` Latest *ConditionVersion `bson:"latest,omitempty"` Versions []ConditionVersion `bson:"versions,omitempty"` }
func MakeFirstCondition ¶
type ConditionVersion ¶
type ConditionVersion struct { Name string `bson:"name,omitempty"` Version uint64 `bson:"version"` Enabled bool `bson:"enabled"` Timestamp int64 `bson:"timestamp"` DeviceIdFilter []string `bson:"deviceIdFilter,omitempty"` ResourceTypeFilter []string `bson:"resourceTypeFilter,omitempty"` ResourceHrefFilter []string `bson:"resourceHrefFilter,omitempty"` JqExpressionFilter string `bson:"jqExpressionFilter,omitempty"` ApiAccessToken string `bson:"apiAccessToken,omitempty"` }
func MakeConditionVersion ¶
func MakeConditionVersion(c *pb.Condition) ConditionVersion
func (*ConditionVersion) Copy ¶
func (cv *ConditionVersion) Copy() ConditionVersion
type Configuration ¶
type Configuration struct { Id string `bson:"_id"` Owner string `bson:"owner"` Latest *ConfigurationVersion `bson:"latest,omitempty"` Versions []ConfigurationVersion `bson:"versions,omitempty"` }
func MakeFirstConfiguration ¶
func MakeFirstConfiguration(c *pb.Configuration) Configuration
func (*Configuration) Clone ¶
func (c *Configuration) Clone() *Configuration
func (*Configuration) GetLatest ¶
func (c *Configuration) GetLatest() (*pb.Configuration, error)
func (*Configuration) RangeVersions ¶
func (c *Configuration) RangeVersions(f func(int, *pb.Configuration) bool)
type ConfigurationVersion ¶
type ConfigurationVersion struct { Name string `bson:"name,omitempty"` Version uint64 `bson:"version"` Resources []*pb.Configuration_Resource `bson:"resources"` Timestamp int64 `bson:"timestamp"` }
func MakeConfigurationVersion ¶
func MakeConfigurationVersion(c *pb.Configuration) ConfigurationVersion
func (*ConfigurationVersion) Copy ¶
func (cv *ConfigurationVersion) Copy() ConfigurationVersion
type InvokeConfigurationRequest ¶
type InvokeConfigurationRequest = pb.InvokeConfigurationRequest
type MongoIterator ¶
func (*MongoIterator[T]) Err ¶
func (i *MongoIterator[T]) Err() error
type ProccessAppliedConfigurations ¶
type ProccessAppliedConfigurations = Process[AppliedConfiguration]
type ProcessConditions ¶
type ProcessConfigurations ¶
type ProcessConfigurations = Process[Configuration]
type Store ¶
type Store interface { // CreateCondition creates a new condition. If the condition already exists, it will throw an error. CreateCondition(ctx context.Context, condition *pb.Condition) (*pb.Condition, error) // UpdateCondition updates an existing condition. UpdateCondition(ctx context.Context, condition *pb.Condition) (*pb.Condition, error) // GetConditions loads conditions from the database. GetConditions(ctx context.Context, owner string, query *pb.GetConditionsRequest, p ProcessConditions) error // DeleteConditions deletes conditions from the database. DeleteConditions(ctx context.Context, owner string, query *pb.DeleteConditionsRequest) error // InsertConditions inserts conditions into the database. InsertConditions(ctx context.Context, conditions ...*Condition) error // GetLatestEnabledConditions finds latest conditions that match the query. GetLatestEnabledConditions(ctx context.Context, owner string, query *GetLatestConditionsQuery, p ProcessConditions) error // CreateConfiguration creates a new configuration in the database. CreateConfiguration(ctx context.Context, conf *pb.Configuration) (*pb.Configuration, error) // UpdateConfiguration updates an existing configuration in the database. UpdateConfiguration(ctx context.Context, conf *pb.Configuration) (*pb.Configuration, error) // GetConfigurations loads a configurations from the database. GetConfigurations(ctx context.Context, owner string, query *pb.GetConfigurationsRequest, p ProcessConfigurations) error // DeleteConfigurations deletes configurations from the database. DeleteConfigurations(ctx context.Context, owner string, query *pb.DeleteConfigurationsRequest) error // InsertConditions inserts conditions into the database. InsertConfigurations(ctx context.Context, configurations ...*Configuration) error // GetLatestConfigurationsByID finds latest configurations by their IDs. GetLatestConfigurationsByID(ctx context.Context, owner string, ids []string, p ProcessConfigurations) error // GetAppliedConfigurations loads applied device configurations from the database. GetAppliedConfigurations(ctx context.Context, owner string, query *pb.GetAppliedConfigurationsRequest, p ProccessAppliedConfigurations) error // DeleteAppliedConfigurations deletes applied device configurations from the database. DeleteAppliedConfigurations(ctx context.Context, owner string, query *pb.DeleteAppliedConfigurationsRequest) error // CreateAppliedConfiguration creates a new applied device configuration in the database. // // If the configuration with given deviceID and configurationID already exists, it will throw an error, unless the force flag is set to true. // // The first return value is the created applied device configuration. The second return value is the applied device configuration that was replaced if the force flag was set to true. CreateAppliedConfiguration(ctx context.Context, conf *pb.AppliedConfiguration, force bool) (*pb.AppliedConfiguration, *pb.AppliedConfiguration, error) // InsertAppliedConditions inserts applied configurations into the database. InsertAppliedConfigurations(ctx context.Context, configurations ...*AppliedConfiguration) error // UpdateAppliedConfigurationResource updates an existing applied device configuration resource in the database. UpdateAppliedConfigurationResource(ctx context.Context, owner string, query UpdateAppliedConfigurationResourceRequest) (*pb.AppliedConfiguration, error) // GetPendingAppliedConfigurationResourceUpdates loads applied device configuration with expired (validUntil <= now) resource updates from the database. GetPendingAppliedConfigurationResourceUpdates(ctx context.Context, expiredOnly bool, p ProccessAppliedConfigurations) (int64, error) Close(ctx context.Context) error }
type UpdateAppliedConfigurationResourceRequest ¶
type UpdateAppliedConfigurationResourceRequest struct { AppliedConfigurationID string AppliedCondition *pb.AppliedConfiguration_LinkedTo StatusFilter []pb.AppliedConfiguration_Resource_Status Resource *pb.AppliedConfiguration_Resource }
func (*UpdateAppliedConfigurationResourceRequest) Validate ¶
func (u *UpdateAppliedConfigurationResourceRequest) Validate() error
Click to show internal directories.
Click to hide internal directories.