Class: Google::Apis::RemotebuildexecutionV1::BuildBazelRemoteExecutionV2Tree
- Inherits:
-
Object
- Object
- Google::Apis::RemotebuildexecutionV1::BuildBazelRemoteExecutionV2Tree
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- lib/google/apis/remotebuildexecution_v1/classes.rb,
lib/google/apis/remotebuildexecution_v1/representations.rb,
lib/google/apis/remotebuildexecution_v1/representations.rb
Overview
A Tree contains all the Directory protos in a single directory Merkle tree,
compressed into one message.
Instance Attribute Summary collapse
-
#children ⇒ Array<Google::Apis::RemotebuildexecutionV1::BuildBazelRemoteExecutionV2Directory>
All the child directories: the directories referred to by the root and, recursively, all its children.
-
#root ⇒ Google::Apis::RemotebuildexecutionV1::BuildBazelRemoteExecutionV2Directory
A
Directoryrepresents a directory node in a file tree, containing zero or more children FileNodes, DirectoryNodes and SymlinkNodes.
Instance Method Summary collapse
-
#initialize(**args) ⇒ BuildBazelRemoteExecutionV2Tree
constructor
A new instance of BuildBazelRemoteExecutionV2Tree.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ BuildBazelRemoteExecutionV2Tree
Returns a new instance of BuildBazelRemoteExecutionV2Tree.
1438 1439 1440 |
# File 'lib/google/apis/remotebuildexecution_v1/classes.rb', line 1438 def initialize(**args) update!(**args) end |
Instance Attribute Details
#children ⇒ Array<Google::Apis::RemotebuildexecutionV1::BuildBazelRemoteExecutionV2Directory>
All the child directories: the directories referred to by the root and,
recursively, all its children. In order to reconstruct the directory tree, the
client must take the digests of each of the child directories and then build
up a tree starting from the root.
Corresponds to the JSON property children
1406 1407 1408 |
# File 'lib/google/apis/remotebuildexecution_v1/classes.rb', line 1406 def children @children end |
#root ⇒ Google::Apis::RemotebuildexecutionV1::BuildBazelRemoteExecutionV2Directory
A Directory represents a directory node in a file tree, containing zero or
more children FileNodes, DirectoryNodes and SymlinkNodes. Each Node contains
its name in the directory, either the digest of its content (either a file
blob or a Directory proto) or a symlink target, as well as possibly some
metadata about the file or directory. In order to ensure that two equivalent
directory trees hash to the same value, the following restrictions MUST be
obeyed when constructing a a Directory: * Every child in the directory must
have a path of exactly one segment. Multiple levels of directory hierarchy may
not be collapsed. * Each child in the directory must have a unique path
segment (file name). Note that while the API itself is case-sensitive, the
environment where the Action is executed may or may not be case-sensitive.
That is, it is legal to call the API with a Directory that has both "Foo" and "
foo" as children, but the Action may be rejected by the remote system upon
execution. * The files, directories and symlinks in the directory must each be
sorted in lexicographical order by path. The path strings must be sorted by
code point, equivalently, by UTF-8 bytes. * The NodeProperties of files,
directories, and symlinks must be sorted in lexicographical order by property
name. A Directory that obeys the restrictions is said to be in canonical
form. As an example, the following could be used for a file named bar and a
directory named foo with an executable file named baz (hashes shortened
for readability): json // (Directory proto) ` files: [ ` name: "bar",
digest: ` hash: "4a73bc9d03...", size: 65534 `, node_properties: [ ` "name": "
MTime", "value": "2017-01-15T01:30:15.01Z" ` ] ` ], directories: [ ` name: "
foo", digest: ` hash: "4cf2eda940...", size: 43 ` ` ] ` // (Directory proto
with hash "4cf2eda940..." and size 43) ` files: [ ` name: "baz", digest: `
hash: "b2c941073e...", size: 1294, `, is_executable: true ` ] `
Corresponds to the JSON property root
1436 1437 1438 |
# File 'lib/google/apis/remotebuildexecution_v1/classes.rb', line 1436 def root @root end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
1443 1444 1445 1446 |
# File 'lib/google/apis/remotebuildexecution_v1/classes.rb', line 1443 def update!(**args) @children = args[:children] if args.key?(:children) @root = args[:root] if args.key?(:root) end |