assessment

package
v2.0.0-alpha.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 1, 2024 License: Apache-2.0 Imports: 31 Imported by: 0

Documentation

Overview

Package assessment is a reverse proxy.

It translates gRPC into RESTful JSON APIs.

Index

Constants

View Source
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"
)
View Source
const AssessmentToolId = "Clouditor Assessment"

Variables

View Source
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")
)
View Source
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.

View Source
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")
)
View Source
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.

View Source
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.

View Source
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)

View Source
var File_api_assessment_assessment_proto protoreflect.FileDescriptor
View Source
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 (*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 (*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) Enum

func (AssessmentStatus) EnumDescriptor deprecated

func (AssessmentStatus) EnumDescriptor() ([]byte, []int)

Deprecated: Use AssessmentStatus.Descriptor instead.

func (AssessmentStatus) Number

func (AssessmentStatus) String

func (x AssessmentStatus) String() string

func (AssessmentStatus) Type

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 (*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 (*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 (*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

func (m *Metric) CategoryID() (ID string)

CategoryID returns an identifier for the category string, which can be used in a filename or directory

func (*Metric) Descriptor deprecated

func (*Metric) Descriptor() ([]byte, []int)

Deprecated: Use Metric.ProtoReflect.Descriptor instead.

func (*Metric) GetCategory

func (x *Metric) GetCategory() string

func (*Metric) GetDeprecatedSince

func (x *Metric) GetDeprecatedSince() *timestamppb.Timestamp

func (*Metric) GetDescription

func (x *Metric) GetDescription() string

func (*Metric) GetId

func (x *Metric) GetId() string

func (*Metric) GetImplementation

func (x *Metric) GetImplementation() *MetricImplementation

func (*Metric) GetInterval

func (x *Metric) GetInterval() *durationpb.Duration

func (*Metric) GetName

func (x *Metric) GetName() string

func (*Metric) GetRange

func (x *Metric) GetRange() *Range

func (*Metric) GetScale

func (x *Metric) GetScale() Metric_Scale

func (*Metric) ProtoMessage

func (*Metric) ProtoMessage()

func (*Metric) ProtoReflect

func (x *Metric) ProtoReflect() protoreflect.Message

func (*Metric) Reset

func (x *Metric) Reset()

func (*Metric) String

func (x *Metric) String() string

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 (*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) Enum

func (MetricImplementation_Language) EnumDescriptor deprecated

func (MetricImplementation_Language) EnumDescriptor() ([]byte, []int)

Deprecated: Use MetricImplementation_Language.Descriptor instead.

func (MetricImplementation_Language) Number

func (MetricImplementation_Language) String

func (MetricImplementation_Language) Type

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) 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 (Metric_Scale) String

func (x Metric_Scale) String() string

func (Metric_Scale) Type

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) Descriptor() ([]byte, []int)

Deprecated: Use MinMax.ProtoReflect.Descriptor instead.

func (*MinMax) GetMax

func (x *MinMax) GetMax() int64

func (*MinMax) GetMin

func (x *MinMax) GetMin() int64

func (*MinMax) ProtoMessage

func (*MinMax) ProtoMessage()

func (*MinMax) ProtoReflect

func (x *MinMax) ProtoReflect() protoreflect.Message

func (*MinMax) Reset

func (x *MinMax) Reset()

func (*MinMax) String

func (x *MinMax) String() string

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) Descriptor() ([]byte, []int)

Deprecated: Use Order.ProtoReflect.Descriptor instead.

func (*Order) GetValues

func (x *Order) GetValues() []*structpb.Value

func (*Order) ProtoMessage

func (*Order) ProtoMessage()

func (*Order) ProtoReflect

func (x *Order) ProtoReflect() protoreflect.Message

func (*Order) Reset

func (x *Order) Reset()

func (*Order) String

func (x *Order) String() string

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) Descriptor() ([]byte, []int)

Deprecated: Use Range.ProtoReflect.Descriptor instead.

func (*Range) GetAllowedValues

func (x *Range) GetAllowedValues() *AllowedValues

func (*Range) GetMinMax

func (x *Range) GetMinMax() *MinMax

func (*Range) GetOrder

func (x *Range) GetOrder() *Order

func (*Range) GetRange

func (m *Range) GetRange() isRange_Range

func (*Range) GormDataType

func (*Range) GormDataType() string

GormDataType implements GormDataTypeInterface to give an indication how this struct will be serialized into a database using GORM.

func (*Range) MarshalJSON

func (r *Range) MarshalJSON() (b []byte, err error)

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) Reset

func (x *Range) Reset()

func (*Range) Scan

func (r *Range) Scan(value interface{}) (err error)

Scan implements https://pkg.go.dev/database/sql#Scanner to indicate how this struct can be loaded from an SQL database field.

func (*Range) String

func (x *Range) String() string

func (*Range) UnmarshalJSON

func (r *Range) UnmarshalJSON(b []byte) (err error)

func (*Range) Value

func (r *Range) Value() (val driver.Value, err error)

Value implements https://pkg.go.dev/database/sql/driver#Valuer to indicate how this struct will be saved into an SQL database field.

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) AssessEvidences

func (UnimplementedAssessmentServer) CalculateCompliance

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL