// Create is the operation responsible for creating a new node on a load // balancer. Since every load balancer exists in both ServiceNet and the public // Internet, both private and public IP addresses can be used for nodes. // // If nodes need time to boot up services before they become operational, you // can temporarily prevent traffic from being sent to that node by setting the // Condition field to DRAINING. Health checks will still be performed; but once // your node is ready, you can update its condition to ENABLED and have it // handle traffic. func Create(client *gophercloud.ServiceClient, loadBalancerID int, opts CreateOptsBuilder) CreateResult { var res CreateResult reqBody, err := opts.ToNodeCreateMap() if err != nil { res.Err = err return res } resp, err := client.Request("POST", rootURL(client, loadBalancerID), gophercloud.RequestOpts{ JSONBody: &reqBody, JSONResponse: &res.Body, OkCodes: []int{202}, }) if err != nil { res.Err = err return res } pr, err := pagination.PageResultFrom(resp) if err != nil { res.Err = err return res } return CreateResult{pagination.SinglePageBase(pr)} }
// Create is the operation responsible for creating a new node on a load // balancer. Since every load balancer exists in both ServiceNet and the public // Internet, both private and public IP addresses can be used for nodes. // // If nodes need time to boot up services before they become operational, you // can temporarily prevent traffic from being sent to that node by setting the // Condition field to DRAINING. Health checks will still be performed; but once // your node is ready, you can update its condition to ENABLED and have it // handle traffic. func Create(client *gophercloud.ServiceClient, loadBalancerID int, opts CreateOptsBuilder) CreateResult { var res CreateResult reqBody, err := opts.ToNodeCreateMap() if err != nil { res.Err = err return res } resp, err := client.Post(rootURL(client, loadBalancerID), reqBody, &res.Body, nil) if err != nil { res.Err = err return res } pr, err := pagination.PageResultFrom(resp) if err != nil { res.Err = err return res } return CreateResult{pagination.SinglePageBase(pr)} }