Documentation
¶
Index ¶
- func StatusReportToDomain(report *instancev1alpha1.InstanceStatusReport) resource.InstanceStatusReport
- func StatusReportToTransport(report resource.InstanceStatusReport) *instancev1alpha1.InstanceStatusReport
- func ToTransport(ins resource.Instance) *instancev1alpha1.Instance
- type Repository
- type Server
- func (s *Server) DiscoverInstances(ctx context.Context, req *instancev1alpha1.DiscoverInstanceRequest) (*instancev1alpha1.DiscoverInstanceResponse, error)
- func (s *Server) GetInstance(ctx context.Context, req *instancev1alpha1.GetInstanceRequest) (*instancev1alpha1.GetInstanceResponse, error)
- func (s *Server) ListInstances(ctx context.Context, req *instancev1alpha1.ListInstancesRequest) (*instancev1alpha1.ListInstancesResponse, error)
- func (s *Server) ReceiveInstanceStatusReports(ctx context.Context, req *instancev1alpha1.ReceiveInstanceStatusReportsRequest) (*instancev1alpha1.ReceiveInstanceStatusReportsResponse, error)
- func (s *Server) RunFlavorVersion(ctx context.Context, req *instancev1alpha1.RunFlavorVersionRequest) (*instancev1alpha1.RunFlavorVersionResponse, error)
- type Service
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func StatusReportToDomain ¶
func StatusReportToDomain(report *instancev1alpha1.InstanceStatusReport) resource.InstanceStatusReport
func StatusReportToTransport ¶
func StatusReportToTransport(report resource.InstanceStatusReport) *instancev1alpha1.InstanceStatusReport
func ToTransport ¶
func ToTransport(ins resource.Instance) *instancev1alpha1.Instance
ToTransport converts the domain object to a transport layer object
Types ¶
type Repository ¶
type Repository interface {
CreateInstance(ctx context.Context, instance resource.Instance, nodeID string) (resource.Instance, error)
ListInstances(ctx context.Context, pageSize int, afterID *string) ([]resource.Instance, error)
GetInstanceByID(ctx context.Context, id string) (resource.Instance, error)
GetInstancesByNodeID(ctx context.Context, id string) ([]resource.Instance, error)
// ApplyStatusReports updates instances rows that are not in [instance.InstanceStateDeleted] state.
// all other instances will be removed from the table.
ApplyStatusReports(ctx context.Context, reports []resource.InstanceStatusReport) error
CountInstancesByFlavorVersionID(ctx context.Context, flavorVersionID string) (uint, error)
}
type Server ¶
type Server struct {
instancev1alpha1.UnimplementedInstanceServiceServer
// contains filtered or unexported fields
}
func (*Server) DiscoverInstances ¶
func (s *Server) DiscoverInstances( ctx context.Context, req *instancev1alpha1.DiscoverInstanceRequest, ) (*instancev1alpha1.DiscoverInstanceResponse, error)
func (*Server) GetInstance ¶
func (s *Server) GetInstance( ctx context.Context, req *instancev1alpha1.GetInstanceRequest, ) (*instancev1alpha1.GetInstanceResponse, error)
func (*Server) ListInstances ¶
func (s *Server) ListInstances( ctx context.Context, req *instancev1alpha1.ListInstancesRequest, ) (*instancev1alpha1.ListInstancesResponse, error)
func (*Server) ReceiveInstanceStatusReports ¶
func (s *Server) ReceiveInstanceStatusReports( ctx context.Context, req *instancev1alpha1.ReceiveInstanceStatusReportsRequest, ) (*instancev1alpha1.ReceiveInstanceStatusReportsResponse, error)
func (*Server) RunFlavorVersion ¶
func (s *Server) RunFlavorVersion( ctx context.Context, req *instancev1alpha1.RunFlavorVersionRequest, ) (*instancev1alpha1.RunFlavorVersionResponse, error)
type Service ¶
type Service interface {
GetInstance(ctx context.Context, id string) (resource.Instance, error)
ListInstances(ctx context.Context, pageSize int, afterID *string) ([]resource.Instance, error)
RunFlavorVersion(
ctx context.Context,
chunkID string,
flavorVersionID string,
ownerID string,
orderedBy string,
) (resource.Instance, error)
DiscoverInstances(ctx context.Context, nodeID string) ([]resource.Instance, error)
ReceiveInstanceStatusReports(ctx context.Context, reports []resource.InstanceStatusReport) error
}
func NewService ¶
func NewService(logger *slog.Logger, insRepo Repository, nodeRepo node.Repository, chunkService chunk.Service) Service
Click to show internal directories.
Click to hide internal directories.