@@ -43,6 +43,9 @@ const (
43
43
AcFieldSendDegraded = "send_degraded"
44
44
AcFieldSSLExpiry = "ssl_expiry"
45
45
AcFieldSSLExpiryThreshold = "ssl_expiry_threshold"
46
+ AcFieldCall = "call"
47
+ AcFieldCallName = "name"
48
+ AcFieldCallNumber = "number"
46
49
)
47
50
48
51
func resourceAlertChannel () * schema.Resource {
@@ -108,6 +111,25 @@ func resourceAlertChannel() *schema.Resource {
108
111
},
109
112
},
110
113
},
114
+ AcFieldCall : {
115
+ Type : schema .TypeSet ,
116
+ Optional : true ,
117
+ MaxItems : 1 ,
118
+ Elem : & schema.Resource {
119
+ Schema : map [string ]* schema.Schema {
120
+ AcFieldCallName : {
121
+ Type : schema .TypeString ,
122
+ Required : true ,
123
+ Description : "The name of this alert channel" ,
124
+ },
125
+ AcFieldCallNumber : {
126
+ Type : schema .TypeString ,
127
+ Required : true ,
128
+ Description : "The mobile number to receive the alerts" ,
129
+ },
130
+ },
131
+ },
132
+ },
111
133
AcFieldWebhook : {
112
134
Type : schema .TypeSet ,
113
135
Optional : true ,
@@ -334,6 +356,7 @@ func resourceAlertChannelDelete(d *schema.ResourceData, client interface{}) erro
334
356
func resourceDataFromAlertChannel (it * checkly.AlertChannel , d * schema.ResourceData ) error {
335
357
d .Set (AcFieldEmail , setFromEmail (it .Email ))
336
358
d .Set (AcFieldSMS , setFromSMS (it .SMS ))
359
+ d .Set (AcFieldCall , setFromCall (it .CALL ))
337
360
d .Set (AcFieldSlack , setFromSlack (it .Slack ))
338
361
d .Set (AcFieldWebhook , setFromWebhook (it .Webhook ))
339
362
d .Set (AcFieldOpsgenie , setFromOpsgenie (it .Opsgenie ))
@@ -383,7 +406,7 @@ func alertChannelFromResourceData(d *schema.ResourceData) (checkly.AlertChannel,
383
406
ac .SSLExpiryThreshold = & i
384
407
}
385
408
386
- fields := []string {AcFieldEmail , AcFieldSMS , AcFieldSlack , AcFieldWebhook , AcFieldOpsgenie , AcFieldPagerduty }
409
+ fields := []string {AcFieldEmail , AcFieldSMS , AcFieldCall , AcFieldSlack , AcFieldWebhook , AcFieldOpsgenie , AcFieldPagerduty }
387
410
setCount := 0
388
411
for _ , field := range fields {
389
412
cfgSet := (d .Get (field )).(* schema.Set )
@@ -418,6 +441,11 @@ func alertChannelConfigFromSet(channelType string, s *schema.Set) (interface{},
418
441
Name : cfg [AcFieldSMSName ].(string ),
419
442
Number : cfg [AcFieldSMSNumber ].(string ),
420
443
}, nil
444
+ case checkly .AlertTypeCall :
445
+ return & checkly.AlertChannelCall {
446
+ Name : cfg [AcFieldCallName ].(string ),
447
+ Number : cfg [AcFieldCallNumber ].(string ),
448
+ }, nil
421
449
case checkly .AlertTypeSlack :
422
450
return & checkly.AlertChannelSlack {
423
451
Channel : cfg [AcFieldSlackChannel ].(string ),
@@ -474,6 +502,18 @@ func setFromSMS(cfg *checkly.AlertChannelSMS) []tfMap {
474
502
}
475
503
}
476
504
505
+ func setFromCall (cfg * checkly.AlertChannelCall ) []tfMap {
506
+ if cfg == nil {
507
+ return []tfMap {}
508
+ }
509
+ return []tfMap {
510
+ {
511
+ AcFieldCallName : cfg .Name ,
512
+ AcFieldCallNumber : cfg .Number ,
513
+ },
514
+ }
515
+ }
516
+
477
517
func setFromSlack (cfg * checkly.AlertChannelSlack ) []tfMap {
478
518
if cfg == nil {
479
519
return []tfMap {}
0 commit comments