/
workstationConfig.go
344 lines (296 loc) · 26.4 KB
/
workstationConfig.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
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
// 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"
"errors"
"github.com/pulumi/pulumi-google-native/sdk/go/google/internal"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
// Creates a new workstation configuration.
type WorkstationConfig struct {
pulumi.CustomResourceState
// Optional. Client-specified annotations.
Annotations pulumi.StringMapOutput `pulumi:"annotations"`
// Status conditions describing the current resource state.
Conditions StatusResponseArrayOutput `pulumi:"conditions"`
// Optional. Container that runs upon startup for each workstation using this workstation configuration.
Container ContainerResponseOutput `pulumi:"container"`
// Time when this workstation configuration was created.
CreateTime pulumi.StringOutput `pulumi:"createTime"`
// Whether this resource is degraded, in which case it may require user action to restore full functionality. See also the conditions field.
Degraded pulumi.BoolOutput `pulumi:"degraded"`
// Time when this workstation configuration was soft-deleted.
DeleteTime pulumi.StringOutput `pulumi:"deleteTime"`
// Optional. Human-readable name for this workstation configuration.
DisplayName pulumi.StringOutput `pulumi:"displayName"`
// Immutable. Encrypts resources of this workstation configuration using a customer-managed encryption key (CMEK). If specified, the boot disk of the Compute Engine instance and the persistent disk are encrypted using this encryption key. If this field is not set, the disks are encrypted using a generated key. Customer-managed encryption keys do not protect disk metadata. If the customer-managed encryption key is rotated, when the workstation instance is stopped, the system attempts to recreate the persistent disk with the new version of the key. Be sure to keep older versions of the key until the persistent disk is recreated. Otherwise, data on the persistent disk might be lost. If the encryption key is revoked, the workstation session automatically stops within 7 hours. Immutable after the workstation configuration is created.
EncryptionKey CustomerEncryptionKeyResponseOutput `pulumi:"encryptionKey"`
// Optional. Checksum computed by the server. May be sent on update and delete requests to make sure that the client has an up-to-date value before proceeding.
Etag pulumi.StringOutput `pulumi:"etag"`
// Optional. Runtime host for the workstation.
Host HostResponseOutput `pulumi:"host"`
// Optional. Number of seconds to wait before automatically stopping a workstation after it last received user traffic. A value of `"0s"` indicates that Cloud Workstations VMs created with this configuration should never time out due to idleness. Provide [duration](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration) terminated by `s` for seconds—for example, `"7200s"` (2 hours). The default is `"1200s"` (20 minutes).
IdleTimeout pulumi.StringOutput `pulumi:"idleTimeout"`
// Optional. [Labels](https://cloud.google.com/workstations/docs/label-resources) that are applied to the workstation configuration and that are also propagated to the underlying Compute Engine resources.
Labels pulumi.StringMapOutput `pulumi:"labels"`
Location pulumi.StringOutput `pulumi:"location"`
// Identifier. Full name of this workstation configuration.
Name pulumi.StringOutput `pulumi:"name"`
// Optional. Directories to persist across workstation sessions.
PersistentDirectories PersistentDirectoryResponseArrayOutput `pulumi:"persistentDirectories"`
Project pulumi.StringOutput `pulumi:"project"`
// Optional. Readiness checks to perform when starting a workstation using this workstation configuration. Mark a workstation as running only after all specified readiness checks return 200 status codes.
ReadinessChecks ReadinessCheckResponseArrayOutput `pulumi:"readinessChecks"`
// Indicates whether this workstation configuration is currently being updated to match its intended state.
Reconciling pulumi.BoolOutput `pulumi:"reconciling"`
// Optional. Immutable. Specifies the zones used to replicate the VM and disk resources within the region. If set, exactly two zones within the workstation cluster's region must be specified—for example, `['us-central1-a', 'us-central1-f']`. If this field is empty, two default zones within the region are used. Immutable after the workstation configuration is created.
ReplicaZones pulumi.StringArrayOutput `pulumi:"replicaZones"`
// Optional. Number of seconds that a workstation can run until it is automatically shut down. We recommend that workstations be shut down daily to reduce costs and so that security updates can be applied upon restart. The idle_timeout and running_timeout fields are independent of each other. Note that the running_timeout field shuts down VMs after the specified time, regardless of whether or not the VMs are idle. Provide duration terminated by `s` for seconds—for example, `"54000s"` (15 hours). Defaults to `"43200s"` (12 hours). A value of `"0s"` indicates that workstations using this configuration should never time out. If encryption_key is set, it must be greater than `"0s"` and less than `"86400s"` (24 hours). Warning: A value of `"0s"` indicates that Cloud Workstations VMs created with this configuration have no maximum running time. This is strongly discouraged because you incur costs and will not pick up security updates.
RunningTimeout pulumi.StringOutput `pulumi:"runningTimeout"`
// A system-assigned unique identifier for this workstation configuration.
Uid pulumi.StringOutput `pulumi:"uid"`
// Time when this workstation configuration was most recently updated.
UpdateTime pulumi.StringOutput `pulumi:"updateTime"`
WorkstationClusterId pulumi.StringOutput `pulumi:"workstationClusterId"`
// Required. ID to use for the workstation configuration.
WorkstationConfigId pulumi.StringOutput `pulumi:"workstationConfigId"`
}
// NewWorkstationConfig registers a new resource with the given unique name, arguments, and options.
func NewWorkstationConfig(ctx *pulumi.Context,
name string, args *WorkstationConfigArgs, opts ...pulumi.ResourceOption) (*WorkstationConfig, error) {
if args == nil {
return nil, errors.New("missing one or more required arguments")
}
if args.WorkstationClusterId == nil {
return nil, errors.New("invalid value for required argument 'WorkstationClusterId'")
}
if args.WorkstationConfigId == nil {
return nil, errors.New("invalid value for required argument 'WorkstationConfigId'")
}
replaceOnChanges := pulumi.ReplaceOnChanges([]string{
"location",
"project",
"workstationClusterId",
"workstationConfigId",
})
opts = append(opts, replaceOnChanges)
opts = internal.PkgResourceDefaultOpts(opts)
var resource WorkstationConfig
err := ctx.RegisterResource("google-native:workstations/v1:WorkstationConfig", name, args, &resource, opts...)
if err != nil {
return nil, err
}
return &resource, nil
}
// GetWorkstationConfig gets an existing WorkstationConfig resource's state with the given name, ID, and optional
// state properties that are used to uniquely qualify the lookup (nil if not required).
func GetWorkstationConfig(ctx *pulumi.Context,
name string, id pulumi.IDInput, state *WorkstationConfigState, opts ...pulumi.ResourceOption) (*WorkstationConfig, error) {
var resource WorkstationConfig
err := ctx.ReadResource("google-native:workstations/v1:WorkstationConfig", name, id, state, &resource, opts...)
if err != nil {
return nil, err
}
return &resource, nil
}
// Input properties used for looking up and filtering WorkstationConfig resources.
type workstationConfigState struct {
}
type WorkstationConfigState struct {
}
func (WorkstationConfigState) ElementType() reflect.Type {
return reflect.TypeOf((*workstationConfigState)(nil)).Elem()
}
type workstationConfigArgs struct {
// Optional. Client-specified annotations.
Annotations map[string]string `pulumi:"annotations"`
// Optional. Container that runs upon startup for each workstation using this workstation configuration.
Container *Container `pulumi:"container"`
// Optional. Human-readable name for this workstation configuration.
DisplayName *string `pulumi:"displayName"`
// Immutable. Encrypts resources of this workstation configuration using a customer-managed encryption key (CMEK). If specified, the boot disk of the Compute Engine instance and the persistent disk are encrypted using this encryption key. If this field is not set, the disks are encrypted using a generated key. Customer-managed encryption keys do not protect disk metadata. If the customer-managed encryption key is rotated, when the workstation instance is stopped, the system attempts to recreate the persistent disk with the new version of the key. Be sure to keep older versions of the key until the persistent disk is recreated. Otherwise, data on the persistent disk might be lost. If the encryption key is revoked, the workstation session automatically stops within 7 hours. Immutable after the workstation configuration is created.
EncryptionKey *CustomerEncryptionKey `pulumi:"encryptionKey"`
// Optional. Checksum computed by the server. May be sent on update and delete requests to make sure that the client has an up-to-date value before proceeding.
Etag *string `pulumi:"etag"`
// Optional. Runtime host for the workstation.
Host *Host `pulumi:"host"`
// Optional. Number of seconds to wait before automatically stopping a workstation after it last received user traffic. A value of `"0s"` indicates that Cloud Workstations VMs created with this configuration should never time out due to idleness. Provide [duration](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration) terminated by `s` for seconds—for example, `"7200s"` (2 hours). The default is `"1200s"` (20 minutes).
IdleTimeout *string `pulumi:"idleTimeout"`
// Optional. [Labels](https://cloud.google.com/workstations/docs/label-resources) that are applied to the workstation configuration and that are also propagated to the underlying Compute Engine resources.
Labels map[string]string `pulumi:"labels"`
Location *string `pulumi:"location"`
// Identifier. Full name of this workstation configuration.
Name *string `pulumi:"name"`
// Optional. Directories to persist across workstation sessions.
PersistentDirectories []PersistentDirectory `pulumi:"persistentDirectories"`
Project *string `pulumi:"project"`
// Optional. Readiness checks to perform when starting a workstation using this workstation configuration. Mark a workstation as running only after all specified readiness checks return 200 status codes.
ReadinessChecks []ReadinessCheck `pulumi:"readinessChecks"`
// Optional. Immutable. Specifies the zones used to replicate the VM and disk resources within the region. If set, exactly two zones within the workstation cluster's region must be specified—for example, `['us-central1-a', 'us-central1-f']`. If this field is empty, two default zones within the region are used. Immutable after the workstation configuration is created.
ReplicaZones []string `pulumi:"replicaZones"`
// Optional. Number of seconds that a workstation can run until it is automatically shut down. We recommend that workstations be shut down daily to reduce costs and so that security updates can be applied upon restart. The idle_timeout and running_timeout fields are independent of each other. Note that the running_timeout field shuts down VMs after the specified time, regardless of whether or not the VMs are idle. Provide duration terminated by `s` for seconds—for example, `"54000s"` (15 hours). Defaults to `"43200s"` (12 hours). A value of `"0s"` indicates that workstations using this configuration should never time out. If encryption_key is set, it must be greater than `"0s"` and less than `"86400s"` (24 hours). Warning: A value of `"0s"` indicates that Cloud Workstations VMs created with this configuration have no maximum running time. This is strongly discouraged because you incur costs and will not pick up security updates.
RunningTimeout *string `pulumi:"runningTimeout"`
WorkstationClusterId string `pulumi:"workstationClusterId"`
// Required. ID to use for the workstation configuration.
WorkstationConfigId string `pulumi:"workstationConfigId"`
}
// The set of arguments for constructing a WorkstationConfig resource.
type WorkstationConfigArgs struct {
// Optional. Client-specified annotations.
Annotations pulumi.StringMapInput
// Optional. Container that runs upon startup for each workstation using this workstation configuration.
Container ContainerPtrInput
// Optional. Human-readable name for this workstation configuration.
DisplayName pulumi.StringPtrInput
// Immutable. Encrypts resources of this workstation configuration using a customer-managed encryption key (CMEK). If specified, the boot disk of the Compute Engine instance and the persistent disk are encrypted using this encryption key. If this field is not set, the disks are encrypted using a generated key. Customer-managed encryption keys do not protect disk metadata. If the customer-managed encryption key is rotated, when the workstation instance is stopped, the system attempts to recreate the persistent disk with the new version of the key. Be sure to keep older versions of the key until the persistent disk is recreated. Otherwise, data on the persistent disk might be lost. If the encryption key is revoked, the workstation session automatically stops within 7 hours. Immutable after the workstation configuration is created.
EncryptionKey CustomerEncryptionKeyPtrInput
// Optional. Checksum computed by the server. May be sent on update and delete requests to make sure that the client has an up-to-date value before proceeding.
Etag pulumi.StringPtrInput
// Optional. Runtime host for the workstation.
Host HostPtrInput
// Optional. Number of seconds to wait before automatically stopping a workstation after it last received user traffic. A value of `"0s"` indicates that Cloud Workstations VMs created with this configuration should never time out due to idleness. Provide [duration](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration) terminated by `s` for seconds—for example, `"7200s"` (2 hours). The default is `"1200s"` (20 minutes).
IdleTimeout pulumi.StringPtrInput
// Optional. [Labels](https://cloud.google.com/workstations/docs/label-resources) that are applied to the workstation configuration and that are also propagated to the underlying Compute Engine resources.
Labels pulumi.StringMapInput
Location pulumi.StringPtrInput
// Identifier. Full name of this workstation configuration.
Name pulumi.StringPtrInput
// Optional. Directories to persist across workstation sessions.
PersistentDirectories PersistentDirectoryArrayInput
Project pulumi.StringPtrInput
// Optional. Readiness checks to perform when starting a workstation using this workstation configuration. Mark a workstation as running only after all specified readiness checks return 200 status codes.
ReadinessChecks ReadinessCheckArrayInput
// Optional. Immutable. Specifies the zones used to replicate the VM and disk resources within the region. If set, exactly two zones within the workstation cluster's region must be specified—for example, `['us-central1-a', 'us-central1-f']`. If this field is empty, two default zones within the region are used. Immutable after the workstation configuration is created.
ReplicaZones pulumi.StringArrayInput
// Optional. Number of seconds that a workstation can run until it is automatically shut down. We recommend that workstations be shut down daily to reduce costs and so that security updates can be applied upon restart. The idle_timeout and running_timeout fields are independent of each other. Note that the running_timeout field shuts down VMs after the specified time, regardless of whether or not the VMs are idle. Provide duration terminated by `s` for seconds—for example, `"54000s"` (15 hours). Defaults to `"43200s"` (12 hours). A value of `"0s"` indicates that workstations using this configuration should never time out. If encryption_key is set, it must be greater than `"0s"` and less than `"86400s"` (24 hours). Warning: A value of `"0s"` indicates that Cloud Workstations VMs created with this configuration have no maximum running time. This is strongly discouraged because you incur costs and will not pick up security updates.
RunningTimeout pulumi.StringPtrInput
WorkstationClusterId pulumi.StringInput
// Required. ID to use for the workstation configuration.
WorkstationConfigId pulumi.StringInput
}
func (WorkstationConfigArgs) ElementType() reflect.Type {
return reflect.TypeOf((*workstationConfigArgs)(nil)).Elem()
}
type WorkstationConfigInput interface {
pulumi.Input
ToWorkstationConfigOutput() WorkstationConfigOutput
ToWorkstationConfigOutputWithContext(ctx context.Context) WorkstationConfigOutput
}
func (*WorkstationConfig) ElementType() reflect.Type {
return reflect.TypeOf((**WorkstationConfig)(nil)).Elem()
}
func (i *WorkstationConfig) ToWorkstationConfigOutput() WorkstationConfigOutput {
return i.ToWorkstationConfigOutputWithContext(context.Background())
}
func (i *WorkstationConfig) ToWorkstationConfigOutputWithContext(ctx context.Context) WorkstationConfigOutput {
return pulumi.ToOutputWithContext(ctx, i).(WorkstationConfigOutput)
}
type WorkstationConfigOutput struct{ *pulumi.OutputState }
func (WorkstationConfigOutput) ElementType() reflect.Type {
return reflect.TypeOf((**WorkstationConfig)(nil)).Elem()
}
func (o WorkstationConfigOutput) ToWorkstationConfigOutput() WorkstationConfigOutput {
return o
}
func (o WorkstationConfigOutput) ToWorkstationConfigOutputWithContext(ctx context.Context) WorkstationConfigOutput {
return o
}
// Optional. Client-specified annotations.
func (o WorkstationConfigOutput) Annotations() pulumi.StringMapOutput {
return o.ApplyT(func(v *WorkstationConfig) pulumi.StringMapOutput { return v.Annotations }).(pulumi.StringMapOutput)
}
// Status conditions describing the current resource state.
func (o WorkstationConfigOutput) Conditions() StatusResponseArrayOutput {
return o.ApplyT(func(v *WorkstationConfig) StatusResponseArrayOutput { return v.Conditions }).(StatusResponseArrayOutput)
}
// Optional. Container that runs upon startup for each workstation using this workstation configuration.
func (o WorkstationConfigOutput) Container() ContainerResponseOutput {
return o.ApplyT(func(v *WorkstationConfig) ContainerResponseOutput { return v.Container }).(ContainerResponseOutput)
}
// Time when this workstation configuration was created.
func (o WorkstationConfigOutput) CreateTime() pulumi.StringOutput {
return o.ApplyT(func(v *WorkstationConfig) pulumi.StringOutput { return v.CreateTime }).(pulumi.StringOutput)
}
// Whether this resource is degraded, in which case it may require user action to restore full functionality. See also the conditions field.
func (o WorkstationConfigOutput) Degraded() pulumi.BoolOutput {
return o.ApplyT(func(v *WorkstationConfig) pulumi.BoolOutput { return v.Degraded }).(pulumi.BoolOutput)
}
// Time when this workstation configuration was soft-deleted.
func (o WorkstationConfigOutput) DeleteTime() pulumi.StringOutput {
return o.ApplyT(func(v *WorkstationConfig) pulumi.StringOutput { return v.DeleteTime }).(pulumi.StringOutput)
}
// Optional. Human-readable name for this workstation configuration.
func (o WorkstationConfigOutput) DisplayName() pulumi.StringOutput {
return o.ApplyT(func(v *WorkstationConfig) pulumi.StringOutput { return v.DisplayName }).(pulumi.StringOutput)
}
// Immutable. Encrypts resources of this workstation configuration using a customer-managed encryption key (CMEK). If specified, the boot disk of the Compute Engine instance and the persistent disk are encrypted using this encryption key. If this field is not set, the disks are encrypted using a generated key. Customer-managed encryption keys do not protect disk metadata. If the customer-managed encryption key is rotated, when the workstation instance is stopped, the system attempts to recreate the persistent disk with the new version of the key. Be sure to keep older versions of the key until the persistent disk is recreated. Otherwise, data on the persistent disk might be lost. If the encryption key is revoked, the workstation session automatically stops within 7 hours. Immutable after the workstation configuration is created.
func (o WorkstationConfigOutput) EncryptionKey() CustomerEncryptionKeyResponseOutput {
return o.ApplyT(func(v *WorkstationConfig) CustomerEncryptionKeyResponseOutput { return v.EncryptionKey }).(CustomerEncryptionKeyResponseOutput)
}
// Optional. Checksum computed by the server. May be sent on update and delete requests to make sure that the client has an up-to-date value before proceeding.
func (o WorkstationConfigOutput) Etag() pulumi.StringOutput {
return o.ApplyT(func(v *WorkstationConfig) pulumi.StringOutput { return v.Etag }).(pulumi.StringOutput)
}
// Optional. Runtime host for the workstation.
func (o WorkstationConfigOutput) Host() HostResponseOutput {
return o.ApplyT(func(v *WorkstationConfig) HostResponseOutput { return v.Host }).(HostResponseOutput)
}
// Optional. Number of seconds to wait before automatically stopping a workstation after it last received user traffic. A value of `"0s"` indicates that Cloud Workstations VMs created with this configuration should never time out due to idleness. Provide [duration](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration) terminated by `s` for seconds—for example, `"7200s"` (2 hours). The default is `"1200s"` (20 minutes).
func (o WorkstationConfigOutput) IdleTimeout() pulumi.StringOutput {
return o.ApplyT(func(v *WorkstationConfig) pulumi.StringOutput { return v.IdleTimeout }).(pulumi.StringOutput)
}
// Optional. [Labels](https://cloud.google.com/workstations/docs/label-resources) that are applied to the workstation configuration and that are also propagated to the underlying Compute Engine resources.
func (o WorkstationConfigOutput) Labels() pulumi.StringMapOutput {
return o.ApplyT(func(v *WorkstationConfig) pulumi.StringMapOutput { return v.Labels }).(pulumi.StringMapOutput)
}
func (o WorkstationConfigOutput) Location() pulumi.StringOutput {
return o.ApplyT(func(v *WorkstationConfig) pulumi.StringOutput { return v.Location }).(pulumi.StringOutput)
}
// Identifier. Full name of this workstation configuration.
func (o WorkstationConfigOutput) Name() pulumi.StringOutput {
return o.ApplyT(func(v *WorkstationConfig) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput)
}
// Optional. Directories to persist across workstation sessions.
func (o WorkstationConfigOutput) PersistentDirectories() PersistentDirectoryResponseArrayOutput {
return o.ApplyT(func(v *WorkstationConfig) PersistentDirectoryResponseArrayOutput { return v.PersistentDirectories }).(PersistentDirectoryResponseArrayOutput)
}
func (o WorkstationConfigOutput) Project() pulumi.StringOutput {
return o.ApplyT(func(v *WorkstationConfig) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput)
}
// Optional. Readiness checks to perform when starting a workstation using this workstation configuration. Mark a workstation as running only after all specified readiness checks return 200 status codes.
func (o WorkstationConfigOutput) ReadinessChecks() ReadinessCheckResponseArrayOutput {
return o.ApplyT(func(v *WorkstationConfig) ReadinessCheckResponseArrayOutput { return v.ReadinessChecks }).(ReadinessCheckResponseArrayOutput)
}
// Indicates whether this workstation configuration is currently being updated to match its intended state.
func (o WorkstationConfigOutput) Reconciling() pulumi.BoolOutput {
return o.ApplyT(func(v *WorkstationConfig) pulumi.BoolOutput { return v.Reconciling }).(pulumi.BoolOutput)
}
// Optional. Immutable. Specifies the zones used to replicate the VM and disk resources within the region. If set, exactly two zones within the workstation cluster's region must be specified—for example, `['us-central1-a', 'us-central1-f']`. If this field is empty, two default zones within the region are used. Immutable after the workstation configuration is created.
func (o WorkstationConfigOutput) ReplicaZones() pulumi.StringArrayOutput {
return o.ApplyT(func(v *WorkstationConfig) pulumi.StringArrayOutput { return v.ReplicaZones }).(pulumi.StringArrayOutput)
}
// Optional. Number of seconds that a workstation can run until it is automatically shut down. We recommend that workstations be shut down daily to reduce costs and so that security updates can be applied upon restart. The idle_timeout and running_timeout fields are independent of each other. Note that the running_timeout field shuts down VMs after the specified time, regardless of whether or not the VMs are idle. Provide duration terminated by `s` for seconds—for example, `"54000s"` (15 hours). Defaults to `"43200s"` (12 hours). A value of `"0s"` indicates that workstations using this configuration should never time out. If encryption_key is set, it must be greater than `"0s"` and less than `"86400s"` (24 hours). Warning: A value of `"0s"` indicates that Cloud Workstations VMs created with this configuration have no maximum running time. This is strongly discouraged because you incur costs and will not pick up security updates.
func (o WorkstationConfigOutput) RunningTimeout() pulumi.StringOutput {
return o.ApplyT(func(v *WorkstationConfig) pulumi.StringOutput { return v.RunningTimeout }).(pulumi.StringOutput)
}
// A system-assigned unique identifier for this workstation configuration.
func (o WorkstationConfigOutput) Uid() pulumi.StringOutput {
return o.ApplyT(func(v *WorkstationConfig) pulumi.StringOutput { return v.Uid }).(pulumi.StringOutput)
}
// Time when this workstation configuration was most recently updated.
func (o WorkstationConfigOutput) UpdateTime() pulumi.StringOutput {
return o.ApplyT(func(v *WorkstationConfig) pulumi.StringOutput { return v.UpdateTime }).(pulumi.StringOutput)
}
func (o WorkstationConfigOutput) WorkstationClusterId() pulumi.StringOutput {
return o.ApplyT(func(v *WorkstationConfig) pulumi.StringOutput { return v.WorkstationClusterId }).(pulumi.StringOutput)
}
// Required. ID to use for the workstation configuration.
func (o WorkstationConfigOutput) WorkstationConfigId() pulumi.StringOutput {
return o.ApplyT(func(v *WorkstationConfig) pulumi.StringOutput { return v.WorkstationConfigId }).(pulumi.StringOutput)
}
func init() {
pulumi.RegisterInputType(reflect.TypeOf((*WorkstationConfigInput)(nil)).Elem(), &WorkstationConfig{})
pulumi.RegisterOutputType(WorkstationConfigOutput{})
}