-
Notifications
You must be signed in to change notification settings - Fork 13
/
zz_contactpoint_terraformed.go
executable file
·129 lines (110 loc) · 6.35 KB
/
zz_contactpoint_terraformed.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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
/*
Copyright 2022 Upbound Inc.
*/
// Code generated by upjet. DO NOT EDIT.
package v1alpha1
import (
"dario.cat/mergo"
"github.com/pkg/errors"
"github.com/crossplane/upjet/pkg/resource"
"github.com/crossplane/upjet/pkg/resource/json"
)
// GetTerraformResourceType returns Terraform resource type for this ContactPoint
func (mg *ContactPoint) GetTerraformResourceType() string {
return "grafana_contact_point"
}
// GetConnectionDetailsMapping for this ContactPoint
func (tr *ContactPoint) GetConnectionDetailsMapping() map[string]string {
return map[string]string{"alertmanager[*].basic_auth_password": "alertmanager[*].basicAuthPasswordSecretRef", "alertmanager[*].settings": "alertmanager[*].settingsSecretRef", "dingding[*].settings": "dingding[*].settingsSecretRef", "discord[*].settings": "discord[*].settingsSecretRef", "discord[*].url": "discord[*].urlSecretRef", "email[*].settings": "email[*].settingsSecretRef", "googlechat[*].settings": "googlechat[*].settingsSecretRef", "googlechat[*].url": "googlechat[*].urlSecretRef", "kafka[*].password": "kafka[*].passwordSecretRef", "kafka[*].rest_proxy_url": "kafka[*].restProxyUrlSecretRef", "kafka[*].settings": "kafka[*].settingsSecretRef", "line[*].settings": "line[*].settingsSecretRef", "line[*].token": "line[*].tokenSecretRef", "oncall[*].authorization_credentials": "oncall[*].authorizationCredentialsSecretRef", "oncall[*].basic_auth_password": "oncall[*].basicAuthPasswordSecretRef", "oncall[*].settings": "oncall[*].settingsSecretRef", "opsgenie[*].api_key": "opsgenie[*].apiKeySecretRef", "opsgenie[*].settings": "opsgenie[*].settingsSecretRef", "pagerduty[*].integration_key": "pagerduty[*].integrationKeySecretRef", "pagerduty[*].settings": "pagerduty[*].settingsSecretRef", "pushover[*].api_token": "pushover[*].apiTokenSecretRef", "pushover[*].settings": "pushover[*].settingsSecretRef", "pushover[*].user_key": "pushover[*].userKeySecretRef", "sensugo[*].api_key": "sensugo[*].apiKeySecretRef", "sensugo[*].settings": "sensugo[*].settingsSecretRef", "slack[*].settings": "slack[*].settingsSecretRef", "slack[*].token": "slack[*].tokenSecretRef", "slack[*].url": "slack[*].urlSecretRef", "sns[*].access_key": "sns[*].accessKeySecretRef", "sns[*].secret_key": "sns[*].secretKeySecretRef", "sns[*].settings": "sns[*].settingsSecretRef", "teams[*].settings": "teams[*].settingsSecretRef", "teams[*].url": "teams[*].urlSecretRef", "telegram[*].settings": "telegram[*].settingsSecretRef", "telegram[*].token": "telegram[*].tokenSecretRef", "threema[*].api_secret": "threema[*].apiSecretSecretRef", "threema[*].settings": "threema[*].settingsSecretRef", "victorops[*].settings": "victorops[*].settingsSecretRef", "webex[*].settings": "webex[*].settingsSecretRef", "webex[*].token": "webex[*].tokenSecretRef", "webhook[*].authorization_credentials": "webhook[*].authorizationCredentialsSecretRef", "webhook[*].basic_auth_password": "webhook[*].basicAuthPasswordSecretRef", "webhook[*].settings": "webhook[*].settingsSecretRef", "wecom[*].secret": "wecom[*].secretSecretRef", "wecom[*].settings": "wecom[*].settingsSecretRef", "wecom[*].url": "wecom[*].urlSecretRef"}
}
// GetObservation of this ContactPoint
func (tr *ContactPoint) GetObservation() (map[string]any, error) {
o, err := json.TFParser.Marshal(tr.Status.AtProvider)
if err != nil {
return nil, err
}
base := map[string]any{}
return base, json.TFParser.Unmarshal(o, &base)
}
// SetObservation for this ContactPoint
func (tr *ContactPoint) SetObservation(obs map[string]any) error {
p, err := json.TFParser.Marshal(obs)
if err != nil {
return err
}
return json.TFParser.Unmarshal(p, &tr.Status.AtProvider)
}
// GetID returns ID of underlying Terraform resource of this ContactPoint
func (tr *ContactPoint) GetID() string {
if tr.Status.AtProvider.ID == nil {
return ""
}
return *tr.Status.AtProvider.ID
}
// GetParameters of this ContactPoint
func (tr *ContactPoint) GetParameters() (map[string]any, error) {
p, err := json.TFParser.Marshal(tr.Spec.ForProvider)
if err != nil {
return nil, err
}
base := map[string]any{}
return base, json.TFParser.Unmarshal(p, &base)
}
// SetParameters for this ContactPoint
func (tr *ContactPoint) SetParameters(params map[string]any) error {
p, err := json.TFParser.Marshal(params)
if err != nil {
return err
}
return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider)
}
// GetInitParameters of this ContactPoint
func (tr *ContactPoint) GetInitParameters() (map[string]any, error) {
p, err := json.TFParser.Marshal(tr.Spec.InitProvider)
if err != nil {
return nil, err
}
base := map[string]any{}
return base, json.TFParser.Unmarshal(p, &base)
}
// GetInitParameters of this ContactPoint
func (tr *ContactPoint) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error) {
params, err := tr.GetParameters()
if err != nil {
return nil, errors.Wrapf(err, "cannot get parameters for resource '%q'", tr.GetName())
}
if !shouldMergeInitProvider {
return params, nil
}
initParams, err := tr.GetInitParameters()
if err != nil {
return nil, errors.Wrapf(err, "cannot get init parameters for resource '%q'", tr.GetName())
}
// Note(lsviben): mergo.WithSliceDeepCopy is needed to merge the
// slices from the initProvider to forProvider. As it also sets
// overwrite to true, we need to set it back to false, we don't
// want to overwrite the forProvider fields with the initProvider
// fields.
err = mergo.Merge(¶ms, initParams, mergo.WithSliceDeepCopy, func(c *mergo.Config) {
c.Overwrite = false
})
if err != nil {
return nil, errors.Wrapf(err, "cannot merge spec.initProvider and spec.forProvider parameters for resource '%q'", tr.GetName())
}
return params, nil
}
// LateInitialize this ContactPoint using its observed tfState.
// returns True if there are any spec changes for the resource.
func (tr *ContactPoint) LateInitialize(attrs []byte) (bool, error) {
params := &ContactPointParameters{}
if err := json.TFParser.Unmarshal(attrs, params); err != nil {
return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization")
}
opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)}
li := resource.NewGenericLateInitializer(opts...)
return li.LateInitialize(&tr.Spec.ForProvider, params)
}
// GetTerraformSchemaVersion returns the associated Terraform schema version
func (tr *ContactPoint) GetTerraformSchemaVersion() int {
return 0
}