github.com/chnsz/golangsdk@v0.0.0-20240506093406-85a3fbfa605b/openstack/dns/v2/ipaddress/requests.go (about)

     1  package ipaddress
     2  
     3  import "github.com/chnsz/golangsdk"
     4  
     5  type CreateOpts struct {
     6  	IPAddress `json:"ipaddress" required:"true"`
     7  }
     8  
     9  type IPAddress struct {
    10  	SubnetID string `json:"subnet_id" required:"true"`
    11  	IP       string `json:"ip,omitempty"`
    12  }
    13  
    14  func Create(c *golangsdk.ServiceClient, opts CreateOpts, endpointID string) (r CreateResult) {
    15  	body, err := golangsdk.BuildRequestBody(opts, "")
    16  	if err != nil {
    17  		r.Err = err
    18  		return
    19  	}
    20  	_, r.Err = c.Post(baseUrl(c, endpointID), body, &r.Body, nil)
    21  	return
    22  }
    23  
    24  func Delete(c *golangsdk.ServiceClient, endpointID string, ipaddressID string) (r DeleteResult) {
    25  	_, r.Err = c.Delete(resourceUrl(c, endpointID, ipaddressID), nil)
    26  	return
    27  }
    28  
    29  func List(c *golangsdk.ServiceClient, endpointID string) (r ListResult) {
    30  	_, r.Err = c.Get(baseUrl(c, endpointID), &r.Body, nil)
    31  	return
    32  }