cloudfoundry/warden

View on GitHub
warden-protocol/lib/warden/protocol/pb/limit_disk.proto

Summary

Maintainability
Test Coverage
// Limits the disk usage for a container.
//
// The disk limits that are set by this command only have effect for the container's unprivileged user.
// Files/directories created by its privileged user are not subject to these limits.
//
// > **TODO** Link to page explaining how disk management works.
//
// ### Request
//
// * `handle`: Container handle.
// * `block_soft`: New soft block limit.
// * `block_hard`: New hard block limit.
// * `inode_soft`: New soft inode limit.
// * `inode_hard`: New hard inode limit.
// * `byte_soft`: New soft block limit specified in bytes. Only has effect when `block_soft` is not specified.
// * `byte_hard`: New hard block limit specified in bytes. Only has effect when `block_hard` is not specified.
//
// ### Response
//
// * `block_soft`: Soft block limit.
// * `block_hard`: Hard block limit.
// * `inode_soft`: Soft inode limit.
// * `inode_hard`: Hard inode limit.
// * `byte_soft`: Soft block limit specified in bytes.
// * `byte_hard`: Hard block limit specified in bytes.
//
// ### Errors
//
// > **TODO**
//
// ### Definition
//

package warden;

message LimitDiskRequest {
  required string handle = 1;

  optional uint64 block_limit = 10; // Alias for `block_hard`
  optional uint64 block       = 11; // Alias for `block_hard`
  optional uint64 block_soft  = 12;
  optional uint64 block_hard  = 13;

  optional uint64 inode_limit = 20; // Alias for `inode_hard`
  optional uint64 inode       = 21; // Alias for `inode_hard`
  optional uint64 inode_soft  = 22;
  optional uint64 inode_hard  = 23;

  optional uint64 byte_limit  = 30; // Alias for `byte_hard`
  optional uint64 byte        = 31; // Alias for `byte_hard`
  optional uint64 byte_soft   = 32;
  optional uint64 byte_hard   = 33;
}

message LimitDiskResponse {
  optional uint64 block_limit = 10; // Alias for `block_hard`
  optional uint64 block       = 11; // Alias for `block_hard`
  optional uint64 block_soft  = 12;
  optional uint64 block_hard  = 13;

  optional uint64 inode_limit = 20; // Alias for `inode_hard`
  optional uint64 inode       = 21; // Alias for `inode_hard`
  optional uint64 inode_soft  = 22;
  optional uint64 inode_hard  = 23;

  optional uint64 byte_limit  = 30; // Alias for `byte_hard`
  optional uint64 byte        = 31; // Alias for `byte_hard`
  optional uint64 byte_soft   = 32;
  optional uint64 byte_hard   = 33;
}