/
credentialconfig.go
49 lines (41 loc) · 1.3 KB
/
credentialconfig.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
package config
// SubscriptionConfig - Interface to get subscription config
type CredentialConfig interface {
ShouldDeprovisionExpired() bool
SetShouldDeprovisionExpired(deprovisionExpired bool)
GetExpirationDays() int
SetExpirationDays(expirationDays int)
}
// NotificationConfig -
type CredentialConfiguration struct {
ExpirationDays int `config:"expirationDays"`
DeprovisionOnExpire bool `config:"deprovisionOnExpire"`
}
// newCredentialConfig - Creates the default credential config
func newCredentialConfig() CredentialConfig {
return &CredentialConfiguration{
ExpirationDays: 0,
DeprovisionOnExpire: false,
}
}
// ExpireAction -
func (s *CredentialConfiguration) ShouldDeprovisionExpired() bool {
return s.DeprovisionOnExpire
}
// Set ExpireAction -
func (s *CredentialConfiguration) SetShouldDeprovisionExpired(deprovisionExpired bool) {
s.DeprovisionOnExpire = deprovisionExpired
}
// GetTimeToLive -
func (s *CredentialConfiguration) GetExpirationDays() int {
return s.ExpirationDays
}
// Set GetTimeToLive -
func (s *CredentialConfiguration) SetExpirationDays(expirationDays int) {
s.ExpirationDays = expirationDays
}
// ValidateCfg - Validates the config, implementing IConfigInterface
func (s *CredentialConfiguration) ValidateCfg() error {
// TODO - validate time to live
return nil
}