package zone

type ListZones struct {
	// Entry count
	EntryCount uint64 `json:"entryCount"`

	// Data
	Data []RecordZone `json:"data"`
}

// Detailed information about the zone record
type RecordZone struct {
	// If true, all nodes belonging to the given zone will be marked for autostart
	AutoStart bool `json:"autostart"`

	// ID
	ID uint64 `json:"id"`

	// GUID
	GUID uint64 `json:"guid"`

	// GID
	GID uint64 `json:"gid"`

	// Name
	Name string `json:"name"`

	// List of associated account IDs
	AccountIDs []uint64 `json:"accountIds"`

	// List of associated bservice IDs
	BserviceIDs []uint64 `json:"bserviceIds"`

	// List of associated compute IDs
	ComputeIDs []uint64 `json:"computeIds"`

	// Description
	Description string `json:"description"`

	// Deletable flag
	Deletable bool `json:"deletable"`

	// List of associated ExtNet IDs
	ExtnetIDs []uint64 `json:"extnetIds"`

	// List of associated K8s IDs
	K8SIDs []uint64 `json:"k8sIds"`

	// List of associated LB IDs
	LBIDs []uint64 `json:"lbIds"`

	// Status
	Status string `json:"status"`

	// Created timestamp
	CreatedTime uint64 `json:"createdTime"`

	// Updated timestamp
	UpdatedTime uint64 `json:"updatedTime"`

	// List of associated Node IDs
	NodeIDs []uint64 `json:"nodeIds"`

	// List of associated VINS IDs
	VinsIDs []uint64 `json:"vinsIds"`
}
