/
getRef.go
135 lines (116 loc) · 3.82 KB
/
getRef.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT.
// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
package github
import (
"context"
"reflect"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
// Use this data source to retrieve information about a repository ref.
//
// ## Example Usage
//
// ```go
// package main
//
// import (
//
// "github.com/pulumi/pulumi-github/sdk/v4/go/github"
// "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
//
// )
//
// func main() {
// pulumi.Run(func(ctx *pulumi.Context) error {
// _, err := github.GetRef(ctx, &GetRefArgs{
// Ref: "heads/development",
// Repository: "example",
// }, nil)
// if err != nil {
// return err
// }
// return nil
// })
// }
//
// ```
func GetRef(ctx *pulumi.Context, args *GetRefArgs, opts ...pulumi.InvokeOption) (*GetRefResult, error) {
var rv GetRefResult
err := ctx.Invoke("github:index/getRef:getRef", args, &rv, opts...)
if err != nil {
return nil, err
}
return &rv, nil
}
// A collection of arguments for invoking getRef.
type GetRefArgs struct {
// The repository ref to look up. Must be formatted `heads/<ref>` for branches, and `tags/<ref>` for tags.
Ref string `pulumi:"ref"`
// The GitHub repository name.
Repository string `pulumi:"repository"`
}
// A collection of values returned by getRef.
type GetRefResult struct {
// An etag representing the ref.
Etag string `pulumi:"etag"`
// The provider-assigned unique ID for this managed resource.
Id string `pulumi:"id"`
Ref string `pulumi:"ref"`
Repository string `pulumi:"repository"`
// A string storing the reference's `HEAD` commit's SHA1.
Sha string `pulumi:"sha"`
}
func GetRefOutput(ctx *pulumi.Context, args GetRefOutputArgs, opts ...pulumi.InvokeOption) GetRefResultOutput {
return pulumi.ToOutputWithContext(context.Background(), args).
ApplyT(func(v interface{}) (GetRefResult, error) {
args := v.(GetRefArgs)
r, err := GetRef(ctx, &args, opts...)
var s GetRefResult
if r != nil {
s = *r
}
return s, err
}).(GetRefResultOutput)
}
// A collection of arguments for invoking getRef.
type GetRefOutputArgs struct {
// The repository ref to look up. Must be formatted `heads/<ref>` for branches, and `tags/<ref>` for tags.
Ref pulumi.StringInput `pulumi:"ref"`
// The GitHub repository name.
Repository pulumi.StringInput `pulumi:"repository"`
}
func (GetRefOutputArgs) ElementType() reflect.Type {
return reflect.TypeOf((*GetRefArgs)(nil)).Elem()
}
// A collection of values returned by getRef.
type GetRefResultOutput struct{ *pulumi.OutputState }
func (GetRefResultOutput) ElementType() reflect.Type {
return reflect.TypeOf((*GetRefResult)(nil)).Elem()
}
func (o GetRefResultOutput) ToGetRefResultOutput() GetRefResultOutput {
return o
}
func (o GetRefResultOutput) ToGetRefResultOutputWithContext(ctx context.Context) GetRefResultOutput {
return o
}
// An etag representing the ref.
func (o GetRefResultOutput) Etag() pulumi.StringOutput {
return o.ApplyT(func(v GetRefResult) string { return v.Etag }).(pulumi.StringOutput)
}
// The provider-assigned unique ID for this managed resource.
func (o GetRefResultOutput) Id() pulumi.StringOutput {
return o.ApplyT(func(v GetRefResult) string { return v.Id }).(pulumi.StringOutput)
}
func (o GetRefResultOutput) Ref() pulumi.StringOutput {
return o.ApplyT(func(v GetRefResult) string { return v.Ref }).(pulumi.StringOutput)
}
func (o GetRefResultOutput) Repository() pulumi.StringOutput {
return o.ApplyT(func(v GetRefResult) string { return v.Repository }).(pulumi.StringOutput)
}
// A string storing the reference's `HEAD` commit's SHA1.
func (o GetRefResultOutput) Sha() pulumi.StringOutput {
return o.ApplyT(func(v GetRefResult) string { return v.Sha }).(pulumi.StringOutput)
}
func init() {
pulumi.RegisterOutputType(GetRefResultOutput{})
}