37 lines
1.5 KiB
Protocol Buffer
37 lines
1.5 KiB
Protocol Buffer
// Copyright (c) HashiCorp, Inc.
|
|
// SPDX-License-Identifier: MPL-2.0
|
|
|
|
syntax = "proto3";
|
|
|
|
package controller.api.services.v1;
|
|
|
|
import "controller/api/resources/billing/v1/billing.proto";
|
|
import "google/api/annotations.proto";
|
|
import "protoc-gen-openapiv2/options/annotations.proto";
|
|
|
|
option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/services;services";
|
|
|
|
service BillingService {
|
|
// MonthlyActiveUsers returns the monthly active users for the given time period.
|
|
// If no time period is provided, the current and previous months are returned.
|
|
// If the provided request contains a start time but no end time, it will return
|
|
// up to the current month. If the provided request contains an end time and no start time,
|
|
// or if the end time is prior to the start time, an error will be returned.
|
|
rpc MonthlyActiveUsers(MonthlyActiveUsersRequest) returns (MonthlyActiveUsersResponse) {
|
|
option (google.api.http) = {get: "/v1/billing:monthly-active-users"};
|
|
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {summary: "Returns monthly active users."};
|
|
}
|
|
}
|
|
|
|
message MonthlyActiveUsersRequest {
|
|
// An optional start time of the billing period to query, in the format of YYYY-MM.
|
|
string start_time = 1 [json_name = "start_time"]; // @gotags: class:"public"
|
|
|
|
// An optional end time of the billing period to query, in the format of YYYY-MM.
|
|
string end_time = 2 [json_name = "end_time"]; // @gotags: class:"public"
|
|
}
|
|
|
|
message MonthlyActiveUsersResponse {
|
|
repeated resources.billing.v1.ActiveUsers items = 1;
|
|
}
|