
According to https://github.com/protocolbuffers/protobuf/issues/9184 > Weak fields are an old and deprecated internal-only feature that we never > open sourced. This blocks us to upgrade protoc. Fixes #6232. Signed-off-by: Kazuyoshi Kato <katokazu@amazon.com>
109 lines
3.4 KiB
Protocol Buffer
109 lines
3.4 KiB
Protocol Buffer
/*
|
|
Copyright The containerd Authors.
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
*/
|
|
|
|
syntax = "proto3";
|
|
|
|
package containerd.services.namespaces.v1;
|
|
|
|
import "gogoproto/gogo.proto";
|
|
import "google/protobuf/empty.proto";
|
|
import "google/protobuf/field_mask.proto";
|
|
|
|
option go_package = "github.com/containerd/containerd/api/services/namespaces/v1;namespaces";
|
|
|
|
// Namespaces provides the ability to manipulate containerd namespaces.
|
|
//
|
|
// All objects in the system are required to be a member of a namespace. If a
|
|
// namespace is deleted, all objects, including containers, images and
|
|
// snapshots, will be deleted, as well.
|
|
//
|
|
// Unless otherwise noted, operations in containerd apply only to the namespace
|
|
// supplied per request.
|
|
//
|
|
// I hope this goes without saying, but namespaces are themselves NOT
|
|
// namespaced.
|
|
service Namespaces {
|
|
rpc Get(GetNamespaceRequest) returns (GetNamespaceResponse);
|
|
rpc List(ListNamespacesRequest) returns (ListNamespacesResponse);
|
|
rpc Create(CreateNamespaceRequest) returns (CreateNamespaceResponse);
|
|
rpc Update(UpdateNamespaceRequest) returns (UpdateNamespaceResponse);
|
|
rpc Delete(DeleteNamespaceRequest) returns (google.protobuf.Empty);
|
|
}
|
|
|
|
message Namespace {
|
|
string name = 1;
|
|
|
|
// Labels provides an area to include arbitrary data on namespaces.
|
|
//
|
|
// The combined size of a key/value pair cannot exceed 4096 bytes.
|
|
//
|
|
// Note that to add a new value to this field, read the existing set and
|
|
// include the entire result in the update call.
|
|
map<string, string> labels = 2;
|
|
}
|
|
|
|
message GetNamespaceRequest {
|
|
string name = 1;
|
|
}
|
|
|
|
message GetNamespaceResponse {
|
|
Namespace namespace = 1 [(gogoproto.nullable) = false];
|
|
}
|
|
|
|
message ListNamespacesRequest {
|
|
string filter = 1;
|
|
}
|
|
|
|
message ListNamespacesResponse {
|
|
repeated Namespace namespaces = 1 [(gogoproto.nullable) = false];
|
|
}
|
|
|
|
message CreateNamespaceRequest {
|
|
Namespace namespace = 1 [(gogoproto.nullable) = false];
|
|
}
|
|
|
|
message CreateNamespaceResponse {
|
|
Namespace namespace = 1 [(gogoproto.nullable) = false];
|
|
}
|
|
|
|
// UpdateNamespaceRequest updates the metadata for a namespace.
|
|
//
|
|
// The operation should follow semantics described in
|
|
// https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/field-mask,
|
|
// unless otherwise qualified.
|
|
message UpdateNamespaceRequest {
|
|
// Namespace provides the target value, as declared by the mask, for the update.
|
|
//
|
|
// The namespace field must be set.
|
|
Namespace namespace = 1 [(gogoproto.nullable) = false];
|
|
|
|
// UpdateMask specifies which fields to perform the update on. If empty,
|
|
// the operation applies to all fields.
|
|
//
|
|
// For the most part, this applies only to selectively updating labels on
|
|
// the namespace. While field masks are typically limited to ascii alphas
|
|
// and digits, we just take everything after the "labels." as the map key.
|
|
google.protobuf.FieldMask update_mask = 2;
|
|
}
|
|
|
|
message UpdateNamespaceResponse {
|
|
Namespace namespace = 1 [(gogoproto.nullable) = false];
|
|
}
|
|
|
|
message DeleteNamespaceRequest {
|
|
string name = 1;
|
|
}
|