Skip to content

Commit 9629889

Browse files
committed
feat: API Tokens only required for the service being used
Signed-off-by: Federico Barcelona <[email protected]>
1 parent d118dfc commit 9629889

20 files changed

+355
-109
lines changed

sysdig/data_source_sysdig_secure_notification_channel.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,10 @@ func dataSourceSysdigSecureNotificationChannel() *schema.Resource {
9090

9191
// Retrieves the information of a resource form the file and loads it in Terraform
9292
func dataSourceSysdigNotificationChannelRead(d *schema.ResourceData, meta interface{}) error {
93-
client := meta.(*SysdigClients).sysdigSecureClient
93+
client, err := meta.(SysdigClients).sysdigSecureClient()
94+
if err != nil {
95+
return err
96+
}
9497

9598
nc, err := client.GetNotificationChannelByName(d.Get("name").(string))
9699
if err != nil {

sysdig/provider.go

Lines changed: 5 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -3,34 +3,31 @@ package sysdig
33
import (
44
"github.com/hashicorp/terraform-plugin-sdk/helper/schema"
55
"github.com/hashicorp/terraform-plugin-sdk/terraform"
6-
7-
"github.com/draios/terraform-provider-sysdig/sysdig/monitor"
8-
"github.com/draios/terraform-provider-sysdig/sysdig/secure"
96
)
107

118
func Provider() terraform.ResourceProvider {
129
return &schema.Provider{
1310
Schema: map[string]*schema.Schema{
1411
"sysdig_secure_api_token": {
1512
Type: schema.TypeString,
16-
Required: true,
13+
Optional: true,
1714
Sensitive: true,
1815
DefaultFunc: schema.EnvDefaultFunc("SYSDIG_SECURE_API_TOKEN", nil),
1916
},
2017
"sysdig_secure_url": {
2118
Type: schema.TypeString,
22-
Required: true,
19+
Optional: true,
2320
DefaultFunc: schema.EnvDefaultFunc("SYSDIG_SECURE_URL", "https://secure.sysdig.com"),
2421
},
2522
"sysdig_monitor_api_token": {
2623
Type: schema.TypeString,
27-
Required: true,
24+
Optional: true,
2825
Sensitive: true,
2926
DefaultFunc: schema.EnvDefaultFunc("SYSDIG_MONITOR_API_TOKEN", nil),
3027
},
3128
"sysdig_monitor_url": {
3229
Type: schema.TypeString,
33-
Required: true,
30+
Optional: true,
3431
DefaultFunc: schema.EnvDefaultFunc("SYSDIG_MONITOR_URL", "https://app.sysdigcloud.com"),
3532
},
3633
},
@@ -62,21 +59,7 @@ func Provider() terraform.ResourceProvider {
6259
}
6360
}
6461

65-
type SysdigClients struct {
66-
sysdigMonitorClient monitor.SysdigMonitorClient
67-
sysdigSecureClient secure.SysdigSecureClient
68-
}
69-
7062
func providerConfigure(d *schema.ResourceData) (interface{}, error) {
71-
sysdigClient := &SysdigClients{
72-
sysdigMonitorClient: monitor.NewSysdigMonitorClient(
73-
d.Get("sysdig_monitor_api_token").(string),
74-
d.Get("sysdig_monitor_url").(string),
75-
),
76-
sysdigSecureClient: secure.NewSysdigSecureClient(
77-
d.Get("sysdig_secure_api_token").(string),
78-
d.Get("sysdig_secure_url").(string),
79-
),
80-
}
63+
sysdigClient := &sysdigClients{d: d}
8164
return sysdigClient, nil
8265
}

sysdig/resource_sysdig_monitor_alert_anomaly.go

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,10 @@ func resourceSysdigMonitorAlertAnomaly() *schema.Resource {
3939
}
4040

4141
func resourceSysdigAlertAnomalyCreate(data *schema.ResourceData, i interface{}) error {
42-
client := i.(*SysdigClients).sysdigMonitorClient
42+
client, err := i.(SysdigClients).sysdigMonitorClient()
43+
if err != nil {
44+
return err
45+
}
4346

4447
alert, err := anomalyAlertFromResourceData(data)
4548
if err != nil {
@@ -57,7 +60,10 @@ func resourceSysdigAlertAnomalyCreate(data *schema.ResourceData, i interface{})
5760
}
5861

5962
func resourceSysdigAlertAnomalyUpdate(data *schema.ResourceData, i interface{}) (err error) {
60-
client := i.(*SysdigClients).sysdigMonitorClient
63+
client, err := i.(SysdigClients).sysdigMonitorClient()
64+
if err != nil {
65+
return
66+
}
6167

6268
alert, err := anomalyAlertFromResourceData(data)
6369
if err != nil {
@@ -72,7 +78,10 @@ func resourceSysdigAlertAnomalyUpdate(data *schema.ResourceData, i interface{})
7278
}
7379

7480
func resourceSysdigAlertAnomalyRead(data *schema.ResourceData, i interface{}) (err error) {
75-
client := i.(*SysdigClients).sysdigMonitorClient
81+
client, err := i.(SysdigClients).sysdigMonitorClient()
82+
if err != nil {
83+
return
84+
}
7685

7786
id, err := strconv.Atoi(data.Id())
7887
if err != nil {
@@ -95,7 +104,10 @@ func resourceSysdigAlertAnomalyRead(data *schema.ResourceData, i interface{}) (e
95104
}
96105

97106
func resourceSysdigAlertAnomalyDelete(data *schema.ResourceData, i interface{}) (err error) {
98-
client := i.(*SysdigClients).sysdigMonitorClient
107+
client, err := i.(SysdigClients).sysdigMonitorClient()
108+
if err != nil {
109+
return
110+
}
99111

100112
id, err := strconv.Atoi(data.Id())
101113
if err != nil {

sysdig/resource_sysdig_monitor_alert_downtime.go

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,10 @@ func resourceSysdigMonitorAlertDowntime() *schema.Resource {
4040
}
4141

4242
func resourceSysdigAlertDowntimeCreate(data *schema.ResourceData, i interface{}) error {
43-
client := i.(*SysdigClients).sysdigMonitorClient
43+
client, err := i.(SysdigClients).sysdigMonitorClient()
44+
if err != nil {
45+
return err
46+
}
4447

4548
alert, err := downtimeAlertFromResourceData(data)
4649
if err != nil {
@@ -58,7 +61,10 @@ func resourceSysdigAlertDowntimeCreate(data *schema.ResourceData, i interface{})
5861
}
5962

6063
func resourceSysdigAlertDowntimeUpdate(data *schema.ResourceData, i interface{}) (err error) {
61-
client := i.(*SysdigClients).sysdigMonitorClient
64+
client, err := i.(SysdigClients).sysdigMonitorClient()
65+
if err != nil {
66+
return
67+
}
6268

6369
alert, err := downtimeAlertFromResourceData(data)
6470
if err != nil {
@@ -73,7 +79,10 @@ func resourceSysdigAlertDowntimeUpdate(data *schema.ResourceData, i interface{})
7379
}
7480

7581
func resourceSysdigAlertDowntimeRead(data *schema.ResourceData, i interface{}) (err error) {
76-
client := i.(*SysdigClients).sysdigMonitorClient
82+
client, err := i.(SysdigClients).sysdigMonitorClient()
83+
if err != nil {
84+
return
85+
}
7786

7887
id, err := strconv.Atoi(data.Id())
7988
if err != nil {
@@ -95,7 +104,10 @@ func resourceSysdigAlertDowntimeRead(data *schema.ResourceData, i interface{}) (
95104
return
96105
}
97106
func resourceSysdigAlertDowntimeDelete(data *schema.ResourceData, i interface{}) (err error) {
98-
client := i.(*SysdigClients).sysdigMonitorClient
107+
client, err := i.(SysdigClients).sysdigMonitorClient()
108+
if err != nil {
109+
return
110+
}
99111

100112
id, err := strconv.Atoi(data.Id())
101113
if err != nil {

sysdig/resource_sysdig_monitor_alert_event.go

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,10 @@ func resourceSysdigMonitorAlertEvent() *schema.Resource {
5151
}
5252

5353
func resourceSysdigAlertEventCreate(data *schema.ResourceData, i interface{}) error {
54-
client := i.(*SysdigClients).sysdigMonitorClient
54+
client, err := i.(SysdigClients).sysdigMonitorClient()
55+
if err != nil {
56+
return err
57+
}
5558

5659
alert, err := eventAlertFromResourceData(data)
5760
if err != nil {
@@ -69,7 +72,10 @@ func resourceSysdigAlertEventCreate(data *schema.ResourceData, i interface{}) er
6972
}
7073

7174
func resourceSysdigAlertEventUpdate(data *schema.ResourceData, i interface{}) (err error) {
72-
client := i.(*SysdigClients).sysdigMonitorClient
75+
client, err := i.(SysdigClients).sysdigMonitorClient()
76+
if err != nil {
77+
return
78+
}
7379

7480
alert, err := eventAlertFromResourceData(data)
7581
if err != nil {
@@ -84,7 +90,10 @@ func resourceSysdigAlertEventUpdate(data *schema.ResourceData, i interface{}) (e
8490
}
8591

8692
func resourceSysdigAlertEventRead(data *schema.ResourceData, i interface{}) (err error) {
87-
client := i.(*SysdigClients).sysdigMonitorClient
93+
client, err := i.(SysdigClients).sysdigMonitorClient()
94+
if err != nil {
95+
return
96+
}
8897

8998
id, err := strconv.Atoi(data.Id())
9099
if err != nil {
@@ -107,7 +116,10 @@ func resourceSysdigAlertEventRead(data *schema.ResourceData, i interface{}) (err
107116
}
108117

109118
func resourceSysdigAlertEventDelete(data *schema.ResourceData, i interface{}) (err error) {
110-
client := i.(*SysdigClients).sysdigMonitorClient
119+
client, err := i.(SysdigClients).sysdigMonitorClient()
120+
if err != nil {
121+
return
122+
}
111123

112124
id, err := strconv.Atoi(data.Id())
113125
if err != nil {

sysdig/resource_sysdig_monitor_alert_group_outlier.go

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,10 @@ func resourceSysdigMonitorAlertGroupOutlier() *schema.Resource {
3434
}
3535

3636
func resourceSysdigAlertGroupOutlierCreate(data *schema.ResourceData, i interface{}) error {
37-
client := i.(*SysdigClients).sysdigMonitorClient
37+
client, err := i.(SysdigClients).sysdigMonitorClient()
38+
if err != nil {
39+
return err
40+
}
3841

3942
alert, err := groupOutlierAlertFromResourceData(data)
4043
if err != nil {
@@ -52,7 +55,10 @@ func resourceSysdigAlertGroupOutlierCreate(data *schema.ResourceData, i interfac
5255
}
5356

5457
func resourceSysdigAlertGroupOutlierUpdate(data *schema.ResourceData, i interface{}) (err error) {
55-
client := i.(*SysdigClients).sysdigMonitorClient
58+
client, err := i.(SysdigClients).sysdigMonitorClient()
59+
if err != nil {
60+
return
61+
}
5662

5763
alert, err := groupOutlierAlertFromResourceData(data)
5864
if err != nil {
@@ -67,7 +73,10 @@ func resourceSysdigAlertGroupOutlierUpdate(data *schema.ResourceData, i interfac
6773
}
6874

6975
func resourceSysdigAlertGroupOutlierRead(data *schema.ResourceData, i interface{}) (err error) {
70-
client := i.(*SysdigClients).sysdigMonitorClient
76+
client, err := i.(SysdigClients).sysdigMonitorClient()
77+
if err != nil {
78+
return
79+
}
7180

7281
id, err := strconv.Atoi(data.Id())
7382
if err != nil {
@@ -90,7 +99,10 @@ func resourceSysdigAlertGroupOutlierRead(data *schema.ResourceData, i interface{
9099
}
91100

92101
func resourceSysdigAlertGroupOutlierDelete(data *schema.ResourceData, i interface{}) (err error) {
93-
client := i.(*SysdigClients).sysdigMonitorClient
102+
client, err := i.(SysdigClients).sysdigMonitorClient()
103+
if err != nil {
104+
return
105+
}
94106

95107
id, err := strconv.Atoi(data.Id())
96108
if err != nil {

sysdig/resource_sysdig_monitor_alert_metric.go

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,10 @@ func resourceSysdigMonitorAlertMetric() *schema.Resource {
3838
}
3939

4040
func resourceSysdigAlertMetricCreate(data *schema.ResourceData, i interface{}) error {
41-
client := i.(*SysdigClients).sysdigMonitorClient
41+
client, err := i.(SysdigClients).sysdigMonitorClient()
42+
if err != nil {
43+
return err
44+
}
4245

4346
alert, err := metricAlertFromResourceData(data)
4447
if err != nil {
@@ -56,7 +59,10 @@ func resourceSysdigAlertMetricCreate(data *schema.ResourceData, i interface{}) e
5659
}
5760

5861
func resourceSysdigAlertMetricUpdate(data *schema.ResourceData, i interface{}) (err error) {
59-
client := i.(*SysdigClients).sysdigMonitorClient
62+
client, err := i.(SysdigClients).sysdigMonitorClient()
63+
if err != nil {
64+
return err
65+
}
6066

6167
alert, err := metricAlertFromResourceData(data)
6268
if err != nil {
@@ -71,7 +77,10 @@ func resourceSysdigAlertMetricUpdate(data *schema.ResourceData, i interface{}) (
7177
}
7278

7379
func resourceSysdigAlertMetricRead(data *schema.ResourceData, i interface{}) (err error) {
74-
client := i.(*SysdigClients).sysdigMonitorClient
80+
client, err := i.(SysdigClients).sysdigMonitorClient()
81+
if err != nil {
82+
return err
83+
}
7584

7685
id, err := strconv.Atoi(data.Id())
7786
if err != nil {
@@ -94,7 +103,10 @@ func resourceSysdigAlertMetricRead(data *schema.ResourceData, i interface{}) (er
94103
}
95104

96105
func resourceSysdigAlertMetricDelete(data *schema.ResourceData, i interface{}) (err error) {
97-
client := i.(*SysdigClients).sysdigMonitorClient
106+
client, err := i.(SysdigClients).sysdigMonitorClient()
107+
if err != nil {
108+
return err
109+
}
98110

99111
id, err := strconv.Atoi(data.Id())
100112
if err != nil {

sysdig/resource_sysdig_secure_list.go

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,13 @@ func resourceSysdigSecureList() *schema.Resource {
5151
}
5252

5353
func resourceSysdigListCreate(d *schema.ResourceData, meta interface{}) error {
54-
client := meta.(*SysdigClients).sysdigSecureClient
54+
client, err := meta.(SysdigClients).sysdigSecureClient()
55+
if err != nil {
56+
return err
57+
}
5558

5659
list := listFromResourceData(d)
57-
list, err := client.CreateList(list)
60+
list, err = client.CreateList(list)
5861
if err != nil {
5962
return err
6063
}
@@ -66,20 +69,26 @@ func resourceSysdigListCreate(d *schema.ResourceData, meta interface{}) error {
6669
}
6770

6871
func resourceSysdigListUpdate(d *schema.ResourceData, meta interface{}) error {
69-
client := meta.(*SysdigClients).sysdigSecureClient
72+
client, err := meta.(SysdigClients).sysdigSecureClient()
73+
if err != nil {
74+
return err
75+
}
7076

7177
list := listFromResourceData(d)
7278
list.Version = d.Get("version").(int)
7379

7480
id, _ := strconv.Atoi(d.Id())
7581
list.ID = id
7682

77-
_, err := client.UpdateList(list)
83+
_, err = client.UpdateList(list)
7884
return err
7985
}
8086

8187
func resourceSysdigListRead(d *schema.ResourceData, meta interface{}) error {
82-
client := meta.(*SysdigClients).sysdigSecureClient
88+
client, err := meta.(SysdigClients).sysdigSecureClient()
89+
if err != nil {
90+
return err
91+
}
8392

8493
id, _ := strconv.Atoi(d.Id())
8594
list, err := client.GetListById(id)
@@ -97,7 +106,10 @@ func resourceSysdigListRead(d *schema.ResourceData, meta interface{}) error {
97106
}
98107

99108
func resourceSysdigListDelete(d *schema.ResourceData, meta interface{}) error {
100-
client := meta.(*SysdigClients).sysdigSecureClient
109+
client, err := meta.(SysdigClients).sysdigSecureClient()
110+
if err != nil {
111+
return err
112+
}
101113

102114
id, _ := strconv.Atoi(d.Id())
103115

0 commit comments

Comments
 (0)