1. Packages
  2. GitHub
  3. API Docs
  4. getTree
GitHub v6.1.0 published on Monday, Mar 11, 2024 by Pulumi

github.getTree

Explore with Pulumi AI

github logo
GitHub v6.1.0 published on Monday, Mar 11, 2024 by Pulumi

    Use this data source to retrieve information about a single tree.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as github from "@pulumi/github";
    
    const thisRepository = github.getRepository({
        name: "example",
    });
    const thisBranch = Promise.all([thisRepository, thisRepository]).then(([thisRepository, thisRepository1]) => github.getBranch({
        branch: thisRepository.defaultBranch,
        repository: thisRepository1.name,
    }));
    const thisTree = Promise.all([thisRepository, thisBranch]).then(([thisRepository, thisBranch]) => github.getTree({
        recursive: false,
        repository: thisRepository.name,
        treeSha: thisBranch.sha,
    }));
    export const entries = thisTree.then(thisTree => thisTree.entries);
    
    import pulumi
    import pulumi_github as github
    
    this_repository = github.get_repository(name="example")
    this_branch = github.get_branch(branch=this_repository.default_branch,
        repository=this_repository.name)
    this_tree = github.get_tree(recursive=False,
        repository=this_repository.name,
        tree_sha=this_branch.sha)
    pulumi.export("entries", this_tree.entries)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-github/sdk/v6/go/github"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		thisRepository, err := github.LookupRepository(ctx, &github.LookupRepositoryArgs{
    			Name: pulumi.StringRef("example"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		thisBranch, err := github.LookupBranch(ctx, &github.LookupBranchArgs{
    			Branch:     thisRepository.DefaultBranch,
    			Repository: thisRepository.Name,
    		}, nil)
    		if err != nil {
    			return err
    		}
    		thisTree, err := github.GetTree(ctx, &github.GetTreeArgs{
    			Recursive:  pulumi.BoolRef(false),
    			Repository: thisRepository.Name,
    			TreeSha:    thisBranch.Sha,
    		}, nil)
    		if err != nil {
    			return err
    		}
    		ctx.Export("entries", thisTree.Entries)
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Github = Pulumi.Github;
    
    return await Deployment.RunAsync(() => 
    {
        var thisRepository = Github.GetRepository.Invoke(new()
        {
            Name = "example",
        });
    
        var thisBranch = Github.GetBranch.Invoke(new()
        {
            Branch = thisRepository.Apply(getRepositoryResult => getRepositoryResult.DefaultBranch),
            Repository = thisRepository.Apply(getRepositoryResult => getRepositoryResult.Name),
        });
    
        var thisTree = Github.GetTree.Invoke(new()
        {
            Recursive = false,
            Repository = thisRepository.Apply(getRepositoryResult => getRepositoryResult.Name),
            TreeSha = thisBranch.Apply(getBranchResult => getBranchResult.Sha),
        });
    
        return new Dictionary<string, object?>
        {
            ["entries"] = thisTree.Apply(getTreeResult => getTreeResult.Entries),
        };
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.github.GithubFunctions;
    import com.pulumi.github.inputs.GetRepositoryArgs;
    import com.pulumi.github.inputs.GetBranchArgs;
    import com.pulumi.github.inputs.GetTreeArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            final var thisRepository = GithubFunctions.getRepository(GetRepositoryArgs.builder()
                .name("example")
                .build());
    
            final var thisBranch = GithubFunctions.getBranch(GetBranchArgs.builder()
                .branch(thisRepository.applyValue(getRepositoryResult -> getRepositoryResult.defaultBranch()))
                .repository(thisRepository.applyValue(getRepositoryResult -> getRepositoryResult.name()))
                .build());
    
            final var thisTree = GithubFunctions.getTree(GetTreeArgs.builder()
                .recursive(false)
                .repository(thisRepository.applyValue(getRepositoryResult -> getRepositoryResult.name()))
                .treeSha(thisBranch.applyValue(getBranchResult -> getBranchResult.sha()))
                .build());
    
            ctx.export("entries", thisTree.applyValue(getTreeResult -> getTreeResult.entries()));
        }
    }
    
    variables:
      thisRepository:
        fn::invoke:
          Function: github:getRepository
          Arguments:
            name: example
      thisBranch:
        fn::invoke:
          Function: github:getBranch
          Arguments:
            branch: ${thisRepository.defaultBranch}
            repository: ${thisRepository.name}
      thisTree:
        fn::invoke:
          Function: github:getTree
          Arguments:
            recursive: false
            repository: ${thisRepository.name}
            treeSha: ${thisBranch.sha}
    outputs:
      entries: ${thisTree.entries}
    

    Using getTree

    Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.

    function getTree(args: GetTreeArgs, opts?: InvokeOptions): Promise<GetTreeResult>
    function getTreeOutput(args: GetTreeOutputArgs, opts?: InvokeOptions): Output<GetTreeResult>
    def get_tree(recursive: Optional[bool] = None,
                 repository: Optional[str] = None,
                 tree_sha: Optional[str] = None,
                 opts: Optional[InvokeOptions] = None) -> GetTreeResult
    def get_tree_output(recursive: Optional[pulumi.Input[bool]] = None,
                 repository: Optional[pulumi.Input[str]] = None,
                 tree_sha: Optional[pulumi.Input[str]] = None,
                 opts: Optional[InvokeOptions] = None) -> Output[GetTreeResult]
    func GetTree(ctx *Context, args *GetTreeArgs, opts ...InvokeOption) (*GetTreeResult, error)
    func GetTreeOutput(ctx *Context, args *GetTreeOutputArgs, opts ...InvokeOption) GetTreeResultOutput

    > Note: This function is named GetTree in the Go SDK.

    public static class GetTree 
    {
        public static Task<GetTreeResult> InvokeAsync(GetTreeArgs args, InvokeOptions? opts = null)
        public static Output<GetTreeResult> Invoke(GetTreeInvokeArgs args, InvokeOptions? opts = null)
    }
    public static CompletableFuture<GetTreeResult> getTree(GetTreeArgs args, InvokeOptions options)
    // Output-based functions aren't available in Java yet
    
    fn::invoke:
      function: github:index/getTree:getTree
      arguments:
        # arguments dictionary

    The following arguments are supported:

    Repository string
    The name of the repository.
    TreeSha string
    The SHA1 value for the tree.
    Recursive bool
    Setting this parameter to true returns the objects or subtrees referenced by the tree specified in tree_sha.
    Repository string
    The name of the repository.
    TreeSha string
    The SHA1 value for the tree.
    Recursive bool
    Setting this parameter to true returns the objects or subtrees referenced by the tree specified in tree_sha.
    repository String
    The name of the repository.
    treeSha String
    The SHA1 value for the tree.
    recursive Boolean
    Setting this parameter to true returns the objects or subtrees referenced by the tree specified in tree_sha.
    repository string
    The name of the repository.
    treeSha string
    The SHA1 value for the tree.
    recursive boolean
    Setting this parameter to true returns the objects or subtrees referenced by the tree specified in tree_sha.
    repository str
    The name of the repository.
    tree_sha str
    The SHA1 value for the tree.
    recursive bool
    Setting this parameter to true returns the objects or subtrees referenced by the tree specified in tree_sha.
    repository String
    The name of the repository.
    treeSha String
    The SHA1 value for the tree.
    recursive Boolean
    Setting this parameter to true returns the objects or subtrees referenced by the tree specified in tree_sha.

    getTree Result

    The following output properties are available:

    Entries List<GetTreeEntry>
    Objects (of path, mode, type, size, and sha) specifying a tree structure.
    Id string
    The provider-assigned unique ID for this managed resource.
    Repository string
    TreeSha string
    Recursive bool
    Entries []GetTreeEntry
    Objects (of path, mode, type, size, and sha) specifying a tree structure.
    Id string
    The provider-assigned unique ID for this managed resource.
    Repository string
    TreeSha string
    Recursive bool
    entries List<GetTreeEntry>
    Objects (of path, mode, type, size, and sha) specifying a tree structure.
    id String
    The provider-assigned unique ID for this managed resource.
    repository String
    treeSha String
    recursive Boolean
    entries GetTreeEntry[]
    Objects (of path, mode, type, size, and sha) specifying a tree structure.
    id string
    The provider-assigned unique ID for this managed resource.
    repository string
    treeSha string
    recursive boolean
    entries Sequence[GetTreeEntry]
    Objects (of path, mode, type, size, and sha) specifying a tree structure.
    id str
    The provider-assigned unique ID for this managed resource.
    repository str
    tree_sha str
    recursive bool
    entries List<Property Map>
    Objects (of path, mode, type, size, and sha) specifying a tree structure.
    id String
    The provider-assigned unique ID for this managed resource.
    repository String
    treeSha String
    recursive Boolean

    Supporting Types

    GetTreeEntry

    Mode string
    Path string
    Sha string
    Size int
    Type string
    Mode string
    Path string
    Sha string
    Size int
    Type string
    mode String
    path String
    sha String
    size Integer
    type String
    mode string
    path string
    sha string
    size number
    type string
    mode str
    path str
    sha str
    size int
    type str
    mode String
    path String
    sha String
    size Number
    type String

    Package Details

    Repository
    GitHub pulumi/pulumi-github
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the github Terraform Provider.
    github logo
    GitHub v6.1.0 published on Monday, Mar 11, 2024 by Pulumi