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,775 @@
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__ = ['ApplicationArgs', 'Application']
15
+
16
+ @pulumi.input_type
17
+ class ApplicationArgs:
18
+ def __init__(__self__, *,
19
+ application_id: pulumi.Input[str],
20
+ location: pulumi.Input[str],
21
+ scope: pulumi.Input['ApplicationScopeArgs'],
22
+ attributes: Optional[pulumi.Input['ApplicationAttributesArgs']] = None,
23
+ description: Optional[pulumi.Input[str]] = None,
24
+ display_name: Optional[pulumi.Input[str]] = None,
25
+ project: Optional[pulumi.Input[str]] = None):
26
+ """
27
+ The set of arguments for constructing a Application resource.
28
+ :param pulumi.Input[str] application_id: Required. The Application identifier.
29
+ :param pulumi.Input[str] location: Part of `parent`. See documentation of `projectsId`.
30
+ :param pulumi.Input['ApplicationScopeArgs'] scope: Scope of an application.
31
+ Structure is documented below.
32
+ :param pulumi.Input['ApplicationAttributesArgs'] attributes: Consumer provided attributes.
33
+ Structure is documented below.
34
+ :param pulumi.Input[str] description: Optional. User-defined description of an Application.
35
+ :param pulumi.Input[str] display_name: Optional. Contact's name.
36
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
37
+ If it is not provided, the provider project is used.
38
+ """
39
+ pulumi.set(__self__, "application_id", application_id)
40
+ pulumi.set(__self__, "location", location)
41
+ pulumi.set(__self__, "scope", scope)
42
+ if attributes is not None:
43
+ pulumi.set(__self__, "attributes", attributes)
44
+ if description is not None:
45
+ pulumi.set(__self__, "description", description)
46
+ if display_name is not None:
47
+ pulumi.set(__self__, "display_name", display_name)
48
+ if project is not None:
49
+ pulumi.set(__self__, "project", project)
50
+
51
+ @property
52
+ @pulumi.getter(name="applicationId")
53
+ def application_id(self) -> pulumi.Input[str]:
54
+ """
55
+ Required. The Application identifier.
56
+ """
57
+ return pulumi.get(self, "application_id")
58
+
59
+ @application_id.setter
60
+ def application_id(self, value: pulumi.Input[str]):
61
+ pulumi.set(self, "application_id", value)
62
+
63
+ @property
64
+ @pulumi.getter
65
+ def location(self) -> pulumi.Input[str]:
66
+ """
67
+ Part of `parent`. See documentation of `projectsId`.
68
+ """
69
+ return pulumi.get(self, "location")
70
+
71
+ @location.setter
72
+ def location(self, value: pulumi.Input[str]):
73
+ pulumi.set(self, "location", value)
74
+
75
+ @property
76
+ @pulumi.getter
77
+ def scope(self) -> pulumi.Input['ApplicationScopeArgs']:
78
+ """
79
+ Scope of an application.
80
+ Structure is documented below.
81
+ """
82
+ return pulumi.get(self, "scope")
83
+
84
+ @scope.setter
85
+ def scope(self, value: pulumi.Input['ApplicationScopeArgs']):
86
+ pulumi.set(self, "scope", value)
87
+
88
+ @property
89
+ @pulumi.getter
90
+ def attributes(self) -> Optional[pulumi.Input['ApplicationAttributesArgs']]:
91
+ """
92
+ Consumer provided attributes.
93
+ Structure is documented below.
94
+ """
95
+ return pulumi.get(self, "attributes")
96
+
97
+ @attributes.setter
98
+ def attributes(self, value: Optional[pulumi.Input['ApplicationAttributesArgs']]):
99
+ pulumi.set(self, "attributes", value)
100
+
101
+ @property
102
+ @pulumi.getter
103
+ def description(self) -> Optional[pulumi.Input[str]]:
104
+ """
105
+ Optional. User-defined description of an Application.
106
+ """
107
+ return pulumi.get(self, "description")
108
+
109
+ @description.setter
110
+ def description(self, value: Optional[pulumi.Input[str]]):
111
+ pulumi.set(self, "description", value)
112
+
113
+ @property
114
+ @pulumi.getter(name="displayName")
115
+ def display_name(self) -> Optional[pulumi.Input[str]]:
116
+ """
117
+ Optional. Contact's name.
118
+ """
119
+ return pulumi.get(self, "display_name")
120
+
121
+ @display_name.setter
122
+ def display_name(self, value: Optional[pulumi.Input[str]]):
123
+ pulumi.set(self, "display_name", value)
124
+
125
+ @property
126
+ @pulumi.getter
127
+ def project(self) -> Optional[pulumi.Input[str]]:
128
+ """
129
+ The ID of the project in which the resource belongs.
130
+ If it is not provided, the provider project is used.
131
+ """
132
+ return pulumi.get(self, "project")
133
+
134
+ @project.setter
135
+ def project(self, value: Optional[pulumi.Input[str]]):
136
+ pulumi.set(self, "project", value)
137
+
138
+
139
+ @pulumi.input_type
140
+ class _ApplicationState:
141
+ def __init__(__self__, *,
142
+ application_id: Optional[pulumi.Input[str]] = None,
143
+ attributes: Optional[pulumi.Input['ApplicationAttributesArgs']] = None,
144
+ create_time: Optional[pulumi.Input[str]] = None,
145
+ description: Optional[pulumi.Input[str]] = None,
146
+ display_name: Optional[pulumi.Input[str]] = None,
147
+ location: Optional[pulumi.Input[str]] = None,
148
+ name: Optional[pulumi.Input[str]] = None,
149
+ project: Optional[pulumi.Input[str]] = None,
150
+ scope: Optional[pulumi.Input['ApplicationScopeArgs']] = None,
151
+ state: Optional[pulumi.Input[str]] = None,
152
+ uid: Optional[pulumi.Input[str]] = None,
153
+ update_time: Optional[pulumi.Input[str]] = None):
154
+ """
155
+ Input properties used for looking up and filtering Application resources.
156
+ :param pulumi.Input[str] application_id: Required. The Application identifier.
157
+ :param pulumi.Input['ApplicationAttributesArgs'] attributes: Consumer provided attributes.
158
+ Structure is documented below.
159
+ :param pulumi.Input[str] create_time: Output only. Create time.
160
+ :param pulumi.Input[str] description: Optional. User-defined description of an Application.
161
+ :param pulumi.Input[str] display_name: Optional. Contact's name.
162
+ :param pulumi.Input[str] location: Part of `parent`. See documentation of `projectsId`.
163
+ :param pulumi.Input[str] name: Identifier. The resource name of an Application. Format:
164
+ "projects/{host-project-id}/locations/{location}/applications/{application-id}"
165
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
166
+ If it is not provided, the provider project is used.
167
+ :param pulumi.Input['ApplicationScopeArgs'] scope: Scope of an application.
168
+ Structure is documented below.
169
+ :param pulumi.Input[str] state: Output only. Application state.
170
+ Possible values:
171
+ STATE_UNSPECIFIED
172
+ CREATING
173
+ ACTIVE
174
+ DELETING
175
+ :param pulumi.Input[str] uid: Output only. A universally unique identifier (in UUID4 format) for the `Application`.
176
+ :param pulumi.Input[str] update_time: Output only. Update time.
177
+ """
178
+ if application_id is not None:
179
+ pulumi.set(__self__, "application_id", application_id)
180
+ if attributes is not None:
181
+ pulumi.set(__self__, "attributes", attributes)
182
+ if create_time is not None:
183
+ pulumi.set(__self__, "create_time", create_time)
184
+ if description is not None:
185
+ pulumi.set(__self__, "description", description)
186
+ if display_name is not None:
187
+ pulumi.set(__self__, "display_name", display_name)
188
+ if location is not None:
189
+ pulumi.set(__self__, "location", location)
190
+ if name is not None:
191
+ pulumi.set(__self__, "name", name)
192
+ if project is not None:
193
+ pulumi.set(__self__, "project", project)
194
+ if scope is not None:
195
+ pulumi.set(__self__, "scope", scope)
196
+ if state is not None:
197
+ pulumi.set(__self__, "state", state)
198
+ if uid is not None:
199
+ pulumi.set(__self__, "uid", uid)
200
+ if update_time is not None:
201
+ pulumi.set(__self__, "update_time", update_time)
202
+
203
+ @property
204
+ @pulumi.getter(name="applicationId")
205
+ def application_id(self) -> Optional[pulumi.Input[str]]:
206
+ """
207
+ Required. The Application identifier.
208
+ """
209
+ return pulumi.get(self, "application_id")
210
+
211
+ @application_id.setter
212
+ def application_id(self, value: Optional[pulumi.Input[str]]):
213
+ pulumi.set(self, "application_id", value)
214
+
215
+ @property
216
+ @pulumi.getter
217
+ def attributes(self) -> Optional[pulumi.Input['ApplicationAttributesArgs']]:
218
+ """
219
+ Consumer provided attributes.
220
+ Structure is documented below.
221
+ """
222
+ return pulumi.get(self, "attributes")
223
+
224
+ @attributes.setter
225
+ def attributes(self, value: Optional[pulumi.Input['ApplicationAttributesArgs']]):
226
+ pulumi.set(self, "attributes", value)
227
+
228
+ @property
229
+ @pulumi.getter(name="createTime")
230
+ def create_time(self) -> Optional[pulumi.Input[str]]:
231
+ """
232
+ Output only. Create time.
233
+ """
234
+ return pulumi.get(self, "create_time")
235
+
236
+ @create_time.setter
237
+ def create_time(self, value: Optional[pulumi.Input[str]]):
238
+ pulumi.set(self, "create_time", value)
239
+
240
+ @property
241
+ @pulumi.getter
242
+ def description(self) -> Optional[pulumi.Input[str]]:
243
+ """
244
+ Optional. User-defined description of an Application.
245
+ """
246
+ return pulumi.get(self, "description")
247
+
248
+ @description.setter
249
+ def description(self, value: Optional[pulumi.Input[str]]):
250
+ pulumi.set(self, "description", value)
251
+
252
+ @property
253
+ @pulumi.getter(name="displayName")
254
+ def display_name(self) -> Optional[pulumi.Input[str]]:
255
+ """
256
+ Optional. Contact's name.
257
+ """
258
+ return pulumi.get(self, "display_name")
259
+
260
+ @display_name.setter
261
+ def display_name(self, value: Optional[pulumi.Input[str]]):
262
+ pulumi.set(self, "display_name", value)
263
+
264
+ @property
265
+ @pulumi.getter
266
+ def location(self) -> Optional[pulumi.Input[str]]:
267
+ """
268
+ Part of `parent`. See documentation of `projectsId`.
269
+ """
270
+ return pulumi.get(self, "location")
271
+
272
+ @location.setter
273
+ def location(self, value: Optional[pulumi.Input[str]]):
274
+ pulumi.set(self, "location", value)
275
+
276
+ @property
277
+ @pulumi.getter
278
+ def name(self) -> Optional[pulumi.Input[str]]:
279
+ """
280
+ Identifier. The resource name of an Application. Format:
281
+ "projects/{host-project-id}/locations/{location}/applications/{application-id}"
282
+ """
283
+ return pulumi.get(self, "name")
284
+
285
+ @name.setter
286
+ def name(self, value: Optional[pulumi.Input[str]]):
287
+ pulumi.set(self, "name", value)
288
+
289
+ @property
290
+ @pulumi.getter
291
+ def project(self) -> Optional[pulumi.Input[str]]:
292
+ """
293
+ The ID of the project in which the resource belongs.
294
+ If it is not provided, the provider project is used.
295
+ """
296
+ return pulumi.get(self, "project")
297
+
298
+ @project.setter
299
+ def project(self, value: Optional[pulumi.Input[str]]):
300
+ pulumi.set(self, "project", value)
301
+
302
+ @property
303
+ @pulumi.getter
304
+ def scope(self) -> Optional[pulumi.Input['ApplicationScopeArgs']]:
305
+ """
306
+ Scope of an application.
307
+ Structure is documented below.
308
+ """
309
+ return pulumi.get(self, "scope")
310
+
311
+ @scope.setter
312
+ def scope(self, value: Optional[pulumi.Input['ApplicationScopeArgs']]):
313
+ pulumi.set(self, "scope", value)
314
+
315
+ @property
316
+ @pulumi.getter
317
+ def state(self) -> Optional[pulumi.Input[str]]:
318
+ """
319
+ Output only. Application state.
320
+ Possible values:
321
+ STATE_UNSPECIFIED
322
+ CREATING
323
+ ACTIVE
324
+ DELETING
325
+ """
326
+ return pulumi.get(self, "state")
327
+
328
+ @state.setter
329
+ def state(self, value: Optional[pulumi.Input[str]]):
330
+ pulumi.set(self, "state", value)
331
+
332
+ @property
333
+ @pulumi.getter
334
+ def uid(self) -> Optional[pulumi.Input[str]]:
335
+ """
336
+ Output only. A universally unique identifier (in UUID4 format) for the `Application`.
337
+ """
338
+ return pulumi.get(self, "uid")
339
+
340
+ @uid.setter
341
+ def uid(self, value: Optional[pulumi.Input[str]]):
342
+ pulumi.set(self, "uid", value)
343
+
344
+ @property
345
+ @pulumi.getter(name="updateTime")
346
+ def update_time(self) -> Optional[pulumi.Input[str]]:
347
+ """
348
+ Output only. Update time.
349
+ """
350
+ return pulumi.get(self, "update_time")
351
+
352
+ @update_time.setter
353
+ def update_time(self, value: Optional[pulumi.Input[str]]):
354
+ pulumi.set(self, "update_time", value)
355
+
356
+
357
+ class Application(pulumi.CustomResource):
358
+ @overload
359
+ def __init__(__self__,
360
+ resource_name: str,
361
+ opts: Optional[pulumi.ResourceOptions] = None,
362
+ application_id: Optional[pulumi.Input[str]] = None,
363
+ attributes: Optional[pulumi.Input[pulumi.InputType['ApplicationAttributesArgs']]] = None,
364
+ description: Optional[pulumi.Input[str]] = None,
365
+ display_name: Optional[pulumi.Input[str]] = None,
366
+ location: Optional[pulumi.Input[str]] = None,
367
+ project: Optional[pulumi.Input[str]] = None,
368
+ scope: Optional[pulumi.Input[pulumi.InputType['ApplicationScopeArgs']]] = None,
369
+ __props__=None):
370
+ """
371
+ Application is a functional grouping of Services and Workloads that helps achieve a desired end-to-end business functionality. Services and Workloads are owned by the Application.
372
+
373
+ ## Example Usage
374
+
375
+ ### Application Basic
376
+
377
+ <!--Start PulumiCodeChooser -->
378
+ ```python
379
+ import pulumi
380
+ import pulumi_gcp as gcp
381
+
382
+ example = gcp.apphub.Application("example",
383
+ location="us-east1",
384
+ application_id="example-application",
385
+ scope=gcp.apphub.ApplicationScopeArgs(
386
+ type="REGIONAL",
387
+ ))
388
+ ```
389
+ <!--End PulumiCodeChooser -->
390
+ ### Application Full
391
+
392
+ <!--Start PulumiCodeChooser -->
393
+ ```python
394
+ import pulumi
395
+ import pulumi_gcp as gcp
396
+
397
+ example2 = gcp.apphub.Application("example2",
398
+ location="us-east1",
399
+ application_id="example-application",
400
+ display_name="Application Full",
401
+ scope=gcp.apphub.ApplicationScopeArgs(
402
+ type="REGIONAL",
403
+ ),
404
+ description="Application for testing",
405
+ attributes=gcp.apphub.ApplicationAttributesArgs(
406
+ environment=gcp.apphub.ApplicationAttributesEnvironmentArgs(
407
+ type="STAGING",
408
+ ),
409
+ criticality=gcp.apphub.ApplicationAttributesCriticalityArgs(
410
+ type="MISSION_CRITICAL",
411
+ ),
412
+ business_owners=[gcp.apphub.ApplicationAttributesBusinessOwnerArgs(
413
+ display_name="Alice",
414
+ email="alice@google.com",
415
+ )],
416
+ developer_owners=[gcp.apphub.ApplicationAttributesDeveloperOwnerArgs(
417
+ display_name="Bob",
418
+ email="bob@google.com",
419
+ )],
420
+ operator_owners=[gcp.apphub.ApplicationAttributesOperatorOwnerArgs(
421
+ display_name="Charlie",
422
+ email="charlie@google.com",
423
+ )],
424
+ ))
425
+ ```
426
+ <!--End PulumiCodeChooser -->
427
+
428
+ ## Import
429
+
430
+ Application can be imported using any of these accepted formats:
431
+
432
+ * `projects/{{project}}/locations/{{location}}/applications/{{application_id}}`
433
+
434
+ * `{{project}}/{{location}}/{{application_id}}`
435
+
436
+ * `{{location}}/{{application_id}}`
437
+
438
+ When using the `pulumi import` command, Application can be imported using one of the formats above. For example:
439
+
440
+ ```sh
441
+ $ pulumi import gcp:apphub/application:Application default projects/{{project}}/locations/{{location}}/applications/{{application_id}}
442
+ ```
443
+
444
+ ```sh
445
+ $ pulumi import gcp:apphub/application:Application default {{project}}/{{location}}/{{application_id}}
446
+ ```
447
+
448
+ ```sh
449
+ $ pulumi import gcp:apphub/application:Application default {{location}}/{{application_id}}
450
+ ```
451
+
452
+ :param str resource_name: The name of the resource.
453
+ :param pulumi.ResourceOptions opts: Options for the resource.
454
+ :param pulumi.Input[str] application_id: Required. The Application identifier.
455
+ :param pulumi.Input[pulumi.InputType['ApplicationAttributesArgs']] attributes: Consumer provided attributes.
456
+ Structure is documented below.
457
+ :param pulumi.Input[str] description: Optional. User-defined description of an Application.
458
+ :param pulumi.Input[str] display_name: Optional. Contact's name.
459
+ :param pulumi.Input[str] location: Part of `parent`. See documentation of `projectsId`.
460
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
461
+ If it is not provided, the provider project is used.
462
+ :param pulumi.Input[pulumi.InputType['ApplicationScopeArgs']] scope: Scope of an application.
463
+ Structure is documented below.
464
+ """
465
+ ...
466
+ @overload
467
+ def __init__(__self__,
468
+ resource_name: str,
469
+ args: ApplicationArgs,
470
+ opts: Optional[pulumi.ResourceOptions] = None):
471
+ """
472
+ Application is a functional grouping of Services and Workloads that helps achieve a desired end-to-end business functionality. Services and Workloads are owned by the Application.
473
+
474
+ ## Example Usage
475
+
476
+ ### Application Basic
477
+
478
+ <!--Start PulumiCodeChooser -->
479
+ ```python
480
+ import pulumi
481
+ import pulumi_gcp as gcp
482
+
483
+ example = gcp.apphub.Application("example",
484
+ location="us-east1",
485
+ application_id="example-application",
486
+ scope=gcp.apphub.ApplicationScopeArgs(
487
+ type="REGIONAL",
488
+ ))
489
+ ```
490
+ <!--End PulumiCodeChooser -->
491
+ ### Application Full
492
+
493
+ <!--Start PulumiCodeChooser -->
494
+ ```python
495
+ import pulumi
496
+ import pulumi_gcp as gcp
497
+
498
+ example2 = gcp.apphub.Application("example2",
499
+ location="us-east1",
500
+ application_id="example-application",
501
+ display_name="Application Full",
502
+ scope=gcp.apphub.ApplicationScopeArgs(
503
+ type="REGIONAL",
504
+ ),
505
+ description="Application for testing",
506
+ attributes=gcp.apphub.ApplicationAttributesArgs(
507
+ environment=gcp.apphub.ApplicationAttributesEnvironmentArgs(
508
+ type="STAGING",
509
+ ),
510
+ criticality=gcp.apphub.ApplicationAttributesCriticalityArgs(
511
+ type="MISSION_CRITICAL",
512
+ ),
513
+ business_owners=[gcp.apphub.ApplicationAttributesBusinessOwnerArgs(
514
+ display_name="Alice",
515
+ email="alice@google.com",
516
+ )],
517
+ developer_owners=[gcp.apphub.ApplicationAttributesDeveloperOwnerArgs(
518
+ display_name="Bob",
519
+ email="bob@google.com",
520
+ )],
521
+ operator_owners=[gcp.apphub.ApplicationAttributesOperatorOwnerArgs(
522
+ display_name="Charlie",
523
+ email="charlie@google.com",
524
+ )],
525
+ ))
526
+ ```
527
+ <!--End PulumiCodeChooser -->
528
+
529
+ ## Import
530
+
531
+ Application can be imported using any of these accepted formats:
532
+
533
+ * `projects/{{project}}/locations/{{location}}/applications/{{application_id}}`
534
+
535
+ * `{{project}}/{{location}}/{{application_id}}`
536
+
537
+ * `{{location}}/{{application_id}}`
538
+
539
+ When using the `pulumi import` command, Application can be imported using one of the formats above. For example:
540
+
541
+ ```sh
542
+ $ pulumi import gcp:apphub/application:Application default projects/{{project}}/locations/{{location}}/applications/{{application_id}}
543
+ ```
544
+
545
+ ```sh
546
+ $ pulumi import gcp:apphub/application:Application default {{project}}/{{location}}/{{application_id}}
547
+ ```
548
+
549
+ ```sh
550
+ $ pulumi import gcp:apphub/application:Application default {{location}}/{{application_id}}
551
+ ```
552
+
553
+ :param str resource_name: The name of the resource.
554
+ :param ApplicationArgs args: The arguments to use to populate this resource's properties.
555
+ :param pulumi.ResourceOptions opts: Options for the resource.
556
+ """
557
+ ...
558
+ def __init__(__self__, resource_name: str, *args, **kwargs):
559
+ resource_args, opts = _utilities.get_resource_args_opts(ApplicationArgs, pulumi.ResourceOptions, *args, **kwargs)
560
+ if resource_args is not None:
561
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
562
+ else:
563
+ __self__._internal_init(resource_name, *args, **kwargs)
564
+
565
+ def _internal_init(__self__,
566
+ resource_name: str,
567
+ opts: Optional[pulumi.ResourceOptions] = None,
568
+ application_id: Optional[pulumi.Input[str]] = None,
569
+ attributes: Optional[pulumi.Input[pulumi.InputType['ApplicationAttributesArgs']]] = None,
570
+ description: Optional[pulumi.Input[str]] = None,
571
+ display_name: Optional[pulumi.Input[str]] = None,
572
+ location: Optional[pulumi.Input[str]] = None,
573
+ project: Optional[pulumi.Input[str]] = None,
574
+ scope: Optional[pulumi.Input[pulumi.InputType['ApplicationScopeArgs']]] = None,
575
+ __props__=None):
576
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
577
+ if not isinstance(opts, pulumi.ResourceOptions):
578
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
579
+ if opts.id is None:
580
+ if __props__ is not None:
581
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
582
+ __props__ = ApplicationArgs.__new__(ApplicationArgs)
583
+
584
+ if application_id is None and not opts.urn:
585
+ raise TypeError("Missing required property 'application_id'")
586
+ __props__.__dict__["application_id"] = application_id
587
+ __props__.__dict__["attributes"] = attributes
588
+ __props__.__dict__["description"] = description
589
+ __props__.__dict__["display_name"] = display_name
590
+ if location is None and not opts.urn:
591
+ raise TypeError("Missing required property 'location'")
592
+ __props__.__dict__["location"] = location
593
+ __props__.__dict__["project"] = project
594
+ if scope is None and not opts.urn:
595
+ raise TypeError("Missing required property 'scope'")
596
+ __props__.__dict__["scope"] = scope
597
+ __props__.__dict__["create_time"] = None
598
+ __props__.__dict__["name"] = None
599
+ __props__.__dict__["state"] = None
600
+ __props__.__dict__["uid"] = None
601
+ __props__.__dict__["update_time"] = None
602
+ super(Application, __self__).__init__(
603
+ 'gcp:apphub/application:Application',
604
+ resource_name,
605
+ __props__,
606
+ opts)
607
+
608
+ @staticmethod
609
+ def get(resource_name: str,
610
+ id: pulumi.Input[str],
611
+ opts: Optional[pulumi.ResourceOptions] = None,
612
+ application_id: Optional[pulumi.Input[str]] = None,
613
+ attributes: Optional[pulumi.Input[pulumi.InputType['ApplicationAttributesArgs']]] = None,
614
+ create_time: Optional[pulumi.Input[str]] = None,
615
+ description: Optional[pulumi.Input[str]] = None,
616
+ display_name: Optional[pulumi.Input[str]] = None,
617
+ location: Optional[pulumi.Input[str]] = None,
618
+ name: Optional[pulumi.Input[str]] = None,
619
+ project: Optional[pulumi.Input[str]] = None,
620
+ scope: Optional[pulumi.Input[pulumi.InputType['ApplicationScopeArgs']]] = None,
621
+ state: Optional[pulumi.Input[str]] = None,
622
+ uid: Optional[pulumi.Input[str]] = None,
623
+ update_time: Optional[pulumi.Input[str]] = None) -> 'Application':
624
+ """
625
+ Get an existing Application resource's state with the given name, id, and optional extra
626
+ properties used to qualify the lookup.
627
+
628
+ :param str resource_name: The unique name of the resulting resource.
629
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
630
+ :param pulumi.ResourceOptions opts: Options for the resource.
631
+ :param pulumi.Input[str] application_id: Required. The Application identifier.
632
+ :param pulumi.Input[pulumi.InputType['ApplicationAttributesArgs']] attributes: Consumer provided attributes.
633
+ Structure is documented below.
634
+ :param pulumi.Input[str] create_time: Output only. Create time.
635
+ :param pulumi.Input[str] description: Optional. User-defined description of an Application.
636
+ :param pulumi.Input[str] display_name: Optional. Contact's name.
637
+ :param pulumi.Input[str] location: Part of `parent`. See documentation of `projectsId`.
638
+ :param pulumi.Input[str] name: Identifier. The resource name of an Application. Format:
639
+ "projects/{host-project-id}/locations/{location}/applications/{application-id}"
640
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
641
+ If it is not provided, the provider project is used.
642
+ :param pulumi.Input[pulumi.InputType['ApplicationScopeArgs']] scope: Scope of an application.
643
+ Structure is documented below.
644
+ :param pulumi.Input[str] state: Output only. Application state.
645
+ Possible values:
646
+ STATE_UNSPECIFIED
647
+ CREATING
648
+ ACTIVE
649
+ DELETING
650
+ :param pulumi.Input[str] uid: Output only. A universally unique identifier (in UUID4 format) for the `Application`.
651
+ :param pulumi.Input[str] update_time: Output only. Update time.
652
+ """
653
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
654
+
655
+ __props__ = _ApplicationState.__new__(_ApplicationState)
656
+
657
+ __props__.__dict__["application_id"] = application_id
658
+ __props__.__dict__["attributes"] = attributes
659
+ __props__.__dict__["create_time"] = create_time
660
+ __props__.__dict__["description"] = description
661
+ __props__.__dict__["display_name"] = display_name
662
+ __props__.__dict__["location"] = location
663
+ __props__.__dict__["name"] = name
664
+ __props__.__dict__["project"] = project
665
+ __props__.__dict__["scope"] = scope
666
+ __props__.__dict__["state"] = state
667
+ __props__.__dict__["uid"] = uid
668
+ __props__.__dict__["update_time"] = update_time
669
+ return Application(resource_name, opts=opts, __props__=__props__)
670
+
671
+ @property
672
+ @pulumi.getter(name="applicationId")
673
+ def application_id(self) -> pulumi.Output[str]:
674
+ """
675
+ Required. The Application identifier.
676
+ """
677
+ return pulumi.get(self, "application_id")
678
+
679
+ @property
680
+ @pulumi.getter
681
+ def attributes(self) -> pulumi.Output[Optional['outputs.ApplicationAttributes']]:
682
+ """
683
+ Consumer provided attributes.
684
+ Structure is documented below.
685
+ """
686
+ return pulumi.get(self, "attributes")
687
+
688
+ @property
689
+ @pulumi.getter(name="createTime")
690
+ def create_time(self) -> pulumi.Output[str]:
691
+ """
692
+ Output only. Create time.
693
+ """
694
+ return pulumi.get(self, "create_time")
695
+
696
+ @property
697
+ @pulumi.getter
698
+ def description(self) -> pulumi.Output[Optional[str]]:
699
+ """
700
+ Optional. User-defined description of an Application.
701
+ """
702
+ return pulumi.get(self, "description")
703
+
704
+ @property
705
+ @pulumi.getter(name="displayName")
706
+ def display_name(self) -> pulumi.Output[Optional[str]]:
707
+ """
708
+ Optional. Contact's name.
709
+ """
710
+ return pulumi.get(self, "display_name")
711
+
712
+ @property
713
+ @pulumi.getter
714
+ def location(self) -> pulumi.Output[str]:
715
+ """
716
+ Part of `parent`. See documentation of `projectsId`.
717
+ """
718
+ return pulumi.get(self, "location")
719
+
720
+ @property
721
+ @pulumi.getter
722
+ def name(self) -> pulumi.Output[str]:
723
+ """
724
+ Identifier. The resource name of an Application. Format:
725
+ "projects/{host-project-id}/locations/{location}/applications/{application-id}"
726
+ """
727
+ return pulumi.get(self, "name")
728
+
729
+ @property
730
+ @pulumi.getter
731
+ def project(self) -> pulumi.Output[str]:
732
+ """
733
+ The ID of the project in which the resource belongs.
734
+ If it is not provided, the provider project is used.
735
+ """
736
+ return pulumi.get(self, "project")
737
+
738
+ @property
739
+ @pulumi.getter
740
+ def scope(self) -> pulumi.Output['outputs.ApplicationScope']:
741
+ """
742
+ Scope of an application.
743
+ Structure is documented below.
744
+ """
745
+ return pulumi.get(self, "scope")
746
+
747
+ @property
748
+ @pulumi.getter
749
+ def state(self) -> pulumi.Output[str]:
750
+ """
751
+ Output only. Application state.
752
+ Possible values:
753
+ STATE_UNSPECIFIED
754
+ CREATING
755
+ ACTIVE
756
+ DELETING
757
+ """
758
+ return pulumi.get(self, "state")
759
+
760
+ @property
761
+ @pulumi.getter
762
+ def uid(self) -> pulumi.Output[str]:
763
+ """
764
+ Output only. A universally unique identifier (in UUID4 format) for the `Application`.
765
+ """
766
+ return pulumi.get(self, "uid")
767
+
768
+ @property
769
+ @pulumi.getter(name="updateTime")
770
+ def update_time(self) -> pulumi.Output[str]:
771
+ """
772
+ Output only. Update time.
773
+ """
774
+ return pulumi.get(self, "update_time")
775
+