pulumi-gcp 7.15.0a1711038061__py3-none-any.whl → 7.16.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. pulumi_gcp/__init__.py +102 -0
  2. pulumi_gcp/accesscontextmanager/__init__.py +1 -0
  3. pulumi_gcp/accesscontextmanager/_inputs.py +74 -58
  4. pulumi_gcp/accesscontextmanager/outputs.py +74 -58
  5. pulumi_gcp/accesscontextmanager/service_perimeter.py +0 -2
  6. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_resource.py +345 -0
  7. pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +80 -0
  8. pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +86 -0
  9. pulumi_gcp/accesscontextmanager/service_perimeter_resource.py +4 -2
  10. pulumi_gcp/apphub/__init__.py +15 -0
  11. pulumi_gcp/apphub/_inputs.py +1016 -0
  12. pulumi_gcp/apphub/application.py +775 -0
  13. pulumi_gcp/apphub/get_discovered_service.py +180 -0
  14. pulumi_gcp/apphub/get_discovered_workload.py +180 -0
  15. pulumi_gcp/apphub/outputs.py +1206 -0
  16. pulumi_gcp/apphub/service.py +1121 -0
  17. pulumi_gcp/apphub/service_project_attachment.py +516 -0
  18. pulumi_gcp/apphub/workload.py +1197 -0
  19. pulumi_gcp/cloudquota/__init__.py +10 -0
  20. pulumi_gcp/cloudquota/get_s_quota_info.py +322 -0
  21. pulumi_gcp/cloudquota/get_s_quota_infos.py +136 -0
  22. pulumi_gcp/cloudquota/outputs.py +375 -0
  23. pulumi_gcp/cloudrunv2/_inputs.py +85 -4
  24. pulumi_gcp/cloudrunv2/get_service.py +11 -1
  25. pulumi_gcp/cloudrunv2/outputs.py +165 -6
  26. pulumi_gcp/cloudrunv2/service.py +60 -6
  27. pulumi_gcp/composer/_inputs.py +16 -0
  28. pulumi_gcp/composer/outputs.py +23 -0
  29. pulumi_gcp/compute/_inputs.py +109 -11
  30. pulumi_gcp/compute/outputs.py +144 -13
  31. pulumi_gcp/compute/region_network_endpoint_group.py +30 -0
  32. pulumi_gcp/compute/region_url_map.py +152 -0
  33. pulumi_gcp/config/__init__.pyi +4 -0
  34. pulumi_gcp/config/vars.py +8 -0
  35. pulumi_gcp/dataform/repository.py +4 -74
  36. pulumi_gcp/firebase/__init__.py +1 -0
  37. pulumi_gcp/firebase/android_app.py +41 -40
  38. pulumi_gcp/firebase/app_check_device_check_config.py +572 -0
  39. pulumi_gcp/firestore/_inputs.py +69 -0
  40. pulumi_gcp/firestore/database.py +206 -0
  41. pulumi_gcp/firestore/index.py +34 -48
  42. pulumi_gcp/firestore/outputs.py +80 -0
  43. pulumi_gcp/gkeonprem/_inputs.py +1 -3
  44. pulumi_gcp/gkeonprem/outputs.py +1 -3
  45. pulumi_gcp/gkeonprem/v_mware_cluster.py +2 -0
  46. pulumi_gcp/iap/__init__.py +5 -0
  47. pulumi_gcp/iap/_inputs.py +100 -0
  48. pulumi_gcp/iap/get_tunnel_dest_group_iam_policy.py +172 -0
  49. pulumi_gcp/iap/outputs.py +76 -0
  50. pulumi_gcp/iap/tunnel_dest_group.py +524 -0
  51. pulumi_gcp/iap/tunnel_dest_group_iam_binding.py +858 -0
  52. pulumi_gcp/iap/tunnel_dest_group_iam_member.py +858 -0
  53. pulumi_gcp/iap/tunnel_dest_group_iam_policy.py +760 -0
  54. pulumi_gcp/kms/__init__.py +1 -0
  55. pulumi_gcp/kms/_inputs.py +246 -0
  56. pulumi_gcp/kms/ekm_connection.py +610 -0
  57. pulumi_gcp/kms/outputs.py +242 -0
  58. pulumi_gcp/monitoring/_inputs.py +2 -0
  59. pulumi_gcp/monitoring/outputs.py +2 -0
  60. pulumi_gcp/networksecurity/__init__.py +1 -0
  61. pulumi_gcp/networksecurity/firewall_endpoint.py +48 -0
  62. pulumi_gcp/networksecurity/firewall_endpoint_association.py +753 -0
  63. pulumi_gcp/notebooks/instance.py +8 -0
  64. pulumi_gcp/orgpolicy/policy.py +2 -2
  65. pulumi_gcp/provider.py +40 -0
  66. pulumi_gcp/pubsub/_inputs.py +108 -0
  67. pulumi_gcp/pubsub/get_topic.py +11 -1
  68. pulumi_gcp/pubsub/outputs.py +213 -0
  69. pulumi_gcp/pubsub/subscription.py +4 -4
  70. pulumi_gcp/pubsub/topic.py +92 -0
  71. pulumi_gcp/securityposture/posture.py +2 -2
  72. pulumi_gcp/securityposture/posture_deployment.py +2 -2
  73. pulumi_gcp/storage/_inputs.py +72 -15
  74. pulumi_gcp/storage/bucket.py +54 -0
  75. pulumi_gcp/storage/get_bucket.py +11 -1
  76. pulumi_gcp/storage/outputs.py +110 -14
  77. pulumi_gcp/workstations/_inputs.py +247 -4
  78. pulumi_gcp/workstations/outputs.py +261 -5
  79. pulumi_gcp/workstations/workstation_config.py +160 -0
  80. {pulumi_gcp-7.15.0a1711038061.dist-info → pulumi_gcp-7.16.0.dist-info}/METADATA +1 -1
  81. {pulumi_gcp-7.15.0a1711038061.dist-info → pulumi_gcp-7.16.0.dist-info}/RECORD +83 -61
  82. {pulumi_gcp-7.15.0a1711038061.dist-info → pulumi_gcp-7.16.0.dist-info}/WHEEL +0 -0
  83. {pulumi_gcp-7.15.0a1711038061.dist-info → pulumi_gcp-7.16.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1197 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import pulumi
8
+ import pulumi.runtime
9
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
10
+ from .. import _utilities
11
+ from . import outputs
12
+ from ._inputs import *
13
+
14
+ __all__ = ['WorkloadArgs', 'Workload']
15
+
16
+ @pulumi.input_type
17
+ class WorkloadArgs:
18
+ def __init__(__self__, *,
19
+ application_id: pulumi.Input[str],
20
+ discovered_workload: pulumi.Input[str],
21
+ location: pulumi.Input[str],
22
+ workload_id: pulumi.Input[str],
23
+ attributes: Optional[pulumi.Input['WorkloadAttributesArgs']] = None,
24
+ description: Optional[pulumi.Input[str]] = None,
25
+ display_name: Optional[pulumi.Input[str]] = None,
26
+ project: Optional[pulumi.Input[str]] = None):
27
+ """
28
+ The set of arguments for constructing a Workload resource.
29
+ :param pulumi.Input[str] application_id: Part of `parent`. Full resource name of a parent Application. Example: projects/{HOST_PROJECT_ID}/locations/{LOCATION}/applications/{APPLICATION_ID}
30
+ :param pulumi.Input[str] discovered_workload: Immutable. The resource name of the original discovered workload.
31
+ :param pulumi.Input[str] location: Part of `parent`. Full resource name of a parent Application. Example: projects/{HOST_PROJECT_ID}/locations/{LOCATION}/applications/{APPLICATION_ID}
32
+ :param pulumi.Input[str] workload_id: The Workload identifier.
33
+
34
+
35
+ - - -
36
+ :param pulumi.Input['WorkloadAttributesArgs'] attributes: Consumer provided attributes.
37
+ Structure is documented below.
38
+ :param pulumi.Input[str] description: User-defined description of a Workload.
39
+ :param pulumi.Input[str] display_name: User-defined name for the Workload.
40
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
41
+ If it is not provided, the provider project is used.
42
+ """
43
+ pulumi.set(__self__, "application_id", application_id)
44
+ pulumi.set(__self__, "discovered_workload", discovered_workload)
45
+ pulumi.set(__self__, "location", location)
46
+ pulumi.set(__self__, "workload_id", workload_id)
47
+ if attributes is not None:
48
+ pulumi.set(__self__, "attributes", attributes)
49
+ if description is not None:
50
+ pulumi.set(__self__, "description", description)
51
+ if display_name is not None:
52
+ pulumi.set(__self__, "display_name", display_name)
53
+ if project is not None:
54
+ pulumi.set(__self__, "project", project)
55
+
56
+ @property
57
+ @pulumi.getter(name="applicationId")
58
+ def application_id(self) -> pulumi.Input[str]:
59
+ """
60
+ Part of `parent`. Full resource name of a parent Application. Example: projects/{HOST_PROJECT_ID}/locations/{LOCATION}/applications/{APPLICATION_ID}
61
+ """
62
+ return pulumi.get(self, "application_id")
63
+
64
+ @application_id.setter
65
+ def application_id(self, value: pulumi.Input[str]):
66
+ pulumi.set(self, "application_id", value)
67
+
68
+ @property
69
+ @pulumi.getter(name="discoveredWorkload")
70
+ def discovered_workload(self) -> pulumi.Input[str]:
71
+ """
72
+ Immutable. The resource name of the original discovered workload.
73
+ """
74
+ return pulumi.get(self, "discovered_workload")
75
+
76
+ @discovered_workload.setter
77
+ def discovered_workload(self, value: pulumi.Input[str]):
78
+ pulumi.set(self, "discovered_workload", value)
79
+
80
+ @property
81
+ @pulumi.getter
82
+ def location(self) -> pulumi.Input[str]:
83
+ """
84
+ Part of `parent`. Full resource name of a parent Application. Example: projects/{HOST_PROJECT_ID}/locations/{LOCATION}/applications/{APPLICATION_ID}
85
+ """
86
+ return pulumi.get(self, "location")
87
+
88
+ @location.setter
89
+ def location(self, value: pulumi.Input[str]):
90
+ pulumi.set(self, "location", value)
91
+
92
+ @property
93
+ @pulumi.getter(name="workloadId")
94
+ def workload_id(self) -> pulumi.Input[str]:
95
+ """
96
+ The Workload identifier.
97
+
98
+
99
+ - - -
100
+ """
101
+ return pulumi.get(self, "workload_id")
102
+
103
+ @workload_id.setter
104
+ def workload_id(self, value: pulumi.Input[str]):
105
+ pulumi.set(self, "workload_id", value)
106
+
107
+ @property
108
+ @pulumi.getter
109
+ def attributes(self) -> Optional[pulumi.Input['WorkloadAttributesArgs']]:
110
+ """
111
+ Consumer provided attributes.
112
+ Structure is documented below.
113
+ """
114
+ return pulumi.get(self, "attributes")
115
+
116
+ @attributes.setter
117
+ def attributes(self, value: Optional[pulumi.Input['WorkloadAttributesArgs']]):
118
+ pulumi.set(self, "attributes", value)
119
+
120
+ @property
121
+ @pulumi.getter
122
+ def description(self) -> Optional[pulumi.Input[str]]:
123
+ """
124
+ User-defined description of a Workload.
125
+ """
126
+ return pulumi.get(self, "description")
127
+
128
+ @description.setter
129
+ def description(self, value: Optional[pulumi.Input[str]]):
130
+ pulumi.set(self, "description", value)
131
+
132
+ @property
133
+ @pulumi.getter(name="displayName")
134
+ def display_name(self) -> Optional[pulumi.Input[str]]:
135
+ """
136
+ User-defined name for the Workload.
137
+ """
138
+ return pulumi.get(self, "display_name")
139
+
140
+ @display_name.setter
141
+ def display_name(self, value: Optional[pulumi.Input[str]]):
142
+ pulumi.set(self, "display_name", value)
143
+
144
+ @property
145
+ @pulumi.getter
146
+ def project(self) -> Optional[pulumi.Input[str]]:
147
+ """
148
+ The ID of the project in which the resource belongs.
149
+ If it is not provided, the provider project is used.
150
+ """
151
+ return pulumi.get(self, "project")
152
+
153
+ @project.setter
154
+ def project(self, value: Optional[pulumi.Input[str]]):
155
+ pulumi.set(self, "project", value)
156
+
157
+
158
+ @pulumi.input_type
159
+ class _WorkloadState:
160
+ def __init__(__self__, *,
161
+ application_id: Optional[pulumi.Input[str]] = None,
162
+ attributes: Optional[pulumi.Input['WorkloadAttributesArgs']] = None,
163
+ create_time: Optional[pulumi.Input[str]] = None,
164
+ description: Optional[pulumi.Input[str]] = None,
165
+ discovered_workload: Optional[pulumi.Input[str]] = None,
166
+ display_name: Optional[pulumi.Input[str]] = None,
167
+ location: Optional[pulumi.Input[str]] = None,
168
+ name: Optional[pulumi.Input[str]] = None,
169
+ project: Optional[pulumi.Input[str]] = None,
170
+ state: Optional[pulumi.Input[str]] = None,
171
+ uid: Optional[pulumi.Input[str]] = None,
172
+ update_time: Optional[pulumi.Input[str]] = None,
173
+ workload_id: Optional[pulumi.Input[str]] = None,
174
+ workload_properties: Optional[pulumi.Input[Sequence[pulumi.Input['WorkloadWorkloadPropertyArgs']]]] = None,
175
+ workload_references: Optional[pulumi.Input[Sequence[pulumi.Input['WorkloadWorkloadReferenceArgs']]]] = None):
176
+ """
177
+ Input properties used for looking up and filtering Workload resources.
178
+ :param pulumi.Input[str] application_id: Part of `parent`. Full resource name of a parent Application. Example: projects/{HOST_PROJECT_ID}/locations/{LOCATION}/applications/{APPLICATION_ID}
179
+ :param pulumi.Input['WorkloadAttributesArgs'] attributes: Consumer provided attributes.
180
+ Structure is documented below.
181
+ :param pulumi.Input[str] create_time: Output only. Create time.
182
+ :param pulumi.Input[str] description: User-defined description of a Workload.
183
+ :param pulumi.Input[str] discovered_workload: Immutable. The resource name of the original discovered workload.
184
+ :param pulumi.Input[str] display_name: User-defined name for the Workload.
185
+ :param pulumi.Input[str] location: Part of `parent`. Full resource name of a parent Application. Example: projects/{HOST_PROJECT_ID}/locations/{LOCATION}/applications/{APPLICATION_ID}
186
+ :param pulumi.Input[str] name: Identifier. The resource name of the Workload. Format:"projects/{host-project-id}/locations/{location}/applications/{application-id}/workloads/{workload-id}"
187
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
188
+ If it is not provided, the provider project is used.
189
+ :param pulumi.Input[str] state: Output only. Workload state. Possible values: STATE_UNSPECIFIED CREATING ACTIVE DELETING DETACHED
190
+ :param pulumi.Input[str] uid: Output only. A universally unique identifier (UUID) for the `Workload` in the UUID4 format.
191
+ :param pulumi.Input[str] update_time: Output only. Update time.
192
+ :param pulumi.Input[str] workload_id: The Workload identifier.
193
+
194
+
195
+ - - -
196
+ :param pulumi.Input[Sequence[pulumi.Input['WorkloadWorkloadPropertyArgs']]] workload_properties: Properties of an underlying compute resource represented by the Workload.
197
+ Structure is documented below.
198
+ :param pulumi.Input[Sequence[pulumi.Input['WorkloadWorkloadReferenceArgs']]] workload_references: Reference of an underlying compute resource represented by the Workload.
199
+ Structure is documented below.
200
+ """
201
+ if application_id is not None:
202
+ pulumi.set(__self__, "application_id", application_id)
203
+ if attributes is not None:
204
+ pulumi.set(__self__, "attributes", attributes)
205
+ if create_time is not None:
206
+ pulumi.set(__self__, "create_time", create_time)
207
+ if description is not None:
208
+ pulumi.set(__self__, "description", description)
209
+ if discovered_workload is not None:
210
+ pulumi.set(__self__, "discovered_workload", discovered_workload)
211
+ if display_name is not None:
212
+ pulumi.set(__self__, "display_name", display_name)
213
+ if location is not None:
214
+ pulumi.set(__self__, "location", location)
215
+ if name is not None:
216
+ pulumi.set(__self__, "name", name)
217
+ if project is not None:
218
+ pulumi.set(__self__, "project", project)
219
+ if state is not None:
220
+ pulumi.set(__self__, "state", state)
221
+ if uid is not None:
222
+ pulumi.set(__self__, "uid", uid)
223
+ if update_time is not None:
224
+ pulumi.set(__self__, "update_time", update_time)
225
+ if workload_id is not None:
226
+ pulumi.set(__self__, "workload_id", workload_id)
227
+ if workload_properties is not None:
228
+ pulumi.set(__self__, "workload_properties", workload_properties)
229
+ if workload_references is not None:
230
+ pulumi.set(__self__, "workload_references", workload_references)
231
+
232
+ @property
233
+ @pulumi.getter(name="applicationId")
234
+ def application_id(self) -> Optional[pulumi.Input[str]]:
235
+ """
236
+ Part of `parent`. Full resource name of a parent Application. Example: projects/{HOST_PROJECT_ID}/locations/{LOCATION}/applications/{APPLICATION_ID}
237
+ """
238
+ return pulumi.get(self, "application_id")
239
+
240
+ @application_id.setter
241
+ def application_id(self, value: Optional[pulumi.Input[str]]):
242
+ pulumi.set(self, "application_id", value)
243
+
244
+ @property
245
+ @pulumi.getter
246
+ def attributes(self) -> Optional[pulumi.Input['WorkloadAttributesArgs']]:
247
+ """
248
+ Consumer provided attributes.
249
+ Structure is documented below.
250
+ """
251
+ return pulumi.get(self, "attributes")
252
+
253
+ @attributes.setter
254
+ def attributes(self, value: Optional[pulumi.Input['WorkloadAttributesArgs']]):
255
+ pulumi.set(self, "attributes", value)
256
+
257
+ @property
258
+ @pulumi.getter(name="createTime")
259
+ def create_time(self) -> Optional[pulumi.Input[str]]:
260
+ """
261
+ Output only. Create time.
262
+ """
263
+ return pulumi.get(self, "create_time")
264
+
265
+ @create_time.setter
266
+ def create_time(self, value: Optional[pulumi.Input[str]]):
267
+ pulumi.set(self, "create_time", value)
268
+
269
+ @property
270
+ @pulumi.getter
271
+ def description(self) -> Optional[pulumi.Input[str]]:
272
+ """
273
+ User-defined description of a Workload.
274
+ """
275
+ return pulumi.get(self, "description")
276
+
277
+ @description.setter
278
+ def description(self, value: Optional[pulumi.Input[str]]):
279
+ pulumi.set(self, "description", value)
280
+
281
+ @property
282
+ @pulumi.getter(name="discoveredWorkload")
283
+ def discovered_workload(self) -> Optional[pulumi.Input[str]]:
284
+ """
285
+ Immutable. The resource name of the original discovered workload.
286
+ """
287
+ return pulumi.get(self, "discovered_workload")
288
+
289
+ @discovered_workload.setter
290
+ def discovered_workload(self, value: Optional[pulumi.Input[str]]):
291
+ pulumi.set(self, "discovered_workload", value)
292
+
293
+ @property
294
+ @pulumi.getter(name="displayName")
295
+ def display_name(self) -> Optional[pulumi.Input[str]]:
296
+ """
297
+ User-defined name for the Workload.
298
+ """
299
+ return pulumi.get(self, "display_name")
300
+
301
+ @display_name.setter
302
+ def display_name(self, value: Optional[pulumi.Input[str]]):
303
+ pulumi.set(self, "display_name", value)
304
+
305
+ @property
306
+ @pulumi.getter
307
+ def location(self) -> Optional[pulumi.Input[str]]:
308
+ """
309
+ Part of `parent`. Full resource name of a parent Application. Example: projects/{HOST_PROJECT_ID}/locations/{LOCATION}/applications/{APPLICATION_ID}
310
+ """
311
+ return pulumi.get(self, "location")
312
+
313
+ @location.setter
314
+ def location(self, value: Optional[pulumi.Input[str]]):
315
+ pulumi.set(self, "location", value)
316
+
317
+ @property
318
+ @pulumi.getter
319
+ def name(self) -> Optional[pulumi.Input[str]]:
320
+ """
321
+ Identifier. The resource name of the Workload. Format:"projects/{host-project-id}/locations/{location}/applications/{application-id}/workloads/{workload-id}"
322
+ """
323
+ return pulumi.get(self, "name")
324
+
325
+ @name.setter
326
+ def name(self, value: Optional[pulumi.Input[str]]):
327
+ pulumi.set(self, "name", value)
328
+
329
+ @property
330
+ @pulumi.getter
331
+ def project(self) -> Optional[pulumi.Input[str]]:
332
+ """
333
+ The ID of the project in which the resource belongs.
334
+ If it is not provided, the provider project is used.
335
+ """
336
+ return pulumi.get(self, "project")
337
+
338
+ @project.setter
339
+ def project(self, value: Optional[pulumi.Input[str]]):
340
+ pulumi.set(self, "project", value)
341
+
342
+ @property
343
+ @pulumi.getter
344
+ def state(self) -> Optional[pulumi.Input[str]]:
345
+ """
346
+ Output only. Workload state. Possible values: STATE_UNSPECIFIED CREATING ACTIVE DELETING DETACHED
347
+ """
348
+ return pulumi.get(self, "state")
349
+
350
+ @state.setter
351
+ def state(self, value: Optional[pulumi.Input[str]]):
352
+ pulumi.set(self, "state", value)
353
+
354
+ @property
355
+ @pulumi.getter
356
+ def uid(self) -> Optional[pulumi.Input[str]]:
357
+ """
358
+ Output only. A universally unique identifier (UUID) for the `Workload` in the UUID4 format.
359
+ """
360
+ return pulumi.get(self, "uid")
361
+
362
+ @uid.setter
363
+ def uid(self, value: Optional[pulumi.Input[str]]):
364
+ pulumi.set(self, "uid", value)
365
+
366
+ @property
367
+ @pulumi.getter(name="updateTime")
368
+ def update_time(self) -> Optional[pulumi.Input[str]]:
369
+ """
370
+ Output only. Update time.
371
+ """
372
+ return pulumi.get(self, "update_time")
373
+
374
+ @update_time.setter
375
+ def update_time(self, value: Optional[pulumi.Input[str]]):
376
+ pulumi.set(self, "update_time", value)
377
+
378
+ @property
379
+ @pulumi.getter(name="workloadId")
380
+ def workload_id(self) -> Optional[pulumi.Input[str]]:
381
+ """
382
+ The Workload identifier.
383
+
384
+
385
+ - - -
386
+ """
387
+ return pulumi.get(self, "workload_id")
388
+
389
+ @workload_id.setter
390
+ def workload_id(self, value: Optional[pulumi.Input[str]]):
391
+ pulumi.set(self, "workload_id", value)
392
+
393
+ @property
394
+ @pulumi.getter(name="workloadProperties")
395
+ def workload_properties(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WorkloadWorkloadPropertyArgs']]]]:
396
+ """
397
+ Properties of an underlying compute resource represented by the Workload.
398
+ Structure is documented below.
399
+ """
400
+ return pulumi.get(self, "workload_properties")
401
+
402
+ @workload_properties.setter
403
+ def workload_properties(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WorkloadWorkloadPropertyArgs']]]]):
404
+ pulumi.set(self, "workload_properties", value)
405
+
406
+ @property
407
+ @pulumi.getter(name="workloadReferences")
408
+ def workload_references(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WorkloadWorkloadReferenceArgs']]]]:
409
+ """
410
+ Reference of an underlying compute resource represented by the Workload.
411
+ Structure is documented below.
412
+ """
413
+ return pulumi.get(self, "workload_references")
414
+
415
+ @workload_references.setter
416
+ def workload_references(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WorkloadWorkloadReferenceArgs']]]]):
417
+ pulumi.set(self, "workload_references", value)
418
+
419
+
420
+ class Workload(pulumi.CustomResource):
421
+ @overload
422
+ def __init__(__self__,
423
+ resource_name: str,
424
+ opts: Optional[pulumi.ResourceOptions] = None,
425
+ application_id: Optional[pulumi.Input[str]] = None,
426
+ attributes: Optional[pulumi.Input[pulumi.InputType['WorkloadAttributesArgs']]] = None,
427
+ description: Optional[pulumi.Input[str]] = None,
428
+ discovered_workload: Optional[pulumi.Input[str]] = None,
429
+ display_name: Optional[pulumi.Input[str]] = None,
430
+ location: Optional[pulumi.Input[str]] = None,
431
+ project: Optional[pulumi.Input[str]] = None,
432
+ workload_id: Optional[pulumi.Input[str]] = None,
433
+ __props__=None):
434
+ """
435
+ Workload represents a binary deployment (such as Managed Instance Groups (MIGs), GKE deployments, etc.) that performs the smallest logical subset of business functionality. It registers identified workload to the Application.
436
+
437
+ ## Example Usage
438
+
439
+ ### Apphub Workload Basic
440
+
441
+ <!--Start PulumiCodeChooser -->
442
+ ```python
443
+ import pulumi
444
+ import pulumi_gcp as gcp
445
+ import pulumi_std as std
446
+ import pulumi_time as time
447
+
448
+ application = gcp.apphub.Application("application",
449
+ location="us-central1",
450
+ application_id="example-application-1",
451
+ scope=gcp.apphub.ApplicationScopeArgs(
452
+ type="REGIONAL",
453
+ ))
454
+ service_project = gcp.organizations.Project("service_project",
455
+ project_id="project-1",
456
+ name="Service Project",
457
+ org_id="123456789",
458
+ billing_account="000000-0000000-0000000-000000")
459
+ # Enable Compute API
460
+ compute_service_project = gcp.projects.Service("compute_service_project",
461
+ project=service_project.project_id,
462
+ service="compute.googleapis.com")
463
+ wait120s = time.index.Sleep("wait_120s", create_duration=120s)
464
+ service_project_attachment = gcp.apphub.ServiceProjectAttachment("service_project_attachment", service_project_attachment_id=service_project.project_id)
465
+ # VPC network
466
+ ilb_network = gcp.compute.Network("ilb_network",
467
+ name="l7-ilb-network",
468
+ project=service_project.project_id,
469
+ auto_create_subnetworks=False)
470
+ # backend subnet
471
+ ilb_subnet = gcp.compute.Subnetwork("ilb_subnet",
472
+ name="l7-ilb-subnet",
473
+ project=service_project.project_id,
474
+ ip_cidr_range="10.0.1.0/24",
475
+ region="us-central1",
476
+ network=ilb_network.id)
477
+ # instance template
478
+ instance_template = gcp.compute.InstanceTemplate("instance_template",
479
+ network_interfaces=[gcp.compute.InstanceTemplateNetworkInterfaceArgs(
480
+ access_configs=[gcp.compute.InstanceTemplateNetworkInterfaceAccessConfigArgs()],
481
+ network=ilb_network.id,
482
+ subnetwork=ilb_subnet.id,
483
+ )],
484
+ name="l7-ilb-mig-template",
485
+ project=service_project.project_id,
486
+ machine_type="e2-small",
487
+ tags=["http-server"],
488
+ disks=[gcp.compute.InstanceTemplateDiskArgs(
489
+ source_image="debian-cloud/debian-10",
490
+ auto_delete=True,
491
+ boot=True,
492
+ )],
493
+ metadata={
494
+ "startup-script": \"\"\"#! /bin/bash
495
+ set -euo pipefail
496
+ export DEBIAN_FRONTEND=noninteractive
497
+ apt-get update
498
+ apt-get install -y nginx-light jq
499
+ NAME=$(curl -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/hostname")
500
+ IP=$(curl -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/0/ip")
501
+ METADATA=$(curl -f -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/attributes/?recursive=True" | jq 'del(.["startup-script"])')
502
+ cat <<EOF > /var/www/html/index.html
503
+ <pre>
504
+ Name: $NAME
505
+ IP: $IP
506
+ Metadata: $METADATA
507
+ </pre>
508
+ EOF
509
+ \"\"\",
510
+ })
511
+ mig = gcp.compute.RegionInstanceGroupManager("mig",
512
+ name="l7-ilb-mig1",
513
+ project=service_project.project_id,
514
+ region="us-central1",
515
+ versions=[gcp.compute.RegionInstanceGroupManagerVersionArgs(
516
+ instance_template=instance_template.id,
517
+ name="primary",
518
+ )],
519
+ base_instance_name="vm",
520
+ target_size=2)
521
+ # Discovered workload
522
+ catalog_workload = std.replace_output(text=mig.instance_group,
523
+ search="https://www.googleapis.com/compute/v1",
524
+ replace="//compute.googleapis.com").apply(lambda invoke: gcp.apphub.get_discovered_workload_output(location="us-central1",
525
+ workload_uri=invoke.result))
526
+ wait120s_for_resource_ingestion = time.index.Sleep("wait_120s_for_resource_ingestion", create_duration=120s)
527
+ example = gcp.apphub.Workload("example",
528
+ location="us-central1",
529
+ application_id=application.application_id,
530
+ workload_id=mig.name,
531
+ discovered_workload=catalog_workload.name)
532
+ ```
533
+ <!--End PulumiCodeChooser -->
534
+ ### Apphub Workload Full
535
+
536
+ <!--Start PulumiCodeChooser -->
537
+ ```python
538
+ import pulumi
539
+ import pulumi_gcp as gcp
540
+ import pulumi_std as std
541
+ import pulumi_time as time
542
+
543
+ application = gcp.apphub.Application("application",
544
+ location="us-central1",
545
+ application_id="example-application-1",
546
+ scope=gcp.apphub.ApplicationScopeArgs(
547
+ type="REGIONAL",
548
+ ))
549
+ service_project = gcp.organizations.Project("service_project",
550
+ project_id="project-1",
551
+ name="Service Project",
552
+ org_id="123456789",
553
+ billing_account="000000-0000000-0000000-000000")
554
+ # Enable Compute API
555
+ compute_service_project = gcp.projects.Service("compute_service_project",
556
+ project=service_project.project_id,
557
+ service="compute.googleapis.com")
558
+ wait120s = time.index.Sleep("wait_120s", create_duration=120s)
559
+ service_project_attachment = gcp.apphub.ServiceProjectAttachment("service_project_attachment", service_project_attachment_id=service_project.project_id)
560
+ # VPC network
561
+ ilb_network = gcp.compute.Network("ilb_network",
562
+ name="l7-ilb-network",
563
+ project=service_project.project_id,
564
+ auto_create_subnetworks=False)
565
+ # backend subnet
566
+ ilb_subnet = gcp.compute.Subnetwork("ilb_subnet",
567
+ name="l7-ilb-subnet",
568
+ project=service_project.project_id,
569
+ ip_cidr_range="10.0.1.0/24",
570
+ region="us-central1",
571
+ network=ilb_network.id)
572
+ # instance template
573
+ instance_template = gcp.compute.InstanceTemplate("instance_template",
574
+ network_interfaces=[gcp.compute.InstanceTemplateNetworkInterfaceArgs(
575
+ access_configs=[gcp.compute.InstanceTemplateNetworkInterfaceAccessConfigArgs()],
576
+ network=ilb_network.id,
577
+ subnetwork=ilb_subnet.id,
578
+ )],
579
+ name="l7-ilb-mig-template",
580
+ project=service_project.project_id,
581
+ machine_type="e2-small",
582
+ tags=["http-server"],
583
+ disks=[gcp.compute.InstanceTemplateDiskArgs(
584
+ source_image="debian-cloud/debian-10",
585
+ auto_delete=True,
586
+ boot=True,
587
+ )],
588
+ metadata={
589
+ "startup-script": \"\"\"#! /bin/bash
590
+ set -euo pipefail
591
+ export DEBIAN_FRONTEND=noninteractive
592
+ apt-get update
593
+ apt-get install -y nginx-light jq
594
+ NAME=$(curl -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/hostname")
595
+ IP=$(curl -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/0/ip")
596
+ METADATA=$(curl -f -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/attributes/?recursive=True" | jq 'del(.["startup-script"])')
597
+ cat <<EOF > /var/www/html/index.html
598
+ <pre>
599
+ Name: $NAME
600
+ IP: $IP
601
+ Metadata: $METADATA
602
+ </pre>
603
+ EOF
604
+ \"\"\",
605
+ })
606
+ mig = gcp.compute.RegionInstanceGroupManager("mig",
607
+ name="l7-ilb-mig1",
608
+ project=service_project.project_id,
609
+ region="us-central1",
610
+ versions=[gcp.compute.RegionInstanceGroupManagerVersionArgs(
611
+ instance_template=instance_template.id,
612
+ name="primary",
613
+ )],
614
+ base_instance_name="vm",
615
+ target_size=2)
616
+ # Discovered workload
617
+ catalog_workload = std.replace_output(text=mig.instance_group,
618
+ search="https://www.googleapis.com/compute/v1",
619
+ replace="//compute.googleapis.com").apply(lambda invoke: gcp.apphub.get_discovered_workload_output(location="us-central1",
620
+ workload_uri=invoke.result))
621
+ wait120s_for_resource_ingestion = time.index.Sleep("wait_120s_for_resource_ingestion", create_duration=120s)
622
+ example = gcp.apphub.Workload("example",
623
+ location="us-central1",
624
+ application_id=application.application_id,
625
+ workload_id=mig.name,
626
+ discovered_workload=catalog_workload.name,
627
+ display_name="Example Service Full",
628
+ description="Register service for testing",
629
+ attributes=gcp.apphub.WorkloadAttributesArgs(
630
+ environment=gcp.apphub.WorkloadAttributesEnvironmentArgs(
631
+ type="STAGING",
632
+ ),
633
+ criticality=gcp.apphub.WorkloadAttributesCriticalityArgs(
634
+ type="MISSION_CRITICAL",
635
+ ),
636
+ business_owners=[gcp.apphub.WorkloadAttributesBusinessOwnerArgs(
637
+ display_name="Alice",
638
+ email="alice@google.com",
639
+ )],
640
+ developer_owners=[gcp.apphub.WorkloadAttributesDeveloperOwnerArgs(
641
+ display_name="Bob",
642
+ email="bob@google.com",
643
+ )],
644
+ operator_owners=[gcp.apphub.WorkloadAttributesOperatorOwnerArgs(
645
+ display_name="Charlie",
646
+ email="charlie@google.com",
647
+ )],
648
+ ))
649
+ ```
650
+ <!--End PulumiCodeChooser -->
651
+
652
+ ## Import
653
+
654
+ Workload can be imported using any of these accepted formats:
655
+
656
+ * `projects/{{project}}/locations/{{location}}/applications/{{application_id}}/workloads/{{workload_id}}`
657
+
658
+ * `{{project}}/{{location}}/{{application_id}}/{{workload_id}}`
659
+
660
+ * `{{location}}/{{application_id}}/{{workload_id}}`
661
+
662
+ When using the `pulumi import` command, Workload can be imported using one of the formats above. For example:
663
+
664
+ ```sh
665
+ $ pulumi import gcp:apphub/workload:Workload default projects/{{project}}/locations/{{location}}/applications/{{application_id}}/workloads/{{workload_id}}
666
+ ```
667
+
668
+ ```sh
669
+ $ pulumi import gcp:apphub/workload:Workload default {{project}}/{{location}}/{{application_id}}/{{workload_id}}
670
+ ```
671
+
672
+ ```sh
673
+ $ pulumi import gcp:apphub/workload:Workload default {{location}}/{{application_id}}/{{workload_id}}
674
+ ```
675
+
676
+ :param str resource_name: The name of the resource.
677
+ :param pulumi.ResourceOptions opts: Options for the resource.
678
+ :param pulumi.Input[str] application_id: Part of `parent`. Full resource name of a parent Application. Example: projects/{HOST_PROJECT_ID}/locations/{LOCATION}/applications/{APPLICATION_ID}
679
+ :param pulumi.Input[pulumi.InputType['WorkloadAttributesArgs']] attributes: Consumer provided attributes.
680
+ Structure is documented below.
681
+ :param pulumi.Input[str] description: User-defined description of a Workload.
682
+ :param pulumi.Input[str] discovered_workload: Immutable. The resource name of the original discovered workload.
683
+ :param pulumi.Input[str] display_name: User-defined name for the Workload.
684
+ :param pulumi.Input[str] location: Part of `parent`. Full resource name of a parent Application. Example: projects/{HOST_PROJECT_ID}/locations/{LOCATION}/applications/{APPLICATION_ID}
685
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
686
+ If it is not provided, the provider project is used.
687
+ :param pulumi.Input[str] workload_id: The Workload identifier.
688
+
689
+
690
+ - - -
691
+ """
692
+ ...
693
+ @overload
694
+ def __init__(__self__,
695
+ resource_name: str,
696
+ args: WorkloadArgs,
697
+ opts: Optional[pulumi.ResourceOptions] = None):
698
+ """
699
+ Workload represents a binary deployment (such as Managed Instance Groups (MIGs), GKE deployments, etc.) that performs the smallest logical subset of business functionality. It registers identified workload to the Application.
700
+
701
+ ## Example Usage
702
+
703
+ ### Apphub Workload Basic
704
+
705
+ <!--Start PulumiCodeChooser -->
706
+ ```python
707
+ import pulumi
708
+ import pulumi_gcp as gcp
709
+ import pulumi_std as std
710
+ import pulumi_time as time
711
+
712
+ application = gcp.apphub.Application("application",
713
+ location="us-central1",
714
+ application_id="example-application-1",
715
+ scope=gcp.apphub.ApplicationScopeArgs(
716
+ type="REGIONAL",
717
+ ))
718
+ service_project = gcp.organizations.Project("service_project",
719
+ project_id="project-1",
720
+ name="Service Project",
721
+ org_id="123456789",
722
+ billing_account="000000-0000000-0000000-000000")
723
+ # Enable Compute API
724
+ compute_service_project = gcp.projects.Service("compute_service_project",
725
+ project=service_project.project_id,
726
+ service="compute.googleapis.com")
727
+ wait120s = time.index.Sleep("wait_120s", create_duration=120s)
728
+ service_project_attachment = gcp.apphub.ServiceProjectAttachment("service_project_attachment", service_project_attachment_id=service_project.project_id)
729
+ # VPC network
730
+ ilb_network = gcp.compute.Network("ilb_network",
731
+ name="l7-ilb-network",
732
+ project=service_project.project_id,
733
+ auto_create_subnetworks=False)
734
+ # backend subnet
735
+ ilb_subnet = gcp.compute.Subnetwork("ilb_subnet",
736
+ name="l7-ilb-subnet",
737
+ project=service_project.project_id,
738
+ ip_cidr_range="10.0.1.0/24",
739
+ region="us-central1",
740
+ network=ilb_network.id)
741
+ # instance template
742
+ instance_template = gcp.compute.InstanceTemplate("instance_template",
743
+ network_interfaces=[gcp.compute.InstanceTemplateNetworkInterfaceArgs(
744
+ access_configs=[gcp.compute.InstanceTemplateNetworkInterfaceAccessConfigArgs()],
745
+ network=ilb_network.id,
746
+ subnetwork=ilb_subnet.id,
747
+ )],
748
+ name="l7-ilb-mig-template",
749
+ project=service_project.project_id,
750
+ machine_type="e2-small",
751
+ tags=["http-server"],
752
+ disks=[gcp.compute.InstanceTemplateDiskArgs(
753
+ source_image="debian-cloud/debian-10",
754
+ auto_delete=True,
755
+ boot=True,
756
+ )],
757
+ metadata={
758
+ "startup-script": \"\"\"#! /bin/bash
759
+ set -euo pipefail
760
+ export DEBIAN_FRONTEND=noninteractive
761
+ apt-get update
762
+ apt-get install -y nginx-light jq
763
+ NAME=$(curl -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/hostname")
764
+ IP=$(curl -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/0/ip")
765
+ METADATA=$(curl -f -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/attributes/?recursive=True" | jq 'del(.["startup-script"])')
766
+ cat <<EOF > /var/www/html/index.html
767
+ <pre>
768
+ Name: $NAME
769
+ IP: $IP
770
+ Metadata: $METADATA
771
+ </pre>
772
+ EOF
773
+ \"\"\",
774
+ })
775
+ mig = gcp.compute.RegionInstanceGroupManager("mig",
776
+ name="l7-ilb-mig1",
777
+ project=service_project.project_id,
778
+ region="us-central1",
779
+ versions=[gcp.compute.RegionInstanceGroupManagerVersionArgs(
780
+ instance_template=instance_template.id,
781
+ name="primary",
782
+ )],
783
+ base_instance_name="vm",
784
+ target_size=2)
785
+ # Discovered workload
786
+ catalog_workload = std.replace_output(text=mig.instance_group,
787
+ search="https://www.googleapis.com/compute/v1",
788
+ replace="//compute.googleapis.com").apply(lambda invoke: gcp.apphub.get_discovered_workload_output(location="us-central1",
789
+ workload_uri=invoke.result))
790
+ wait120s_for_resource_ingestion = time.index.Sleep("wait_120s_for_resource_ingestion", create_duration=120s)
791
+ example = gcp.apphub.Workload("example",
792
+ location="us-central1",
793
+ application_id=application.application_id,
794
+ workload_id=mig.name,
795
+ discovered_workload=catalog_workload.name)
796
+ ```
797
+ <!--End PulumiCodeChooser -->
798
+ ### Apphub Workload Full
799
+
800
+ <!--Start PulumiCodeChooser -->
801
+ ```python
802
+ import pulumi
803
+ import pulumi_gcp as gcp
804
+ import pulumi_std as std
805
+ import pulumi_time as time
806
+
807
+ application = gcp.apphub.Application("application",
808
+ location="us-central1",
809
+ application_id="example-application-1",
810
+ scope=gcp.apphub.ApplicationScopeArgs(
811
+ type="REGIONAL",
812
+ ))
813
+ service_project = gcp.organizations.Project("service_project",
814
+ project_id="project-1",
815
+ name="Service Project",
816
+ org_id="123456789",
817
+ billing_account="000000-0000000-0000000-000000")
818
+ # Enable Compute API
819
+ compute_service_project = gcp.projects.Service("compute_service_project",
820
+ project=service_project.project_id,
821
+ service="compute.googleapis.com")
822
+ wait120s = time.index.Sleep("wait_120s", create_duration=120s)
823
+ service_project_attachment = gcp.apphub.ServiceProjectAttachment("service_project_attachment", service_project_attachment_id=service_project.project_id)
824
+ # VPC network
825
+ ilb_network = gcp.compute.Network("ilb_network",
826
+ name="l7-ilb-network",
827
+ project=service_project.project_id,
828
+ auto_create_subnetworks=False)
829
+ # backend subnet
830
+ ilb_subnet = gcp.compute.Subnetwork("ilb_subnet",
831
+ name="l7-ilb-subnet",
832
+ project=service_project.project_id,
833
+ ip_cidr_range="10.0.1.0/24",
834
+ region="us-central1",
835
+ network=ilb_network.id)
836
+ # instance template
837
+ instance_template = gcp.compute.InstanceTemplate("instance_template",
838
+ network_interfaces=[gcp.compute.InstanceTemplateNetworkInterfaceArgs(
839
+ access_configs=[gcp.compute.InstanceTemplateNetworkInterfaceAccessConfigArgs()],
840
+ network=ilb_network.id,
841
+ subnetwork=ilb_subnet.id,
842
+ )],
843
+ name="l7-ilb-mig-template",
844
+ project=service_project.project_id,
845
+ machine_type="e2-small",
846
+ tags=["http-server"],
847
+ disks=[gcp.compute.InstanceTemplateDiskArgs(
848
+ source_image="debian-cloud/debian-10",
849
+ auto_delete=True,
850
+ boot=True,
851
+ )],
852
+ metadata={
853
+ "startup-script": \"\"\"#! /bin/bash
854
+ set -euo pipefail
855
+ export DEBIAN_FRONTEND=noninteractive
856
+ apt-get update
857
+ apt-get install -y nginx-light jq
858
+ NAME=$(curl -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/hostname")
859
+ IP=$(curl -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/0/ip")
860
+ METADATA=$(curl -f -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/attributes/?recursive=True" | jq 'del(.["startup-script"])')
861
+ cat <<EOF > /var/www/html/index.html
862
+ <pre>
863
+ Name: $NAME
864
+ IP: $IP
865
+ Metadata: $METADATA
866
+ </pre>
867
+ EOF
868
+ \"\"\",
869
+ })
870
+ mig = gcp.compute.RegionInstanceGroupManager("mig",
871
+ name="l7-ilb-mig1",
872
+ project=service_project.project_id,
873
+ region="us-central1",
874
+ versions=[gcp.compute.RegionInstanceGroupManagerVersionArgs(
875
+ instance_template=instance_template.id,
876
+ name="primary",
877
+ )],
878
+ base_instance_name="vm",
879
+ target_size=2)
880
+ # Discovered workload
881
+ catalog_workload = std.replace_output(text=mig.instance_group,
882
+ search="https://www.googleapis.com/compute/v1",
883
+ replace="//compute.googleapis.com").apply(lambda invoke: gcp.apphub.get_discovered_workload_output(location="us-central1",
884
+ workload_uri=invoke.result))
885
+ wait120s_for_resource_ingestion = time.index.Sleep("wait_120s_for_resource_ingestion", create_duration=120s)
886
+ example = gcp.apphub.Workload("example",
887
+ location="us-central1",
888
+ application_id=application.application_id,
889
+ workload_id=mig.name,
890
+ discovered_workload=catalog_workload.name,
891
+ display_name="Example Service Full",
892
+ description="Register service for testing",
893
+ attributes=gcp.apphub.WorkloadAttributesArgs(
894
+ environment=gcp.apphub.WorkloadAttributesEnvironmentArgs(
895
+ type="STAGING",
896
+ ),
897
+ criticality=gcp.apphub.WorkloadAttributesCriticalityArgs(
898
+ type="MISSION_CRITICAL",
899
+ ),
900
+ business_owners=[gcp.apphub.WorkloadAttributesBusinessOwnerArgs(
901
+ display_name="Alice",
902
+ email="alice@google.com",
903
+ )],
904
+ developer_owners=[gcp.apphub.WorkloadAttributesDeveloperOwnerArgs(
905
+ display_name="Bob",
906
+ email="bob@google.com",
907
+ )],
908
+ operator_owners=[gcp.apphub.WorkloadAttributesOperatorOwnerArgs(
909
+ display_name="Charlie",
910
+ email="charlie@google.com",
911
+ )],
912
+ ))
913
+ ```
914
+ <!--End PulumiCodeChooser -->
915
+
916
+ ## Import
917
+
918
+ Workload can be imported using any of these accepted formats:
919
+
920
+ * `projects/{{project}}/locations/{{location}}/applications/{{application_id}}/workloads/{{workload_id}}`
921
+
922
+ * `{{project}}/{{location}}/{{application_id}}/{{workload_id}}`
923
+
924
+ * `{{location}}/{{application_id}}/{{workload_id}}`
925
+
926
+ When using the `pulumi import` command, Workload can be imported using one of the formats above. For example:
927
+
928
+ ```sh
929
+ $ pulumi import gcp:apphub/workload:Workload default projects/{{project}}/locations/{{location}}/applications/{{application_id}}/workloads/{{workload_id}}
930
+ ```
931
+
932
+ ```sh
933
+ $ pulumi import gcp:apphub/workload:Workload default {{project}}/{{location}}/{{application_id}}/{{workload_id}}
934
+ ```
935
+
936
+ ```sh
937
+ $ pulumi import gcp:apphub/workload:Workload default {{location}}/{{application_id}}/{{workload_id}}
938
+ ```
939
+
940
+ :param str resource_name: The name of the resource.
941
+ :param WorkloadArgs args: The arguments to use to populate this resource's properties.
942
+ :param pulumi.ResourceOptions opts: Options for the resource.
943
+ """
944
+ ...
945
+ def __init__(__self__, resource_name: str, *args, **kwargs):
946
+ resource_args, opts = _utilities.get_resource_args_opts(WorkloadArgs, pulumi.ResourceOptions, *args, **kwargs)
947
+ if resource_args is not None:
948
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
949
+ else:
950
+ __self__._internal_init(resource_name, *args, **kwargs)
951
+
952
+ def _internal_init(__self__,
953
+ resource_name: str,
954
+ opts: Optional[pulumi.ResourceOptions] = None,
955
+ application_id: Optional[pulumi.Input[str]] = None,
956
+ attributes: Optional[pulumi.Input[pulumi.InputType['WorkloadAttributesArgs']]] = None,
957
+ description: Optional[pulumi.Input[str]] = None,
958
+ discovered_workload: Optional[pulumi.Input[str]] = None,
959
+ display_name: Optional[pulumi.Input[str]] = None,
960
+ location: Optional[pulumi.Input[str]] = None,
961
+ project: Optional[pulumi.Input[str]] = None,
962
+ workload_id: Optional[pulumi.Input[str]] = None,
963
+ __props__=None):
964
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
965
+ if not isinstance(opts, pulumi.ResourceOptions):
966
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
967
+ if opts.id is None:
968
+ if __props__ is not None:
969
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
970
+ __props__ = WorkloadArgs.__new__(WorkloadArgs)
971
+
972
+ if application_id is None and not opts.urn:
973
+ raise TypeError("Missing required property 'application_id'")
974
+ __props__.__dict__["application_id"] = application_id
975
+ __props__.__dict__["attributes"] = attributes
976
+ __props__.__dict__["description"] = description
977
+ if discovered_workload is None and not opts.urn:
978
+ raise TypeError("Missing required property 'discovered_workload'")
979
+ __props__.__dict__["discovered_workload"] = discovered_workload
980
+ __props__.__dict__["display_name"] = display_name
981
+ if location is None and not opts.urn:
982
+ raise TypeError("Missing required property 'location'")
983
+ __props__.__dict__["location"] = location
984
+ __props__.__dict__["project"] = project
985
+ if workload_id is None and not opts.urn:
986
+ raise TypeError("Missing required property 'workload_id'")
987
+ __props__.__dict__["workload_id"] = workload_id
988
+ __props__.__dict__["create_time"] = None
989
+ __props__.__dict__["name"] = None
990
+ __props__.__dict__["state"] = None
991
+ __props__.__dict__["uid"] = None
992
+ __props__.__dict__["update_time"] = None
993
+ __props__.__dict__["workload_properties"] = None
994
+ __props__.__dict__["workload_references"] = None
995
+ super(Workload, __self__).__init__(
996
+ 'gcp:apphub/workload:Workload',
997
+ resource_name,
998
+ __props__,
999
+ opts)
1000
+
1001
+ @staticmethod
1002
+ def get(resource_name: str,
1003
+ id: pulumi.Input[str],
1004
+ opts: Optional[pulumi.ResourceOptions] = None,
1005
+ application_id: Optional[pulumi.Input[str]] = None,
1006
+ attributes: Optional[pulumi.Input[pulumi.InputType['WorkloadAttributesArgs']]] = None,
1007
+ create_time: Optional[pulumi.Input[str]] = None,
1008
+ description: Optional[pulumi.Input[str]] = None,
1009
+ discovered_workload: Optional[pulumi.Input[str]] = None,
1010
+ display_name: Optional[pulumi.Input[str]] = None,
1011
+ location: Optional[pulumi.Input[str]] = None,
1012
+ name: Optional[pulumi.Input[str]] = None,
1013
+ project: Optional[pulumi.Input[str]] = None,
1014
+ state: Optional[pulumi.Input[str]] = None,
1015
+ uid: Optional[pulumi.Input[str]] = None,
1016
+ update_time: Optional[pulumi.Input[str]] = None,
1017
+ workload_id: Optional[pulumi.Input[str]] = None,
1018
+ workload_properties: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['WorkloadWorkloadPropertyArgs']]]]] = None,
1019
+ workload_references: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['WorkloadWorkloadReferenceArgs']]]]] = None) -> 'Workload':
1020
+ """
1021
+ Get an existing Workload resource's state with the given name, id, and optional extra
1022
+ properties used to qualify the lookup.
1023
+
1024
+ :param str resource_name: The unique name of the resulting resource.
1025
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
1026
+ :param pulumi.ResourceOptions opts: Options for the resource.
1027
+ :param pulumi.Input[str] application_id: Part of `parent`. Full resource name of a parent Application. Example: projects/{HOST_PROJECT_ID}/locations/{LOCATION}/applications/{APPLICATION_ID}
1028
+ :param pulumi.Input[pulumi.InputType['WorkloadAttributesArgs']] attributes: Consumer provided attributes.
1029
+ Structure is documented below.
1030
+ :param pulumi.Input[str] create_time: Output only. Create time.
1031
+ :param pulumi.Input[str] description: User-defined description of a Workload.
1032
+ :param pulumi.Input[str] discovered_workload: Immutable. The resource name of the original discovered workload.
1033
+ :param pulumi.Input[str] display_name: User-defined name for the Workload.
1034
+ :param pulumi.Input[str] location: Part of `parent`. Full resource name of a parent Application. Example: projects/{HOST_PROJECT_ID}/locations/{LOCATION}/applications/{APPLICATION_ID}
1035
+ :param pulumi.Input[str] name: Identifier. The resource name of the Workload. Format:"projects/{host-project-id}/locations/{location}/applications/{application-id}/workloads/{workload-id}"
1036
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
1037
+ If it is not provided, the provider project is used.
1038
+ :param pulumi.Input[str] state: Output only. Workload state. Possible values: STATE_UNSPECIFIED CREATING ACTIVE DELETING DETACHED
1039
+ :param pulumi.Input[str] uid: Output only. A universally unique identifier (UUID) for the `Workload` in the UUID4 format.
1040
+ :param pulumi.Input[str] update_time: Output only. Update time.
1041
+ :param pulumi.Input[str] workload_id: The Workload identifier.
1042
+
1043
+
1044
+ - - -
1045
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['WorkloadWorkloadPropertyArgs']]]] workload_properties: Properties of an underlying compute resource represented by the Workload.
1046
+ Structure is documented below.
1047
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['WorkloadWorkloadReferenceArgs']]]] workload_references: Reference of an underlying compute resource represented by the Workload.
1048
+ Structure is documented below.
1049
+ """
1050
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
1051
+
1052
+ __props__ = _WorkloadState.__new__(_WorkloadState)
1053
+
1054
+ __props__.__dict__["application_id"] = application_id
1055
+ __props__.__dict__["attributes"] = attributes
1056
+ __props__.__dict__["create_time"] = create_time
1057
+ __props__.__dict__["description"] = description
1058
+ __props__.__dict__["discovered_workload"] = discovered_workload
1059
+ __props__.__dict__["display_name"] = display_name
1060
+ __props__.__dict__["location"] = location
1061
+ __props__.__dict__["name"] = name
1062
+ __props__.__dict__["project"] = project
1063
+ __props__.__dict__["state"] = state
1064
+ __props__.__dict__["uid"] = uid
1065
+ __props__.__dict__["update_time"] = update_time
1066
+ __props__.__dict__["workload_id"] = workload_id
1067
+ __props__.__dict__["workload_properties"] = workload_properties
1068
+ __props__.__dict__["workload_references"] = workload_references
1069
+ return Workload(resource_name, opts=opts, __props__=__props__)
1070
+
1071
+ @property
1072
+ @pulumi.getter(name="applicationId")
1073
+ def application_id(self) -> pulumi.Output[str]:
1074
+ """
1075
+ Part of `parent`. Full resource name of a parent Application. Example: projects/{HOST_PROJECT_ID}/locations/{LOCATION}/applications/{APPLICATION_ID}
1076
+ """
1077
+ return pulumi.get(self, "application_id")
1078
+
1079
+ @property
1080
+ @pulumi.getter
1081
+ def attributes(self) -> pulumi.Output[Optional['outputs.WorkloadAttributes']]:
1082
+ """
1083
+ Consumer provided attributes.
1084
+ Structure is documented below.
1085
+ """
1086
+ return pulumi.get(self, "attributes")
1087
+
1088
+ @property
1089
+ @pulumi.getter(name="createTime")
1090
+ def create_time(self) -> pulumi.Output[str]:
1091
+ """
1092
+ Output only. Create time.
1093
+ """
1094
+ return pulumi.get(self, "create_time")
1095
+
1096
+ @property
1097
+ @pulumi.getter
1098
+ def description(self) -> pulumi.Output[Optional[str]]:
1099
+ """
1100
+ User-defined description of a Workload.
1101
+ """
1102
+ return pulumi.get(self, "description")
1103
+
1104
+ @property
1105
+ @pulumi.getter(name="discoveredWorkload")
1106
+ def discovered_workload(self) -> pulumi.Output[str]:
1107
+ """
1108
+ Immutable. The resource name of the original discovered workload.
1109
+ """
1110
+ return pulumi.get(self, "discovered_workload")
1111
+
1112
+ @property
1113
+ @pulumi.getter(name="displayName")
1114
+ def display_name(self) -> pulumi.Output[Optional[str]]:
1115
+ """
1116
+ User-defined name for the Workload.
1117
+ """
1118
+ return pulumi.get(self, "display_name")
1119
+
1120
+ @property
1121
+ @pulumi.getter
1122
+ def location(self) -> pulumi.Output[str]:
1123
+ """
1124
+ Part of `parent`. Full resource name of a parent Application. Example: projects/{HOST_PROJECT_ID}/locations/{LOCATION}/applications/{APPLICATION_ID}
1125
+ """
1126
+ return pulumi.get(self, "location")
1127
+
1128
+ @property
1129
+ @pulumi.getter
1130
+ def name(self) -> pulumi.Output[str]:
1131
+ """
1132
+ Identifier. The resource name of the Workload. Format:"projects/{host-project-id}/locations/{location}/applications/{application-id}/workloads/{workload-id}"
1133
+ """
1134
+ return pulumi.get(self, "name")
1135
+
1136
+ @property
1137
+ @pulumi.getter
1138
+ def project(self) -> pulumi.Output[str]:
1139
+ """
1140
+ The ID of the project in which the resource belongs.
1141
+ If it is not provided, the provider project is used.
1142
+ """
1143
+ return pulumi.get(self, "project")
1144
+
1145
+ @property
1146
+ @pulumi.getter
1147
+ def state(self) -> pulumi.Output[str]:
1148
+ """
1149
+ Output only. Workload state. Possible values: STATE_UNSPECIFIED CREATING ACTIVE DELETING DETACHED
1150
+ """
1151
+ return pulumi.get(self, "state")
1152
+
1153
+ @property
1154
+ @pulumi.getter
1155
+ def uid(self) -> pulumi.Output[str]:
1156
+ """
1157
+ Output only. A universally unique identifier (UUID) for the `Workload` in the UUID4 format.
1158
+ """
1159
+ return pulumi.get(self, "uid")
1160
+
1161
+ @property
1162
+ @pulumi.getter(name="updateTime")
1163
+ def update_time(self) -> pulumi.Output[str]:
1164
+ """
1165
+ Output only. Update time.
1166
+ """
1167
+ return pulumi.get(self, "update_time")
1168
+
1169
+ @property
1170
+ @pulumi.getter(name="workloadId")
1171
+ def workload_id(self) -> pulumi.Output[str]:
1172
+ """
1173
+ The Workload identifier.
1174
+
1175
+
1176
+ - - -
1177
+ """
1178
+ return pulumi.get(self, "workload_id")
1179
+
1180
+ @property
1181
+ @pulumi.getter(name="workloadProperties")
1182
+ def workload_properties(self) -> pulumi.Output[Sequence['outputs.WorkloadWorkloadProperty']]:
1183
+ """
1184
+ Properties of an underlying compute resource represented by the Workload.
1185
+ Structure is documented below.
1186
+ """
1187
+ return pulumi.get(self, "workload_properties")
1188
+
1189
+ @property
1190
+ @pulumi.getter(name="workloadReferences")
1191
+ def workload_references(self) -> pulumi.Output[Sequence['outputs.WorkloadWorkloadReference']]:
1192
+ """
1193
+ Reference of an underlying compute resource represented by the Workload.
1194
+ Structure is documented below.
1195
+ """
1196
+ return pulumi.get(self, "workload_references")
1197
+