func getMonitor(t *testing.T, monitorID string) { monitor, err := monitors.Get(base.Client, monitorID).Extract() th.AssertNoErr(t, err) t.Logf("Getting Monitor, ID [%s]: ", monitor.ID) }
func waitForMonitorDelete(networkingClient *gophercloud.ServiceClient, monitorID string) resource.StateRefreshFunc { return func() (interface{}, string, error) { log.Printf("[DEBUG] Attempting to delete OpenStack LBaaSV2 Monitor %s", monitorID) monitor, err := monitors.Get(networkingClient, monitorID).Extract() if err != nil { errCode, ok := err.(*gophercloud.UnexpectedResponseCodeError) if !ok { return monitor, "ACTIVE", err } if errCode.Actual == 404 { log.Printf("[DEBUG] Successfully deleted OpenStack LBaaSV2 Monitor %s", monitorID) return monitor, "DELETED", nil } } log.Printf("[DEBUG] Openstack LBaaSV2 Monitor: %+v", monitor) err = monitors.Delete(networkingClient, monitorID).ExtractErr() if err != nil { errCode, ok := err.(*gophercloud.UnexpectedResponseCodeError) if !ok { return monitor, "ACTIVE", err } if errCode.Actual == 404 { log.Printf("[DEBUG] Successfully deleted OpenStack LBaaSV2 Monitor %s", monitorID) return monitor, "DELETED", nil } } log.Printf("[DEBUG] OpenStack LBaaSV2 Monitor %s still active.", monitorID) return monitor, "ACTIVE", nil } }
func resourceMonitorV2Read(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) networkingClient, err := config.networkingV2Client(d.Get("region").(string)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } monitor, err := monitors.Get(networkingClient, d.Id()).Extract() if err != nil { return CheckDeleted(d, err, "LBV2 Monitor") } log.Printf("[DEBUG] Retreived OpenStack LBaaSV2 Monitor %s: %+v", d.Id(), monitor) d.Set("id", monitor.ID) d.Set("tenant_id", monitor.TenantID) d.Set("type", monitor.Type) d.Set("delay", monitor.Delay) d.Set("timeout", monitor.Timeout) d.Set("max_retries", monitor.MaxRetries) d.Set("url_path", monitor.URLPath) d.Set("http_method", monitor.HTTPMethod) d.Set("expected_codes", monitor.ExpectedCodes) d.Set("admin_state_up", monitor.AdminStateUp) d.Set("name", monitor.Name) return nil }
func testAccCheckLBV2MonitorExists(t *testing.T, n string, monitor *monitors.Monitor) resource.TestCheckFunc { return func(s *terraform.State) error { rs, ok := s.RootModule().Resources[n] if !ok { return fmt.Errorf("Not found: %s", n) } if rs.Primary.ID == "" { return fmt.Errorf("No ID is set") } config := testAccProvider.Meta().(*Config) networkingClient, err := config.networkingV2Client(OS_REGION_NAME) if err != nil { return fmt.Errorf("(testAccCheckLBV2MonitorExists) Error creating OpenStack networking client: %s", err) } found, err := monitors.Get(networkingClient, rs.Primary.ID).Extract() if err != nil { return err } if found.ID != rs.Primary.ID { return fmt.Errorf("Monitor not found") } *monitor = *found return nil } }
func waitForMonitorActive(networkingClient *gophercloud.ServiceClient, monitorID string) resource.StateRefreshFunc { return func() (interface{}, string, error) { monitor, err := monitors.Get(networkingClient, monitorID).Extract() if err != nil { return nil, "", err } log.Printf("[DEBUG] OpenStack LBaaSV2 Monitor: %+v", monitor) return monitor, "ACTIVE", nil } }
func testAccCheckLBV2MonitorDestroy(s *terraform.State) error { config := testAccProvider.Meta().(*Config) networkingClient, err := config.networkingV2Client(OS_REGION_NAME) if err != nil { return fmt.Errorf("(testAccCheckLBV2MonitorDestroy) Error creating OpenStack networking client: %s", err) } for _, rs := range s.RootModule().Resources { log.Printf("[FINDME] rs TYPE is: %T", rs) if rs.Type != "openstack_lb_monitor_v2" { continue } log.Printf("[FINDME] rs.Primary.Attributes: %#v", rs.Primary.Attributes) _, err := monitors.Get(networkingClient, rs.Primary.ID).Extract() if err == nil { return fmt.Errorf("Monitor still exists: %s", rs.Primary.ID) } } return nil }