91 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
	
	
	
			
		
		
	
	
			91 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
	
	
	
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.
 | 
						|
	//
 | 
						|
	// 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;
 | 
						|
}
 |