Documentation
¶
Index ¶
- type HostDescription
- type HostFeatures
- type HostInstalledFeature
- type HostLocalMount
- type HostMounts
- type HostNetwork
- type HostRemoteMount
- type HostShare
- type HostShares
- type HostSize
- type HostSizing
- type HostSystem
- type HostTemplate
- type HostVolume
- type HostVolumes
- type NetworkDescription
- type NetworkHosts
- type VolumeAttachments
- type VolumeDescription
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type HostDescription ¶
type HostDescription struct {
Created time.Time `json:"created,omitempty"` // tells when the host has been created
Creator string `json:"creator,omitempty"` // contains information (forged) about the creator of a host
Updated time.Time `json:"modified,omitempty"` // tells the last time the host has been modified
Purpose string `json:"purpose,omitempty"` // contains a description of the use of a host
}
HostDescription contains description information for the host not FROZEN yet Note: if tagged as FROZEN, must not be changed ever.
Create a new version instead with needed supplemental fields
func NewHostDescription ¶
func NewHostDescription() *HostDescription
NewHostDescription returns a blank HostDescription
type HostFeatures ¶
type HostFeatures struct {
Installed map[string]*HostInstalledFeature `json:"installed,omitempty"` // list of installed features, indexed on feature name
}
HostFeatures ... not FROZEN yet Note: if tagged as FROZEN, must not be changed ever.
Create a new version instead with needed supplemental fields
type HostInstalledFeature ¶
type HostInstalledFeature struct {
HostContext bool `json:"host_context,omitempty"` // tells if the feature has been explicitly installed for host (opposed to for cluster)
RequiredBy []string `json:"required_by,omitempty"` // tells what feature(s) needs this one
Requires []string `json:"requires,omitempty"`
}
HostInstalledFeature ... not FROZEN yet Note: if tagged as FROZEN, must not be changed ever.
Create a new version instead with needed supplemental/overriding fields
func NewHostInstalledFeature ¶
func NewHostInstalledFeature() *HostInstalledFeature
NewHostInstalledFeature ...
type HostLocalMount ¶
type HostLocalMount struct {
Device string `json:"device"` // Device is the name of the device (/dev/... for local mount, host:/path for remote mount)
Path string `json:"mountpoint"` // Path is the mount point of the device
FileSystem string `json:"file_system"` // FileSystem tells the filesystem used
Options string `json:"options,omitempty"` // Options contains the mount options
}
HostLocalMount stores information about a device (as an attached volume) mount not FROZEN yet Note: if tagged as FROZEN, must not be changed ever.
Create a new version instead with needed supplemental/overriding fields
type HostMounts ¶
type HostMounts struct {
LocalMountsByDevice map[string]string `json:"local_mounts_by_device"` // contains local mount path, indexed by devices
LocalMountsByPath map[string]*HostLocalMount `json:"local_mounts_by_path"` // contains HostLocalMount structs, indexed by path
RemoteMountsByExport map[string]string `json:"remote_mounts_by_export"` // contains local mount path, indexed by export
RemoteMountsByPath map[string]*HostRemoteMount `json:"remote_mounts_by_path"` // contains HostRemoteMount, indexed by path
}
HostMounts contains information about mounts on the host not FROZEN yet Note: if tagged as FROZEN, must not be changed ever.
Create a new version instead with needed supplemental/overriding fields
type HostNetwork ¶
type HostNetwork struct {
IsGateway bool `json:"is_gateway,omitempty"` // Tells if host is a gateway of a network
DefaultGatewayID string `json:"default_gateway_id,omitempty"` // contains the ID of the Default Gateway
DefaultGatewayPrivateIP string `json:"default_gateway_private_ip,omitempty"` // contains the private IP of the default gateway
DefaultNetworkID string `json:"default_network_id,omitempty"` // contains the ID of the default Network
NetworksByID map[string]string `json:"networks_by_id,omitempty"` // contains the name of each network binded to the host (indexed by ID)
NetworksByName map[string]string `json:"networks_by_name,omitempty"` // contains the ID of each network binded to the host (indexed by Name)
PublicIPv4 string `json:"public_ip_v4,omitempty"`
PublicIPv6 string `json:"public_ip_v6,omitempty"`
IPv4Addresses map[string]string `json:"ipv4_addresses,omitempty"` // contains ipv4 (indexed by network ID) allocated to the host
IPv6Addresses map[string]string `json:"ipv6_addresses,omitempty"` // contains ipv6 (indexed by Network ID) allocated to the host
}
HostNetwork contains network information related to Host !!! FROZEN !!! Note: if tagged as FROZEN, must not be changed ever.
Create a new version instead with needed supplemental fields
type HostRemoteMount ¶
type HostRemoteMount struct {
Export string `json:"export"` // contains the path of the export (ie: <host>:/data/shared)
Path string `json:"mountpoint"` // Path is the mount point of the device
FileSystem string `json:"file_system"` // FileSystem tells the filesystem used
Options string `json:"options,omitempty"` // Options contains the mount options
}
HostRemoteMount stores information about a remote filesystem mount not FROZEN yet Note: if tagged as FROZEN, must not be changed ever.
Create a new version instead with needed supplemental/overriding fields
type HostShare ¶
type HostShare struct {
}
HostShare describes a filesystem exported from the host not FROZEN yet Note: if tagged as FROZEN, must not be changed ever.
Create a new version instead with needed supplemental/overriding fields
type HostShares ¶
type HostShares struct {
}
HostShares contains information about the shares of the host not FROZEN yet Note: if tagged as FROZEN, must not be changed ever.
Create a new version instead with needed supplemental/overriding fields
type HostSize ¶
type HostSize struct {
Cores int `json:"cores,omitempty"`
RAMSize float32 `json:"ram_size,omitempty"`
DiskSize int `json:"disk_size,omitempty"`
GPUNumber int `json:"gpu_number,omitempty"`
GPUType string `json:"gpu_type,omitempty"`
CPUFreq float32 `json:"cpu_freq,omitempty"`
}
HostSize represent sizing elements of an host !!! FROZEN !!! Note: if tagged as FROZEN, must not be changed ever.
Create a new version instead with needed supplemental fields
type HostSizing ¶
type HostSizing struct {
RequestedSize *HostSize `json:"requested_size,omitempty"`
Template string `json:"template,omitempty"`
AllocatedSize *HostSize `json:"allocated_size,omitempty"`
}
HostSizing contains sizing information about the host !!! FROZEN !!! Note: if tagged as FROZEN, must not be changed ever.
Create a new version instead with needed supplemental fields
type HostSystem ¶
type HostSystem struct {
Type string `json:"type,omitempty"` // Type of operating system (ie linux, windows, ... Not normalized yet...)
Flavor string `json:"flavor,omitempty"` // Flavor of operating system (ie 'ubuntu server', 'windows server 2016', ... Not normalized yet...)
Image string `json:"image,omitempty"` // Name of the provider's image used
HostName string `json:"hostname,omitempty"` // Hostname on the system
}
HostSystem contains information about the operating system not FROZEN yet Note: if tagged as FROZEN, must not be changed ever.
Create a new version instead with needed supplemental fields
type HostTemplate ¶
type HostTemplate struct {
*HostSize `json:"host_size,omitempty"`
ID string `json:"id,omitempty"`
Name string `json:"name,omitempty"`
}
HostTemplate represents an host template !!! FROZEN !!! Note: if tagged as FROZEN, must not be changed ever.
Create a new version instead with needed supplemental fields
type HostVolume ¶
type HostVolume struct {
AttachID string `json:"attach_id"` // contains the ID of the volume attachment
Device string `json:"device"` // contains the device on the host
}
HostVolume contains information about attached volume not FROZEN yet Note: if tagged as FROZEN, must not be changed ever.
Create a new version instead with needed supplemental fields
type HostVolumes ¶
type HostVolumes struct {
VolumesByID map[string]*HostVolume `json:"volumes_by_id"` // contains the volume name of the attached volume, indexed by ID
VolumesByName map[string]string `json:"volumes_by_name"` // contains the ID of attached volume, indexed by volume name
VolumesByDevice map[string]string `json:"volumes_by_device"` // contains the ID of attached volume, indexed by device
DevicesByID map[string]string `json:"devices_by_id"` // contains the device of attached volume, indexed by ID
}
HostVolumes contains information about attached volumes not FROZEN yet Note: if tagged as FROZEN, must not be changed ever.
Create a new version instead with needed supplemental fields
type NetworkDescription ¶
type NetworkDescription struct {
Purpose string `json:"purpose,omitempty"` // contains the purpose of this network
Created time.Time `json:"created,omitempty"` // Contains the date of creation if the network
}
NetworkDescription contains additional information describing the network, in V1 not FROZEN yet Note: if tagged as FROZEN, must not be changed ever.
Create a new version instead with needed supplemental fields
func NewNetworkDescription ¶
func NewNetworkDescription() *NetworkDescription
NewNetworkDescription ...
type NetworkHosts ¶
type NetworkHosts struct {
ByID map[string]string `json:"by_id"` // list of host names, indexed by host id
ByName map[string]string `json:"by_name"` // list of host IDs, indexed by host name
}
NetworkHosts contains information about hosts connected to the network
type VolumeAttachments ¶
type VolumeAttachments struct {
Hosts map[string]string `json:"hosts,omitempty"` // Contains the name of the hosts mounting the volume, indexed by ID
}
VolumeAttachments contains host ids where the volume is attached !!!FROZEN!!! Note: if tagged as FROZEN, must not be changed ever.
Create a new version instead with needed supplemental fields
type VolumeDescription ¶
type VolumeDescription struct {
// Purpose contains the reason of the existence of the volume
Purpose string
// Created contains the time of creation of the volume
Created time.Time
}
VolumeDescription contains additional information describing the volume, in V1 !!!FROZEN!!! Note: if tagged as FROZEN, must not be changed ever.
Create a new version instead with needed supplemental fields