aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/yandex-cloud-api-protos/yandex/cloud/datasphere/v1/folder_budget_service.proto
blob: c9d020f073ceace4ad7cc73e46898a490b04f7ce (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
syntax = "proto3";

package yandex.cloud.datasphere.v1;

import "google/api/annotations.proto";
import "google/protobuf/field_mask.proto";
import "google/protobuf/empty.proto";
import "google/protobuf/wrappers.proto";
import "yandex/cloud/validation.proto";

option go_package = "github.com/yandex-cloud/go-genproto/yandex/cloud/datasphere/v1;datasphere";
option java_package = "yandex.cloud.api.datasphere.v1";

// A set of methods for managing Datasphere folder budgets.
service FolderBudgetService {

  // Returns the specified folder budget.
  rpc Get (GetFolderBudgetRequest) returns (GetFolderBudgetResponse) {
    option (google.api.http) = { get: "/datasphere/v1/folders/{folder_id}:budget" };
  }

  // Sets the unit balance and the limits of the specified folder budget.
  rpc Set (SetFolderBudgetRequest) returns (google.protobuf.Empty) {
    option (google.api.http) = { post: "/datasphere/v1/folders/{folder_id}:budget" body: "*" };
  }
}

message GetFolderBudgetRequest {
  // ID of the folder to get a budget for.
  string folder_id = 1 [(required) = true, (length) = "<=50"];
}

message GetFolderBudgetResponse {
  // The number of units available in the folder.
  google.protobuf.Int64Value unit_balance = 1;

  // The number of units that can be spent per hour.
  google.protobuf.Int64Value max_units_per_hour = 2;

  // The number of units that can be spent on one execution.
  google.protobuf.Int64Value max_units_per_execution = 3;
}

message SetFolderBudgetRequest {
  // ID of the folder to set a budget for.
  string folder_id = 1 [(required) = true, (length) = "<=50"];

  // Field mask that specifies which fields of the budget are going to be set.
  google.protobuf.FieldMask set_mask = 2;

  // The number of units available in the folder.
  google.protobuf.Int64Value unit_balance = 3;

  // The number of units that can be spent per hour.
  google.protobuf.Int64Value max_units_per_hour = 4;

  // The number of units that can be spent on one execution.
  google.protobuf.Int64Value max_units_per_execution = 5;
}