diff --git a/builtin/providers/circonus/resource_circonus_contact.go b/builtin/providers/circonus/resource_circonus_contact.go index 8667b59f24..d2b266d8e8 100644 --- a/builtin/providers/circonus/resource_circonus_contact.go +++ b/builtin/providers/circonus/resource_circonus_contact.go @@ -55,8 +55,8 @@ const ( // circonus_contact.pager_duty attributes //contactContactGroupFallbackAttr - contactPagerDutyIntegrationKeyAttr schemaAttr = "integration_key" - contactPagerDutyWebhookURLAttr schemaAttr = "webook_url" + contactPagerDutyServiceKeyAttr schemaAttr = "service_key" + contactPagerDutyWebhookURLAttr schemaAttr = "webhook_url" // circonus_contact.slack attributes //contactContactGroupFallbackAttr @@ -110,8 +110,8 @@ type contactHTTPInfo struct { type contactPagerDutyInfo struct { FallbackGroupCID int `json:"failover_group,string"` - IntegrationKey string `json:"service_key"` - WebookURL string `json:"webook_url"` + ServiceKey string `json:"service_key"` + WebhookURL string `json:"webhook_url"` } type contactSlackInfo struct { @@ -173,9 +173,9 @@ var contactHTTPDescriptions = attrDescrs{ } var contactPagerDutyDescriptions = attrDescrs{ - contactContactGroupFallbackAttr: "", - contactPagerDutyIntegrationKeyAttr: "", - contactPagerDutyWebhookURLAttr: "", + contactContactGroupFallbackAttr: "", + contactPagerDutyServiceKeyAttr: "", + contactPagerDutyWebhookURLAttr: "", } var contactSlackDescriptions = attrDescrs{ @@ -353,11 +353,11 @@ func resourceContactGroup() *schema.Resource { Optional: true, ValidateFunc: validateContactGroupCID(contactContactGroupFallbackAttr), }, - contactPagerDutyIntegrationKeyAttr: &schema.Schema{ + contactPagerDutyServiceKeyAttr: &schema.Schema{ Type: schema.TypeString, Required: true, Sensitive: true, - ValidateFunc: validateHTTPURL(contactPagerDutyIntegrationKeyAttr, urlIsAbs), + ValidateFunc: validateRegexp(contactPagerDutyServiceKeyAttr, `^[a-zA-Z0-9]{32}$`), }, contactPagerDutyWebhookURLAttr: &schema.Schema{ Type: schema.TypeString, @@ -760,7 +760,7 @@ func contactGroupHTTPToState(cg *api.ContactGroup) ([]interface{}, error) { for _, ext := range cg.Contacts.External { switch ext.Method { - case contactHTTPAttr: + case circonusMethodHTTP: url := contactHTTPInfo{} if err := json.Unmarshal([]byte(ext.Info), &url); err != nil { return nil, errwrap.Wrapf(fmt.Sprintf("unable to decode external %s JSON (%q): {{err}}", contactHTTPAttr, ext.Info), err) @@ -923,12 +923,12 @@ func getContactGroupInput(d *schema.ResourceData) (*api.ContactGroup, error) { pagerDutyInfo.FallbackGroupCID = contactGroupID } - if v, ok := pagerDutyMap[string(contactPagerDutyIntegrationKeyAttr)]; ok { - pagerDutyInfo.IntegrationKey = v.(string) + if v, ok := pagerDutyMap[string(contactPagerDutyServiceKeyAttr)]; ok { + pagerDutyInfo.ServiceKey = v.(string) } if v, ok := pagerDutyMap[string(contactPagerDutyWebhookURLAttr)]; ok { - pagerDutyInfo.WebookURL = v.(string) + pagerDutyInfo.WebhookURL = v.(string) } js, err := json.Marshal(pagerDutyInfo) @@ -1136,7 +1136,7 @@ func contactGroupIRCToState(cg *api.ContactGroup) []interface{} { for _, user := range cg.Contacts.Users { switch user.Method { - case contactIRCAttr: + case circonusMethodIRC: ircContacts = append(ircContacts, map[string]interface{}{ contactUserCIDAttr: user.UserCID, }) @@ -1151,16 +1151,16 @@ func contactGroupPagerDutyToState(cg *api.ContactGroup) ([]interface{}, error) { for _, ext := range cg.Contacts.External { switch ext.Method { - case contactPagerDutyAttr: + case circonusMethodPagerDuty: pdInfo := contactPagerDutyInfo{} if err := json.Unmarshal([]byte(ext.Info), &pdInfo); err != nil { return nil, errwrap.Wrapf(fmt.Sprintf("unable to decode external %s JSON (%q): {{err}}", contactPagerDutyAttr, ext.Info), err) } pdContacts = append(pdContacts, map[string]interface{}{ - string(contactContactGroupFallbackAttr): failoverGroupIDToCID(pdInfo.FallbackGroupCID), - string(contactPagerDutyIntegrationKeyAttr): pdInfo.IntegrationKey, - string(contactPagerDutyWebhookURLAttr): pdInfo.WebookURL, + string(contactContactGroupFallbackAttr): failoverGroupIDToCID(pdInfo.FallbackGroupCID), + string(contactPagerDutyServiceKeyAttr): pdInfo.ServiceKey, + string(contactPagerDutyWebhookURLAttr): pdInfo.WebhookURL, }) } } @@ -1173,7 +1173,7 @@ func contactGroupSlackToState(cg *api.ContactGroup) ([]interface{}, error) { for _, ext := range cg.Contacts.External { switch ext.Method { - case contactSlackAttr: + case circonusMethodSlack: slackInfo := contactSlackInfo{} if err := json.Unmarshal([]byte(ext.Info), &slackInfo); err != nil { return nil, errwrap.Wrapf(fmt.Sprintf("unable to decode external %s JSON (%q): {{err}}", contactSlackAttr, ext.Info), err) @@ -1197,7 +1197,7 @@ func contactGroupSMSToState(cg *api.ContactGroup) ([]interface{}, error) { for _, ext := range cg.Contacts.External { switch ext.Method { - case contactSMSAttr: + case circonusMethodSMS: smsContacts = append(smsContacts, map[string]interface{}{ contactSMSAddressAttr: ext.Info, }) @@ -1206,7 +1206,7 @@ func contactGroupSMSToState(cg *api.ContactGroup) ([]interface{}, error) { for _, user := range cg.Contacts.Users { switch user.Method { - case contactSMSAttr: + case circonusMethodSMS: smsContacts = append(smsContacts, map[string]interface{}{ contactUserCIDAttr: user.UserCID, }) @@ -1221,7 +1221,7 @@ func contactGroupVictorOpsToState(cg *api.ContactGroup) ([]interface{}, error) { for _, ext := range cg.Contacts.External { switch ext.Method { - case contactVictorOpsAttr: + case circonusMethodVictorOps: victorOpsInfo := contactVictorOpsInfo{} if err := json.Unmarshal([]byte(ext.Info), &victorOpsInfo); err != nil { return nil, errwrap.Wrapf(fmt.Sprintf("unable to decode external %s JSON (%q): {{err}}", contactVictorOpsInfoAttr, ext.Info), err) @@ -1246,7 +1246,7 @@ func contactGroupXMPPToState(cg *api.ContactGroup) ([]interface{}, error) { for _, ext := range cg.Contacts.External { switch ext.Method { - case contactXMPPAttr: + case circonusMethodXMPP: xmppContacts = append(xmppContacts, map[string]interface{}{ contactXMPPAddressAttr: ext.Info, }) @@ -1255,7 +1255,7 @@ func contactGroupXMPPToState(cg *api.ContactGroup) ([]interface{}, error) { for _, user := range cg.Contacts.Users { switch user.Method { - case contactXMPPAttr: + case circonusMethodXMPP: xmppContacts = append(xmppContacts, map[string]interface{}{ contactUserCIDAttr: user.UserCID, }) diff --git a/builtin/providers/circonus/resource_circonus_contact_test.go b/builtin/providers/circonus/resource_circonus_contact_test.go index ba5035789f..64186f27df 100644 --- a/builtin/providers/circonus/resource_circonus_contact_test.go +++ b/builtin/providers/circonus/resource_circonus_contact_test.go @@ -158,7 +158,7 @@ resource "circonus_contact_group" "staging-sev3" { */ /* - pagerduty { + pager_duty { // NOTE(sean@): needs to be filled in } */ diff --git a/website/source/docs/providers/circonus/r/contact_group.html.markdown b/website/source/docs/providers/circonus/r/contact_group.html.markdown index 49a080da7d..df27c0c1b1 100644 --- a/website/source/docs/providers/circonus/r/contact_group.html.markdown +++ b/website/source/docs/providers/circonus/r/contact_group.html.markdown @@ -130,8 +130,8 @@ resource "circonus_contact_group" "myteam-alerts" { * `short_summary` - (Optional) The brief summary used in short form alert messages. -* `slack` - (Optional) Zero or more `pager_duty` attributes may be present to - dispatch to Pager Duty teams. See below for details on supported attributes. +* `slack` - (Optional) Zero or more `slack` attributes may be present to + dispatch to Slack teams. See below for details on supported attributes. * `sms` - (Optional) Zero or more `sms` attributes may be present to dispatch SMS messages to Circonus users by referencing their user ID, or by specifying @@ -191,13 +191,13 @@ mechanisms). ## Supported Contact Group `pager_duty` Attributes -* `contact_group_fallback` - (Optional) If there is a problem contacting Pager - Duty, relay the notification automatically to the specified Contact Group +* `contact_group_fallback` - (Optional) If there is a problem contacting + PagerDuty, relay the notification automatically to the specified Contact Group (e.g. `/contact_group/1234`). -* `service_key` - (Required) The Pager Duty Service Key. +* `service_key` - (Required) The PagerDuty Service Key. -* `webook_url` - (Required) The Pager Duty webhook URL that Pager Duty uses to +* `webhook_url` - (Required) The PagerDuty webhook URL that PagerDuty uses to notify Circonus of acknowledged actions. ## Supported Contact Group `slack` Attributes