aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/yandex-cloud-api-protos/yandex/cloud/mdb/elasticsearch/v1/extension_service.proto
blob: 5a59ddc6a399e2f8a9d2bb0b3ca063d1471def78 (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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
syntax = "proto3";

package yandex.cloud.mdb.elasticsearch.v1;

import "google/api/annotations.proto";
import "yandex/cloud/api/operation.proto";
import "yandex/cloud/validation.proto";
import "yandex/cloud/mdb/elasticsearch/v1/extension.proto";
import "yandex/cloud/operation/operation.proto";

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

service ExtensionService {
  // Returns the specified extension of Elasticsearch cluster.
  rpc Get (GetExtensionRequest) returns (Extension) {
    option (google.api.http) = { get: "/managed-elasticsearch/v1/clusters/{cluster_id}/extensions/{extension_id}" };
  }

  // Returns the list of available extensions for the specified Elasticsearch cluster.
  rpc List (ListExtensionsRequest) returns (ListExtensionsResponse) {
    option (google.api.http) = { get: "/managed-elasticsearch/v1/clusters/{cluster_id}/extensions" };
  }

  // Creates new extension version.
  rpc Create (CreateExtensionRequest) returns (operation.Operation) {
    option (google.api.http) = { post: "/managed-elasticsearch/v1/clusters/{cluster_id}/extensions" body: "*" };
    option (yandex.cloud.api.operation) = {
      metadata: "CreateExtensionMetadata"
      response: "Extension"
    };
  }

  // Updates the specified extension.
  rpc Update (UpdateExtensionRequest) returns (operation.Operation) {
    option (google.api.http) = { patch: "/managed-elasticsearch/v1/clusters/{cluster_id}/extensions/{extension_id}" body: "*" };
    option (yandex.cloud.api.operation) = {
      metadata: "UpdateExtensionMetadata"
      response: "Extension"
    };
  }

  // Deletes the specified extension.
  rpc Delete (DeleteExtensionRequest) returns (operation.Operation) {
    option (google.api.http) = { delete: "/managed-elasticsearch/v1/clusters/{cluster_id}/extensions/{extension_id}" };
    option (yandex.cloud.api.operation) = {
      metadata: "DeleteExtensionMetadata"
      response: "google.protobuf.Empty"
    };
  }

}

message GetExtensionRequest {
  // ID of the cluster.
  string cluster_id = 1 [(required) = true, (length) = "<=50"];

  // ID of the extension to return.
  string extension_id = 2 [(required) = true];
}

message ListExtensionsRequest {
  // ID of the cluster to list extensions in.
  string cluster_id = 1 [(required) = true, (length) = "<=50"];

  // The maximum number of results per page to return.
  //
  // If the number of available results is larger than [page_size], the API returns a [ListExtensionsResponse.next_page_token] that can be used to get the next page of results in subsequent [ExtensionService.List] requests.
  int64 page_size = 2 [(value) = "0-1000"];

  // Page token that can be used to iterate through multiple pages of results.
  //
  // To get the next page of results, set [page_token] to the [ListExtensionsResponse.next_page_token] returned by the previous [ExtensionService.List] request.
  string page_token = 3 [(length) = "<=100"];
}

message ListExtensionsResponse {
  // Requested list of extensions.
  repeated Extension extensions = 1;

  // The token that can be used to get the next page of results.
  //
  // If the number of results is larger than [ListExtensionsRequest.page_size], use the [next_page_token] as the value for the [ListExtensionsRequest.page_token] in the subsequent [ExtensionService.List] request to iterate through multiple pages of results.
  //
  // Each of the subsequent [ExtensionService.List] requests should use the [next_page_token] value returned in the previous request to continue paging through the results.
  string next_page_token = 2;
}

message DeleteExtensionRequest {
  // ID of the cluster.
  string cluster_id = 1 [(required) = true, (length) = "<=50"];

  // ID of the extension to delete.
  string extension_id = 2 [(required) = true];
}

message DeleteExtensionMetadata {
  // ID of the cluster.
  string cluster_id = 1 [(required) = true, (length) = "<=50"];

  // ID of the extension to delete.
  string extension_id = 2 [(required) = true];  
}

message UpdateExtensionRequest {
  // ID of the cluster.
  string cluster_id = 1 [(required) = true, (length) = "<=50"];

  // ID of the extension to update.
  string extension_id = 2 [(required) = true];

  // The flag shows whether to make the extension active.
  bool active = 3;
}

message UpdateExtensionMetadata {
  // ID of the cluster.
  string cluster_id = 1 [(required) = true, (length) = "<=50"];

  // ID of the extension.
  string extension_id = 2 [(required) = true];  
}

message CreateExtensionRequest {
  // ID of the cluster.
  string cluster_id = 1 [(required) = true, (length) = "<=50"];

  // Name of the extension.
  string name = 2 [(required) = true, (length) = "<=50"];

  // URI of the zip archive to create the new extension from. Currently only supports links that are stored in Object Storage.
  string uri = 3 [(required) = true];

  // The flag that disables the extension.
  bool disabled = 4;
}

message CreateExtensionMetadata {
  // ID of the cluster.
  string cluster_id = 1 [(required) = true, (length) = "<=50"];

  // ID of the extension.
  string extension_id = 2 [(required) = true];  
}