/
getRollout.go
231 lines (195 loc) · 11.7 KB
/
getRollout.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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
// Code generated by the Pulumi SDK Generator DO NOT EDIT.
// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
package v1
import (
"context"
"reflect"
"github.com/pulumi/pulumi-google-native/sdk/go/google/internal"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
// Gets details of a single Rollout.
func LookupRollout(ctx *pulumi.Context, args *LookupRolloutArgs, opts ...pulumi.InvokeOption) (*LookupRolloutResult, error) {
opts = internal.PkgInvokeDefaultOpts(opts)
var rv LookupRolloutResult
err := ctx.Invoke("google-native:clouddeploy/v1:getRollout", args, &rv, opts...)
if err != nil {
return nil, err
}
return &rv, nil
}
type LookupRolloutArgs struct {
DeliveryPipelineId string `pulumi:"deliveryPipelineId"`
Location string `pulumi:"location"`
Project *string `pulumi:"project"`
ReleaseId string `pulumi:"releaseId"`
RolloutId string `pulumi:"rolloutId"`
}
type LookupRolloutResult struct {
// User annotations. These attributes can only be set and used by the user, and not by Cloud Deploy. See https://google.aip.dev/128#annotations for more details such as format and size limitations.
Annotations map[string]string `pulumi:"annotations"`
// Approval state of the `Rollout`.
ApprovalState string `pulumi:"approvalState"`
// Time at which the `Rollout` was approved.
ApproveTime string `pulumi:"approveTime"`
// Name of the `ControllerRollout`. Format is `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/a-z{0,62}`.
ControllerRollout string `pulumi:"controllerRollout"`
// Time at which the `Rollout` was created.
CreateTime string `pulumi:"createTime"`
// Time at which the `Rollout` finished deploying.
DeployEndTime string `pulumi:"deployEndTime"`
// The reason this rollout failed. This will always be unspecified while the rollout is in progress.
DeployFailureCause string `pulumi:"deployFailureCause"`
// Time at which the `Rollout` started deploying.
DeployStartTime string `pulumi:"deployStartTime"`
// The resource name of the Cloud Build `Build` object that is used to deploy the Rollout. Format is `projects/{project}/locations/{location}/builds/{build}`.
DeployingBuild string `pulumi:"deployingBuild"`
// Description of the `Rollout` for user purposes. Max length is 255 characters.
Description string `pulumi:"description"`
// Time at which the `Rollout` was enqueued.
EnqueueTime string `pulumi:"enqueueTime"`
// This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
Etag string `pulumi:"etag"`
// Additional information about the rollout failure, if available.
FailureReason string `pulumi:"failureReason"`
// Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes.
Labels map[string]string `pulumi:"labels"`
// Metadata contains information about the rollout.
Metadata MetadataResponse `pulumi:"metadata"`
// Optional. Name of the `Rollout`. Format is `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/a-z{0,62}`.
Name string `pulumi:"name"`
// The phases that represent the workflows of this `Rollout`.
Phases []PhaseResponse `pulumi:"phases"`
// Name of the `Rollout` that is rolled back by this `Rollout`. Empty if this `Rollout` wasn't created as a rollback.
RollbackOfRollout string `pulumi:"rollbackOfRollout"`
// Names of `Rollouts` that rolled back this `Rollout`.
RolledBackByRollouts []string `pulumi:"rolledBackByRollouts"`
// Current state of the `Rollout`.
State string `pulumi:"state"`
// The ID of Target to which this `Rollout` is deploying.
TargetId string `pulumi:"targetId"`
// Unique identifier of the `Rollout`.
Uid string `pulumi:"uid"`
}
func LookupRolloutOutput(ctx *pulumi.Context, args LookupRolloutOutputArgs, opts ...pulumi.InvokeOption) LookupRolloutResultOutput {
return pulumi.ToOutputWithContext(context.Background(), args).
ApplyT(func(v interface{}) (LookupRolloutResult, error) {
args := v.(LookupRolloutArgs)
r, err := LookupRollout(ctx, &args, opts...)
var s LookupRolloutResult
if r != nil {
s = *r
}
return s, err
}).(LookupRolloutResultOutput)
}
type LookupRolloutOutputArgs struct {
DeliveryPipelineId pulumi.StringInput `pulumi:"deliveryPipelineId"`
Location pulumi.StringInput `pulumi:"location"`
Project pulumi.StringPtrInput `pulumi:"project"`
ReleaseId pulumi.StringInput `pulumi:"releaseId"`
RolloutId pulumi.StringInput `pulumi:"rolloutId"`
}
func (LookupRolloutOutputArgs) ElementType() reflect.Type {
return reflect.TypeOf((*LookupRolloutArgs)(nil)).Elem()
}
type LookupRolloutResultOutput struct{ *pulumi.OutputState }
func (LookupRolloutResultOutput) ElementType() reflect.Type {
return reflect.TypeOf((*LookupRolloutResult)(nil)).Elem()
}
func (o LookupRolloutResultOutput) ToLookupRolloutResultOutput() LookupRolloutResultOutput {
return o
}
func (o LookupRolloutResultOutput) ToLookupRolloutResultOutputWithContext(ctx context.Context) LookupRolloutResultOutput {
return o
}
// User annotations. These attributes can only be set and used by the user, and not by Cloud Deploy. See https://google.aip.dev/128#annotations for more details such as format and size limitations.
func (o LookupRolloutResultOutput) Annotations() pulumi.StringMapOutput {
return o.ApplyT(func(v LookupRolloutResult) map[string]string { return v.Annotations }).(pulumi.StringMapOutput)
}
// Approval state of the `Rollout`.
func (o LookupRolloutResultOutput) ApprovalState() pulumi.StringOutput {
return o.ApplyT(func(v LookupRolloutResult) string { return v.ApprovalState }).(pulumi.StringOutput)
}
// Time at which the `Rollout` was approved.
func (o LookupRolloutResultOutput) ApproveTime() pulumi.StringOutput {
return o.ApplyT(func(v LookupRolloutResult) string { return v.ApproveTime }).(pulumi.StringOutput)
}
// Name of the `ControllerRollout`. Format is `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/a-z{0,62}`.
func (o LookupRolloutResultOutput) ControllerRollout() pulumi.StringOutput {
return o.ApplyT(func(v LookupRolloutResult) string { return v.ControllerRollout }).(pulumi.StringOutput)
}
// Time at which the `Rollout` was created.
func (o LookupRolloutResultOutput) CreateTime() pulumi.StringOutput {
return o.ApplyT(func(v LookupRolloutResult) string { return v.CreateTime }).(pulumi.StringOutput)
}
// Time at which the `Rollout` finished deploying.
func (o LookupRolloutResultOutput) DeployEndTime() pulumi.StringOutput {
return o.ApplyT(func(v LookupRolloutResult) string { return v.DeployEndTime }).(pulumi.StringOutput)
}
// The reason this rollout failed. This will always be unspecified while the rollout is in progress.
func (o LookupRolloutResultOutput) DeployFailureCause() pulumi.StringOutput {
return o.ApplyT(func(v LookupRolloutResult) string { return v.DeployFailureCause }).(pulumi.StringOutput)
}
// Time at which the `Rollout` started deploying.
func (o LookupRolloutResultOutput) DeployStartTime() pulumi.StringOutput {
return o.ApplyT(func(v LookupRolloutResult) string { return v.DeployStartTime }).(pulumi.StringOutput)
}
// The resource name of the Cloud Build `Build` object that is used to deploy the Rollout. Format is `projects/{project}/locations/{location}/builds/{build}`.
func (o LookupRolloutResultOutput) DeployingBuild() pulumi.StringOutput {
return o.ApplyT(func(v LookupRolloutResult) string { return v.DeployingBuild }).(pulumi.StringOutput)
}
// Description of the `Rollout` for user purposes. Max length is 255 characters.
func (o LookupRolloutResultOutput) Description() pulumi.StringOutput {
return o.ApplyT(func(v LookupRolloutResult) string { return v.Description }).(pulumi.StringOutput)
}
// Time at which the `Rollout` was enqueued.
func (o LookupRolloutResultOutput) EnqueueTime() pulumi.StringOutput {
return o.ApplyT(func(v LookupRolloutResult) string { return v.EnqueueTime }).(pulumi.StringOutput)
}
// This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
func (o LookupRolloutResultOutput) Etag() pulumi.StringOutput {
return o.ApplyT(func(v LookupRolloutResult) string { return v.Etag }).(pulumi.StringOutput)
}
// Additional information about the rollout failure, if available.
func (o LookupRolloutResultOutput) FailureReason() pulumi.StringOutput {
return o.ApplyT(func(v LookupRolloutResult) string { return v.FailureReason }).(pulumi.StringOutput)
}
// Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes.
func (o LookupRolloutResultOutput) Labels() pulumi.StringMapOutput {
return o.ApplyT(func(v LookupRolloutResult) map[string]string { return v.Labels }).(pulumi.StringMapOutput)
}
// Metadata contains information about the rollout.
func (o LookupRolloutResultOutput) Metadata() MetadataResponseOutput {
return o.ApplyT(func(v LookupRolloutResult) MetadataResponse { return v.Metadata }).(MetadataResponseOutput)
}
// Optional. Name of the `Rollout`. Format is `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/a-z{0,62}`.
func (o LookupRolloutResultOutput) Name() pulumi.StringOutput {
return o.ApplyT(func(v LookupRolloutResult) string { return v.Name }).(pulumi.StringOutput)
}
// The phases that represent the workflows of this `Rollout`.
func (o LookupRolloutResultOutput) Phases() PhaseResponseArrayOutput {
return o.ApplyT(func(v LookupRolloutResult) []PhaseResponse { return v.Phases }).(PhaseResponseArrayOutput)
}
// Name of the `Rollout` that is rolled back by this `Rollout`. Empty if this `Rollout` wasn't created as a rollback.
func (o LookupRolloutResultOutput) RollbackOfRollout() pulumi.StringOutput {
return o.ApplyT(func(v LookupRolloutResult) string { return v.RollbackOfRollout }).(pulumi.StringOutput)
}
// Names of `Rollouts` that rolled back this `Rollout`.
func (o LookupRolloutResultOutput) RolledBackByRollouts() pulumi.StringArrayOutput {
return o.ApplyT(func(v LookupRolloutResult) []string { return v.RolledBackByRollouts }).(pulumi.StringArrayOutput)
}
// Current state of the `Rollout`.
func (o LookupRolloutResultOutput) State() pulumi.StringOutput {
return o.ApplyT(func(v LookupRolloutResult) string { return v.State }).(pulumi.StringOutput)
}
// The ID of Target to which this `Rollout` is deploying.
func (o LookupRolloutResultOutput) TargetId() pulumi.StringOutput {
return o.ApplyT(func(v LookupRolloutResult) string { return v.TargetId }).(pulumi.StringOutput)
}
// Unique identifier of the `Rollout`.
func (o LookupRolloutResultOutput) Uid() pulumi.StringOutput {
return o.ApplyT(func(v LookupRolloutResult) string { return v.Uid }).(pulumi.StringOutput)
}
func init() {
pulumi.RegisterOutputType(LookupRolloutResultOutput{})
}