// Create supply chain definition for Physical Machine. func (this *SupplyChainFactory) physicalMachineSupplyChainNodeBuilder() *builder.SupplyChainNodeBuilder { // PM Creation Process pmSupplyChainNodeBuilder := builder.NewSupplyChainNodeBuilder() // Creates a Physical Machine entity and sets the type of commodity it sells to CPU pmSupplyChainNodeBuilder = pmSupplyChainNodeBuilder. Entity(proto.EntityDTO_PHYSICAL_MACHINE). Sells(cpuTemplateComm). Sells(memTemplateComm) return pmSupplyChainNodeBuilder }
// Create supply chain definition for Vitual Machine func (this *SupplyChainFactory) virtualMachineSupplyChainNodeBuilder() *builder.SupplyChainNodeBuilder { // VM Creation Process vmSupplyChainNodeBuilder := builder.NewSupplyChainNodeBuilder() // Creates a Virtual Machine entity vmSupplyChainNodeBuilder = vmSupplyChainNodeBuilder. Entity(proto.EntityDTO_VIRTUAL_MACHINE). Sells(vCpuTemplateComm). Sells(vMemTemplateComm) // The Entity type for the Virtual Machine's commodity provider is defined by the Provider() method. // The Commodity type for Virtual Machine's buying relationship is define by the Buys() method vmSupplyChainNodeBuilder = vmSupplyChainNodeBuilder. Provider(proto.EntityDTO_PHYSICAL_MACHINE, proto.Provider_HOSTING). Buys(cpuTemplateComm). Buys(memTemplateComm) return vmSupplyChainNodeBuilder }