github.com/opentelekomcloud/gophertelekomcloud@v0.9.3/acceptance/openstack/waf-premium/v1/helpers.go (about)

     1  package v1
     2  
     3  import (
     4  	"fmt"
     5  
     6  	golangsdk "github.com/opentelekomcloud/gophertelekomcloud"
     7  	"github.com/opentelekomcloud/gophertelekomcloud/openstack/waf-premium/v1/instances"
     8  )
     9  
    10  const (
    11  	testKey = `-----BEGIN PRIVATE KEY-----
    12  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
    61  6Ty0X9L6AsYiuWgPiTkurNI9qz7lYwg=
    62  -----END PRIVATE KEY-----`
    63  	testCert = `-----BEGIN CERTIFICATE-----
    64  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
    92  nGCTZwjrFytcgdo=
    93  -----END CERTIFICATE-----`
    94  )
    95  
    96  func waitForInstanceToBeCreated(client *golangsdk.ServiceClient, secs int, id string) error {
    97  	return golangsdk.WaitFor(secs, func() (bool, error) {
    98  		instance, err := instances.Get(client, id)
    99  		if err != nil {
   100  			return false, err
   101  		}
   102  		if instance.Status == 1 {
   103  			return true, nil
   104  		}
   105  		if instance.Status == 4 {
   106  			return false, fmt.Errorf("error creating instance")
   107  		}
   108  
   109  		return false, nil
   110  	})
   111  }
   112  
   113  func waitForInstanceToBeDeleted(client *golangsdk.ServiceClient, secs int, id string) error {
   114  	return golangsdk.WaitFor(secs, func() (bool, error) {
   115  		_, err := instances.Get(client, id)
   116  		if err != nil {
   117  			if _, ok := err.(golangsdk.ErrDefault404); ok {
   118  				return true, nil
   119  			}
   120  			return false, fmt.Errorf("error retriving WAF instance status: %w", err)
   121  		}
   122  		return false, nil
   123  	})
   124  }