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) GetCloudServiceId() 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) GetCloudServiceId() 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) 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 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) GetCloudServiceId() 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(Assessment_AssessEvidencesServer) 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") ErrCloudServiceIDIsMissing = errors.New("cloud service id is missing") ErrCloudServiceIDIsInvalid = errors.New("cloud service 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.
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.
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) GetCloudServiceId ¶
func (req *AssessEvidenceRequest) GetCloudServiceId() string
GetCloudServiceId is a shortcut to implement CloudServiceRequest. It returns the cloud service 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) (Assessment_AssessEvidencesClient, 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.
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 */ // The cloud service which this assessment result belongs to CloudServiceId string `protobuf:"bytes,10,opt,name=cloud_service_id,json=cloudServiceId,proto3" json:"cloud_service_id,omitempty"` // Reference to the tool which provided the assessment result ToolId *string `protobuf:"bytes,11,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) GetCloudServiceId ¶
func (x *AssessmentResult) GetCloudServiceId() 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) 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(Assessment_AssessEvidencesServer) error // contains filtered or unexported methods }
AssessmentServer is the server API for Assessment service. All implementations must embed UnimplementedAssessmentServer for forward compatibility
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 interface { Send(*AssessEvidenceRequest) error Recv() (*AssessEvidencesResponse, error) grpc.ClientStream }
type Assessment_AssessEvidencesServer ¶
type Assessment_AssessEvidencesServer interface { Send(*AssessEvidencesResponse) error Recv() (*AssessEvidenceRequest, error) grpc.ServerStream }
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 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 service this configuration belongs to CloudServiceId string `protobuf:"bytes,6,opt,name=cloud_service_id,json=cloudServiceId,proto3" json:"cloud_service_id,omitempty" gorm:"primaryKey"` // 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) GetCloudServiceId ¶
func (x *MetricConfiguration) GetCloudServiceId() 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.
func (UnimplementedAssessmentServer) AssessEvidence ¶
func (UnimplementedAssessmentServer) AssessEvidence(context.Context, *AssessEvidenceRequest) (*AssessEvidenceResponse, error)
func (UnimplementedAssessmentServer) AssessEvidences ¶
func (UnimplementedAssessmentServer) AssessEvidences(Assessment_AssessEvidencesServer) 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.