pulumi-gcp 8.7.0a1730183903__py3-none-any.whl → 8.7.0a1730196225__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 (111) hide show
  1. pulumi_gcp/__init__.py +70 -0
  2. pulumi_gcp/accesscontextmanager/service_perimeter.py +2 -0
  3. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_egress_policy.py +4 -0
  4. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_ingress_policy.py +4 -0
  5. pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +4 -0
  6. pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +4 -0
  7. pulumi_gcp/accesscontextmanager/service_perimeters.py +2 -0
  8. pulumi_gcp/apigee/__init__.py +2 -0
  9. pulumi_gcp/apigee/_inputs.py +108 -0
  10. pulumi_gcp/apigee/app_group.py +811 -0
  11. pulumi_gcp/apigee/developer.py +757 -0
  12. pulumi_gcp/apigee/outputs.py +64 -0
  13. pulumi_gcp/artifactregistry/get_docker_image.py +40 -0
  14. pulumi_gcp/bigquery/connection.py +12 -12
  15. pulumi_gcp/bigquery/job.py +6 -6
  16. pulumi_gcp/cloudrunv2/get_service.py +12 -1
  17. pulumi_gcp/cloudrunv2/service.py +92 -0
  18. pulumi_gcp/compute/_inputs.py +214 -116
  19. pulumi_gcp/compute/backend_service.py +76 -0
  20. pulumi_gcp/compute/get_backend_service.py +12 -1
  21. pulumi_gcp/compute/get_instance.py +29 -1
  22. pulumi_gcp/compute/get_instance_template.py +29 -1
  23. pulumi_gcp/compute/get_region_instance_group_manager.py +0 -18
  24. pulumi_gcp/compute/get_region_instance_template.py +29 -1
  25. pulumi_gcp/compute/instance.py +89 -0
  26. pulumi_gcp/compute/instance_from_machine_image.py +82 -0
  27. pulumi_gcp/compute/instance_from_template.py +82 -0
  28. pulumi_gcp/compute/instance_template.py +75 -0
  29. pulumi_gcp/compute/network_firewall_policy_association.py +76 -50
  30. pulumi_gcp/compute/network_firewall_policy_rule.py +149 -103
  31. pulumi_gcp/compute/outputs.py +170 -80
  32. pulumi_gcp/compute/region_backend_service.py +94 -0
  33. pulumi_gcp/compute/region_instance_template.py +75 -0
  34. pulumi_gcp/compute/region_network_endpoint_group.py +6 -4
  35. pulumi_gcp/compute/region_network_firewall_policy_association.py +104 -54
  36. pulumi_gcp/compute/region_network_firewall_policy_rule.py +160 -107
  37. pulumi_gcp/config/__init__.pyi +4 -0
  38. pulumi_gcp/config/vars.py +8 -0
  39. pulumi_gcp/container/attached_cluster.py +9 -6
  40. pulumi_gcp/container/outputs.py +2 -2
  41. pulumi_gcp/datastream/stream.py +2 -2
  42. pulumi_gcp/diagflow/_inputs.py +472 -2
  43. pulumi_gcp/diagflow/cx_agent.py +64 -4
  44. pulumi_gcp/diagflow/cx_flow.py +30 -0
  45. pulumi_gcp/diagflow/outputs.py +378 -2
  46. pulumi_gcp/gkehub/feature.py +2 -4
  47. pulumi_gcp/iam/workload_identity_pool_provider.py +56 -0
  48. pulumi_gcp/looker/instance.py +104 -2
  49. pulumi_gcp/monitoring/_inputs.py +23 -0
  50. pulumi_gcp/monitoring/get_secret_version.py +22 -3
  51. pulumi_gcp/monitoring/outputs.py +16 -0
  52. pulumi_gcp/networkconnectivity/__init__.py +1 -0
  53. pulumi_gcp/networkconnectivity/_inputs.py +148 -0
  54. pulumi_gcp/networkconnectivity/group.py +764 -0
  55. pulumi_gcp/networkconnectivity/outputs.py +125 -0
  56. pulumi_gcp/networkconnectivity/spoke.py +144 -0
  57. pulumi_gcp/networksecurity/server_tls_policy.py +2 -2
  58. pulumi_gcp/oracledatabase/__init__.py +20 -0
  59. pulumi_gcp/oracledatabase/_inputs.py +4745 -0
  60. pulumi_gcp/oracledatabase/autonomous_database.py +983 -0
  61. pulumi_gcp/oracledatabase/cloud_exadata_infrastructure.py +842 -0
  62. pulumi_gcp/oracledatabase/cloud_vm_cluster.py +1086 -0
  63. pulumi_gcp/oracledatabase/get_autonomous_database.py +290 -0
  64. pulumi_gcp/oracledatabase/get_autonomous_databases.py +150 -0
  65. pulumi_gcp/oracledatabase/get_cloud_exadata_infrastructure.py +257 -0
  66. pulumi_gcp/oracledatabase/get_cloud_exadata_infrastructures.py +150 -0
  67. pulumi_gcp/oracledatabase/get_cloud_vm_cluster.py +290 -0
  68. pulumi_gcp/oracledatabase/get_cloud_vm_clusters.py +150 -0
  69. pulumi_gcp/oracledatabase/get_db_nodes.py +245 -0
  70. pulumi_gcp/oracledatabase/get_db_servers.py +245 -0
  71. pulumi_gcp/oracledatabase/outputs.py +9304 -0
  72. pulumi_gcp/organizations/folder.py +7 -7
  73. pulumi_gcp/organizations/project.py +7 -7
  74. pulumi_gcp/orgpolicy/_inputs.py +3 -3
  75. pulumi_gcp/orgpolicy/outputs.py +2 -2
  76. pulumi_gcp/privilegedaccessmanager/get_entitlement.py +46 -2
  77. pulumi_gcp/provider.py +40 -0
  78. pulumi_gcp/pulumi-plugin.json +1 -1
  79. pulumi_gcp/secretmanager/get_regional_secret_version.py +24 -5
  80. pulumi_gcp/secretmanager/get_regional_secret_version_access.py +24 -5
  81. pulumi_gcp/secretmanager/get_secret_version.py +22 -3
  82. pulumi_gcp/secretmanager/get_secret_version_access.py +22 -3
  83. pulumi_gcp/secretmanager/regional_secret.py +2 -2
  84. pulumi_gcp/siteverification/get_token.py +0 -16
  85. pulumi_gcp/siteverification/owner.py +0 -16
  86. pulumi_gcp/spanner/_inputs.py +29 -5
  87. pulumi_gcp/spanner/outputs.py +20 -3
  88. pulumi_gcp/sql/_inputs.py +6 -6
  89. pulumi_gcp/sql/outputs.py +4 -4
  90. pulumi_gcp/sql/user.py +28 -21
  91. pulumi_gcp/storage/_inputs.py +36 -0
  92. pulumi_gcp/storage/bucket.py +47 -0
  93. pulumi_gcp/storage/get_bucket.py +12 -1
  94. pulumi_gcp/storage/outputs.py +40 -0
  95. pulumi_gcp/transcoder/__init__.py +11 -0
  96. pulumi_gcp/transcoder/_inputs.py +3991 -0
  97. pulumi_gcp/transcoder/job.py +2134 -0
  98. pulumi_gcp/transcoder/job_template.py +1524 -0
  99. pulumi_gcp/transcoder/outputs.py +2918 -0
  100. pulumi_gcp/vertex/ai_deployment_resource_pool.py +2 -2
  101. pulumi_gcp/vmwareengine/_inputs.py +440 -0
  102. pulumi_gcp/vmwareengine/cluster.py +100 -2
  103. pulumi_gcp/vmwareengine/get_cluster.py +12 -1
  104. pulumi_gcp/vmwareengine/outputs.py +615 -0
  105. pulumi_gcp/workstations/_inputs.py +54 -0
  106. pulumi_gcp/workstations/outputs.py +32 -0
  107. pulumi_gcp/workstations/workstation_config.py +205 -0
  108. {pulumi_gcp-8.7.0a1730183903.dist-info → pulumi_gcp-8.7.0a1730196225.dist-info}/METADATA +1 -1
  109. {pulumi_gcp-8.7.0a1730183903.dist-info → pulumi_gcp-8.7.0a1730196225.dist-info}/RECORD +111 -89
  110. {pulumi_gcp-8.7.0a1730183903.dist-info → pulumi_gcp-8.7.0a1730196225.dist-info}/WHEEL +1 -1
  111. {pulumi_gcp-8.7.0a1730183903.dist-info → pulumi_gcp-8.7.0a1730196225.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,764 @@
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 sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['GroupArgs', 'Group']
20
+
21
+ @pulumi.input_type
22
+ class GroupArgs:
23
+ def __init__(__self__, *,
24
+ hub: pulumi.Input[str],
25
+ auto_accept: Optional[pulumi.Input['GroupAutoAcceptArgs']] = None,
26
+ description: Optional[pulumi.Input[str]] = None,
27
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
28
+ name: Optional[pulumi.Input[str]] = None,
29
+ project: Optional[pulumi.Input[str]] = None):
30
+ """
31
+ The set of arguments for constructing a Group resource.
32
+ :param pulumi.Input[str] hub: The name of the hub. Hub names must be unique. They use the following form: projects/{projectNumber}/locations/global/hubs/{hubId}
33
+
34
+
35
+ - - -
36
+ :param pulumi.Input['GroupAutoAcceptArgs'] auto_accept: Optional. The auto-accept setting for this group.
37
+ Structure is documented below.
38
+ :param pulumi.Input[str] description: An optional description of the group.
39
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Optional labels in key:value format. For more information about labels, see [Requirements for labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements).
40
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
41
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
42
+ :param pulumi.Input[str] name: The name of the group. Group names must be unique.
43
+ Possible values are: `default`, `center`, `edge`.
44
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
45
+ If it is not provided, the provider project is used.
46
+ """
47
+ pulumi.set(__self__, "hub", hub)
48
+ if auto_accept is not None:
49
+ pulumi.set(__self__, "auto_accept", auto_accept)
50
+ if description is not None:
51
+ pulumi.set(__self__, "description", description)
52
+ if labels is not None:
53
+ pulumi.set(__self__, "labels", labels)
54
+ if name is not None:
55
+ pulumi.set(__self__, "name", name)
56
+ if project is not None:
57
+ pulumi.set(__self__, "project", project)
58
+
59
+ @property
60
+ @pulumi.getter
61
+ def hub(self) -> pulumi.Input[str]:
62
+ """
63
+ The name of the hub. Hub names must be unique. They use the following form: projects/{projectNumber}/locations/global/hubs/{hubId}
64
+
65
+
66
+ - - -
67
+ """
68
+ return pulumi.get(self, "hub")
69
+
70
+ @hub.setter
71
+ def hub(self, value: pulumi.Input[str]):
72
+ pulumi.set(self, "hub", value)
73
+
74
+ @property
75
+ @pulumi.getter(name="autoAccept")
76
+ def auto_accept(self) -> Optional[pulumi.Input['GroupAutoAcceptArgs']]:
77
+ """
78
+ Optional. The auto-accept setting for this group.
79
+ Structure is documented below.
80
+ """
81
+ return pulumi.get(self, "auto_accept")
82
+
83
+ @auto_accept.setter
84
+ def auto_accept(self, value: Optional[pulumi.Input['GroupAutoAcceptArgs']]):
85
+ pulumi.set(self, "auto_accept", value)
86
+
87
+ @property
88
+ @pulumi.getter
89
+ def description(self) -> Optional[pulumi.Input[str]]:
90
+ """
91
+ An optional description of the group.
92
+ """
93
+ return pulumi.get(self, "description")
94
+
95
+ @description.setter
96
+ def description(self, value: Optional[pulumi.Input[str]]):
97
+ pulumi.set(self, "description", value)
98
+
99
+ @property
100
+ @pulumi.getter
101
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
102
+ """
103
+ Optional labels in key:value format. For more information about labels, see [Requirements for labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements).
104
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
105
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
106
+ """
107
+ return pulumi.get(self, "labels")
108
+
109
+ @labels.setter
110
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
111
+ pulumi.set(self, "labels", value)
112
+
113
+ @property
114
+ @pulumi.getter
115
+ def name(self) -> Optional[pulumi.Input[str]]:
116
+ """
117
+ The name of the group. Group names must be unique.
118
+ Possible values are: `default`, `center`, `edge`.
119
+ """
120
+ return pulumi.get(self, "name")
121
+
122
+ @name.setter
123
+ def name(self, value: Optional[pulumi.Input[str]]):
124
+ pulumi.set(self, "name", value)
125
+
126
+ @property
127
+ @pulumi.getter
128
+ def project(self) -> Optional[pulumi.Input[str]]:
129
+ """
130
+ The ID of the project in which the resource belongs.
131
+ If it is not provided, the provider project is used.
132
+ """
133
+ return pulumi.get(self, "project")
134
+
135
+ @project.setter
136
+ def project(self, value: Optional[pulumi.Input[str]]):
137
+ pulumi.set(self, "project", value)
138
+
139
+
140
+ @pulumi.input_type
141
+ class _GroupState:
142
+ def __init__(__self__, *,
143
+ auto_accept: Optional[pulumi.Input['GroupAutoAcceptArgs']] = None,
144
+ create_time: Optional[pulumi.Input[str]] = None,
145
+ description: Optional[pulumi.Input[str]] = None,
146
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
147
+ hub: Optional[pulumi.Input[str]] = None,
148
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
149
+ name: Optional[pulumi.Input[str]] = None,
150
+ project: Optional[pulumi.Input[str]] = None,
151
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
152
+ route_table: Optional[pulumi.Input[str]] = None,
153
+ state: Optional[pulumi.Input[str]] = None,
154
+ uid: Optional[pulumi.Input[str]] = None,
155
+ update_time: Optional[pulumi.Input[str]] = None):
156
+ """
157
+ Input properties used for looking up and filtering Group resources.
158
+ :param pulumi.Input['GroupAutoAcceptArgs'] auto_accept: Optional. The auto-accept setting for this group.
159
+ Structure is documented below.
160
+ :param pulumi.Input[str] create_time: Output only. The time the hub was created.
161
+ :param pulumi.Input[str] description: An optional description of the group.
162
+ :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.
163
+ :param pulumi.Input[str] hub: The name of the hub. Hub names must be unique. They use the following form: projects/{projectNumber}/locations/global/hubs/{hubId}
164
+
165
+
166
+ - - -
167
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Optional labels in key:value format. For more information about labels, see [Requirements for labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements).
168
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
169
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
170
+ :param pulumi.Input[str] name: The name of the group. Group names must be unique.
171
+ Possible values are: `default`, `center`, `edge`.
172
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
173
+ If it is not provided, the provider project is used.
174
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
175
+ and default labels configured on the provider.
176
+ :param pulumi.Input[str] route_table: Output only. The name of the route table that corresponds to this group. They use the following form: `projects/{projectNumber}/locations/global/hubs/{hubId}/routeTables/{route_table_id}`
177
+ :param pulumi.Input[str] state: Output only. The current lifecycle state of this hub.
178
+ :param pulumi.Input[str] uid: Output only. The Google-generated UUID for the group. This value is unique across all group resources. If a group is deleted and another with the same name is created, the new route table is assigned a different uniqueId.
179
+ :param pulumi.Input[str] update_time: Output only. The time the hub was last updated.
180
+ """
181
+ if auto_accept is not None:
182
+ pulumi.set(__self__, "auto_accept", auto_accept)
183
+ if create_time is not None:
184
+ pulumi.set(__self__, "create_time", create_time)
185
+ if description is not None:
186
+ pulumi.set(__self__, "description", description)
187
+ if effective_labels is not None:
188
+ pulumi.set(__self__, "effective_labels", effective_labels)
189
+ if hub is not None:
190
+ pulumi.set(__self__, "hub", hub)
191
+ if labels is not None:
192
+ pulumi.set(__self__, "labels", labels)
193
+ if name is not None:
194
+ pulumi.set(__self__, "name", name)
195
+ if project is not None:
196
+ pulumi.set(__self__, "project", project)
197
+ if pulumi_labels is not None:
198
+ pulumi.set(__self__, "pulumi_labels", pulumi_labels)
199
+ if route_table is not None:
200
+ pulumi.set(__self__, "route_table", route_table)
201
+ if state is not None:
202
+ pulumi.set(__self__, "state", state)
203
+ if uid is not None:
204
+ pulumi.set(__self__, "uid", uid)
205
+ if update_time is not None:
206
+ pulumi.set(__self__, "update_time", update_time)
207
+
208
+ @property
209
+ @pulumi.getter(name="autoAccept")
210
+ def auto_accept(self) -> Optional[pulumi.Input['GroupAutoAcceptArgs']]:
211
+ """
212
+ Optional. The auto-accept setting for this group.
213
+ Structure is documented below.
214
+ """
215
+ return pulumi.get(self, "auto_accept")
216
+
217
+ @auto_accept.setter
218
+ def auto_accept(self, value: Optional[pulumi.Input['GroupAutoAcceptArgs']]):
219
+ pulumi.set(self, "auto_accept", value)
220
+
221
+ @property
222
+ @pulumi.getter(name="createTime")
223
+ def create_time(self) -> Optional[pulumi.Input[str]]:
224
+ """
225
+ Output only. The time the hub was created.
226
+ """
227
+ return pulumi.get(self, "create_time")
228
+
229
+ @create_time.setter
230
+ def create_time(self, value: Optional[pulumi.Input[str]]):
231
+ pulumi.set(self, "create_time", value)
232
+
233
+ @property
234
+ @pulumi.getter
235
+ def description(self) -> Optional[pulumi.Input[str]]:
236
+ """
237
+ An optional description of the group.
238
+ """
239
+ return pulumi.get(self, "description")
240
+
241
+ @description.setter
242
+ def description(self, value: Optional[pulumi.Input[str]]):
243
+ pulumi.set(self, "description", value)
244
+
245
+ @property
246
+ @pulumi.getter(name="effectiveLabels")
247
+ def effective_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
248
+ """
249
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
250
+ """
251
+ return pulumi.get(self, "effective_labels")
252
+
253
+ @effective_labels.setter
254
+ def effective_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
255
+ pulumi.set(self, "effective_labels", value)
256
+
257
+ @property
258
+ @pulumi.getter
259
+ def hub(self) -> Optional[pulumi.Input[str]]:
260
+ """
261
+ The name of the hub. Hub names must be unique. They use the following form: projects/{projectNumber}/locations/global/hubs/{hubId}
262
+
263
+
264
+ - - -
265
+ """
266
+ return pulumi.get(self, "hub")
267
+
268
+ @hub.setter
269
+ def hub(self, value: Optional[pulumi.Input[str]]):
270
+ pulumi.set(self, "hub", value)
271
+
272
+ @property
273
+ @pulumi.getter
274
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
275
+ """
276
+ Optional labels in key:value format. For more information about labels, see [Requirements for labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements).
277
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
278
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
279
+ """
280
+ return pulumi.get(self, "labels")
281
+
282
+ @labels.setter
283
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
284
+ pulumi.set(self, "labels", value)
285
+
286
+ @property
287
+ @pulumi.getter
288
+ def name(self) -> Optional[pulumi.Input[str]]:
289
+ """
290
+ The name of the group. Group names must be unique.
291
+ Possible values are: `default`, `center`, `edge`.
292
+ """
293
+ return pulumi.get(self, "name")
294
+
295
+ @name.setter
296
+ def name(self, value: Optional[pulumi.Input[str]]):
297
+ pulumi.set(self, "name", value)
298
+
299
+ @property
300
+ @pulumi.getter
301
+ def project(self) -> Optional[pulumi.Input[str]]:
302
+ """
303
+ The ID of the project in which the resource belongs.
304
+ If it is not provided, the provider project is used.
305
+ """
306
+ return pulumi.get(self, "project")
307
+
308
+ @project.setter
309
+ def project(self, value: Optional[pulumi.Input[str]]):
310
+ pulumi.set(self, "project", value)
311
+
312
+ @property
313
+ @pulumi.getter(name="pulumiLabels")
314
+ def pulumi_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
315
+ """
316
+ The combination of labels configured directly on the resource
317
+ and default labels configured on the provider.
318
+ """
319
+ return pulumi.get(self, "pulumi_labels")
320
+
321
+ @pulumi_labels.setter
322
+ def pulumi_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
323
+ pulumi.set(self, "pulumi_labels", value)
324
+
325
+ @property
326
+ @pulumi.getter(name="routeTable")
327
+ def route_table(self) -> Optional[pulumi.Input[str]]:
328
+ """
329
+ Output only. The name of the route table that corresponds to this group. They use the following form: `projects/{projectNumber}/locations/global/hubs/{hubId}/routeTables/{route_table_id}`
330
+ """
331
+ return pulumi.get(self, "route_table")
332
+
333
+ @route_table.setter
334
+ def route_table(self, value: Optional[pulumi.Input[str]]):
335
+ pulumi.set(self, "route_table", value)
336
+
337
+ @property
338
+ @pulumi.getter
339
+ def state(self) -> Optional[pulumi.Input[str]]:
340
+ """
341
+ Output only. The current lifecycle state of this hub.
342
+ """
343
+ return pulumi.get(self, "state")
344
+
345
+ @state.setter
346
+ def state(self, value: Optional[pulumi.Input[str]]):
347
+ pulumi.set(self, "state", value)
348
+
349
+ @property
350
+ @pulumi.getter
351
+ def uid(self) -> Optional[pulumi.Input[str]]:
352
+ """
353
+ Output only. The Google-generated UUID for the group. This value is unique across all group resources. If a group is deleted and another with the same name is created, the new route table is assigned a different uniqueId.
354
+ """
355
+ return pulumi.get(self, "uid")
356
+
357
+ @uid.setter
358
+ def uid(self, value: Optional[pulumi.Input[str]]):
359
+ pulumi.set(self, "uid", value)
360
+
361
+ @property
362
+ @pulumi.getter(name="updateTime")
363
+ def update_time(self) -> Optional[pulumi.Input[str]]:
364
+ """
365
+ Output only. The time the hub was last updated.
366
+ """
367
+ return pulumi.get(self, "update_time")
368
+
369
+ @update_time.setter
370
+ def update_time(self, value: Optional[pulumi.Input[str]]):
371
+ pulumi.set(self, "update_time", value)
372
+
373
+
374
+ class Group(pulumi.CustomResource):
375
+ @overload
376
+ def __init__(__self__,
377
+ resource_name: str,
378
+ opts: Optional[pulumi.ResourceOptions] = None,
379
+ auto_accept: Optional[pulumi.Input[Union['GroupAutoAcceptArgs', 'GroupAutoAcceptArgsDict']]] = None,
380
+ description: Optional[pulumi.Input[str]] = None,
381
+ hub: Optional[pulumi.Input[str]] = None,
382
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
383
+ name: Optional[pulumi.Input[str]] = None,
384
+ project: Optional[pulumi.Input[str]] = None,
385
+ __props__=None):
386
+ """
387
+ The NetworkConnectivity Group resource
388
+
389
+ To get more information about Group, see:
390
+
391
+ * [API documentation](https://cloud.google.com/network-connectivity/docs/reference/networkconnectivity/rest/v1beta/projects.locations.global.hubs.groups)
392
+ * How-to Guides
393
+ * [Official Documentation](https://cloud.google.com/network-connectivity/docs/network-connectivity-center/concepts/overview)
394
+
395
+ ## Example Usage
396
+
397
+ ### Network Connectivity Group Basic
398
+
399
+ ```python
400
+ import pulumi
401
+ import pulumi_gcp as gcp
402
+
403
+ basic_hub = gcp.networkconnectivity.Hub("basic_hub",
404
+ name="network-connectivity-hub1",
405
+ description="A sample hub",
406
+ labels={
407
+ "label-one": "value-one",
408
+ })
409
+ primary = gcp.networkconnectivity.Group("primary",
410
+ hub=basic_hub.id,
411
+ name="default",
412
+ labels={
413
+ "label-one": "value-one",
414
+ },
415
+ description="A sample hub group",
416
+ auto_accept={
417
+ "auto_accept_projects": [
418
+ "foo",
419
+ "bar",
420
+ ],
421
+ })
422
+ ```
423
+
424
+ ## Import
425
+
426
+ Group can be imported using any of these accepted formats:
427
+
428
+ * `projects/{{project}}/locations/global/hubs/{{hub}}/groups/{{name}}`
429
+
430
+ * `{{project}}/{{hub}}/{{name}}`
431
+
432
+ * `{{hub}}/{{name}}`
433
+
434
+ When using the `pulumi import` command, Group can be imported using one of the formats above. For example:
435
+
436
+ ```sh
437
+ $ pulumi import gcp:networkconnectivity/group:Group default projects/{{project}}/locations/global/hubs/{{hub}}/groups/{{name}}
438
+ ```
439
+
440
+ ```sh
441
+ $ pulumi import gcp:networkconnectivity/group:Group default {{project}}/{{hub}}/{{name}}
442
+ ```
443
+
444
+ ```sh
445
+ $ pulumi import gcp:networkconnectivity/group:Group default {{hub}}/{{name}}
446
+ ```
447
+
448
+ :param str resource_name: The name of the resource.
449
+ :param pulumi.ResourceOptions opts: Options for the resource.
450
+ :param pulumi.Input[Union['GroupAutoAcceptArgs', 'GroupAutoAcceptArgsDict']] auto_accept: Optional. The auto-accept setting for this group.
451
+ Structure is documented below.
452
+ :param pulumi.Input[str] description: An optional description of the group.
453
+ :param pulumi.Input[str] hub: The name of the hub. Hub names must be unique. They use the following form: projects/{projectNumber}/locations/global/hubs/{hubId}
454
+
455
+
456
+ - - -
457
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Optional labels in key:value format. For more information about labels, see [Requirements for labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements).
458
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
459
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
460
+ :param pulumi.Input[str] name: The name of the group. Group names must be unique.
461
+ Possible values are: `default`, `center`, `edge`.
462
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
463
+ If it is not provided, the provider project is used.
464
+ """
465
+ ...
466
+ @overload
467
+ def __init__(__self__,
468
+ resource_name: str,
469
+ args: GroupArgs,
470
+ opts: Optional[pulumi.ResourceOptions] = None):
471
+ """
472
+ The NetworkConnectivity Group resource
473
+
474
+ To get more information about Group, see:
475
+
476
+ * [API documentation](https://cloud.google.com/network-connectivity/docs/reference/networkconnectivity/rest/v1beta/projects.locations.global.hubs.groups)
477
+ * How-to Guides
478
+ * [Official Documentation](https://cloud.google.com/network-connectivity/docs/network-connectivity-center/concepts/overview)
479
+
480
+ ## Example Usage
481
+
482
+ ### Network Connectivity Group Basic
483
+
484
+ ```python
485
+ import pulumi
486
+ import pulumi_gcp as gcp
487
+
488
+ basic_hub = gcp.networkconnectivity.Hub("basic_hub",
489
+ name="network-connectivity-hub1",
490
+ description="A sample hub",
491
+ labels={
492
+ "label-one": "value-one",
493
+ })
494
+ primary = gcp.networkconnectivity.Group("primary",
495
+ hub=basic_hub.id,
496
+ name="default",
497
+ labels={
498
+ "label-one": "value-one",
499
+ },
500
+ description="A sample hub group",
501
+ auto_accept={
502
+ "auto_accept_projects": [
503
+ "foo",
504
+ "bar",
505
+ ],
506
+ })
507
+ ```
508
+
509
+ ## Import
510
+
511
+ Group can be imported using any of these accepted formats:
512
+
513
+ * `projects/{{project}}/locations/global/hubs/{{hub}}/groups/{{name}}`
514
+
515
+ * `{{project}}/{{hub}}/{{name}}`
516
+
517
+ * `{{hub}}/{{name}}`
518
+
519
+ When using the `pulumi import` command, Group can be imported using one of the formats above. For example:
520
+
521
+ ```sh
522
+ $ pulumi import gcp:networkconnectivity/group:Group default projects/{{project}}/locations/global/hubs/{{hub}}/groups/{{name}}
523
+ ```
524
+
525
+ ```sh
526
+ $ pulumi import gcp:networkconnectivity/group:Group default {{project}}/{{hub}}/{{name}}
527
+ ```
528
+
529
+ ```sh
530
+ $ pulumi import gcp:networkconnectivity/group:Group default {{hub}}/{{name}}
531
+ ```
532
+
533
+ :param str resource_name: The name of the resource.
534
+ :param GroupArgs args: The arguments to use to populate this resource's properties.
535
+ :param pulumi.ResourceOptions opts: Options for the resource.
536
+ """
537
+ ...
538
+ def __init__(__self__, resource_name: str, *args, **kwargs):
539
+ resource_args, opts = _utilities.get_resource_args_opts(GroupArgs, pulumi.ResourceOptions, *args, **kwargs)
540
+ if resource_args is not None:
541
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
542
+ else:
543
+ __self__._internal_init(resource_name, *args, **kwargs)
544
+
545
+ def _internal_init(__self__,
546
+ resource_name: str,
547
+ opts: Optional[pulumi.ResourceOptions] = None,
548
+ auto_accept: Optional[pulumi.Input[Union['GroupAutoAcceptArgs', 'GroupAutoAcceptArgsDict']]] = None,
549
+ description: Optional[pulumi.Input[str]] = None,
550
+ hub: Optional[pulumi.Input[str]] = None,
551
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
552
+ name: Optional[pulumi.Input[str]] = None,
553
+ project: Optional[pulumi.Input[str]] = None,
554
+ __props__=None):
555
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
556
+ if not isinstance(opts, pulumi.ResourceOptions):
557
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
558
+ if opts.id is None:
559
+ if __props__ is not None:
560
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
561
+ __props__ = GroupArgs.__new__(GroupArgs)
562
+
563
+ __props__.__dict__["auto_accept"] = auto_accept
564
+ __props__.__dict__["description"] = description
565
+ if hub is None and not opts.urn:
566
+ raise TypeError("Missing required property 'hub'")
567
+ __props__.__dict__["hub"] = hub
568
+ __props__.__dict__["labels"] = labels
569
+ __props__.__dict__["name"] = name
570
+ __props__.__dict__["project"] = project
571
+ __props__.__dict__["create_time"] = None
572
+ __props__.__dict__["effective_labels"] = None
573
+ __props__.__dict__["pulumi_labels"] = None
574
+ __props__.__dict__["route_table"] = None
575
+ __props__.__dict__["state"] = None
576
+ __props__.__dict__["uid"] = None
577
+ __props__.__dict__["update_time"] = None
578
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["effectiveLabels", "pulumiLabels"])
579
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
580
+ super(Group, __self__).__init__(
581
+ 'gcp:networkconnectivity/group:Group',
582
+ resource_name,
583
+ __props__,
584
+ opts)
585
+
586
+ @staticmethod
587
+ def get(resource_name: str,
588
+ id: pulumi.Input[str],
589
+ opts: Optional[pulumi.ResourceOptions] = None,
590
+ auto_accept: Optional[pulumi.Input[Union['GroupAutoAcceptArgs', 'GroupAutoAcceptArgsDict']]] = None,
591
+ create_time: Optional[pulumi.Input[str]] = None,
592
+ description: Optional[pulumi.Input[str]] = None,
593
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
594
+ hub: Optional[pulumi.Input[str]] = None,
595
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
596
+ name: Optional[pulumi.Input[str]] = None,
597
+ project: Optional[pulumi.Input[str]] = None,
598
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
599
+ route_table: Optional[pulumi.Input[str]] = None,
600
+ state: Optional[pulumi.Input[str]] = None,
601
+ uid: Optional[pulumi.Input[str]] = None,
602
+ update_time: Optional[pulumi.Input[str]] = None) -> 'Group':
603
+ """
604
+ Get an existing Group resource's state with the given name, id, and optional extra
605
+ properties used to qualify the lookup.
606
+
607
+ :param str resource_name: The unique name of the resulting resource.
608
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
609
+ :param pulumi.ResourceOptions opts: Options for the resource.
610
+ :param pulumi.Input[Union['GroupAutoAcceptArgs', 'GroupAutoAcceptArgsDict']] auto_accept: Optional. The auto-accept setting for this group.
611
+ Structure is documented below.
612
+ :param pulumi.Input[str] create_time: Output only. The time the hub was created.
613
+ :param pulumi.Input[str] description: An optional description of the group.
614
+ :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.
615
+ :param pulumi.Input[str] hub: The name of the hub. Hub names must be unique. They use the following form: projects/{projectNumber}/locations/global/hubs/{hubId}
616
+
617
+
618
+ - - -
619
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Optional labels in key:value format. For more information about labels, see [Requirements for labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements).
620
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
621
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
622
+ :param pulumi.Input[str] name: The name of the group. Group names must be unique.
623
+ Possible values are: `default`, `center`, `edge`.
624
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
625
+ If it is not provided, the provider project is used.
626
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
627
+ and default labels configured on the provider.
628
+ :param pulumi.Input[str] route_table: Output only. The name of the route table that corresponds to this group. They use the following form: `projects/{projectNumber}/locations/global/hubs/{hubId}/routeTables/{route_table_id}`
629
+ :param pulumi.Input[str] state: Output only. The current lifecycle state of this hub.
630
+ :param pulumi.Input[str] uid: Output only. The Google-generated UUID for the group. This value is unique across all group resources. If a group is deleted and another with the same name is created, the new route table is assigned a different uniqueId.
631
+ :param pulumi.Input[str] update_time: Output only. The time the hub was last updated.
632
+ """
633
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
634
+
635
+ __props__ = _GroupState.__new__(_GroupState)
636
+
637
+ __props__.__dict__["auto_accept"] = auto_accept
638
+ __props__.__dict__["create_time"] = create_time
639
+ __props__.__dict__["description"] = description
640
+ __props__.__dict__["effective_labels"] = effective_labels
641
+ __props__.__dict__["hub"] = hub
642
+ __props__.__dict__["labels"] = labels
643
+ __props__.__dict__["name"] = name
644
+ __props__.__dict__["project"] = project
645
+ __props__.__dict__["pulumi_labels"] = pulumi_labels
646
+ __props__.__dict__["route_table"] = route_table
647
+ __props__.__dict__["state"] = state
648
+ __props__.__dict__["uid"] = uid
649
+ __props__.__dict__["update_time"] = update_time
650
+ return Group(resource_name, opts=opts, __props__=__props__)
651
+
652
+ @property
653
+ @pulumi.getter(name="autoAccept")
654
+ def auto_accept(self) -> pulumi.Output[Optional['outputs.GroupAutoAccept']]:
655
+ """
656
+ Optional. The auto-accept setting for this group.
657
+ Structure is documented below.
658
+ """
659
+ return pulumi.get(self, "auto_accept")
660
+
661
+ @property
662
+ @pulumi.getter(name="createTime")
663
+ def create_time(self) -> pulumi.Output[str]:
664
+ """
665
+ Output only. The time the hub was created.
666
+ """
667
+ return pulumi.get(self, "create_time")
668
+
669
+ @property
670
+ @pulumi.getter
671
+ def description(self) -> pulumi.Output[Optional[str]]:
672
+ """
673
+ An optional description of the group.
674
+ """
675
+ return pulumi.get(self, "description")
676
+
677
+ @property
678
+ @pulumi.getter(name="effectiveLabels")
679
+ def effective_labels(self) -> pulumi.Output[Mapping[str, str]]:
680
+ """
681
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
682
+ """
683
+ return pulumi.get(self, "effective_labels")
684
+
685
+ @property
686
+ @pulumi.getter
687
+ def hub(self) -> pulumi.Output[str]:
688
+ """
689
+ The name of the hub. Hub names must be unique. They use the following form: projects/{projectNumber}/locations/global/hubs/{hubId}
690
+
691
+
692
+ - - -
693
+ """
694
+ return pulumi.get(self, "hub")
695
+
696
+ @property
697
+ @pulumi.getter
698
+ def labels(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
699
+ """
700
+ Optional labels in key:value format. For more information about labels, see [Requirements for labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements).
701
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
702
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
703
+ """
704
+ return pulumi.get(self, "labels")
705
+
706
+ @property
707
+ @pulumi.getter
708
+ def name(self) -> pulumi.Output[str]:
709
+ """
710
+ The name of the group. Group names must be unique.
711
+ Possible values are: `default`, `center`, `edge`.
712
+ """
713
+ return pulumi.get(self, "name")
714
+
715
+ @property
716
+ @pulumi.getter
717
+ def project(self) -> pulumi.Output[str]:
718
+ """
719
+ The ID of the project in which the resource belongs.
720
+ If it is not provided, the provider project is used.
721
+ """
722
+ return pulumi.get(self, "project")
723
+
724
+ @property
725
+ @pulumi.getter(name="pulumiLabels")
726
+ def pulumi_labels(self) -> pulumi.Output[Mapping[str, str]]:
727
+ """
728
+ The combination of labels configured directly on the resource
729
+ and default labels configured on the provider.
730
+ """
731
+ return pulumi.get(self, "pulumi_labels")
732
+
733
+ @property
734
+ @pulumi.getter(name="routeTable")
735
+ def route_table(self) -> pulumi.Output[str]:
736
+ """
737
+ Output only. The name of the route table that corresponds to this group. They use the following form: `projects/{projectNumber}/locations/global/hubs/{hubId}/routeTables/{route_table_id}`
738
+ """
739
+ return pulumi.get(self, "route_table")
740
+
741
+ @property
742
+ @pulumi.getter
743
+ def state(self) -> pulumi.Output[str]:
744
+ """
745
+ Output only. The current lifecycle state of this hub.
746
+ """
747
+ return pulumi.get(self, "state")
748
+
749
+ @property
750
+ @pulumi.getter
751
+ def uid(self) -> pulumi.Output[str]:
752
+ """
753
+ Output only. The Google-generated UUID for the group. This value is unique across all group resources. If a group is deleted and another with the same name is created, the new route table is assigned a different uniqueId.
754
+ """
755
+ return pulumi.get(self, "uid")
756
+
757
+ @property
758
+ @pulumi.getter(name="updateTime")
759
+ def update_time(self) -> pulumi.Output[str]:
760
+ """
761
+ Output only. The time the hub was last updated.
762
+ """
763
+ return pulumi.get(self, "update_time")
764
+