Documentation ¶
Overview ¶
Package evidence is a reverse proxy.
It translates gRPC into RESTful JSON APIs.
Index ¶
- Variables
- func RegisterEvidenceStoreHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error
- func RegisterEvidenceStoreHandlerClient(ctx context.Context, mux *runtime.ServeMux, client EvidenceStoreClient) error
- func RegisterEvidenceStoreHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, ...) (err error)
- func RegisterEvidenceStoreHandlerServer(ctx context.Context, mux *runtime.ServeMux, server EvidenceStoreServer) error
- func RegisterEvidenceStoreServer(s grpc.ServiceRegistrar, srv EvidenceStoreServer)
- type Evidence
- func (*Evidence) Descriptor() ([]byte, []int)deprecated
- func (x *Evidence) GetCloudServiceId() string
- func (x *Evidence) GetId() string
- func (x *Evidence) GetRaw() string
- func (x *Evidence) GetResource() *structpb.Value
- func (x *Evidence) GetTimestamp() *timestamppb.Timestamp
- func (x *Evidence) GetToolId() string
- func (*Evidence) ProtoMessage()
- func (x *Evidence) ProtoReflect() protoreflect.Message
- func (x *Evidence) Reset()
- func (evidence *Evidence) ResourceTypes() (types []string, err error)
- func (x *Evidence) String() string
- func (evidence *Evidence) Validate() (resourceId string, err error)
- type EvidenceHookFunc
- type EvidenceStoreClient
- type EvidenceStoreServer
- type EvidenceStore_StoreEvidencesClient
- type EvidenceStore_StoreEvidencesServer
- type ListEvidencesRequest
- func (*ListEvidencesRequest) Descriptor() ([]byte, []int)deprecated
- func (x *ListEvidencesRequest) GetAsc() bool
- func (x *ListEvidencesRequest) GetOrderBy() string
- func (x *ListEvidencesRequest) GetPageSize() int32
- func (x *ListEvidencesRequest) GetPageToken() string
- func (*ListEvidencesRequest) ProtoMessage()
- func (x *ListEvidencesRequest) ProtoReflect() protoreflect.Message
- func (x *ListEvidencesRequest) Reset()
- func (x *ListEvidencesRequest) String() string
- type ListEvidencesResponse
- func (*ListEvidencesResponse) Descriptor() ([]byte, []int)deprecated
- func (x *ListEvidencesResponse) GetEvidences() []*Evidence
- func (x *ListEvidencesResponse) GetNextPageToken() string
- func (*ListEvidencesResponse) ProtoMessage()
- func (x *ListEvidencesResponse) ProtoReflect() protoreflect.Message
- func (x *ListEvidencesResponse) Reset()
- func (x *ListEvidencesResponse) String() string
- type StoreEvidenceRequest
- func (*StoreEvidenceRequest) Descriptor() ([]byte, []int)deprecated
- func (x *StoreEvidenceRequest) GetEvidence() *Evidence
- func (*StoreEvidenceRequest) ProtoMessage()
- func (x *StoreEvidenceRequest) ProtoReflect() protoreflect.Message
- func (x *StoreEvidenceRequest) Reset()
- func (x *StoreEvidenceRequest) String() string
- type StoreEvidenceResponse
- func (*StoreEvidenceResponse) Descriptor() ([]byte, []int)deprecated
- func (x *StoreEvidenceResponse) GetStatus() bool
- func (x *StoreEvidenceResponse) GetStatusMessage() string
- func (*StoreEvidenceResponse) ProtoMessage()
- func (x *StoreEvidenceResponse) ProtoReflect() protoreflect.Message
- func (x *StoreEvidenceResponse) Reset()
- func (x *StoreEvidenceResponse) String() string
- type UnimplementedEvidenceStoreServer
- func (UnimplementedEvidenceStoreServer) ListEvidences(context.Context, *ListEvidencesRequest) (*ListEvidencesResponse, error)
- func (UnimplementedEvidenceStoreServer) StoreEvidence(context.Context, *StoreEvidenceRequest) (*StoreEvidenceResponse, error)
- func (UnimplementedEvidenceStoreServer) StoreEvidences(EvidenceStore_StoreEvidencesServer) error
- type UnsafeEvidenceStoreServer
Constants ¶
This section is empty.
Variables ¶
var ( ErrEvidenceIdInvalidFormat = errors.New("evidence id not in expected format (UUID) or missing") ErrNotValidResource = errors.New("resource in evidence is missing") ErrResourceNotStruct = errors.New("resource in evidence is not struct value") ErrResourceNotMap = errors.New("resource in evidence is not a map") ErrResourceIdMissing = errors.New("resource in evidence is missing the id field") ErrResourceIdNotString = errors.New("resource id in evidence is not a string") ErrToolIdMissing = errors.New("tool id in evidence is missing") ErrTimestampMissing = errors.New("timestamp in evidence is missing") ErrResourceIdFieldMissing = errors.New("field id is missing") )
var EvidenceStore_ServiceDesc = grpc.ServiceDesc{ ServiceName: "clouditor.EvidenceStore", HandlerType: (*EvidenceStoreServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "StoreEvidence", Handler: _EvidenceStore_StoreEvidence_Handler, }, { MethodName: "ListEvidences", Handler: _EvidenceStore_ListEvidences_Handler, }, }, Streams: []grpc.StreamDesc{ { StreamName: "StoreEvidences", Handler: _EvidenceStore_StoreEvidences_Handler, ServerStreams: true, ClientStreams: true, }, }, Metadata: "api/evidence/evidence_store.proto", }
EvidenceStore_ServiceDesc is the grpc.ServiceDesc for EvidenceStore 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_evidence_evidence_proto protoreflect.FileDescriptor
var File_api_evidence_evidence_store_proto protoreflect.FileDescriptor
Functions ¶
func RegisterEvidenceStoreHandler ¶ added in v1.3.11
func RegisterEvidenceStoreHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error
RegisterEvidenceStoreHandler registers the http handlers for service EvidenceStore to "mux". The handlers forward requests to the grpc endpoint over "conn".
func RegisterEvidenceStoreHandlerClient ¶ added in v1.3.11
func RegisterEvidenceStoreHandlerClient(ctx context.Context, mux *runtime.ServeMux, client EvidenceStoreClient) error
RegisterEvidenceStoreHandlerClient registers the http handlers for service EvidenceStore to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "EvidenceStoreClient". Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "EvidenceStoreClient" doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in "EvidenceStoreClient" to call the correct interceptors.
func RegisterEvidenceStoreHandlerFromEndpoint ¶ added in v1.3.11
func RegisterEvidenceStoreHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error)
RegisterEvidenceStoreHandlerFromEndpoint is same as RegisterEvidenceStoreHandler but automatically dials to "endpoint" and closes the connection when "ctx" gets done.
func RegisterEvidenceStoreHandlerServer ¶ added in v1.3.11
func RegisterEvidenceStoreHandlerServer(ctx context.Context, mux *runtime.ServeMux, server EvidenceStoreServer) error
RegisterEvidenceStoreHandlerServer registers the http handlers for service EvidenceStore to "mux". UnaryRPC :call EvidenceStoreServer 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 RegisterEvidenceStoreHandlerFromEndpoint instead.
func RegisterEvidenceStoreServer ¶
func RegisterEvidenceStoreServer(s grpc.ServiceRegistrar, srv EvidenceStoreServer)
Types ¶
type Evidence ¶
type Evidence struct { // the ID in a uuid format Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // time of evidence creation Timestamp *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // Reference to a service this evidence was gathered from CloudServiceId string `protobuf:"bytes,3,opt,name=cloud_service_id,json=cloudServiceId,proto3" json:"cloud_service_id,omitempty"` // Reference to the tool which provided the evidence ToolId string `protobuf:"bytes,4,opt,name=tool_id,json=toolId,proto3" json:"tool_id,omitempty"` // Contains the evidence in its original form without following a defined // schema, e.g. the raw JSON Raw string `protobuf:"bytes,5,opt,name=raw,proto3" json:"raw,omitempty"` // Semantic representation of the Cloud resource according to our defined // ontology Resource *structpb.Value `protobuf:"bytes,6,opt,name=resource,proto3" json:"resource,omitempty"` // contains filtered or unexported fields }
An evidence resource
func (*Evidence) Descriptor
deprecated
func (*Evidence) GetCloudServiceId ¶ added in v1.6.0
func (*Evidence) GetResource ¶
func (*Evidence) GetTimestamp ¶
func (x *Evidence) GetTimestamp() *timestamppb.Timestamp
func (*Evidence) ProtoMessage ¶
func (*Evidence) ProtoMessage()
func (*Evidence) ProtoReflect ¶
func (x *Evidence) ProtoReflect() protoreflect.Message
func (*Evidence) ResourceTypes ¶ added in v1.4.11
ResourceTypes parses the embedded resource of this evidence and returns its types according to the ontology.
type EvidenceHookFunc ¶ added in v1.3.11
type EvidenceStoreClient ¶
type EvidenceStoreClient interface { // Stores an evidence to the evidence storage. Part of the public API, also // exposed as REST. StoreEvidence(ctx context.Context, in *StoreEvidenceRequest, opts ...grpc.CallOption) (*StoreEvidenceResponse, error) // Stores a stream of evidences to the evidence storage and returns a response // stream. Part of the public API, not exposed as REST. StoreEvidences(ctx context.Context, opts ...grpc.CallOption) (EvidenceStore_StoreEvidencesClient, error) // Returns all stored evidences. Part of the public API, also exposed as REST. ListEvidences(ctx context.Context, in *ListEvidencesRequest, opts ...grpc.CallOption) (*ListEvidencesResponse, error) }
EvidenceStoreClient is the client API for EvidenceStore 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 NewEvidenceStoreClient ¶
func NewEvidenceStoreClient(cc grpc.ClientConnInterface) EvidenceStoreClient
type EvidenceStoreServer ¶
type EvidenceStoreServer interface { // Stores an evidence to the evidence storage. Part of the public API, also // exposed as REST. StoreEvidence(context.Context, *StoreEvidenceRequest) (*StoreEvidenceResponse, error) // Stores a stream of evidences to the evidence storage and returns a response // stream. Part of the public API, not exposed as REST. StoreEvidences(EvidenceStore_StoreEvidencesServer) error // Returns all stored evidences. Part of the public API, also exposed as REST. ListEvidences(context.Context, *ListEvidencesRequest) (*ListEvidencesResponse, error) // contains filtered or unexported methods }
EvidenceStoreServer is the server API for EvidenceStore service. All implementations must embed UnimplementedEvidenceStoreServer for forward compatibility
type EvidenceStore_StoreEvidencesClient ¶
type EvidenceStore_StoreEvidencesClient interface { Send(*StoreEvidenceRequest) error Recv() (*StoreEvidenceResponse, error) grpc.ClientStream }
type EvidenceStore_StoreEvidencesServer ¶
type EvidenceStore_StoreEvidencesServer interface { Send(*StoreEvidenceResponse) error Recv() (*StoreEvidenceRequest, error) grpc.ServerStream }
type ListEvidencesRequest ¶
type ListEvidencesRequest struct { PageSize int32 `protobuf:"varint,1,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` OrderBy string `protobuf:"bytes,3,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` Asc bool `protobuf:"varint,4,opt,name=asc,proto3" json:"asc,omitempty"` // contains filtered or unexported fields }
func (*ListEvidencesRequest) Descriptor
deprecated
func (*ListEvidencesRequest) Descriptor() ([]byte, []int)
Deprecated: Use ListEvidencesRequest.ProtoReflect.Descriptor instead.
func (*ListEvidencesRequest) GetAsc ¶ added in v1.4.17
func (x *ListEvidencesRequest) GetAsc() bool
func (*ListEvidencesRequest) GetOrderBy ¶ added in v1.4.17
func (x *ListEvidencesRequest) GetOrderBy() string
func (*ListEvidencesRequest) GetPageSize ¶ added in v1.4.6
func (x *ListEvidencesRequest) GetPageSize() int32
func (*ListEvidencesRequest) GetPageToken ¶ added in v1.4.6
func (x *ListEvidencesRequest) GetPageToken() string
func (*ListEvidencesRequest) ProtoMessage ¶
func (*ListEvidencesRequest) ProtoMessage()
func (*ListEvidencesRequest) ProtoReflect ¶
func (x *ListEvidencesRequest) ProtoReflect() protoreflect.Message
func (*ListEvidencesRequest) Reset ¶
func (x *ListEvidencesRequest) Reset()
func (*ListEvidencesRequest) String ¶
func (x *ListEvidencesRequest) String() string
type ListEvidencesResponse ¶
type ListEvidencesResponse struct { Evidences []*Evidence `protobuf:"bytes,1,rep,name=evidences,proto3" json:"evidences,omitempty"` NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` // contains filtered or unexported fields }
func (*ListEvidencesResponse) Descriptor
deprecated
func (*ListEvidencesResponse) Descriptor() ([]byte, []int)
Deprecated: Use ListEvidencesResponse.ProtoReflect.Descriptor instead.
func (*ListEvidencesResponse) GetEvidences ¶
func (x *ListEvidencesResponse) GetEvidences() []*Evidence
func (*ListEvidencesResponse) GetNextPageToken ¶ added in v1.4.6
func (x *ListEvidencesResponse) GetNextPageToken() string
func (*ListEvidencesResponse) ProtoMessage ¶
func (*ListEvidencesResponse) ProtoMessage()
func (*ListEvidencesResponse) ProtoReflect ¶
func (x *ListEvidencesResponse) ProtoReflect() protoreflect.Message
func (*ListEvidencesResponse) Reset ¶
func (x *ListEvidencesResponse) Reset()
func (*ListEvidencesResponse) String ¶
func (x *ListEvidencesResponse) String() string
type StoreEvidenceRequest ¶ added in v1.3.11
type StoreEvidenceRequest struct { Evidence *Evidence `protobuf:"bytes,1,opt,name=evidence,proto3" json:"evidence,omitempty"` // contains filtered or unexported fields }
func (*StoreEvidenceRequest) Descriptor
deprecated
added in
v1.3.11
func (*StoreEvidenceRequest) Descriptor() ([]byte, []int)
Deprecated: Use StoreEvidenceRequest.ProtoReflect.Descriptor instead.
func (*StoreEvidenceRequest) GetEvidence ¶ added in v1.3.11
func (x *StoreEvidenceRequest) GetEvidence() *Evidence
func (*StoreEvidenceRequest) ProtoMessage ¶ added in v1.3.11
func (*StoreEvidenceRequest) ProtoMessage()
func (*StoreEvidenceRequest) ProtoReflect ¶ added in v1.3.11
func (x *StoreEvidenceRequest) ProtoReflect() protoreflect.Message
func (*StoreEvidenceRequest) Reset ¶ added in v1.3.11
func (x *StoreEvidenceRequest) Reset()
func (*StoreEvidenceRequest) String ¶ added in v1.3.11
func (x *StoreEvidenceRequest) String() string
type StoreEvidenceResponse ¶
type StoreEvidenceResponse struct { Status bool `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"` StatusMessage string `protobuf:"bytes,2,opt,name=status_message,json=statusMessage,proto3" json:"status_message,omitempty"` // contains filtered or unexported fields }
func (*StoreEvidenceResponse) Descriptor
deprecated
func (*StoreEvidenceResponse) Descriptor() ([]byte, []int)
Deprecated: Use StoreEvidenceResponse.ProtoReflect.Descriptor instead.
func (*StoreEvidenceResponse) GetStatus ¶
func (x *StoreEvidenceResponse) GetStatus() bool
func (*StoreEvidenceResponse) GetStatusMessage ¶ added in v1.4.0
func (x *StoreEvidenceResponse) GetStatusMessage() string
func (*StoreEvidenceResponse) ProtoMessage ¶
func (*StoreEvidenceResponse) ProtoMessage()
func (*StoreEvidenceResponse) ProtoReflect ¶
func (x *StoreEvidenceResponse) ProtoReflect() protoreflect.Message
func (*StoreEvidenceResponse) Reset ¶
func (x *StoreEvidenceResponse) Reset()
func (*StoreEvidenceResponse) String ¶
func (x *StoreEvidenceResponse) String() string
type UnimplementedEvidenceStoreServer ¶
type UnimplementedEvidenceStoreServer struct { }
UnimplementedEvidenceStoreServer must be embedded to have forward compatible implementations.
func (UnimplementedEvidenceStoreServer) ListEvidences ¶
func (UnimplementedEvidenceStoreServer) ListEvidences(context.Context, *ListEvidencesRequest) (*ListEvidencesResponse, error)
func (UnimplementedEvidenceStoreServer) StoreEvidence ¶
func (UnimplementedEvidenceStoreServer) StoreEvidence(context.Context, *StoreEvidenceRequest) (*StoreEvidenceResponse, error)
func (UnimplementedEvidenceStoreServer) StoreEvidences ¶
func (UnimplementedEvidenceStoreServer) StoreEvidences(EvidenceStore_StoreEvidencesServer) error
type UnsafeEvidenceStoreServer ¶
type UnsafeEvidenceStoreServer interface {
// contains filtered or unexported methods
}
UnsafeEvidenceStoreServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to EvidenceStoreServer will result in compilation errors.