propertiesv2

package
v22.11.9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 30, 2023 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ClusterDefaults

type ClusterDefaults struct {
	GatewaySizing     HostSizingRequirements `json:"gateway_sizing,omitempty"`      // GatewaySizing keeps the default node definition
	GatewayTemplateID string                 `json:"gateway_template_id,omitempty"` // template id used at creation for gateways
	MasterSizing      HostSizingRequirements `json:"master_sizing,omitempty"`       // MasterSizing keeps the default node definition
	MasterTemplateID  string                 `json:"master_template_id,omitempty"`  // template ID used at creation for masters
	NodeSizing        HostSizingRequirements `json:"node_sizing,omitempty"`         // NodeSizing keeps the default node definition
	NodeTemplateID    string                 `json:"node_template_id,omitempty"`    // template ID used at creation for nodes
	Image             string                 `json:"image,omitempty"`               // Image keeps the default Linux image name to use
	ImageID           string                 `json:"image_id,omitempty"`            // contains the ID of the image used at creation
}

ClusterDefaults ... !!! FROZEN !!!

func (ClusterDefaults) Clone

func (cd ClusterDefaults) Clone() (data.Clonable, error)

Clone ... satisfies interface data.Clonable

func (*ClusterDefaults) IsNull

func (cd *ClusterDefaults) IsNull() bool

IsNull ... satisfies interface data.Clonable

func (*ClusterDefaults) Replace

func (cd *ClusterDefaults) Replace(p data.Clonable) (data.Clonable, error)

Replace ... satisfies interface data.Clonable

type ClusterNetwork

type ClusterNetwork struct {
	NetworkID          string           `json:"network_id,omitempty"`           // contains the ID of the subnet (not called SubnetID because of legacy)
	CIDR               string           `json:"cidr,omitempty"`                 // the network CIDR
	GatewayID          string           `json:"gateway_id,omitempty"`           // contains the ID of the primary gateway
	GatewayIP          string           `json:"gateway_ip,omitempty"`           // contains the private IP address of the primary gateway
	SecondaryGatewayID string           `json:"secondary_gateway_id,omitempty"` // contains the ID of the secondary gateway
	SecondaryGatewayIP string           `json:"secondary_gateway_ip,omitempty"` // contains the private IP of the secondary gateway
	DefaultRouteIP     string           `json:"default_route_ip,omitempty"`     // contains the IP of the default route
	PrimaryPublicIP    string           `json:"primary_public_ip,omitempty"`    // contains the public IP of the primary gateway
	SecondaryPublicIP  string           `json:"secondary_public_ip,omitempty"`  // contains the public IP of the secondary gateway
	EndpointIP         string           `json:"endpoint_ip,omitempty"`          // contains the IP of the external Endpoint
	NetworkState       subnetstate.Enum `json:"status,omitempty"`               // contains the subnet state (not called SubnetState because of legacy)
	Domain             string           `json:"domain,omitempty"`               // contains the domain used to define the FQDN of hosts created (taken from network)
}

ClusterNetwork contains network information relative to cluster !!! FROZEN !!!

func (ClusterNetwork) Clone

func (n ClusterNetwork) Clone() (data.Clonable, error)

Clone ... satisfies interface data.Clonable

func (*ClusterNetwork) IsNull

func (n *ClusterNetwork) IsNull() bool

IsNull ... satisfies interface data.Clonable

func (*ClusterNetwork) Replace

func (n *ClusterNetwork) Replace(p data.Clonable) (data.Clonable, error)

Replace ... satisfies interface data.Clonable

type ClusterNode

type ClusterNode struct {
	ID          string `json:"id"`         // ID of the node
	NumericalID uint   `json:"intid"`      // Numerical (unsigned integer) ID of the node
	Name        string `json:"name"`       // GetName of the node
	PublicIP    string `json:"public_ip"`  // public ip of the node
	PrivateIP   string `json:"private_ip"` // private ip of the node
}

ClusterNode describes a node in the cluster !!! FROZEN !!!

type ClusterNodes

type ClusterNodes struct {
	Masters          []*ClusterNode `json:"masters,omitempty"`            // Masters contains the ID of the masters
	PublicNodes      []*ClusterNode `json:"public_nodes,omitempty"`       // PublicNodes is a slice of IDs of the public cluster nodes
	PrivateNodes     []*ClusterNode `json:"private_nodes,omitempty"`      // PrivateNodes is a slice of IDs of the private cluster nodes
	MasterLastIndex  int            `json:"master_last_index,omitempty"`  // MasterLastIndex
	PrivateLastIndex int            `json:"private_last_index,omitempty"` // PrivateLastIndex
	PublicLastIndex  int            `json:"public_last_index,omitempty"`  // PublicLastIndex
	GlobalLastIndex  uint           `json:"global_last_index,omitempty"`  // is used to keep of the index associated to the last created node
}

ClusterNodes contains all the nodes created in the cluster !!! FROZEN !!!

func (ClusterNodes) Clone

func (n ClusterNodes) Clone() (data.Clonable, error)

Clone ... satisfies interface data.Clonable

func (*ClusterNodes) IsNull

func (n *ClusterNodes) IsNull() bool

IsNull ... satisfies interface data.Clonable

func (*ClusterNodes) Replace

func (n *ClusterNodes) Replace(p data.Clonable) (data.Clonable, error)

Replace ... satisfies interface data.Clonable

type HostEffectiveSizing

type HostEffectiveSizing 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"`
}

HostEffectiveSizing represent sizing elements of a host !!! FROZEN !!! Note: if tagged as FROZEN, must not be changed ever.

Create a new version instead with needed supplemental fields

func NewHostEffectiveSizing

func NewHostEffectiveSizing() *HostEffectiveSizing

NewHostEffectiveSizing ...

func (*HostEffectiveSizing) IsNull

func (hes *HostEffectiveSizing) IsNull() bool

IsNull tells if the struct is a null value

type HostNetworking

type HostNetworking struct {
	DefaultSubnetID string            `json:"default_subnet_id,omitempty"` // contains the ID of the default subnet
	PublicIPv4      string            `json:"public_ip_v4,omitempty"`
	PublicIPv6      string            `json:"public_ip_v6,omitempty"`
	SubnetsByID     map[string]string `json:"subnet_by_id,omitempty"`   // contains the name of each subnet bound to the host (indexed by ID)
	SubnetsByName   map[string]string `json:"subnet_by_name,omitempty"` // contains the ID of each subnet bound to the host (indexed by Name)
	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 Networking ID) allocated to the host
	IsGateway       bool              `json:"is_gateway,omitempty"`     // Tells if host is a gateway of a Subnet
	Single          bool              `json:"single,omitempty"`         // Tells if the Host is single
}

HostNetworking 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

func NewHostNetworking

func NewHostNetworking() *HostNetworking

NewHostNetworking ...

func NewHostNetworkingFromProperty

func NewHostNetworkingFromProperty(propos *serialize.JSONProperties) (*HostNetworking, fail.Error)

func (HostNetworking) Clone

func (hn HostNetworking) Clone() (data.Clonable, error)

Clone ... satisfies interface data.Clonable

func (*HostNetworking) IsNull

func (hn *HostNetworking) IsNull() bool

IsNull tells if the HostNetworking corresponds to a null value

func (*HostNetworking) Replace

func (hn *HostNetworking) Replace(p data.Clonable) (data.Clonable, error)

Replace ... satisfies interface data.Clonable

func (*HostNetworking) Reset

func (hn *HostNetworking) Reset()

Reset resets the content of the property

type HostSizing

type HostSizing struct {
	RequestedSize *HostSizingRequirements `json:"requested_size,omitempty"`
	Template      string                  `json:"template,omitempty"`
	AllocatedSize *HostEffectiveSizing    `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

func NewHostSizing

func NewHostSizing() *HostSizing

NewHostSizing ...

func (HostSizing) Clone

func (hs HostSizing) Clone() (data.Clonable, error)

Clone ... (data.Clonable interface)

func (*HostSizing) IsNull

func (hs *HostSizing) IsNull() bool

IsNull ... satisfies interface data.Clonable

func (*HostSizing) Replace

func (hs *HostSizing) Replace(p data.Clonable) (data.Clonable, error)

Replace ...

type HostSizingRequirements

type HostSizingRequirements struct {
	MinCores    int     `json:"min_cores,omitempty"`
	MaxCores    int     `json:"max_cores,omitempty"`
	MinRAMSize  float32 `json:"min_ram_size,omitempty"`
	MaxRAMSize  float32 `json:"max_ram_size,omitempty"`
	MinDiskSize int     `json:"min_disk_size,omitempty"`
	MinGPU      int     `json:"min_gpu,omitempty"`
	MinCPUFreq  float32 `json:"min_freq,omitempty"`
	Replaceable bool    `json:"replaceable,omitempty"` // Tells if we accept host that could be removed without notice (AWS proposes such kind of server known as SPOT)
}

HostSizingRequirements describes host sizing requirements to fulfill !!! FROZEN !!! Note: if tagged as FROZEN, must not be changed ever.

Create a new version instead with needed supplemental fields

func NewHostSizingRequirements

func NewHostSizingRequirements() *HostSizingRequirements

NewHostSizingRequirements ...

func (*HostSizingRequirements) IsNull

func (hsr *HostSizingRequirements) IsNull() bool

IsNull tells if the struct is a null value

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL