# Generated with protoc-gen-openapi # https://github.com/google/gnostic/tree/master/cmd/protoc-gen-openapi openapi: 3.0.3 info: title: Evaluation API description: Manages the evaluation of Clouditor's assessment results version: 0.0.1 paths: /v1/evaluation/evaluate/{cloudServiceId}/{catalogId}/start: post: tags: - Evaluation description: |- Evaluates periodically all assessment results of a cloud service id based on the given catalog id. Part of the public API, also exposed as REST. operationId: Evaluation_StartEvaluation parameters: - name: cloudServiceId in: path required: true schema: type: string - name: catalogId in: path required: true schema: type: string - name: interval in: query description: The interval time in minutes the evaluation executes periodically. The default interval is set to 5 minutes. schema: type: integer format: int32 responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/StartEvaluationResponse' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' /v1/evaluation/evaluate/{cloudServiceId}/{catalogId}/stop: post: tags: - Evaluation description: |- StopEvaluation stops the evaluation for the given target of evaluation. Part of the public API, also exposed as REST. operationId: Evaluation_StopEvaluation parameters: - name: cloudServiceId in: path required: true schema: type: string - name: catalogId in: path required: true schema: type: string responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/StopEvaluationResponse' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' /v1/evaluation/results: get: tags: - Evaluation description: |- List all evaluation results that the user can access. It can further be restricted by various filtering options. Part of the public API, also exposed as REST. operationId: Evaluation_ListEvaluationResults parameters: - name: filter.cloudServiceId in: query description: Optional. Lists only evaluation results for a specific cloud service. schema: type: string - name: filter.controlId in: query description: Optional. Lists only evaluation results for a specific control id. schema: type: string - name: filter.subControls in: query description: Optional. Lists all evaluation results for the given initial control id substring, e.g., if the substring 'CMK-01.' is given it returns the controls CMK-01.1B, CMK-01.1S, CMK-01.1H. schema: type: string - name: latestByResourceId in: query description: Optional. Latest results grouped by resource_id and metric_id. schema: type: boolean - name: pageSize in: query schema: type: integer format: int32 - name: pageToken in: query schema: type: string - name: orderBy in: query schema: type: string - name: asc in: query schema: type: boolean responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/ListEvaluationResultsResponse' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' components: schemas: EvaluationResult: type: object properties: id: type: string description: Evaluation result id cloudServiceId: type: string description: The Cloud Service ID the evaluation belongs to controlId: type: string description: The control id the evaluation was based on controlCategoryName: type: string description: The category the evaluated control belongs to controlCatalogId: type: string description: The catalog the evaluated control belongs to resourceId: type: string description: The evaluated resource status: enum: - EVALUATION_STATUS_UNSPECIFIED - EVALUATION_STATUS_COMPLIANT - EVALUATION_STATUS_NOT_COMPLIANT - EVALUATION_STATUS_PENDING type: string description: Evaluation status format: enum timestamp: type: string description: Time of evaluation format: date-time failingAssessmentResultIds: type: array items: type: string description: List of assessment results because of which the evaluation status is not 'compliant' description: A evaluation result resource, representing the result after evaluating the cloud service with a specific control cloud_service_id, category_name and catalog_id are necessary to get the corresponding TargetOfEvaluation GoogleProtobufAny: type: object properties: '@type': type: string description: The type of the serialized message. additionalProperties: true description: Contains an arbitrary serialized message along with a @type that describes the type of the serialized message. ListEvaluationResultsResponse: type: object properties: results: type: array items: $ref: '#/components/schemas/EvaluationResult' nextPageToken: type: string StartEvaluationResponse: type: object properties: successful: type: boolean Status: type: object properties: code: type: integer description: The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code]. format: int32 message: type: string description: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client. details: type: array items: $ref: '#/components/schemas/GoogleProtobufAny' description: A list of messages that carry the error details. There is a common set of message types for APIs to use. description: 'The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).' StopEvaluationResponse: type: object properties: {} tags: - name: Evaluation