116 lines
4.0 KiB
Go
116 lines
4.0 KiB
Go
package schema
|
|
|
|
import "time"
|
|
|
|
// FloatingIP defines the schema of a Floating IP.
|
|
type FloatingIP struct {
|
|
ID int `json:"id"`
|
|
Description *string `json:"description"`
|
|
Created time.Time `json:"created"`
|
|
IP string `json:"ip"`
|
|
Type string `json:"type"`
|
|
Server *int `json:"server"`
|
|
DNSPtr []FloatingIPDNSPtr `json:"dns_ptr"`
|
|
HomeLocation Location `json:"home_location"`
|
|
Blocked bool `json:"blocked"`
|
|
Protection FloatingIPProtection `json:"protection"`
|
|
Labels map[string]string `json:"labels"`
|
|
}
|
|
|
|
// FloatingIPProtection represents the protection level of a Floating IP.
|
|
type FloatingIPProtection struct {
|
|
Delete bool `json:"delete"`
|
|
}
|
|
|
|
// FloatingIPDNSPtr contains reverse DNS information for a
|
|
// IPv4 or IPv6 Floating IP.
|
|
type FloatingIPDNSPtr struct {
|
|
IP string `json:"ip"`
|
|
DNSPtr string `json:"dns_ptr"`
|
|
}
|
|
|
|
// FloatingIPGetResponse defines the schema of the response when
|
|
// retrieving a single Floating IP.
|
|
type FloatingIPGetResponse struct {
|
|
FloatingIP FloatingIP `json:"floating_ip"`
|
|
}
|
|
|
|
// FloatingIPUpdateRequest defines the schema of the request to update a Floating IP.
|
|
type FloatingIPUpdateRequest struct {
|
|
Description string `json:"description,omitempty"`
|
|
Labels *map[string]string `json:"labels,omitempty"`
|
|
}
|
|
|
|
// FloatingIPUpdateResponse defines the schema of the response when updating a Floating IP.
|
|
type FloatingIPUpdateResponse struct {
|
|
FloatingIP FloatingIP `json:"floating_ip"`
|
|
}
|
|
|
|
// FloatingIPListResponse defines the schema of the response when
|
|
// listing Floating IPs.
|
|
type FloatingIPListResponse struct {
|
|
FloatingIPs []FloatingIP `json:"floating_ips"`
|
|
}
|
|
|
|
// FloatingIPCreateRequest defines the schema of the request to
|
|
// create a Floating IP.
|
|
type FloatingIPCreateRequest struct {
|
|
Type string `json:"type"`
|
|
HomeLocation *string `json:"home_location,omitempty"`
|
|
Server *int `json:"server,omitempty"`
|
|
Description *string `json:"description,omitempty"`
|
|
Labels *map[string]string `json:"labels,omitempty"`
|
|
}
|
|
|
|
// FloatingIPCreateResponse defines the schema of the response
|
|
// when creating a Floating IP.
|
|
type FloatingIPCreateResponse struct {
|
|
FloatingIP FloatingIP `json:"floating_ip"`
|
|
Action *Action `json:"action"`
|
|
}
|
|
|
|
// FloatingIPActionAssignRequest defines the schema of the request to
|
|
// create an assign Floating IP action.
|
|
type FloatingIPActionAssignRequest struct {
|
|
Server int `json:"server"`
|
|
}
|
|
|
|
// FloatingIPActionAssignResponse defines the schema of the response when
|
|
// creating an assign action.
|
|
type FloatingIPActionAssignResponse struct {
|
|
Action Action `json:"action"`
|
|
}
|
|
|
|
// FloatingIPActionUnassignRequest defines the schema of the request to
|
|
// create an unassign Floating IP action.
|
|
type FloatingIPActionUnassignRequest struct{}
|
|
|
|
// FloatingIPActionUnassignResponse defines the schema of the response when
|
|
// creating an unassign action.
|
|
type FloatingIPActionUnassignResponse struct {
|
|
Action Action `json:"action"`
|
|
}
|
|
|
|
// FloatingIPActionChangeDNSPtrRequest defines the schema for the request to
|
|
// change a Floating IP's reverse DNS pointer.
|
|
type FloatingIPActionChangeDNSPtrRequest struct {
|
|
IP string `json:"ip"`
|
|
DNSPtr *string `json:"dns_ptr"`
|
|
}
|
|
|
|
// FloatingIPActionChangeDNSPtrResponse defines the schema of the response when
|
|
// creating a change_dns_ptr Floating IP action.
|
|
type FloatingIPActionChangeDNSPtrResponse struct {
|
|
Action Action `json:"action"`
|
|
}
|
|
|
|
// FloatingIPActionChangeProtectionRequest defines the schema of the request to change the resource protection of a Floating IP.
|
|
type FloatingIPActionChangeProtectionRequest struct {
|
|
Delete *bool `json:"delete,omitempty"`
|
|
}
|
|
|
|
// FloatingIPActionChangeProtectionResponse defines the schema of the response when changing the resource protection of a Floating IP.
|
|
type FloatingIPActionChangeProtectionResponse struct {
|
|
Action Action `json:"action"`
|
|
}
|