func (w *workerpool) DeleteWorkerPool(clusterNameOrID string, workerPoolNameOrID string, target ClusterTargetHeader) error {
	_, err := w.client.Delete(fmt.Sprintf("/v1/clusters/%s/workerpools/%s", clusterNameOrID, workerPoolNameOrID), target.ToMap())
	return err
}
DeleteWorkerPool calls the API to remove a worker pool
package containerv1
import (
	"fmt"
	"github.com/IBM-Cloud/bluemix-go/client"
)
type WorkerPoolConfig struct {
	Name        string            `json:"name" binding:"required"`
	Size        int               `json:"sizePerZone" binding:"required"`
	MachineType string            `json:"machineType" binding:"required"`
	Isolation   string            `json:"isolation"`
	Labels      map[string]string `json:"labels"`
	Entitlement string            `json:"entitlement"`
}
type WorkerPoolRequest struct {
	WorkerPoolConfig
	DiskEncryption bool             `json:"diskEncryption" description:"true or false to use encryption for the secondary disk"`
	Zones          []WorkerPoolZone `json:"zones"`
}
type WorkerPoolPatchRequest struct {
	Size            int               `json:"sizePerZone"`
	Labels          map[string]string `json:"labels"`
	ReasonForResize string            `json:"reasonForResize"`
	State           string            `json:"state"`
}
type WorkerPoolResponse struct {
	WorkerPoolConfig
	ID              string                  `json:"id" binding:"required"`
	Region          string                  `json:"region" binding:"required"`
	State           string                  `json:"state"`
	ReasonForDelete string                  `json:"reasonForDelete"`
	IsBalanced      bool                    `json:"isBalanced"`
	Zones           WorkerPoolZoneResponses `json:"zones"`
}
type WorkerPoolResponses []WorkerPoolResponse
type WorkerPoolZoneNetwork struct {
	PrivateVLAN string `json:"privateVlan" binding:"required"`
	PublicVLAN  string `json:"publicVlan"`
}
type WorkerPoolZone struct {
	WorkerPoolZoneNetwork
	ID string `json:"id" binding:"required"`
}
type WorkerPoolZonePatchRequest struct {
	WorkerPoolZoneNetwork
}
type WorkerPoolZoneResponse struct {
	WorkerPoolZone
	WorkerCount int `json:"workerCount"`
}
type WorkerPoolZoneResponses []WorkerPoolZoneResponse
type WorkerPool interface {
	CreateWorkerPool(clusterNameOrID string, workerPoolReq WorkerPoolRequest, target ClusterTargetHeader) (WorkerPoolResponse, error)
	ResizeWorkerPool(clusterNameOrID, workerPoolNameOrID string, size int, target ClusterTargetHeader) error
	UpdateLabelsWorkerPool(clusterNameOrID, workerPoolNameOrID string, labels map[string]string, target ClusterTargetHeader) error
	PatchWorkerPool(clusterNameOrID, workerPoolNameOrID, state string, target ClusterTargetHeader) error
	DeleteWorkerPool(clusterNameOrID string, workerPoolNameOrID string, target ClusterTargetHeader) error
	ListWorkerPools(clusterNameOrID string, target ClusterTargetHeader) ([]WorkerPoolResponse, error)
	GetWorkerPool(clusterNameOrID, workerPoolNameOrID string, target ClusterTargetHeader) (WorkerPoolResponse, error)
	AddZone(clusterNameOrID string, poolID string, workerPoolZone WorkerPoolZone, target ClusterTargetHeader) error
	RemoveZone(clusterNameOrID, zone, poolID string, target ClusterTargetHeader) error
	UpdateZoneNetwork(clusterNameOrID, zone, poolID, privateVlan, publicVlan string, target ClusterTargetHeader) error
}
type workerpool struct {
	client *client.Client
}
func newWorkerPoolAPI(c *client.Client) WorkerPool {
	return &workerpool{
		client: c,
	}
}
func (w *workerpool) CreateWorkerPool(clusterNameOrID string, workerPoolReq WorkerPoolRequest, target ClusterTargetHeader) (WorkerPoolResponse, error) {
	var successV WorkerPoolResponse
	_, err := w.client.Post(fmt.Sprintf("/v1/clusters/%s/workerpools", clusterNameOrID), workerPoolReq, &successV, target.ToMap())
	return successV, err
}
func (w *workerpool) PatchWorkerPool(clusterNameOrID, workerPoolNameOrID, state string, target ClusterTargetHeader) error {
	requestBody := WorkerPoolPatchRequest{
		State: state,
	}
	_, err := w.client.Patch(fmt.Sprintf("/v1/clusters/%s/workerpools/%s", clusterNameOrID, workerPoolNameOrID), requestBody, nil, target.ToMap())
	return err
}
func (w *workerpool) ResizeWorkerPool(clusterNameOrID, workerPoolNameOrID string, size int, target ClusterTargetHeader) error {
	requestBody := WorkerPoolPatchRequest{
		State: "resizing",
		Size:  size,
	}
	_, err := w.client.Patch(fmt.Sprintf("/v1/clusters/%s/workerpools/%s", clusterNameOrID, workerPoolNameOrID), requestBody, nil, target.ToMap())
	return err
}
func (w *workerpool) UpdateLabelsWorkerPool(clusterNameOrID, workerPoolNameOrID string, labels map[string]string, target ClusterTargetHeader) error {
	requestBody := WorkerPoolPatchRequest{
		State:  "labels",
		Labels: labels,
	}
	_, err := w.client.Patch(fmt.Sprintf("/v1/clusters/%s/workerpools/%s", clusterNameOrID, workerPoolNameOrID), requestBody, nil, target.ToMap())
	return err
}