github.com/google/cadvisor@v0.49.1/third_party/containerd/api/services/diff/v1/diff.proto (about)

     1  /*
     2  	Copyright The containerd Authors.
     3  
     4  	Licensed under the Apache License, Version 2.0 (the "License");
     5  	you may not use this file except in compliance with the License.
     6  	You may obtain a copy of the License at
     7  
     8  		http://www.apache.org/licenses/LICENSE-2.0
     9  
    10  	Unless required by applicable law or agreed to in writing, software
    11  	distributed under the License is distributed on an "AS IS" BASIS,
    12  	WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    13  	See the License for the specific language governing permissions and
    14  	limitations under the License.
    15  */
    16  
    17  syntax = "proto3";
    18  
    19  package containerd.services.diff.v1;
    20  
    21  import weak "gogoproto/gogo.proto";
    22  import "google/protobuf/any.proto";
    23  import "github.com/containerd/containerd/api/types/mount.proto";
    24  import "github.com/containerd/containerd/api/types/descriptor.proto";
    25  
    26  option go_package = "github.com/containerd/containerd/api/services/diff/v1;diff";
    27  
    28  // Diff service creates and applies diffs
    29  service Diff {
    30  	// Apply applies the content associated with the provided digests onto
    31  	// the provided mounts. Archive content will be extracted and
    32  	// decompressed if necessary.
    33  	rpc Apply(ApplyRequest) returns (ApplyResponse);
    34  
    35  	// Diff creates a diff between the given mounts and uploads the result
    36  	// to the content store.
    37  	rpc Diff(DiffRequest) returns (DiffResponse);
    38  }
    39  
    40  message ApplyRequest {
    41  	// Diff is the descriptor of the diff to be extracted
    42  	containerd.types.Descriptor diff = 1;
    43  
    44  	repeated containerd.types.Mount mounts = 2;
    45  
    46  	map<string, google.protobuf.Any> payloads = 3;
    47  }
    48  
    49  message ApplyResponse {
    50  	// Applied is the descriptor for the object which was applied.
    51  	// If the input was a compressed blob then the result will be
    52  	// the descriptor for the uncompressed blob.
    53  	containerd.types.Descriptor applied = 1;
    54  }
    55  
    56  message DiffRequest {
    57  	// Left are the mounts which represent the older copy
    58  	// in which is the base of the computed changes.
    59  	repeated containerd.types.Mount left = 1;
    60  
    61  	// Right are the mounts which represents the newer copy
    62  	// in which changes from the left were made into.
    63  	repeated containerd.types.Mount right = 2;
    64  
    65  	// MediaType is the media type descriptor for the created diff
    66  	// object
    67  	string media_type = 3;
    68  
    69  	// Ref identifies the pre-commit content store object. This
    70  	// reference can be used to get the status from the content store.
    71  	string ref = 4;
    72  
    73  	// Labels are the labels to apply to the generated content
    74  	// on content store commit.
    75  	map<string, string> labels = 5;
    76  }
    77  
    78  message DiffResponse {
    79  	// Diff is the descriptor of the diff which can be applied
    80  	containerd.types.Descriptor diff = 3;
    81  }