github.com/kubeshop/testkube@v1.17.23/pkg/keymap/triggers/triggers.go (about)

     1  package triggers
     2  
     3  import "github.com/kubeshop/testkube-operator/pkg/validation/tests/v1/testtrigger"
     4  
     5  type KeyMap struct {
     6  	Resources           []string            `json:"resources"`
     7  	Actions             []string            `json:"actions"`
     8  	Executions          []string            `json:"executions"`
     9  	Events              map[string][]string `json:"events"`
    10  	Conditions          []string            `json:"conditions"`
    11  	ConcurrencyPolicies []string            `json:"concurrencyPolicies"`
    12  }
    13  
    14  func NewKeyMap() *KeyMap {
    15  	return &KeyMap{
    16  		Resources:           testtrigger.GetSupportedResources(),
    17  		Actions:             testtrigger.GetSupportedActions(),
    18  		Executions:          testtrigger.GetSupportedExecutions(),
    19  		Events:              getSupportedEvents(),
    20  		Conditions:          testtrigger.GetSupportedConditions(),
    21  		ConcurrencyPolicies: testtrigger.GetSupportedConcurrencyPolicies(),
    22  	}
    23  }
    24  
    25  func getSupportedEvents() map[string][]string {
    26  	m := make(map[string][]string, len(testtrigger.GetSupportedResources()))
    27  	m[testtrigger.ResourcePod] = []string{string(testtrigger.EventCreated), string(testtrigger.EventModified), string(testtrigger.EventDeleted)}
    28  	m[testtrigger.ResourceDeployment] = []string{
    29  		string(testtrigger.EventCreated),
    30  		string(testtrigger.EventModified),
    31  		string(testtrigger.EventDeleted),
    32  		string(testtrigger.CauseDeploymentContainersModified),
    33  		string(testtrigger.CauseDeploymentImageUpdate),
    34  		string(testtrigger.CauseDeploymentScaleUpdate),
    35  		string(testtrigger.CauseDeploymentEnvUpdate),
    36  	}
    37  	m[testtrigger.ResourceStatefulSet] = []string{string(testtrigger.EventCreated), string(testtrigger.EventModified), string(testtrigger.EventDeleted)}
    38  	m[testtrigger.ResourceDaemonSet] = []string{string(testtrigger.EventCreated), string(testtrigger.EventModified), string(testtrigger.EventDeleted)}
    39  	m[testtrigger.ResourceService] = []string{string(testtrigger.EventCreated), string(testtrigger.EventModified), string(testtrigger.EventDeleted)}
    40  	m[testtrigger.ResourceIngress] = []string{string(testtrigger.EventCreated), string(testtrigger.EventModified), string(testtrigger.EventDeleted)}
    41  	m[testtrigger.ResourceEvent] = []string{string(testtrigger.EventCreated), string(testtrigger.EventModified), string(testtrigger.EventDeleted)}
    42  	m[testtrigger.ResourceConfigMap] = []string{string(testtrigger.EventCreated), string(testtrigger.EventModified), string(testtrigger.EventDeleted)}
    43  	return m
    44  }