pulumi-gcp 7.3.0a1702567892__py3-none-any.whl → 7.3.1__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (101) hide show
  1. pulumi_gcp/__init__.py +129 -0
  2. pulumi_gcp/artifactregistry/_inputs.py +88 -0
  3. pulumi_gcp/artifactregistry/outputs.py +148 -0
  4. pulumi_gcp/artifactregistry/repository.py +116 -16
  5. pulumi_gcp/bigquery/_inputs.py +110 -0
  6. pulumi_gcp/bigquery/connection.py +123 -3
  7. pulumi_gcp/bigquery/outputs.py +145 -0
  8. pulumi_gcp/cloudbuild/_inputs.py +241 -1
  9. pulumi_gcp/cloudbuild/outputs.py +353 -2
  10. pulumi_gcp/cloudfunctionsv2/_inputs.py +6 -2
  11. pulumi_gcp/cloudfunctionsv2/outputs.py +6 -2
  12. pulumi_gcp/cloudidentity/_inputs.py +54 -5
  13. pulumi_gcp/cloudidentity/group_membership.py +0 -8
  14. pulumi_gcp/cloudidentity/outputs.py +99 -4
  15. pulumi_gcp/cloudrunv2/_inputs.py +8 -4
  16. pulumi_gcp/cloudrunv2/job.py +44 -0
  17. pulumi_gcp/cloudrunv2/outputs.py +8 -4
  18. pulumi_gcp/cloudrunv2/service.py +42 -0
  19. pulumi_gcp/cloudtasks/queue.py +0 -10
  20. pulumi_gcp/composer/_inputs.py +17 -4
  21. pulumi_gcp/composer/outputs.py +20 -4
  22. pulumi_gcp/compute/_inputs.py +46 -0
  23. pulumi_gcp/compute/get_global_forwarding_rule.py +11 -1
  24. pulumi_gcp/compute/global_forwarding_rule.py +69 -0
  25. pulumi_gcp/compute/outputs.py +75 -0
  26. pulumi_gcp/config/__init__.pyi +6 -0
  27. pulumi_gcp/config/vars.py +12 -0
  28. pulumi_gcp/container/_inputs.py +58 -0
  29. pulumi_gcp/container/node_pool.py +68 -14
  30. pulumi_gcp/container/outputs.py +68 -0
  31. pulumi_gcp/dataform/__init__.py +4 -0
  32. pulumi_gcp/dataform/_inputs.py +80 -0
  33. pulumi_gcp/dataform/get_repository_iam_policy.py +144 -0
  34. pulumi_gcp/dataform/outputs.py +56 -0
  35. pulumi_gcp/dataform/repository_iam_binding.py +325 -0
  36. pulumi_gcp/dataform/repository_iam_member.py +325 -0
  37. pulumi_gcp/dataform/repository_iam_policy.py +254 -0
  38. pulumi_gcp/dataloss/_inputs.py +29 -26
  39. pulumi_gcp/dataloss/outputs.py +28 -25
  40. pulumi_gcp/dataloss/prevention_job_trigger.py +78 -0
  41. pulumi_gcp/datastream/connection_profile.py +82 -4
  42. pulumi_gcp/datastream/stream.py +32 -22
  43. pulumi_gcp/firestore/database.py +146 -28
  44. pulumi_gcp/gkehub/_inputs.py +821 -3
  45. pulumi_gcp/gkehub/feature.py +176 -0
  46. pulumi_gcp/gkehub/feature_membership.py +105 -59
  47. pulumi_gcp/gkehub/fleet.py +70 -2
  48. pulumi_gcp/gkehub/outputs.py +819 -3
  49. pulumi_gcp/gkehub/scope.py +2 -2
  50. pulumi_gcp/iam/_inputs.py +72 -0
  51. pulumi_gcp/iam/outputs.py +79 -0
  52. pulumi_gcp/iam/workforce_pool.py +75 -0
  53. pulumi_gcp/identityplatform/project_default_config.py +4 -0
  54. pulumi_gcp/logging/__init__.py +3 -0
  55. pulumi_gcp/logging/get_folder_settings.py +197 -0
  56. pulumi_gcp/logging/get_organization_settings.py +197 -0
  57. pulumi_gcp/logging/get_project_settings.py +197 -0
  58. pulumi_gcp/migrationcenter/__init__.py +8 -0
  59. pulumi_gcp/migrationcenter/group.py +652 -0
  60. pulumi_gcp/netapp/__init__.py +8 -0
  61. pulumi_gcp/netapp/storage_pool.py +970 -0
  62. pulumi_gcp/projects/iam_custom_role.py +7 -7
  63. pulumi_gcp/provider.py +60 -0
  64. pulumi_gcp/securesourcemanager/__init__.py +14 -0
  65. pulumi_gcp/securesourcemanager/_inputs.py +94 -0
  66. pulumi_gcp/securesourcemanager/get_instance_iam_policy.py +168 -0
  67. pulumi_gcp/securesourcemanager/instance.py +607 -0
  68. pulumi_gcp/securesourcemanager/instance_iam_binding.py +325 -0
  69. pulumi_gcp/securesourcemanager/instance_iam_member.py +325 -0
  70. pulumi_gcp/securesourcemanager/instance_iam_policy.py +254 -0
  71. pulumi_gcp/securesourcemanager/outputs.py +70 -0
  72. pulumi_gcp/securitycenter/__init__.py +1 -0
  73. pulumi_gcp/securitycenter/event_threat_detection_custom_module.py +528 -0
  74. pulumi_gcp/sql/_inputs.py +2 -2
  75. pulumi_gcp/sql/database_instance.py +4 -4
  76. pulumi_gcp/sql/outputs.py +2 -2
  77. pulumi_gcp/storage/_inputs.py +16 -0
  78. pulumi_gcp/storage/outputs.py +21 -0
  79. pulumi_gcp/vertex/__init__.py +4 -0
  80. pulumi_gcp/vertex/_inputs.py +80 -0
  81. pulumi_gcp/vertex/ai_endpoint_iam_binding.py +325 -0
  82. pulumi_gcp/vertex/ai_endpoint_iam_member.py +325 -0
  83. pulumi_gcp/vertex/ai_endpoint_iam_policy.py +254 -0
  84. pulumi_gcp/vertex/get_ai_endpoint_iam_policy.py +140 -0
  85. pulumi_gcp/vertex/outputs.py +56 -0
  86. pulumi_gcp/vmwareengine/__init__.py +5 -0
  87. pulumi_gcp/vmwareengine/_inputs.py +104 -2
  88. pulumi_gcp/vmwareengine/get_network.py +14 -4
  89. pulumi_gcp/vmwareengine/get_network_peering.py +260 -0
  90. pulumi_gcp/vmwareengine/get_network_policy.py +228 -0
  91. pulumi_gcp/vmwareengine/get_nsx_credentials.py +133 -0
  92. pulumi_gcp/vmwareengine/get_private_cloud.py +14 -4
  93. pulumi_gcp/vmwareengine/network.py +41 -7
  94. pulumi_gcp/vmwareengine/network_peering.py +959 -0
  95. pulumi_gcp/vmwareengine/network_policy.py +836 -0
  96. pulumi_gcp/vmwareengine/outputs.py +133 -2
  97. pulumi_gcp/vmwareengine/private_cloud.py +20 -68
  98. {pulumi_gcp-7.3.0a1702567892.dist-info → pulumi_gcp-7.3.1.dist-info}/METADATA +1 -1
  99. {pulumi_gcp-7.3.0a1702567892.dist-info → pulumi_gcp-7.3.1.dist-info}/RECORD +101 -72
  100. {pulumi_gcp-7.3.0a1702567892.dist-info → pulumi_gcp-7.3.1.dist-info}/WHEEL +0 -0
  101. {pulumi_gcp-7.3.0a1702567892.dist-info → pulumi_gcp-7.3.1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,652 @@
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
+
12
+ __all__ = ['GroupArgs', 'Group']
13
+
14
+ @pulumi.input_type
15
+ class GroupArgs:
16
+ def __init__(__self__, *,
17
+ group_id: pulumi.Input[str],
18
+ location: pulumi.Input[str],
19
+ description: Optional[pulumi.Input[str]] = None,
20
+ display_name: Optional[pulumi.Input[str]] = None,
21
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
22
+ project: Optional[pulumi.Input[str]] = None):
23
+ """
24
+ The set of arguments for constructing a Group resource.
25
+ :param pulumi.Input[str] group_id: Required. User specified ID for the group. It will become the last component of the group name. The ID must be unique within the project, must conform with RFC-1034, is restricted to lower-cased letters, and has a maximum length of 63 characters. The ID must match the regular expression: `a-z?`.
26
+
27
+
28
+ - - -
29
+ :param pulumi.Input[str] location: The location of the group.
30
+ :param pulumi.Input[str] description: Optional. The description of the group.
31
+ :param pulumi.Input[str] display_name: Optional. User-friendly display name.
32
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels as key value pairs.
33
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
34
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
35
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
36
+ If it is not provided, the provider project is used.
37
+ """
38
+ pulumi.set(__self__, "group_id", group_id)
39
+ pulumi.set(__self__, "location", location)
40
+ if description is not None:
41
+ pulumi.set(__self__, "description", description)
42
+ if display_name is not None:
43
+ pulumi.set(__self__, "display_name", display_name)
44
+ if labels is not None:
45
+ pulumi.set(__self__, "labels", labels)
46
+ if project is not None:
47
+ pulumi.set(__self__, "project", project)
48
+
49
+ @property
50
+ @pulumi.getter(name="groupId")
51
+ def group_id(self) -> pulumi.Input[str]:
52
+ """
53
+ Required. User specified ID for the group. It will become the last component of the group name. The ID must be unique within the project, must conform with RFC-1034, is restricted to lower-cased letters, and has a maximum length of 63 characters. The ID must match the regular expression: `a-z?`.
54
+
55
+
56
+ - - -
57
+ """
58
+ return pulumi.get(self, "group_id")
59
+
60
+ @group_id.setter
61
+ def group_id(self, value: pulumi.Input[str]):
62
+ pulumi.set(self, "group_id", value)
63
+
64
+ @property
65
+ @pulumi.getter
66
+ def location(self) -> pulumi.Input[str]:
67
+ """
68
+ The location of the group.
69
+ """
70
+ return pulumi.get(self, "location")
71
+
72
+ @location.setter
73
+ def location(self, value: pulumi.Input[str]):
74
+ pulumi.set(self, "location", value)
75
+
76
+ @property
77
+ @pulumi.getter
78
+ def description(self) -> Optional[pulumi.Input[str]]:
79
+ """
80
+ Optional. The description of the group.
81
+ """
82
+ return pulumi.get(self, "description")
83
+
84
+ @description.setter
85
+ def description(self, value: Optional[pulumi.Input[str]]):
86
+ pulumi.set(self, "description", value)
87
+
88
+ @property
89
+ @pulumi.getter(name="displayName")
90
+ def display_name(self) -> Optional[pulumi.Input[str]]:
91
+ """
92
+ Optional. User-friendly display name.
93
+ """
94
+ return pulumi.get(self, "display_name")
95
+
96
+ @display_name.setter
97
+ def display_name(self, value: Optional[pulumi.Input[str]]):
98
+ pulumi.set(self, "display_name", value)
99
+
100
+ @property
101
+ @pulumi.getter
102
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
103
+ """
104
+ Labels as key value pairs.
105
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
106
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
107
+ """
108
+ return pulumi.get(self, "labels")
109
+
110
+ @labels.setter
111
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
112
+ pulumi.set(self, "labels", value)
113
+
114
+ @property
115
+ @pulumi.getter
116
+ def project(self) -> Optional[pulumi.Input[str]]:
117
+ """
118
+ The ID of the project in which the resource belongs.
119
+ If it is not provided, the provider project is used.
120
+ """
121
+ return pulumi.get(self, "project")
122
+
123
+ @project.setter
124
+ def project(self, value: Optional[pulumi.Input[str]]):
125
+ pulumi.set(self, "project", value)
126
+
127
+
128
+ @pulumi.input_type
129
+ class _GroupState:
130
+ def __init__(__self__, *,
131
+ create_time: Optional[pulumi.Input[str]] = None,
132
+ description: Optional[pulumi.Input[str]] = None,
133
+ display_name: Optional[pulumi.Input[str]] = None,
134
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
135
+ group_id: Optional[pulumi.Input[str]] = None,
136
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
137
+ location: Optional[pulumi.Input[str]] = None,
138
+ name: Optional[pulumi.Input[str]] = None,
139
+ project: Optional[pulumi.Input[str]] = None,
140
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
141
+ update_time: Optional[pulumi.Input[str]] = None):
142
+ """
143
+ Input properties used for looking up and filtering Group resources.
144
+ :param pulumi.Input[str] create_time: Output only. The timestamp when the group was created.
145
+ :param pulumi.Input[str] description: Optional. The description of the group.
146
+ :param pulumi.Input[str] display_name: Optional. User-friendly display name.
147
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
148
+ :param pulumi.Input[str] group_id: Required. User specified ID for the group. It will become the last component of the group name. The ID must be unique within the project, must conform with RFC-1034, is restricted to lower-cased letters, and has a maximum length of 63 characters. The ID must match the regular expression: `a-z?`.
149
+
150
+
151
+ - - -
152
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels as key value pairs.
153
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
154
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
155
+ :param pulumi.Input[str] location: The location of the group.
156
+ :param pulumi.Input[str] name: Output only. The name of the group.
157
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
158
+ If it is not provided, the provider project is used.
159
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
160
+ and default labels configured on the provider.
161
+ :param pulumi.Input[str] update_time: Output only. The timestamp when the group was last updated.
162
+ """
163
+ if create_time is not None:
164
+ pulumi.set(__self__, "create_time", create_time)
165
+ if description is not None:
166
+ pulumi.set(__self__, "description", description)
167
+ if display_name is not None:
168
+ pulumi.set(__self__, "display_name", display_name)
169
+ if effective_labels is not None:
170
+ pulumi.set(__self__, "effective_labels", effective_labels)
171
+ if group_id is not None:
172
+ pulumi.set(__self__, "group_id", group_id)
173
+ if labels is not None:
174
+ pulumi.set(__self__, "labels", labels)
175
+ if location is not None:
176
+ pulumi.set(__self__, "location", location)
177
+ if name is not None:
178
+ pulumi.set(__self__, "name", name)
179
+ if project is not None:
180
+ pulumi.set(__self__, "project", project)
181
+ if pulumi_labels is not None:
182
+ pulumi.set(__self__, "pulumi_labels", pulumi_labels)
183
+ if update_time is not None:
184
+ pulumi.set(__self__, "update_time", update_time)
185
+
186
+ @property
187
+ @pulumi.getter(name="createTime")
188
+ def create_time(self) -> Optional[pulumi.Input[str]]:
189
+ """
190
+ Output only. The timestamp when the group was created.
191
+ """
192
+ return pulumi.get(self, "create_time")
193
+
194
+ @create_time.setter
195
+ def create_time(self, value: Optional[pulumi.Input[str]]):
196
+ pulumi.set(self, "create_time", value)
197
+
198
+ @property
199
+ @pulumi.getter
200
+ def description(self) -> Optional[pulumi.Input[str]]:
201
+ """
202
+ Optional. The description of the group.
203
+ """
204
+ return pulumi.get(self, "description")
205
+
206
+ @description.setter
207
+ def description(self, value: Optional[pulumi.Input[str]]):
208
+ pulumi.set(self, "description", value)
209
+
210
+ @property
211
+ @pulumi.getter(name="displayName")
212
+ def display_name(self) -> Optional[pulumi.Input[str]]:
213
+ """
214
+ Optional. User-friendly display name.
215
+ """
216
+ return pulumi.get(self, "display_name")
217
+
218
+ @display_name.setter
219
+ def display_name(self, value: Optional[pulumi.Input[str]]):
220
+ pulumi.set(self, "display_name", value)
221
+
222
+ @property
223
+ @pulumi.getter(name="effectiveLabels")
224
+ def effective_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
225
+ """
226
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
227
+ """
228
+ return pulumi.get(self, "effective_labels")
229
+
230
+ @effective_labels.setter
231
+ def effective_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
232
+ pulumi.set(self, "effective_labels", value)
233
+
234
+ @property
235
+ @pulumi.getter(name="groupId")
236
+ def group_id(self) -> Optional[pulumi.Input[str]]:
237
+ """
238
+ Required. User specified ID for the group. It will become the last component of the group name. The ID must be unique within the project, must conform with RFC-1034, is restricted to lower-cased letters, and has a maximum length of 63 characters. The ID must match the regular expression: `a-z?`.
239
+
240
+
241
+ - - -
242
+ """
243
+ return pulumi.get(self, "group_id")
244
+
245
+ @group_id.setter
246
+ def group_id(self, value: Optional[pulumi.Input[str]]):
247
+ pulumi.set(self, "group_id", value)
248
+
249
+ @property
250
+ @pulumi.getter
251
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
252
+ """
253
+ Labels as key value pairs.
254
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
255
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
256
+ """
257
+ return pulumi.get(self, "labels")
258
+
259
+ @labels.setter
260
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
261
+ pulumi.set(self, "labels", value)
262
+
263
+ @property
264
+ @pulumi.getter
265
+ def location(self) -> Optional[pulumi.Input[str]]:
266
+ """
267
+ The location of the group.
268
+ """
269
+ return pulumi.get(self, "location")
270
+
271
+ @location.setter
272
+ def location(self, value: Optional[pulumi.Input[str]]):
273
+ pulumi.set(self, "location", value)
274
+
275
+ @property
276
+ @pulumi.getter
277
+ def name(self) -> Optional[pulumi.Input[str]]:
278
+ """
279
+ Output only. The name of the group.
280
+ """
281
+ return pulumi.get(self, "name")
282
+
283
+ @name.setter
284
+ def name(self, value: Optional[pulumi.Input[str]]):
285
+ pulumi.set(self, "name", value)
286
+
287
+ @property
288
+ @pulumi.getter
289
+ def project(self) -> Optional[pulumi.Input[str]]:
290
+ """
291
+ The ID of the project in which the resource belongs.
292
+ If it is not provided, the provider project is used.
293
+ """
294
+ return pulumi.get(self, "project")
295
+
296
+ @project.setter
297
+ def project(self, value: Optional[pulumi.Input[str]]):
298
+ pulumi.set(self, "project", value)
299
+
300
+ @property
301
+ @pulumi.getter(name="pulumiLabels")
302
+ def pulumi_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
303
+ """
304
+ The combination of labels configured directly on the resource
305
+ and default labels configured on the provider.
306
+ """
307
+ return pulumi.get(self, "pulumi_labels")
308
+
309
+ @pulumi_labels.setter
310
+ def pulumi_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
311
+ pulumi.set(self, "pulumi_labels", value)
312
+
313
+ @property
314
+ @pulumi.getter(name="updateTime")
315
+ def update_time(self) -> Optional[pulumi.Input[str]]:
316
+ """
317
+ Output only. The timestamp when the group was last updated.
318
+ """
319
+ return pulumi.get(self, "update_time")
320
+
321
+ @update_time.setter
322
+ def update_time(self, value: Optional[pulumi.Input[str]]):
323
+ pulumi.set(self, "update_time", value)
324
+
325
+
326
+ class Group(pulumi.CustomResource):
327
+ @overload
328
+ def __init__(__self__,
329
+ resource_name: str,
330
+ opts: Optional[pulumi.ResourceOptions] = None,
331
+ description: Optional[pulumi.Input[str]] = None,
332
+ display_name: Optional[pulumi.Input[str]] = None,
333
+ group_id: Optional[pulumi.Input[str]] = None,
334
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
335
+ location: Optional[pulumi.Input[str]] = None,
336
+ project: Optional[pulumi.Input[str]] = None,
337
+ __props__=None):
338
+ """
339
+ A resource that represents an asset group. The purpose of an asset group is to bundle a set of assets that have something in common, while allowing users to add annotations to the group.
340
+
341
+ ## Example Usage
342
+ ### Migration Group Basic
343
+
344
+ ```python
345
+ import pulumi
346
+ import pulumi_gcp as gcp
347
+
348
+ default = gcp.migrationcenter.Group("default",
349
+ description="Terraform integration test description",
350
+ display_name="Terraform integration test display",
351
+ group_id="group-test",
352
+ labels={
353
+ "key": "value",
354
+ },
355
+ location="us-central1")
356
+ ```
357
+
358
+ ## Import
359
+
360
+ Group can be imported using any of these accepted formats* `projects/{{project}}/locations/{{location}}/groups/{{group_id}}` * `{{project}}/{{location}}/{{group_id}}` * `{{location}}/{{group_id}}` In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Group using one of the formats above. For exampletf import {
361
+
362
+ id = "projects/{{project}}/locations/{{location}}/groups/{{group_id}}"
363
+
364
+ to = google_migration_center_group.default }
365
+
366
+ ```sh
367
+ $ pulumi import gcp:migrationcenter/group:Group When using the [`terraform import` command](https://developer.hashicorp.com/terraform/cli/commands/import), Group can be imported using one of the formats above. For example
368
+ ```
369
+
370
+ ```sh
371
+ $ pulumi import gcp:migrationcenter/group:Group default projects/{{project}}/locations/{{location}}/groups/{{group_id}}
372
+ ```
373
+
374
+ ```sh
375
+ $ pulumi import gcp:migrationcenter/group:Group default {{project}}/{{location}}/{{group_id}}
376
+ ```
377
+
378
+ ```sh
379
+ $ pulumi import gcp:migrationcenter/group:Group default {{location}}/{{group_id}}
380
+ ```
381
+
382
+ :param str resource_name: The name of the resource.
383
+ :param pulumi.ResourceOptions opts: Options for the resource.
384
+ :param pulumi.Input[str] description: Optional. The description of the group.
385
+ :param pulumi.Input[str] display_name: Optional. User-friendly display name.
386
+ :param pulumi.Input[str] group_id: Required. User specified ID for the group. It will become the last component of the group name. The ID must be unique within the project, must conform with RFC-1034, is restricted to lower-cased letters, and has a maximum length of 63 characters. The ID must match the regular expression: `a-z?`.
387
+
388
+
389
+ - - -
390
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels as key value pairs.
391
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
392
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
393
+ :param pulumi.Input[str] location: The location of the group.
394
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
395
+ If it is not provided, the provider project is used.
396
+ """
397
+ ...
398
+ @overload
399
+ def __init__(__self__,
400
+ resource_name: str,
401
+ args: GroupArgs,
402
+ opts: Optional[pulumi.ResourceOptions] = None):
403
+ """
404
+ A resource that represents an asset group. The purpose of an asset group is to bundle a set of assets that have something in common, while allowing users to add annotations to the group.
405
+
406
+ ## Example Usage
407
+ ### Migration Group Basic
408
+
409
+ ```python
410
+ import pulumi
411
+ import pulumi_gcp as gcp
412
+
413
+ default = gcp.migrationcenter.Group("default",
414
+ description="Terraform integration test description",
415
+ display_name="Terraform integration test display",
416
+ group_id="group-test",
417
+ labels={
418
+ "key": "value",
419
+ },
420
+ location="us-central1")
421
+ ```
422
+
423
+ ## Import
424
+
425
+ Group can be imported using any of these accepted formats* `projects/{{project}}/locations/{{location}}/groups/{{group_id}}` * `{{project}}/{{location}}/{{group_id}}` * `{{location}}/{{group_id}}` In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Group using one of the formats above. For exampletf import {
426
+
427
+ id = "projects/{{project}}/locations/{{location}}/groups/{{group_id}}"
428
+
429
+ to = google_migration_center_group.default }
430
+
431
+ ```sh
432
+ $ pulumi import gcp:migrationcenter/group:Group When using the [`terraform import` command](https://developer.hashicorp.com/terraform/cli/commands/import), Group can be imported using one of the formats above. For example
433
+ ```
434
+
435
+ ```sh
436
+ $ pulumi import gcp:migrationcenter/group:Group default projects/{{project}}/locations/{{location}}/groups/{{group_id}}
437
+ ```
438
+
439
+ ```sh
440
+ $ pulumi import gcp:migrationcenter/group:Group default {{project}}/{{location}}/{{group_id}}
441
+ ```
442
+
443
+ ```sh
444
+ $ pulumi import gcp:migrationcenter/group:Group default {{location}}/{{group_id}}
445
+ ```
446
+
447
+ :param str resource_name: The name of the resource.
448
+ :param GroupArgs args: The arguments to use to populate this resource's properties.
449
+ :param pulumi.ResourceOptions opts: Options for the resource.
450
+ """
451
+ ...
452
+ def __init__(__self__, resource_name: str, *args, **kwargs):
453
+ resource_args, opts = _utilities.get_resource_args_opts(GroupArgs, pulumi.ResourceOptions, *args, **kwargs)
454
+ if resource_args is not None:
455
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
456
+ else:
457
+ __self__._internal_init(resource_name, *args, **kwargs)
458
+
459
+ def _internal_init(__self__,
460
+ resource_name: str,
461
+ opts: Optional[pulumi.ResourceOptions] = None,
462
+ description: Optional[pulumi.Input[str]] = None,
463
+ display_name: Optional[pulumi.Input[str]] = None,
464
+ group_id: Optional[pulumi.Input[str]] = None,
465
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
466
+ location: Optional[pulumi.Input[str]] = None,
467
+ project: Optional[pulumi.Input[str]] = None,
468
+ __props__=None):
469
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
470
+ if not isinstance(opts, pulumi.ResourceOptions):
471
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
472
+ if opts.id is None:
473
+ if __props__ is not None:
474
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
475
+ __props__ = GroupArgs.__new__(GroupArgs)
476
+
477
+ __props__.__dict__["description"] = description
478
+ __props__.__dict__["display_name"] = display_name
479
+ if group_id is None and not opts.urn:
480
+ raise TypeError("Missing required property 'group_id'")
481
+ __props__.__dict__["group_id"] = group_id
482
+ __props__.__dict__["labels"] = labels
483
+ if location is None and not opts.urn:
484
+ raise TypeError("Missing required property 'location'")
485
+ __props__.__dict__["location"] = location
486
+ __props__.__dict__["project"] = project
487
+ __props__.__dict__["create_time"] = None
488
+ __props__.__dict__["effective_labels"] = None
489
+ __props__.__dict__["name"] = None
490
+ __props__.__dict__["pulumi_labels"] = None
491
+ __props__.__dict__["update_time"] = None
492
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["effectiveLabels", "pulumiLabels"])
493
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
494
+ super(Group, __self__).__init__(
495
+ 'gcp:migrationcenter/group:Group',
496
+ resource_name,
497
+ __props__,
498
+ opts)
499
+
500
+ @staticmethod
501
+ def get(resource_name: str,
502
+ id: pulumi.Input[str],
503
+ opts: Optional[pulumi.ResourceOptions] = None,
504
+ create_time: Optional[pulumi.Input[str]] = None,
505
+ description: Optional[pulumi.Input[str]] = None,
506
+ display_name: Optional[pulumi.Input[str]] = None,
507
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
508
+ group_id: Optional[pulumi.Input[str]] = None,
509
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
510
+ location: Optional[pulumi.Input[str]] = None,
511
+ name: Optional[pulumi.Input[str]] = None,
512
+ project: Optional[pulumi.Input[str]] = None,
513
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
514
+ update_time: Optional[pulumi.Input[str]] = None) -> 'Group':
515
+ """
516
+ Get an existing Group resource's state with the given name, id, and optional extra
517
+ properties used to qualify the lookup.
518
+
519
+ :param str resource_name: The unique name of the resulting resource.
520
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
521
+ :param pulumi.ResourceOptions opts: Options for the resource.
522
+ :param pulumi.Input[str] create_time: Output only. The timestamp when the group was created.
523
+ :param pulumi.Input[str] description: Optional. The description of the group.
524
+ :param pulumi.Input[str] display_name: Optional. User-friendly display name.
525
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
526
+ :param pulumi.Input[str] group_id: Required. User specified ID for the group. It will become the last component of the group name. The ID must be unique within the project, must conform with RFC-1034, is restricted to lower-cased letters, and has a maximum length of 63 characters. The ID must match the regular expression: `a-z?`.
527
+
528
+
529
+ - - -
530
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels as key value pairs.
531
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
532
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
533
+ :param pulumi.Input[str] location: The location of the group.
534
+ :param pulumi.Input[str] name: Output only. The name of the group.
535
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
536
+ If it is not provided, the provider project is used.
537
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
538
+ and default labels configured on the provider.
539
+ :param pulumi.Input[str] update_time: Output only. The timestamp when the group was last updated.
540
+ """
541
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
542
+
543
+ __props__ = _GroupState.__new__(_GroupState)
544
+
545
+ __props__.__dict__["create_time"] = create_time
546
+ __props__.__dict__["description"] = description
547
+ __props__.__dict__["display_name"] = display_name
548
+ __props__.__dict__["effective_labels"] = effective_labels
549
+ __props__.__dict__["group_id"] = group_id
550
+ __props__.__dict__["labels"] = labels
551
+ __props__.__dict__["location"] = location
552
+ __props__.__dict__["name"] = name
553
+ __props__.__dict__["project"] = project
554
+ __props__.__dict__["pulumi_labels"] = pulumi_labels
555
+ __props__.__dict__["update_time"] = update_time
556
+ return Group(resource_name, opts=opts, __props__=__props__)
557
+
558
+ @property
559
+ @pulumi.getter(name="createTime")
560
+ def create_time(self) -> pulumi.Output[str]:
561
+ """
562
+ Output only. The timestamp when the group was created.
563
+ """
564
+ return pulumi.get(self, "create_time")
565
+
566
+ @property
567
+ @pulumi.getter
568
+ def description(self) -> pulumi.Output[Optional[str]]:
569
+ """
570
+ Optional. The description of the group.
571
+ """
572
+ return pulumi.get(self, "description")
573
+
574
+ @property
575
+ @pulumi.getter(name="displayName")
576
+ def display_name(self) -> pulumi.Output[Optional[str]]:
577
+ """
578
+ Optional. User-friendly display name.
579
+ """
580
+ return pulumi.get(self, "display_name")
581
+
582
+ @property
583
+ @pulumi.getter(name="effectiveLabels")
584
+ def effective_labels(self) -> pulumi.Output[Mapping[str, str]]:
585
+ """
586
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
587
+ """
588
+ return pulumi.get(self, "effective_labels")
589
+
590
+ @property
591
+ @pulumi.getter(name="groupId")
592
+ def group_id(self) -> pulumi.Output[str]:
593
+ """
594
+ Required. User specified ID for the group. It will become the last component of the group name. The ID must be unique within the project, must conform with RFC-1034, is restricted to lower-cased letters, and has a maximum length of 63 characters. The ID must match the regular expression: `a-z?`.
595
+
596
+
597
+ - - -
598
+ """
599
+ return pulumi.get(self, "group_id")
600
+
601
+ @property
602
+ @pulumi.getter
603
+ def labels(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
604
+ """
605
+ Labels as key value pairs.
606
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
607
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
608
+ """
609
+ return pulumi.get(self, "labels")
610
+
611
+ @property
612
+ @pulumi.getter
613
+ def location(self) -> pulumi.Output[str]:
614
+ """
615
+ The location of the group.
616
+ """
617
+ return pulumi.get(self, "location")
618
+
619
+ @property
620
+ @pulumi.getter
621
+ def name(self) -> pulumi.Output[str]:
622
+ """
623
+ Output only. The name of the group.
624
+ """
625
+ return pulumi.get(self, "name")
626
+
627
+ @property
628
+ @pulumi.getter
629
+ def project(self) -> pulumi.Output[str]:
630
+ """
631
+ The ID of the project in which the resource belongs.
632
+ If it is not provided, the provider project is used.
633
+ """
634
+ return pulumi.get(self, "project")
635
+
636
+ @property
637
+ @pulumi.getter(name="pulumiLabels")
638
+ def pulumi_labels(self) -> pulumi.Output[Mapping[str, str]]:
639
+ """
640
+ The combination of labels configured directly on the resource
641
+ and default labels configured on the provider.
642
+ """
643
+ return pulumi.get(self, "pulumi_labels")
644
+
645
+ @property
646
+ @pulumi.getter(name="updateTime")
647
+ def update_time(self) -> pulumi.Output[str]:
648
+ """
649
+ Output only. The timestamp when the group was last updated.
650
+ """
651
+ return pulumi.get(self, "update_time")
652
+
@@ -0,0 +1,8 @@
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
+ from .. import _utilities
6
+ import typing
7
+ # Export this package's modules as members:
8
+ from .storage_pool import *