aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/yandex-cloud-api-protos/yandex/cloud/loadtesting/api/v1/config_service.proto
blob: ea665d4fde1302590e1bc32e49e93a89b1a4ebb8 (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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
syntax = "proto3";

package yandex.cloud.loadtesting.api.v1;

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

import "google/api/annotations.proto";
import "yandex/cloud/operation/operation.proto";
import "yandex/cloud/api/operation.proto";
import "yandex/cloud/validation.proto";
import "yandex/cloud/loadtesting/api/v1/config/config.proto";

// A set of methods for managing test configurations.
service ConfigService {
  // Creates a test config in the specified folder.
  rpc Create(CreateConfigRequest) returns (operation.Operation) {
    option (google.api.http) = { post: "/loadtesting/api/v1/configs" body: "*" };
    option (yandex.cloud.api.operation) = {
      metadata: "CreateConfigMetadata"
      response: "config.Config"
    };
  };

  // Returns the specified config.
  //
  // To get the list of all available configs, make a [List] request.
  rpc Get(GetConfigRequest) returns (config.Config) {
    option (google.api.http) = { get: "/loadtesting/api/v1/configs/{config_id}" };
  }

  // Retrieves the list of configs in the specified folder.
  rpc List(ListConfigsRequest) returns (ListConfigsResponse) {
    option (google.api.http) = { get: "/loadtesting/api/v1/configs" };
  }
  
  // Deletes the specified config.
  rpc Delete(DeleteConfigRequest) returns (operation.Operation) {
    option (google.api.http) = { delete: "/loadtesting/api/v1/configs/{config_id}"};
    option (yandex.cloud.api.operation) = {
      metadata: "DeleteConfigMetadata"
      response: "google.protobuf.Empty"
    };
  };
}

message CreateConfigRequest {
  // ID of the folder to create a config in.
  string folder_id = 1 [(required) = true, (length) = "<=50"];

  // Config content.
  oneof config {
    // Config content provided as a string in YAML format.
    string yaml_string = 2;
  }
  
  reserved 3 to 9;
  
  // Name of the config.
  string name = 10;
}

message CreateConfigMetadata {
  // ID of the config that is being created.
  string config_id = 1;
}

message GetConfigRequest {
  // ID of the config to return.
  string config_id = 1;
}

message ListConfigsRequest {
  // ID of the folder to list configs in.
  string folder_id = 1;

  // The maximum number of results per page to return. If the number of available
  // results is larger than `page_size`, the service returns a [ListConfigsResponse.next_page_token]
  // that can be used to get the next page of results in subsequent list requests.
  // Default value: 100.
  int64 page_size = 2;

  // Page token. To get the next page of results, set `page_token` to the 
  // [ListConfigsResponse.next_page_token] returned by a previous list request.
  string page_token = 3;
  
  // A filter expression that filters tests listed in the response.
  string filter = 4 [(length) = "<=1000"];
}

message ListConfigsResponse {
  // List of configs in the specified folder.
  repeated config.Config configs = 1;

  // Token for getting the next page of the list. If the number of results is greater than
  // the specified [ListConfigsRequest.page_size], use `next_page_token` as the value
  // for the [ListConfigsRequest.page_token] parameter in the next list request.
  //
  // Each subsequent page will have its own `next_page_token` to continue paging through the results.
  string next_page_token = 2;
}

message DeleteConfigRequest {
  // ID of the config to deleted.
  string config_id = 1;
}

message DeleteConfigMetadata {
  // ID of the config that is being deleted.
  string config_id = 1;
}