Documentation ¶
Overview ¶
Package assessment is a reverse proxy.
It translates gRPC into RESTful JSON APIs.
Index ¶
- Constants
- Variables
- func RegisterAssessmentHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error
- func RegisterAssessmentHandlerClient(ctx context.Context, mux *runtime.ServeMux, client AssessmentClient) error
- func RegisterAssessmentHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, ...) (err error)
- func RegisterAssessmentHandlerServer(ctx context.Context, mux *runtime.ServeMux, server AssessmentServer) error
- func RegisterAssessmentServer(s grpc.ServiceRegistrar, srv AssessmentServer)
- type AllowedValues
- type AssessEvidenceRequest
- func (*AssessEvidenceRequest) Descriptor() ([]byte, []int)deprecated
- func (req *AssessEvidenceRequest) GetCertificationTargetId() string
- func (x *AssessEvidenceRequest) GetEvidence() *evidence.Evidence
- func (req *AssessEvidenceRequest) GetPayload() proto.Message
- func (*AssessEvidenceRequest) ProtoMessage()
- func (x *AssessEvidenceRequest) ProtoReflect() protoreflect.Message
- func (x *AssessEvidenceRequest) Reset()
- func (x *AssessEvidenceRequest) String() string
- type AssessEvidenceResponse
- func (*AssessEvidenceResponse) Descriptor() ([]byte, []int)deprecated
- func (x *AssessEvidenceResponse) GetStatus() AssessmentStatus
- func (*AssessEvidenceResponse) ProtoMessage()
- func (x *AssessEvidenceResponse) ProtoReflect() protoreflect.Message
- func (x *AssessEvidenceResponse) Reset()
- func (x *AssessEvidenceResponse) String() string
- type AssessEvidencesResponse
- func (*AssessEvidencesResponse) Descriptor() ([]byte, []int)deprecated
- func (x *AssessEvidencesResponse) GetStatus() AssessmentStatus
- func (x *AssessEvidencesResponse) GetStatusMessage() string
- func (*AssessEvidencesResponse) ProtoMessage()
- func (x *AssessEvidencesResponse) ProtoReflect() protoreflect.Message
- func (x *AssessEvidencesResponse) Reset()
- func (x *AssessEvidencesResponse) String() string
- type AssessmentClient
- type AssessmentResult
- func (*AssessmentResult) Descriptor() ([]byte, []int)deprecated
- func (x *AssessmentResult) GetCertificationTargetId() string
- func (x *AssessmentResult) GetCompliant() bool
- func (x *AssessmentResult) GetEvidenceId() string
- func (x *AssessmentResult) GetId() string
- func (x *AssessmentResult) GetMetricConfiguration() *MetricConfiguration
- func (x *AssessmentResult) GetMetricId() string
- func (x *AssessmentResult) GetNonComplianceComments() string
- func (x *AssessmentResult) GetNonComplianceDetails() []*ComparisonResult
- func (x *AssessmentResult) GetResourceId() string
- func (x *AssessmentResult) GetResourceTypes() []string
- func (x *AssessmentResult) GetTimestamp() *timestamppb.Timestamp
- func (x *AssessmentResult) GetToolId() string
- func (*AssessmentResult) ProtoMessage()
- func (x *AssessmentResult) ProtoReflect() protoreflect.Message
- func (x *AssessmentResult) Reset()
- func (x *AssessmentResult) String() string
- type AssessmentServer
- type AssessmentStatus
- func (AssessmentStatus) Descriptor() protoreflect.EnumDescriptor
- func (x AssessmentStatus) Enum() *AssessmentStatus
- func (AssessmentStatus) EnumDescriptor() ([]byte, []int)deprecated
- func (x AssessmentStatus) Number() protoreflect.EnumNumber
- func (x AssessmentStatus) String() string
- func (AssessmentStatus) Type() protoreflect.EnumType
- type Assessment_AssessEvidencesClient
- type Assessment_AssessEvidencesServer
- type CalculateComplianceRequest
- func (*CalculateComplianceRequest) Descriptor() ([]byte, []int)deprecated
- func (x *CalculateComplianceRequest) GetControlId() string
- func (*CalculateComplianceRequest) ProtoMessage()
- func (x *CalculateComplianceRequest) ProtoReflect() protoreflect.Message
- func (x *CalculateComplianceRequest) Reset()
- func (x *CalculateComplianceRequest) String() string
- type ComparisonResult
- func (*ComparisonResult) Descriptor() ([]byte, []int)deprecated
- func (x *ComparisonResult) GetOperator() string
- func (x *ComparisonResult) GetProperty() string
- func (x *ComparisonResult) GetSuccess() bool
- func (x *ComparisonResult) GetTargetValue() *structpb.Value
- func (x *ComparisonResult) GetValue() string
- func (*ComparisonResult) ProtoMessage()
- func (x *ComparisonResult) ProtoReflect() protoreflect.Message
- func (x *ComparisonResult) Reset()
- func (x *ComparisonResult) String() string
- type ConfigureAssessmentRequest
- type ConfigureAssessmentResponse
- type Metric
- func (m *Metric) CategoryID() (ID string)
- func (*Metric) Descriptor() ([]byte, []int)deprecated
- func (x *Metric) GetCategory() string
- func (x *Metric) GetDeprecatedSince() *timestamppb.Timestamp
- func (x *Metric) GetDescription() string
- func (x *Metric) GetId() string
- func (x *Metric) GetImplementation() *MetricImplementation
- func (x *Metric) GetInterval() *durationpb.Duration
- func (x *Metric) GetName() string
- func (x *Metric) GetRange() *Range
- func (x *Metric) GetScale() Metric_Scale
- func (*Metric) ProtoMessage()
- func (x *Metric) ProtoReflect() protoreflect.Message
- func (x *Metric) Reset()
- func (x *Metric) String() string
- type MetricConfiguration
- func (*MetricConfiguration) Descriptor() ([]byte, []int)deprecated
- func (x *MetricConfiguration) GetCertificationTargetId() string
- func (x *MetricConfiguration) GetIsDefault() bool
- func (x *MetricConfiguration) GetMetricId() string
- func (x *MetricConfiguration) GetOperator() string
- func (x *MetricConfiguration) GetTargetValue() *structpb.Value
- func (x *MetricConfiguration) GetUpdatedAt() *timestamppb.Timestamp
- func (x *MetricConfiguration) Hash() string
- func (x *MetricConfiguration) MarshalJSON() (b []byte, err error)
- func (*MetricConfiguration) ProtoMessage()
- func (x *MetricConfiguration) ProtoReflect() protoreflect.Message
- func (x *MetricConfiguration) Reset()
- func (x *MetricConfiguration) String() string
- func (x *MetricConfiguration) UnmarshalJSON(b []byte) (err error)
- type MetricImplementation
- func (*MetricImplementation) Descriptor() ([]byte, []int)deprecated
- func (x *MetricImplementation) GetCode() string
- func (x *MetricImplementation) GetLang() MetricImplementation_Language
- func (x *MetricImplementation) GetMetricId() string
- func (x *MetricImplementation) GetUpdatedAt() *timestamppb.Timestamp
- func (*MetricImplementation) ProtoMessage()
- func (x *MetricImplementation) ProtoReflect() protoreflect.Message
- func (x *MetricImplementation) Reset()
- func (x *MetricImplementation) String() string
- type MetricImplementation_Language
- func (MetricImplementation_Language) Descriptor() protoreflect.EnumDescriptor
- func (x MetricImplementation_Language) Enum() *MetricImplementation_Language
- func (MetricImplementation_Language) EnumDescriptor() ([]byte, []int)deprecated
- func (x MetricImplementation_Language) Number() protoreflect.EnumNumber
- func (x MetricImplementation_Language) String() string
- func (MetricImplementation_Language) Type() protoreflect.EnumType
- type Metric_Scale
- func (Metric_Scale) Descriptor() protoreflect.EnumDescriptor
- func (x Metric_Scale) Enum() *Metric_Scale
- func (Metric_Scale) EnumDescriptor() ([]byte, []int)deprecated
- func (x Metric_Scale) Number() protoreflect.EnumNumber
- func (x Metric_Scale) String() string
- func (Metric_Scale) Type() protoreflect.EnumType
- type MinMax
- type Order
- type Range
- func (*Range) Descriptor() ([]byte, []int)deprecated
- func (x *Range) GetAllowedValues() *AllowedValues
- func (x *Range) GetMinMax() *MinMax
- func (x *Range) GetOrder() *Order
- func (m *Range) GetRange() isRange_Range
- func (*Range) GormDataType() string
- func (r *Range) MarshalJSON() (b []byte, err error)
- func (*Range) ProtoMessage()
- func (x *Range) ProtoReflect() protoreflect.Message
- func (x *Range) Reset()
- func (r *Range) Scan(value interface{}) (err error)
- func (x *Range) String() string
- func (r *Range) UnmarshalJSON(b []byte) (err error)
- func (r *Range) Value() (val driver.Value, err error)
- type Range_AllowedValues
- type Range_MinMax
- type Range_Order
- type ResultHookFunc
- type UnimplementedAssessmentServer
- func (UnimplementedAssessmentServer) AssessEvidence(context.Context, *AssessEvidenceRequest) (*AssessEvidenceResponse, error)
- func (UnimplementedAssessmentServer) AssessEvidences(grpc.BidiStreamingServer[AssessEvidenceRequest, AssessEvidencesResponse]) error
- func (UnimplementedAssessmentServer) CalculateCompliance(context.Context, *CalculateComplianceRequest) (*emptypb.Empty, error)
- type UnsafeAssessmentServer
Constants ¶
const ( Assessment_CalculateCompliance_FullMethodName = "/clouditor.assessment.v1.Assessment/CalculateCompliance" Assessment_AssessEvidence_FullMethodName = "/clouditor.assessment.v1.Assessment/AssessEvidence" Assessment_AssessEvidences_FullMethodName = "/clouditor.assessment.v1.Assessment/AssessEvidences" )
const AssessmentToolId = "Clouditor Assessment"
Variables ¶
var ( ErrMetricConfigurationMissing = errors.New("metric configuration in assessment result is missing") ErrMetricConfigurationOperatorMissing = errors.New("operator in metric data is missing") ErrMetricConfigurationTargetValueMissing = errors.New("target value in metric data is missing") )
var ( AssessmentStatus_name = map[int32]string{ 0: "ASSESSMENT_STATUS_UNSPECIFIED", 1: "ASSESSMENT_STATUS_WAITING_FOR_RELATED", 2: "ASSESSMENT_STATUS_ASSESSED", 3: "ASSESSMENT_STATUS_FAILED", } AssessmentStatus_value = map[string]int32{ "ASSESSMENT_STATUS_UNSPECIFIED": 0, "ASSESSMENT_STATUS_WAITING_FOR_RELATED": 1, "ASSESSMENT_STATUS_ASSESSED": 2, "ASSESSMENT_STATUS_FAILED": 3, } )
Enum value maps for AssessmentStatus.
var ( ErrMetricNameMissing = errors.New("metric name is missing") ErrMetricEmpty = errors.New("metric is missing or empty") ErrCertificationTargetIDIsMissing = errors.New("certification target id is missing") ErrCertificationTargetIDIsInvalid = errors.New("certification target id is invalid") )
var ( Metric_Scale_name = map[int32]string{ 0: "SCALE_UNSPECIFIED", 1: "NOMINAL", 2: "ORDINAL", 3: "METRIC", } Metric_Scale_value = map[string]int32{ "SCALE_UNSPECIFIED": 0, "NOMINAL": 1, "ORDINAL": 2, "METRIC": 3, } )
Enum value maps for Metric_Scale.
var ( MetricImplementation_Language_name = map[int32]string{ 0: "LANGUAGE_UNSPECIFIED", 1: "LANGUAGE_REGO", } MetricImplementation_Language_value = map[string]int32{ "LANGUAGE_UNSPECIFIED": 0, "LANGUAGE_REGO": 1, } )
Enum value maps for MetricImplementation_Language.
var Assessment_ServiceDesc = grpc.ServiceDesc{ ServiceName: "clouditor.assessment.v1.Assessment", HandlerType: (*AssessmentServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "CalculateCompliance", Handler: _Assessment_CalculateCompliance_Handler, }, { MethodName: "AssessEvidence", Handler: _Assessment_AssessEvidence_Handler, }, }, Streams: []grpc.StreamDesc{ { StreamName: "AssessEvidences", Handler: _Assessment_AssessEvidences_Handler, ServerStreams: true, ClientStreams: true, }, }, Metadata: "api/assessment/assessment.proto", }
Assessment_ServiceDesc is the grpc.ServiceDesc for Assessment service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)
var File_api_assessment_assessment_proto protoreflect.FileDescriptor
var File_api_assessment_metric_proto protoreflect.FileDescriptor
Functions ¶
func RegisterAssessmentHandler ¶
func RegisterAssessmentHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error
RegisterAssessmentHandler registers the http handlers for service Assessment to "mux". The handlers forward requests to the grpc endpoint over "conn".
func RegisterAssessmentHandlerClient ¶
func RegisterAssessmentHandlerClient(ctx context.Context, mux *runtime.ServeMux, client AssessmentClient) error
RegisterAssessmentHandlerClient registers the http handlers for service Assessment to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "AssessmentClient". Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "AssessmentClient" doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in "AssessmentClient" to call the correct interceptors. This client ignores the HTTP middlewares.
func RegisterAssessmentHandlerFromEndpoint ¶
func RegisterAssessmentHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error)
RegisterAssessmentHandlerFromEndpoint is same as RegisterAssessmentHandler but automatically dials to "endpoint" and closes the connection when "ctx" gets done.
func RegisterAssessmentHandlerServer ¶
func RegisterAssessmentHandlerServer(ctx context.Context, mux *runtime.ServeMux, server AssessmentServer) error
RegisterAssessmentHandlerServer registers the http handlers for service Assessment to "mux". UnaryRPC :call AssessmentServer directly. StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterAssessmentHandlerFromEndpoint instead. GRPC interceptors will not work for this type of registration. To use interceptors, you must use the "runtime.WithMiddlewares" option in the "runtime.NewServeMux" call.
func RegisterAssessmentServer ¶
func RegisterAssessmentServer(s grpc.ServiceRegistrar, srv AssessmentServer)
Types ¶
type AllowedValues ¶
type AllowedValues struct { Values []*structpb.Value `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"` // contains filtered or unexported fields }
Defines a range
func (*AllowedValues) Descriptor
deprecated
func (*AllowedValues) Descriptor() ([]byte, []int)
Deprecated: Use AllowedValues.ProtoReflect.Descriptor instead.
func (*AllowedValues) GetValues ¶
func (x *AllowedValues) GetValues() []*structpb.Value
func (*AllowedValues) ProtoMessage ¶
func (*AllowedValues) ProtoMessage()
func (*AllowedValues) ProtoReflect ¶
func (x *AllowedValues) ProtoReflect() protoreflect.Message
func (*AllowedValues) Reset ¶
func (x *AllowedValues) Reset()
func (*AllowedValues) String ¶
func (x *AllowedValues) String() string
type AssessEvidenceRequest ¶
type AssessEvidenceRequest struct { Evidence *evidence.Evidence `protobuf:"bytes,1,opt,name=evidence,proto3" json:"evidence,omitempty"` // contains filtered or unexported fields }
func (*AssessEvidenceRequest) Descriptor
deprecated
func (*AssessEvidenceRequest) Descriptor() ([]byte, []int)
Deprecated: Use AssessEvidenceRequest.ProtoReflect.Descriptor instead.
func (*AssessEvidenceRequest) GetCertificationTargetId ¶
func (req *AssessEvidenceRequest) GetCertificationTargetId() string
GetCertificationTargetId is a shortcut to implement CertificationTargetRequest. It returns the certification target ID of the inner object.
func (*AssessEvidenceRequest) GetEvidence ¶
func (x *AssessEvidenceRequest) GetEvidence() *evidence.Evidence
func (*AssessEvidenceRequest) GetPayload ¶
func (req *AssessEvidenceRequest) GetPayload() proto.Message
func (*AssessEvidenceRequest) ProtoMessage ¶
func (*AssessEvidenceRequest) ProtoMessage()
func (*AssessEvidenceRequest) ProtoReflect ¶
func (x *AssessEvidenceRequest) ProtoReflect() protoreflect.Message
func (*AssessEvidenceRequest) Reset ¶
func (x *AssessEvidenceRequest) Reset()
func (*AssessEvidenceRequest) String ¶
func (x *AssessEvidenceRequest) String() string
type AssessEvidenceResponse ¶
type AssessEvidenceResponse struct { Status AssessmentStatus `protobuf:"varint,1,opt,name=status,proto3,enum=clouditor.assessment.v1.AssessmentStatus" json:"status,omitempty"` // contains filtered or unexported fields }
AssessEvidenceResponse belongs to AssessEvidence, which uses a custom unary RPC and therefore requires a response message according to the style convention. Since no return values are required, this is empty.
func (*AssessEvidenceResponse) Descriptor
deprecated
func (*AssessEvidenceResponse) Descriptor() ([]byte, []int)
Deprecated: Use AssessEvidenceResponse.ProtoReflect.Descriptor instead.
func (*AssessEvidenceResponse) GetStatus ¶
func (x *AssessEvidenceResponse) GetStatus() AssessmentStatus
func (*AssessEvidenceResponse) ProtoMessage ¶
func (*AssessEvidenceResponse) ProtoMessage()
func (*AssessEvidenceResponse) ProtoReflect ¶
func (x *AssessEvidenceResponse) ProtoReflect() protoreflect.Message
func (*AssessEvidenceResponse) Reset ¶
func (x *AssessEvidenceResponse) Reset()
func (*AssessEvidenceResponse) String ¶
func (x *AssessEvidenceResponse) String() string
type AssessEvidencesResponse ¶
type AssessEvidencesResponse struct { Status AssessmentStatus `protobuf:"varint,1,opt,name=status,proto3,enum=clouditor.assessment.v1.AssessmentStatus" json:"status,omitempty"` StatusMessage string `protobuf:"bytes,2,opt,name=status_message,json=statusMessage,proto3" json:"status_message,omitempty"` // contains filtered or unexported fields }
AssessEvidencesResponse belongs to AssessEvidences, which uses a custom bidirectional streaming RPC and therefore requires a response message according to the style convention. The bidirectional streaming needs the status and its message in the response for error handling.
func (*AssessEvidencesResponse) Descriptor
deprecated
func (*AssessEvidencesResponse) Descriptor() ([]byte, []int)
Deprecated: Use AssessEvidencesResponse.ProtoReflect.Descriptor instead.
func (*AssessEvidencesResponse) GetStatus ¶
func (x *AssessEvidencesResponse) GetStatus() AssessmentStatus
func (*AssessEvidencesResponse) GetStatusMessage ¶
func (x *AssessEvidencesResponse) GetStatusMessage() string
func (*AssessEvidencesResponse) ProtoMessage ¶
func (*AssessEvidencesResponse) ProtoMessage()
func (*AssessEvidencesResponse) ProtoReflect ¶
func (x *AssessEvidencesResponse) ProtoReflect() protoreflect.Message
func (*AssessEvidencesResponse) Reset ¶
func (x *AssessEvidencesResponse) Reset()
func (*AssessEvidencesResponse) String ¶
func (x *AssessEvidencesResponse) String() string
type AssessmentClient ¶
type AssessmentClient interface { // Triggers the compliance calculation. Part of the private API. Not exposed // as REST. CalculateCompliance(ctx context.Context, in *CalculateComplianceRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) // Assesses the evidence sent by the discovery. Part of the public API, also // exposed as REST. AssessEvidence(ctx context.Context, in *AssessEvidenceRequest, opts ...grpc.CallOption) (*AssessEvidenceResponse, error) // Assesses stream of evidences sent by the discovery and returns a response // stream. Part of the public API. Not exposed as REST. AssessEvidences(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[AssessEvidenceRequest, AssessEvidencesResponse], error) }
AssessmentClient is the client API for Assessment service.
For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
Representing the link between orchestrator and discovery: Assessing evidences from discovery and sending results to orchestrator
func NewAssessmentClient ¶
func NewAssessmentClient(cc grpc.ClientConnInterface) AssessmentClient
type AssessmentResult ¶
type AssessmentResult struct { // Assessment result id Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // Time of assessment Timestamp *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=timestamp,proto3" json:"timestamp,omitempty" gorm:"serializer:timestamppb;type:datetime"` // Reference to the metric the assessment was based on MetricId string `protobuf:"bytes,3,opt,name=metric_id,json=metricId,proto3" json:"metric_id,omitempty"` // Data corresponding to the metric by the given metric id MetricConfiguration *MetricConfiguration `` /* 141-byte string literal not displayed */ // Compliant case: true or false Compliant bool `protobuf:"varint,5,opt,name=compliant,proto3" json:"compliant,omitempty"` // Reference to the assessed evidence EvidenceId string `protobuf:"bytes,6,opt,name=evidence_id,json=evidenceId,proto3" json:"evidence_id,omitempty"` // Reference to the resource of the assessed evidence ResourceId string `protobuf:"bytes,7,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"` // Resource types ResourceTypes []string `protobuf:"bytes,8,rep,name=resource_types,json=resourceTypes,proto3" json:"resource_types,omitempty" gorm:"serializer:json"` // Some comments on the reason for non-compliance NonComplianceComments string `` /* 126-byte string literal not displayed */ NonComplianceDetails []*ComparisonResult `` /* 147-byte string literal not displayed */ // The certification target which this assessment result belongs to CertificationTargetId string `` /* 127-byte string literal not displayed */ // Reference to the tool which provided the assessment result ToolId *string `protobuf:"bytes,21,opt,name=tool_id,json=toolId,proto3,oneof" json:"tool_id,omitempty"` // contains filtered or unexported fields }
A result resource, representing the result after assessing the cloud resource with id resource_id.
func (*AssessmentResult) Descriptor
deprecated
func (*AssessmentResult) Descriptor() ([]byte, []int)
Deprecated: Use AssessmentResult.ProtoReflect.Descriptor instead.
func (*AssessmentResult) GetCertificationTargetId ¶
func (x *AssessmentResult) GetCertificationTargetId() string
func (*AssessmentResult) GetCompliant ¶
func (x *AssessmentResult) GetCompliant() bool
func (*AssessmentResult) GetEvidenceId ¶
func (x *AssessmentResult) GetEvidenceId() string
func (*AssessmentResult) GetId ¶
func (x *AssessmentResult) GetId() string
func (*AssessmentResult) GetMetricConfiguration ¶
func (x *AssessmentResult) GetMetricConfiguration() *MetricConfiguration
func (*AssessmentResult) GetMetricId ¶
func (x *AssessmentResult) GetMetricId() string
func (*AssessmentResult) GetNonComplianceComments ¶
func (x *AssessmentResult) GetNonComplianceComments() string
func (*AssessmentResult) GetNonComplianceDetails ¶
func (x *AssessmentResult) GetNonComplianceDetails() []*ComparisonResult
func (*AssessmentResult) GetResourceId ¶
func (x *AssessmentResult) GetResourceId() string
func (*AssessmentResult) GetResourceTypes ¶
func (x *AssessmentResult) GetResourceTypes() []string
func (*AssessmentResult) GetTimestamp ¶
func (x *AssessmentResult) GetTimestamp() *timestamppb.Timestamp
func (*AssessmentResult) GetToolId ¶
func (x *AssessmentResult) GetToolId() string
func (*AssessmentResult) ProtoMessage ¶
func (*AssessmentResult) ProtoMessage()
func (*AssessmentResult) ProtoReflect ¶
func (x *AssessmentResult) ProtoReflect() protoreflect.Message
func (*AssessmentResult) Reset ¶
func (x *AssessmentResult) Reset()
func (*AssessmentResult) String ¶
func (x *AssessmentResult) String() string
type AssessmentServer ¶
type AssessmentServer interface { // Triggers the compliance calculation. Part of the private API. Not exposed // as REST. CalculateCompliance(context.Context, *CalculateComplianceRequest) (*emptypb.Empty, error) // Assesses the evidence sent by the discovery. Part of the public API, also // exposed as REST. AssessEvidence(context.Context, *AssessEvidenceRequest) (*AssessEvidenceResponse, error) // Assesses stream of evidences sent by the discovery and returns a response // stream. Part of the public API. Not exposed as REST. AssessEvidences(grpc.BidiStreamingServer[AssessEvidenceRequest, AssessEvidencesResponse]) error // contains filtered or unexported methods }
AssessmentServer is the server API for Assessment service. All implementations must embed UnimplementedAssessmentServer for forward compatibility.
Representing the link between orchestrator and discovery: Assessing evidences from discovery and sending results to orchestrator
type AssessmentStatus ¶
type AssessmentStatus int32
const ( AssessmentStatus_ASSESSMENT_STATUS_UNSPECIFIED AssessmentStatus = 0 AssessmentStatus_ASSESSMENT_STATUS_WAITING_FOR_RELATED AssessmentStatus = 1 AssessmentStatus_ASSESSMENT_STATUS_ASSESSED AssessmentStatus = 2 AssessmentStatus_ASSESSMENT_STATUS_FAILED AssessmentStatus = 3 )
func (AssessmentStatus) Descriptor ¶
func (AssessmentStatus) Descriptor() protoreflect.EnumDescriptor
func (AssessmentStatus) Enum ¶
func (x AssessmentStatus) Enum() *AssessmentStatus
func (AssessmentStatus) EnumDescriptor
deprecated
func (AssessmentStatus) EnumDescriptor() ([]byte, []int)
Deprecated: Use AssessmentStatus.Descriptor instead.
func (AssessmentStatus) Number ¶
func (x AssessmentStatus) Number() protoreflect.EnumNumber
func (AssessmentStatus) String ¶
func (x AssessmentStatus) String() string
func (AssessmentStatus) Type ¶
func (AssessmentStatus) Type() protoreflect.EnumType
type Assessment_AssessEvidencesClient ¶
type Assessment_AssessEvidencesClient = grpc.BidiStreamingClient[AssessEvidenceRequest, AssessEvidencesResponse]
This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type Assessment_AssessEvidencesServer ¶
type Assessment_AssessEvidencesServer = grpc.BidiStreamingServer[AssessEvidenceRequest, AssessEvidencesResponse]
This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type CalculateComplianceRequest ¶
type CalculateComplianceRequest struct { ControlId string `protobuf:"bytes,1,opt,name=control_id,json=controlId,proto3" json:"control_id,omitempty"` // contains filtered or unexported fields }
func (*CalculateComplianceRequest) Descriptor
deprecated
func (*CalculateComplianceRequest) Descriptor() ([]byte, []int)
Deprecated: Use CalculateComplianceRequest.ProtoReflect.Descriptor instead.
func (*CalculateComplianceRequest) GetControlId ¶
func (x *CalculateComplianceRequest) GetControlId() string
func (*CalculateComplianceRequest) ProtoMessage ¶
func (*CalculateComplianceRequest) ProtoMessage()
func (*CalculateComplianceRequest) ProtoReflect ¶
func (x *CalculateComplianceRequest) ProtoReflect() protoreflect.Message
func (*CalculateComplianceRequest) Reset ¶
func (x *CalculateComplianceRequest) Reset()
func (*CalculateComplianceRequest) String ¶
func (x *CalculateComplianceRequest) String() string
type ComparisonResult ¶
type ComparisonResult struct { // Property is the property that was compared Property string `protobuf:"bytes,1,opt,name=property,proto3" json:"property,omitempty"` // Value is the value in the property Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` // Operator is the operator used in the comparison Operator string `protobuf:"bytes,3,opt,name=operator,proto3" json:"operator,omitempty"` // TargetValue is the target value used in the comparison TargetValue *structpb.Value `protobuf:"bytes,4,opt,name=target_value,json=targetValue,proto3" json:"target_value,omitempty" gorm:"serializer:json"` // Success is true, if the comparison was sucessful Success bool `protobuf:"varint,5,opt,name=success,proto3" json:"success,omitempty"` // contains filtered or unexported fields }
An optional structure containing more details how a comparison inside an assessment result was done and if it was succesful.
func (*ComparisonResult) Descriptor
deprecated
func (*ComparisonResult) Descriptor() ([]byte, []int)
Deprecated: Use ComparisonResult.ProtoReflect.Descriptor instead.
func (*ComparisonResult) GetOperator ¶
func (x *ComparisonResult) GetOperator() string
func (*ComparisonResult) GetProperty ¶
func (x *ComparisonResult) GetProperty() string
func (*ComparisonResult) GetSuccess ¶
func (x *ComparisonResult) GetSuccess() bool
func (*ComparisonResult) GetTargetValue ¶
func (x *ComparisonResult) GetTargetValue() *structpb.Value
func (*ComparisonResult) GetValue ¶
func (x *ComparisonResult) GetValue() string
func (*ComparisonResult) ProtoMessage ¶
func (*ComparisonResult) ProtoMessage()
func (*ComparisonResult) ProtoReflect ¶
func (x *ComparisonResult) ProtoReflect() protoreflect.Message
func (*ComparisonResult) Reset ¶
func (x *ComparisonResult) Reset()
func (*ComparisonResult) String ¶
func (x *ComparisonResult) String() string
type ConfigureAssessmentRequest ¶
type ConfigureAssessmentRequest struct {
// contains filtered or unexported fields
}
func (*ConfigureAssessmentRequest) Descriptor
deprecated
func (*ConfigureAssessmentRequest) Descriptor() ([]byte, []int)
Deprecated: Use ConfigureAssessmentRequest.ProtoReflect.Descriptor instead.
func (*ConfigureAssessmentRequest) ProtoMessage ¶
func (*ConfigureAssessmentRequest) ProtoMessage()
func (*ConfigureAssessmentRequest) ProtoReflect ¶
func (x *ConfigureAssessmentRequest) ProtoReflect() protoreflect.Message
func (*ConfigureAssessmentRequest) Reset ¶
func (x *ConfigureAssessmentRequest) Reset()
func (*ConfigureAssessmentRequest) String ¶
func (x *ConfigureAssessmentRequest) String() string
type ConfigureAssessmentResponse ¶
type ConfigureAssessmentResponse struct {
// contains filtered or unexported fields
}
func (*ConfigureAssessmentResponse) Descriptor
deprecated
func (*ConfigureAssessmentResponse) Descriptor() ([]byte, []int)
Deprecated: Use ConfigureAssessmentResponse.ProtoReflect.Descriptor instead.
func (*ConfigureAssessmentResponse) ProtoMessage ¶
func (*ConfigureAssessmentResponse) ProtoMessage()
func (*ConfigureAssessmentResponse) ProtoReflect ¶
func (x *ConfigureAssessmentResponse) ProtoReflect() protoreflect.Message
func (*ConfigureAssessmentResponse) Reset ¶
func (x *ConfigureAssessmentResponse) Reset()
func (*ConfigureAssessmentResponse) String ¶
func (x *ConfigureAssessmentResponse) String() string
type Metric ¶
type Metric struct { // Required. The unique identifier of the metric. Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // Required. The human readable name of the metric. Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // The description of the metric Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` // The reference to control catalog category or domain Category string `protobuf:"bytes,4,opt,name=category,proto3" json:"category,omitempty"` // The scale of this metric, e.g. categories, ranked data or metric values. Scale Metric_Scale `protobuf:"varint,5,opt,name=scale,proto3,enum=clouditor.assessment.v1.Metric_Scale" json:"scale,omitempty"` // The range of this metric. Depending on the scale. Range *Range `protobuf:"bytes,6,opt,name=range,proto3" json:"range,omitempty"` // The interval in seconds the evidences must be collected for the respective // metric. Interval *durationpb.Duration `protobuf:"bytes,7,opt,name=interval,proto3" json:"interval,omitempty" gorm:"serializer:durationpb;type:duration"` // The implementation of this metric. This ensures that we are modelling an // association between a Metric and its MetricImplementation. Implementation *MetricImplementation `protobuf:"bytes,8,opt,name=implementation,proto3,oneof" json:"implementation,omitempty"` // Optional, but required if the metric is removed. The metric is not deleted // for backward compatibility and the timestamp is set to the time of removal. DeprecatedSince *timestamppb.Timestamp `` /* 157-byte string literal not displayed */ // contains filtered or unexported fields }
A metric resource
func (*Metric) CategoryID ¶
CategoryID returns an identifier for the category string, which can be used in a filename or directory
func (*Metric) Descriptor
deprecated
func (*Metric) GetCategory ¶
func (*Metric) GetDeprecatedSince ¶
func (x *Metric) GetDeprecatedSince() *timestamppb.Timestamp
func (*Metric) GetDescription ¶
func (*Metric) GetImplementation ¶
func (x *Metric) GetImplementation() *MetricImplementation
func (*Metric) GetInterval ¶
func (x *Metric) GetInterval() *durationpb.Duration
func (*Metric) GetScale ¶
func (x *Metric) GetScale() Metric_Scale
func (*Metric) ProtoMessage ¶
func (*Metric) ProtoMessage()
func (*Metric) ProtoReflect ¶
func (x *Metric) ProtoReflect() protoreflect.Message
type MetricConfiguration ¶
type MetricConfiguration struct { // The operator to compare the metric, such as == or > Operator string `protobuf:"bytes,1,opt,name=operator,proto3" json:"operator,omitempty"` // The target value TargetValue *structpb.Value `protobuf:"bytes,2,opt,name=target_value,json=targetValue,proto3" json:"target_value,omitempty" gorm:"serializer:json"` // Whether this configuration is a default configuration IsDefault bool `protobuf:"varint,3,opt,name=is_default,json=isDefault,proto3" json:"is_default,omitempty"` // The last time of update UpdatedAt *timestamppb.Timestamp `` /* 132-byte string literal not displayed */ // The metric this configuration belongs to MetricId string `protobuf:"bytes,5,opt,name=metric_id,json=metricId,proto3" json:"metric_id,omitempty" gorm:"primaryKey"` // The certification target this configuration belongs to CertificationTargetId string `` /* 144-byte string literal not displayed */ // contains filtered or unexported fields }
Defines the operator and a target value for an individual metric
func (*MetricConfiguration) Descriptor
deprecated
func (*MetricConfiguration) Descriptor() ([]byte, []int)
Deprecated: Use MetricConfiguration.ProtoReflect.Descriptor instead.
func (*MetricConfiguration) GetCertificationTargetId ¶
func (x *MetricConfiguration) GetCertificationTargetId() string
func (*MetricConfiguration) GetIsDefault ¶
func (x *MetricConfiguration) GetIsDefault() bool
func (*MetricConfiguration) GetMetricId ¶
func (x *MetricConfiguration) GetMetricId() string
func (*MetricConfiguration) GetOperator ¶
func (x *MetricConfiguration) GetOperator() string
func (*MetricConfiguration) GetTargetValue ¶
func (x *MetricConfiguration) GetTargetValue() *structpb.Value
func (*MetricConfiguration) GetUpdatedAt ¶
func (x *MetricConfiguration) GetUpdatedAt() *timestamppb.Timestamp
func (*MetricConfiguration) Hash ¶
func (x *MetricConfiguration) Hash() string
Hash provides a simple string based hash for this metric configuration. It can be used to provide a key for a map or a cache.
func (*MetricConfiguration) MarshalJSON ¶
func (x *MetricConfiguration) MarshalJSON() (b []byte, err error)
func (*MetricConfiguration) ProtoMessage ¶
func (*MetricConfiguration) ProtoMessage()
func (*MetricConfiguration) ProtoReflect ¶
func (x *MetricConfiguration) ProtoReflect() protoreflect.Message
func (*MetricConfiguration) Reset ¶
func (x *MetricConfiguration) Reset()
func (*MetricConfiguration) String ¶
func (x *MetricConfiguration) String() string
func (*MetricConfiguration) UnmarshalJSON ¶
func (x *MetricConfiguration) UnmarshalJSON(b []byte) (err error)
type MetricImplementation ¶
type MetricImplementation struct { // The metric which is implemented MetricId string `protobuf:"bytes,1,opt,name=metric_id,json=metricId,proto3" json:"metric_id,omitempty" gorm:"primaryKey"` // The language this metric is implemented in Lang MetricImplementation_Language `protobuf:"varint,2,opt,name=lang,proto3,enum=clouditor.assessment.v1.MetricImplementation_Language" json:"lang,omitempty"` // The actual implementation Code string `protobuf:"bytes,3,opt,name=code,proto3" json:"code,omitempty"` // The last time of update UpdatedAt *timestamppb.Timestamp `` /* 132-byte string literal not displayed */ // contains filtered or unexported fields }
MetricImplementation defines the implementation of an individual metric.
func (*MetricImplementation) Descriptor
deprecated
func (*MetricImplementation) Descriptor() ([]byte, []int)
Deprecated: Use MetricImplementation.ProtoReflect.Descriptor instead.
func (*MetricImplementation) GetCode ¶
func (x *MetricImplementation) GetCode() string
func (*MetricImplementation) GetLang ¶
func (x *MetricImplementation) GetLang() MetricImplementation_Language
func (*MetricImplementation) GetMetricId ¶
func (x *MetricImplementation) GetMetricId() string
func (*MetricImplementation) GetUpdatedAt ¶
func (x *MetricImplementation) GetUpdatedAt() *timestamppb.Timestamp
func (*MetricImplementation) ProtoMessage ¶
func (*MetricImplementation) ProtoMessage()
func (*MetricImplementation) ProtoReflect ¶
func (x *MetricImplementation) ProtoReflect() protoreflect.Message
func (*MetricImplementation) Reset ¶
func (x *MetricImplementation) Reset()
func (*MetricImplementation) String ¶
func (x *MetricImplementation) String() string
type MetricImplementation_Language ¶
type MetricImplementation_Language int32
const ( MetricImplementation_LANGUAGE_UNSPECIFIED MetricImplementation_Language = 0 MetricImplementation_LANGUAGE_REGO MetricImplementation_Language = 1 )
func (MetricImplementation_Language) Descriptor ¶
func (MetricImplementation_Language) Descriptor() protoreflect.EnumDescriptor
func (MetricImplementation_Language) Enum ¶
func (x MetricImplementation_Language) Enum() *MetricImplementation_Language
func (MetricImplementation_Language) EnumDescriptor
deprecated
func (MetricImplementation_Language) EnumDescriptor() ([]byte, []int)
Deprecated: Use MetricImplementation_Language.Descriptor instead.
func (MetricImplementation_Language) Number ¶
func (x MetricImplementation_Language) Number() protoreflect.EnumNumber
func (MetricImplementation_Language) String ¶
func (x MetricImplementation_Language) String() string
func (MetricImplementation_Language) Type ¶
func (MetricImplementation_Language) Type() protoreflect.EnumType
type Metric_Scale ¶
type Metric_Scale int32
The values a Scale accepts
const ( Metric_SCALE_UNSPECIFIED Metric_Scale = 0 Metric_NOMINAL Metric_Scale = 1 Metric_ORDINAL Metric_Scale = 2 Metric_METRIC Metric_Scale = 3 )
func (Metric_Scale) Descriptor ¶
func (Metric_Scale) Descriptor() protoreflect.EnumDescriptor
func (Metric_Scale) Enum ¶
func (x Metric_Scale) Enum() *Metric_Scale
func (Metric_Scale) EnumDescriptor
deprecated
func (Metric_Scale) EnumDescriptor() ([]byte, []int)
Deprecated: Use Metric_Scale.Descriptor instead.
func (Metric_Scale) Number ¶
func (x Metric_Scale) Number() protoreflect.EnumNumber
func (Metric_Scale) String ¶
func (x Metric_Scale) String() string
func (Metric_Scale) Type ¶
func (Metric_Scale) Type() protoreflect.EnumType
type MinMax ¶
type MinMax struct { // Required. Min int64 `protobuf:"varint,1,opt,name=min,proto3" json:"min,omitempty"` // Required. Max int64 `protobuf:"varint,2,opt,name=max,proto3" json:"max,omitempty"` // contains filtered or unexported fields }
Defines a range of values through a (inclusive) minimum and a maximum
func (*MinMax) Descriptor
deprecated
func (*MinMax) ProtoMessage ¶
func (*MinMax) ProtoMessage()
func (*MinMax) ProtoReflect ¶
func (x *MinMax) ProtoReflect() protoreflect.Message
type Order ¶
type Order struct { Values []*structpb.Value `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"` // contains filtered or unexported fields }
Defines a range of values in a pre-defined order from the lowest to the highest.
func (*Order) Descriptor
deprecated
func (*Order) ProtoMessage ¶
func (*Order) ProtoMessage()
func (*Order) ProtoReflect ¶
func (x *Order) ProtoReflect() protoreflect.Message
type Range ¶
type Range struct { // Required. // // Types that are assignable to Range: // // *Range_AllowedValues // *Range_Order // *Range_MinMax Range isRange_Range `protobuf_oneof:"range"` // contains filtered or unexported fields }
A range resource representing the range of values
func (*Range) Descriptor
deprecated
func (*Range) GetAllowedValues ¶
func (x *Range) GetAllowedValues() *AllowedValues
func (*Range) GormDataType ¶
GormDataType implements GormDataTypeInterface to give an indication how this struct will be serialized into a database using GORM.
func (*Range) MarshalJSON ¶
MarshalJSON is a custom implementation of JSON marshalling to correctly serialize the Range type because the inner types, such as Range_AllowedValues are missing json struct tags. This is needed if the Range type is marshalled on its own (for example) as a single field in a database. In gRPC messages, the protojson.Marshal function takes care of this.
func (*Range) ProtoMessage ¶
func (*Range) ProtoMessage()
func (*Range) ProtoReflect ¶
func (x *Range) ProtoReflect() protoreflect.Message
func (*Range) Scan ¶
Scan implements https://pkg.go.dev/database/sql#Scanner to indicate how this struct can be loaded from an SQL database field.
func (*Range) UnmarshalJSON ¶
type Range_AllowedValues ¶
type Range_AllowedValues struct { // used for nominal scale AllowedValues *AllowedValues `protobuf:"bytes,1,opt,name=allowed_values,json=allowedValues,proto3,oneof"` }
type Range_MinMax ¶
type Range_MinMax struct { // used for metric scale MinMax *MinMax `protobuf:"bytes,3,opt,name=min_max,json=minMax,proto3,oneof"` }
type Range_Order ¶
type Range_Order struct { // used for ordinal scale Order *Order `protobuf:"bytes,2,opt,name=order,proto3,oneof"` }
type ResultHookFunc ¶
type ResultHookFunc func(ctx context.Context, result *AssessmentResult, err error)
type UnimplementedAssessmentServer ¶
type UnimplementedAssessmentServer struct{}
UnimplementedAssessmentServer must be embedded to have forward compatible implementations.
NOTE: this should be embedded by value instead of pointer to avoid a nil pointer dereference when methods are called.
func (UnimplementedAssessmentServer) AssessEvidence ¶
func (UnimplementedAssessmentServer) AssessEvidence(context.Context, *AssessEvidenceRequest) (*AssessEvidenceResponse, error)
func (UnimplementedAssessmentServer) AssessEvidences ¶
func (UnimplementedAssessmentServer) AssessEvidences(grpc.BidiStreamingServer[AssessEvidenceRequest, AssessEvidencesResponse]) error
func (UnimplementedAssessmentServer) CalculateCompliance ¶
func (UnimplementedAssessmentServer) CalculateCompliance(context.Context, *CalculateComplianceRequest) (*emptypb.Empty, error)
type UnsafeAssessmentServer ¶
type UnsafeAssessmentServer interface {
// contains filtered or unexported methods
}
UnsafeAssessmentServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to AssessmentServer will result in compilation errors.