Documentation ¶
Index ¶
- Constants
- Variables
- func LoadMetrics(metricsFile string) (err error)
- func LoadRequirements(file string) (requirements []*orchestrator.Requirement, err error)
- type Service
- func (s *Service) CreateDefaultTargetCloudService() (service *orchestrator.CloudService, err error)
- func (*Service) CreateMetric(_ context.Context, req *orchestrator.CreateMetricRequest) (metric *assessment.Metric, err error)
- func (s *Service) GetCloudService(_ context.Context, req *orchestrator.GetCloudServiceRequest) (response *orchestrator.CloudService, err error)
- func (*Service) GetMetric(_ context.Context, req *orchestrator.GetMetricRequest) (metric *assessment.Metric, err error)
- func (s *Service) GetMetricConfiguration(_ context.Context, req *orchestrator.GetMetricConfigurationRequest) (response *assessment.MetricConfiguration, err error)
- func (s *Service) ListAssessmentResults(_ context.Context, _ *assessment.ListAssessmentResultsRequest) (res *assessment.ListAssessmentResultsResponse, err error)
- func (s *Service) ListCloudServices(_ context.Context, _ *orchestrator.ListCloudServicesRequest) (response *orchestrator.ListCloudServicesResponse, err error)
- func (s *Service) ListMetricConfigurations(ctx context.Context, req *orchestrator.ListMetricConfigurationRequest) (response *orchestrator.ListMetricConfigurationResponse, err error)
- func (*Service) ListMetrics(_ context.Context, _ *orchestrator.ListMetricsRequest) (response *orchestrator.ListMetricsResponse, err error)
- func (svc *Service) ListRequirements(_ context.Context, _ *orchestrator.ListRequirementsRequest) (response *orchestrator.ListRequirementsResponse, err error)
- func (s *Service) RegisterAssessmentResultHook(hook func(result *assessment.AssessmentResult, err error))
- func (s *Service) RegisterCloudService(_ context.Context, req *orchestrator.RegisterCloudServiceRequest) (service *orchestrator.CloudService, err error)
- func (s *Service) RemoveCloudService(_ context.Context, req *orchestrator.RemoveCloudServiceRequest) (response *emptypb.Empty, err error)
- func (s *Service) StoreAssessmentResult(_ context.Context, req *orchestrator.StoreAssessmentResultRequest) (resp *orchestrator.StoreAssessmentResultResponse, err error)
- func (s *Service) StoreAssessmentResults(stream orchestrator.Orchestrator_StoreAssessmentResultsServer) (err error)
- func (s *Service) UpdateCloudService(_ context.Context, req *orchestrator.UpdateCloudServiceRequest) (response *orchestrator.CloudService, err error)
- func (*Service) UpdateMetric(_ context.Context, req *orchestrator.UpdateMetricRequest) (metric *assessment.Metric, err error)
- type ServiceOption
Constants ¶
const ( DefaultTargetCloudServiceId = "00000000-0000-0000-000000000000" DefaultTargetCloudServiceName = "default" DefaultTargetCloudServiceDescription = "The default target cloud service" )
Variables ¶
var DefaultMetricsFile = "metrics.json"
var DefaultRequirementsFile = "requirements.json"
Functions ¶
func LoadMetrics ¶ added in v1.3.5
LoadMetrics loads metrics definitions from a JSON file.
func LoadRequirements ¶ added in v1.4.0
func LoadRequirements(file string) (requirements []*orchestrator.Requirement, err error)
LoadRequirements loads requirements definitions from a JSON file.
Types ¶
type Service ¶
type Service struct { orchestrator.UnimplementedOrchestratorServer // Hook AssessmentResultHooks []func(result *assessment.AssessmentResult, err error) // contains filtered or unexported fields }
Service is an implementation of the Clouditor Orchestrator service
func NewService ¶ added in v1.3.11
func NewService(opts ...ServiceOption) *Service
NewService creates a new Orchestrator service
func (*Service) CreateDefaultTargetCloudService ¶ added in v1.3.11
func (s *Service) CreateDefaultTargetCloudService() (service *orchestrator.CloudService, err error)
CreateDefaultTargetCloudService creates a new "default" target cloud services, if no target service exists in the database.
If a new target cloud service was created, it will be returned.
func (*Service) CreateMetric ¶ added in v1.3.14
func (*Service) CreateMetric(_ context.Context, req *orchestrator.CreateMetricRequest) (metric *assessment.Metric, err error)
CreateMetric creates a new metric in the database.
func (*Service) GetCloudService ¶ added in v1.3.11
func (s *Service) GetCloudService(_ context.Context, req *orchestrator.GetCloudServiceRequest) (response *orchestrator.CloudService, err error)
GetCloudService implements method for OrchestratorServer interface for getting a cloud service with provided id
func (*Service) GetMetric ¶
func (*Service) GetMetric(_ context.Context, req *orchestrator.GetMetricRequest) (metric *assessment.Metric, err error)
GetMetric retrieves a metric specified by req.MetridId
func (*Service) GetMetricConfiguration ¶ added in v1.3.11
func (s *Service) GetMetricConfiguration(_ context.Context, req *orchestrator.GetMetricConfigurationRequest) (response *assessment.MetricConfiguration, err error)
func (*Service) ListAssessmentResults ¶ added in v1.3.12
func (s *Service) ListAssessmentResults(_ context.Context, _ *assessment.ListAssessmentResultsRequest) (res *assessment.ListAssessmentResultsResponse, err error)
ListAssessmentResults is a method implementation of the orchestrator interface
func (*Service) ListCloudServices ¶ added in v1.3.11
func (s *Service) ListCloudServices(_ context.Context, _ *orchestrator.ListCloudServicesRequest) (response *orchestrator.ListCloudServicesResponse, err error)
ListCloudServices implements method for OrchestratorServer interface for listing all cloud services
func (*Service) ListMetricConfigurations ¶ added in v1.3.11
func (s *Service) ListMetricConfigurations(ctx context.Context, req *orchestrator.ListMetricConfigurationRequest) (response *orchestrator.ListMetricConfigurationResponse, err error)
ListMetricConfigurations retrieves a list of MetricConfiguration objects for a particular target cloud service specified in req.
The list MUST include a configuration for each known metric. If the user did not specify a custom configuration for a particular metric within the service, the default metric configuration is inserted into the list.
func (*Service) ListMetrics ¶
func (*Service) ListMetrics(_ context.Context, _ *orchestrator.ListMetricsRequest) (response *orchestrator.ListMetricsResponse, err error)
ListMetrics lists all available metrics.
func (*Service) ListRequirements ¶ added in v1.4.0
func (svc *Service) ListRequirements(_ context.Context, _ *orchestrator.ListRequirementsRequest) (response *orchestrator.ListRequirementsResponse, err error)
ListRequirements is a method implementation of the OrchestratorServer interface, returning a list of requirements
func (*Service) RegisterAssessmentResultHook ¶ added in v1.3.11
func (s *Service) RegisterAssessmentResultHook(hook func(result *assessment.AssessmentResult, err error))
func (*Service) RegisterCloudService ¶ added in v1.3.11
func (s *Service) RegisterCloudService(_ context.Context, req *orchestrator.RegisterCloudServiceRequest) (service *orchestrator.CloudService, err error)
func (*Service) RemoveCloudService ¶ added in v1.3.11
func (s *Service) RemoveCloudService(_ context.Context, req *orchestrator.RemoveCloudServiceRequest) (response *emptypb.Empty, err error)
RemoveCloudService implements method for OrchestratorServer interface for removing a cloud service
func (*Service) StoreAssessmentResult ¶ added in v1.3.11
func (s *Service) StoreAssessmentResult(_ context.Context, req *orchestrator.StoreAssessmentResultRequest) (resp *orchestrator.StoreAssessmentResultResponse, err error)
StoreAssessmentResult is a method implementation of the orchestrator interface: It receives an assessment result and stores it
func (*Service) StoreAssessmentResults ¶ added in v1.3.11
func (s *Service) StoreAssessmentResults(stream orchestrator.Orchestrator_StoreAssessmentResultsServer) (err error)
func (*Service) UpdateCloudService ¶ added in v1.3.11
func (s *Service) UpdateCloudService(_ context.Context, req *orchestrator.UpdateCloudServiceRequest) (response *orchestrator.CloudService, err error)
UpdateCloudService implements method for OrchestratorServer interface for updating a cloud service
func (*Service) UpdateMetric ¶ added in v1.3.14
func (*Service) UpdateMetric(_ context.Context, req *orchestrator.UpdateMetricRequest) (metric *assessment.Metric, err error)
UpdateMetric updates an existing metric, specified by the identifier in req.MetricId.
type ServiceOption ¶ added in v1.3.14
type ServiceOption func(*Service)
ServiceOption is a function-style option to configure the Orchestrator Service
func WithMetricsFile ¶ added in v1.3.14
func WithMetricsFile(file string) ServiceOption
WithMetricsFile can be used to load a different metrics file
func WithRequirements ¶ added in v1.4.0
func WithRequirements(r []*orchestrator.Requirement) ServiceOption
func WithStorage ¶ added in v1.4.0
func WithStorage(storage persistence.Storage) ServiceOption
WithStorage is an option to set the storage. If not set, NewService will use inmemory storage.