9 "github.com/DreamItGetIT/statuscake"
10 "github.com/hashicorp/terraform/helper/schema"
13 func resourceStatusCakeTest() *schema.Resource {
14 return &schema.Resource{
20 Schema: map[string]*schema.Schema{
21 "test_id": &schema.Schema{
22 Type: schema.TypeString,
26 "website_name": &schema.Schema{
27 Type: schema.TypeString,
31 "website_url": &schema.Schema{
32 Type: schema.TypeString,
36 "check_rate": &schema.Schema{
42 "test_type": &schema.Schema{
43 Type: schema.TypeString,
47 "paused": &schema.Schema{
48 Type: schema.TypeBool,
56 func CreateTest(d *schema.ResourceData, meta interface{}) error {
57 client := meta.(*statuscake.Client)
59 newTest := &statuscake.Test{
60 WebsiteName: "posters.dreamitget.it",
61 WebsiteURL: "https://posters.dreamitget.it",
66 // newTest := &statuscake.Test{
67 // WebsiteName: d.Get("website_name").(string),
68 // WebsiteURL: d.Get("website_url").(string),
69 // TestType: d.Get("test_type").(string),
73 log.Printf("[DEBUG] Check Rate: %d", d.Get("check_rate").(int))
74 log.Printf("[DEBUG] TestType: %s", d.Get("test_type").(string))
75 log.Printf("[DEBUG] Creating new StatusCake Test: %s", d.Get("website_name").(string))
77 response, err := client.Tests().Put(newTest)
79 return fmt.Errorf("Error creating StatusCake Test: %s", err.Error())
82 d.Set("test_id", fmt.Sprintf("%d", response.TestID))
83 d.SetId(fmt.Sprintf("%d", response.TestID))
85 return UpdateTest(d, meta)
88 func UpdateTest(d *schema.ResourceData, meta interface{}) error {
92 func DeleteTest(d *schema.ResourceData, meta interface{}) error {
93 client := meta.(*statuscake.Client)
95 testId, parseErr := strconv.Atoi(d.Id())
99 testIntId := int(testId)
101 log.Printf("[DEBUG] Deleting StatusCake Test: %s", d.Id())
102 err := client.Tests().Delete(testIntId)
110 func ReadTest(d *schema.ResourceData, meta interface{}) error {