mirror of
https://github.com/minio/minio.git
synced 2025-12-01 13:52:34 -05:00
As a new configuration parameter is added, configuration version is bumped up from 14 to 15. The MySQL target's behaviour is identical to the PostgreSQL: rows are deleted from the MySQL table on delete-object events, and are created/updated on create/over-write events.
This commit is contained in:
committed by
Harshavardhana
parent
c192e5c9b2
commit
2463ae243a
@@ -31,6 +31,7 @@ type notifier struct {
|
||||
PostgreSQL postgreSQLConfigs `json:"postgresql"`
|
||||
Kafka kafkaConfigs `json:"kafka"`
|
||||
Webhook webhookConfigs `json:"webhook"`
|
||||
MySQL mySQLConfigs `json:"mysql"`
|
||||
// Add new notification queues.
|
||||
}
|
||||
|
||||
@@ -167,6 +168,25 @@ func (a webhookConfigs) Validate() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
type mySQLConfigs map[string]mySQLNotify
|
||||
|
||||
func (a mySQLConfigs) Clone() mySQLConfigs {
|
||||
a2 := make(mySQLConfigs, len(a))
|
||||
for k, v := range a {
|
||||
a2[k] = v
|
||||
}
|
||||
return a2
|
||||
}
|
||||
|
||||
func (a mySQLConfigs) Validate() error {
|
||||
for k, v := range a {
|
||||
if err := v.Validate(); err != nil {
|
||||
return fmt.Errorf("MySQL [%s] configuration invalid: %s", k, err.Error())
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (n *notifier) Validate() error {
|
||||
if n == nil {
|
||||
return nil
|
||||
@@ -192,6 +212,9 @@ func (n *notifier) Validate() error {
|
||||
if err := n.Webhook.Validate(); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := n.MySQL.Validate(); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -303,6 +326,24 @@ func (n *notifier) GetPostgreSQLByID(accountID string) postgreSQLNotify {
|
||||
return n.PostgreSQL[accountID]
|
||||
}
|
||||
|
||||
func (n *notifier) SetMySQLByID(accountID string, pgn mySQLNotify) {
|
||||
n.Lock()
|
||||
defer n.Unlock()
|
||||
n.MySQL[accountID] = pgn
|
||||
}
|
||||
|
||||
func (n *notifier) GetMySQL() map[string]mySQLNotify {
|
||||
n.RLock()
|
||||
defer n.RUnlock()
|
||||
return n.MySQL.Clone()
|
||||
}
|
||||
|
||||
func (n *notifier) GetMySQLByID(accountID string) mySQLNotify {
|
||||
n.RLock()
|
||||
defer n.RUnlock()
|
||||
return n.MySQL[accountID]
|
||||
}
|
||||
|
||||
func (n *notifier) SetKafkaByID(accountID string, kn kafkaNotify) {
|
||||
n.Lock()
|
||||
defer n.Unlock()
|
||||
|
||||
Reference in New Issue
Block a user