Documentation
¶
Index ¶
- Variables
- func MachineCapabilityFromProtobufMachineCapability(cap *cwssaws.InstanceTypeMachineCapabilityFilterAttributes, idx int) (*cdbm.MachineCapability, error)
- type ManageInstanceType
- func (mv ManageInstanceType) AddInstanceTypeToCloud(ctx context.Context, site *cdbm.Site, instanceTypeDAO cdbm.InstanceTypeDAO, ...) (*cdbm.InstanceType, error)
- func (mv ManageInstanceType) ProtobufCapabilitiesFromCloudCapabilities(mcs []cdbm.MachineCapability) ([]*cwssaws.InstanceTypeMachineCapabilityFilterAttributes, error)
- func (mv ManageInstanceType) UpdateInstanceTypeInCloud(ctx context.Context, site *cdbm.Site, instanceTypeDAO cdbm.InstanceTypeDAO, ...) error
- func (mv ManageInstanceType) UpdateInstanceTypesInDB(ctx context.Context, siteID uuid.UUID, ...) error
Constants ¶
This section is empty.
Variables ¶
var CloudCapabilityDeviceTypeToProtobufType = map[string]cwssaws.MachineCapabilityDeviceType{ cdbm.MachineCapabilityDeviceTypeDPU: cwssaws.MachineCapabilityDeviceType_MACHINE_CAPABILITY_DEVICE_TYPE_DPU, }
var CloudCapabilityTypeToProtobufType = map[string]cwssaws.MachineCapabilityType{ cdbm.MachineCapabilityTypeCPU: cwssaws.MachineCapabilityType_CAP_TYPE_CPU, cdbm.MachineCapabilityTypeMemory: cwssaws.MachineCapabilityType_CAP_TYPE_MEMORY, cdbm.MachineCapabilityTypeGPU: cwssaws.MachineCapabilityType_CAP_TYPE_GPU, cdbm.MachineCapabilityTypeStorage: cwssaws.MachineCapabilityType_CAP_TYPE_STORAGE, cdbm.MachineCapabilityTypeNetwork: cwssaws.MachineCapabilityType_CAP_TYPE_NETWORK, cdbm.MachineCapabilityTypeInfiniBand: cwssaws.MachineCapabilityType_CAP_TYPE_INFINIBAND, cdbm.MachineCapabilityTypeDPU: cwssaws.MachineCapabilityType_CAP_TYPE_DPU, }
var ProtobufCapabilityDeviceTypeToCloudType = map[cwssaws.MachineCapabilityDeviceType]string{ cwssaws.MachineCapabilityDeviceType_MACHINE_CAPABILITY_DEVICE_TYPE_DPU: cdbm.MachineCapabilityDeviceTypeDPU, }
var ProtobufCapabilityTypeToCloudType = map[cwssaws.MachineCapabilityType]string{ cwssaws.MachineCapabilityType_CAP_TYPE_CPU: cdbm.MachineCapabilityTypeCPU, cwssaws.MachineCapabilityType_CAP_TYPE_MEMORY: cdbm.MachineCapabilityTypeMemory, cwssaws.MachineCapabilityType_CAP_TYPE_GPU: cdbm.MachineCapabilityTypeGPU, cwssaws.MachineCapabilityType_CAP_TYPE_STORAGE: cdbm.MachineCapabilityTypeStorage, cwssaws.MachineCapabilityType_CAP_TYPE_NETWORK: cdbm.MachineCapabilityTypeNetwork, cwssaws.MachineCapabilityType_CAP_TYPE_INFINIBAND: cdbm.MachineCapabilityTypeInfiniBand, cwssaws.MachineCapabilityType_CAP_TYPE_DPU: cdbm.MachineCapabilityTypeDPU, }
Functions ¶
func MachineCapabilityFromProtobufMachineCapability ¶
func MachineCapabilityFromProtobufMachineCapability(cap *cwssaws.InstanceTypeMachineCapabilityFilterAttributes, idx int) (*cdbm.MachineCapability, error)
Types ¶
type ManageInstanceType ¶
type ManageInstanceType struct {
// contains filtered or unexported fields
}
ManageInstanceType is an activity wrapper for managing InstanceType lifecycle that allows injecting DB access
func NewManageInstanceType ¶
func NewManageInstanceType(dbSession *cdb.Session, siteClientPool *sc.ClientPool) ManageInstanceType
NewManageInstanceType returns a new ManageInstanceType activity
func (ManageInstanceType) AddInstanceTypeToCloud ¶
func (mv ManageInstanceType) AddInstanceTypeToCloud(ctx context.Context, site *cdbm.Site, instanceTypeDAO cdbm.InstanceTypeDAO, macCapDAO cdbm.MachineCapabilityDAO, controllerInstanceType *cwssaws.InstanceType) (*cdbm.InstanceType, error)
Handles the creation of a new InstanceType and associated capabilities based on InstanceType data returned from site.
func (ManageInstanceType) ProtobufCapabilitiesFromCloudCapabilities ¶
func (mv ManageInstanceType) ProtobufCapabilitiesFromCloudCapabilities(mcs []cdbm.MachineCapability) ([]*cwssaws.InstanceTypeMachineCapabilityFilterAttributes, error)
func (ManageInstanceType) UpdateInstanceTypeInCloud ¶
func (mv ManageInstanceType) UpdateInstanceTypeInCloud(ctx context.Context, site *cdbm.Site, instanceTypeDAO cdbm.InstanceTypeDAO, macCapDAO cdbm.MachineCapabilityDAO, instanceType *cdbm.InstanceType, controllerInstanceType *cwssaws.InstanceType) error
Handles metadata and capability updates for an existing InstanceType that is known to both site and cloud, using data returned from site. The *cdbm.InstanceType sent in will be modified in place if necessary. New capabilities will be added and capabilities no longer reported by site will be removed.
func (ManageInstanceType) UpdateInstanceTypesInDB ¶
func (mv ManageInstanceType) UpdateInstanceTypesInDB(ctx context.Context, siteID uuid.UUID, instanceTypeInventory *cwssaws.InstanceTypeInventory) error
UpdateInstanceTypesInDB is a Temporal activity that takes a collection of InstanceType data pushed by Site Agent and updates the DB