pulumi-gcp 8.34.0a1749484438__py3-none-any.whl → 8.34.0a1749648575__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 (65) hide show
  1. pulumi_gcp/__init__.py +32 -0
  2. pulumi_gcp/alloydb/cluster.py +16 -64
  3. pulumi_gcp/apigee/_inputs.py +89 -0
  4. pulumi_gcp/apigee/environment.py +68 -2
  5. pulumi_gcp/apigee/outputs.py +88 -0
  6. pulumi_gcp/apihub/__init__.py +1 -0
  7. pulumi_gcp/apihub/_inputs.py +184 -0
  8. pulumi_gcp/apihub/curation.py +812 -0
  9. pulumi_gcp/apihub/outputs.py +165 -0
  10. pulumi_gcp/beyondcorp/get_security_gateway.py +12 -1
  11. pulumi_gcp/beyondcorp/security_gateway.py +28 -0
  12. pulumi_gcp/cloudrunv2/_inputs.py +463 -0
  13. pulumi_gcp/cloudrunv2/outputs.py +581 -1
  14. pulumi_gcp/cloudrunv2/worker_pool.py +0 -8
  15. pulumi_gcp/colab/runtime_template.py +4 -26
  16. pulumi_gcp/compute/__init__.py +3 -0
  17. pulumi_gcp/compute/_inputs.py +1551 -0
  18. pulumi_gcp/compute/interconnect.py +32 -0
  19. pulumi_gcp/compute/interconnect_attachment.py +28 -0
  20. pulumi_gcp/compute/interconnect_attachment_group.py +636 -0
  21. pulumi_gcp/compute/interconnect_group.py +586 -0
  22. pulumi_gcp/compute/outputs.py +1087 -0
  23. pulumi_gcp/compute/snapshot_settings.py +285 -0
  24. pulumi_gcp/container/_inputs.py +51 -18
  25. pulumi_gcp/container/cluster.py +47 -0
  26. pulumi_gcp/container/get_cluster.py +12 -1
  27. pulumi_gcp/container/outputs.py +71 -16
  28. pulumi_gcp/dataplex/_inputs.py +20 -0
  29. pulumi_gcp/dataplex/datascan.py +2 -0
  30. pulumi_gcp/dataplex/outputs.py +15 -1
  31. pulumi_gcp/eventarc/_inputs.py +12 -5
  32. pulumi_gcp/eventarc/outputs.py +8 -3
  33. pulumi_gcp/eventarc/pipeline.py +0 -12
  34. pulumi_gcp/gemini/data_sharing_with_google_setting.py +58 -9
  35. pulumi_gcp/gemini/data_sharing_with_google_setting_binding.py +11 -16
  36. pulumi_gcp/gemini/gemini_gcp_enablement_setting.py +51 -2
  37. pulumi_gcp/gemini/gemini_gcp_enablement_setting_binding.py +11 -16
  38. pulumi_gcp/gkehub/_inputs.py +84 -7
  39. pulumi_gcp/gkehub/feature.py +38 -0
  40. pulumi_gcp/gkehub/outputs.py +102 -7
  41. pulumi_gcp/gkehub/scope_rbac_role_binding.py +54 -2
  42. pulumi_gcp/gkeonprem/_inputs.py +54 -0
  43. pulumi_gcp/gkeonprem/outputs.py +49 -0
  44. pulumi_gcp/gkeonprem/vmware_admin_cluster.py +71 -0
  45. pulumi_gcp/iam/workload_identity_pool_namespace.py +4 -4
  46. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  47. pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
  48. pulumi_gcp/managedkafka/connect_cluster.py +4 -4
  49. pulumi_gcp/managedkafka/connector.py +4 -4
  50. pulumi_gcp/networkconnectivity/spoke.py +14 -14
  51. pulumi_gcp/networksecurity/backend_authentication_config.py +64 -0
  52. pulumi_gcp/orgpolicy/policy.py +2 -2
  53. pulumi_gcp/pubsub/_inputs.py +392 -0
  54. pulumi_gcp/pubsub/get_subscription.py +12 -1
  55. pulumi_gcp/pubsub/get_topic.py +12 -1
  56. pulumi_gcp/pubsub/outputs.py +548 -0
  57. pulumi_gcp/pubsub/subscription.py +67 -6
  58. pulumi_gcp/pubsub/topic.py +61 -0
  59. pulumi_gcp/pulumi-plugin.json +1 -1
  60. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  61. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  62. {pulumi_gcp-8.34.0a1749484438.dist-info → pulumi_gcp-8.34.0a1749648575.dist-info}/METADATA +1 -1
  63. {pulumi_gcp-8.34.0a1749484438.dist-info → pulumi_gcp-8.34.0a1749648575.dist-info}/RECORD +65 -61
  64. {pulumi_gcp-8.34.0a1749484438.dist-info → pulumi_gcp-8.34.0a1749648575.dist-info}/WHEEL +0 -0
  65. {pulumi_gcp-8.34.0a1749484438.dist-info → pulumi_gcp-8.34.0a1749648575.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,586 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins
6
+ import copy
7
+ import warnings
8
+ import sys
9
+ import pulumi
10
+ import pulumi.runtime
11
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
12
+ if sys.version_info >= (3, 11):
13
+ from typing import NotRequired, TypedDict, TypeAlias
14
+ else:
15
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
16
+ from .. import _utilities
17
+ from . import outputs
18
+ from ._inputs import *
19
+
20
+ __all__ = ['InterconnectGroupArgs', 'InterconnectGroup']
21
+
22
+ @pulumi.input_type
23
+ class InterconnectGroupArgs:
24
+ def __init__(__self__, *,
25
+ intent: pulumi.Input['InterconnectGroupIntentArgs'],
26
+ description: Optional[pulumi.Input[builtins.str]] = None,
27
+ interconnects: Optional[pulumi.Input[Sequence[pulumi.Input['InterconnectGroupInterconnectArgs']]]] = None,
28
+ name: Optional[pulumi.Input[builtins.str]] = None,
29
+ project: Optional[pulumi.Input[builtins.str]] = None):
30
+ """
31
+ The set of arguments for constructing a InterconnectGroup resource.
32
+ :param pulumi.Input['InterconnectGroupIntentArgs'] intent: The user's intent for this group. This is the only required field besides
33
+ the name that must be specified on group creation.
34
+ Structure is documented below.
35
+ :param pulumi.Input[builtins.str] description: An optional description of this resource. Provide this property when you create the resource.
36
+ :param pulumi.Input[Sequence[pulumi.Input['InterconnectGroupInterconnectArgs']]] interconnects: (Output)
37
+ Interconnects used to explain this blocker in more
38
+ detail.
39
+ :param pulumi.Input[builtins.str] name: Name of the resource. Provided by the client when the resource is created. The name must be
40
+ 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters
41
+ long and match the regular expression `a-z?` which means the first
42
+ character must be a lowercase letter, and all following characters must be a dash,
43
+ lowercase letter, or digit, except the last character, which cannot be a dash.
44
+ """
45
+ pulumi.set(__self__, "intent", intent)
46
+ if description is not None:
47
+ pulumi.set(__self__, "description", description)
48
+ if interconnects is not None:
49
+ pulumi.set(__self__, "interconnects", interconnects)
50
+ if name is not None:
51
+ pulumi.set(__self__, "name", name)
52
+ if project is not None:
53
+ pulumi.set(__self__, "project", project)
54
+
55
+ @property
56
+ @pulumi.getter
57
+ def intent(self) -> pulumi.Input['InterconnectGroupIntentArgs']:
58
+ """
59
+ The user's intent for this group. This is the only required field besides
60
+ the name that must be specified on group creation.
61
+ Structure is documented below.
62
+ """
63
+ return pulumi.get(self, "intent")
64
+
65
+ @intent.setter
66
+ def intent(self, value: pulumi.Input['InterconnectGroupIntentArgs']):
67
+ pulumi.set(self, "intent", value)
68
+
69
+ @property
70
+ @pulumi.getter
71
+ def description(self) -> Optional[pulumi.Input[builtins.str]]:
72
+ """
73
+ An optional description of this resource. Provide this property when you create the resource.
74
+ """
75
+ return pulumi.get(self, "description")
76
+
77
+ @description.setter
78
+ def description(self, value: Optional[pulumi.Input[builtins.str]]):
79
+ pulumi.set(self, "description", value)
80
+
81
+ @property
82
+ @pulumi.getter
83
+ def interconnects(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InterconnectGroupInterconnectArgs']]]]:
84
+ """
85
+ (Output)
86
+ Interconnects used to explain this blocker in more
87
+ detail.
88
+ """
89
+ return pulumi.get(self, "interconnects")
90
+
91
+ @interconnects.setter
92
+ def interconnects(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InterconnectGroupInterconnectArgs']]]]):
93
+ pulumi.set(self, "interconnects", value)
94
+
95
+ @property
96
+ @pulumi.getter
97
+ def name(self) -> Optional[pulumi.Input[builtins.str]]:
98
+ """
99
+ Name of the resource. Provided by the client when the resource is created. The name must be
100
+ 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters
101
+ long and match the regular expression `a-z?` which means the first
102
+ character must be a lowercase letter, and all following characters must be a dash,
103
+ lowercase letter, or digit, except the last character, which cannot be a dash.
104
+ """
105
+ return pulumi.get(self, "name")
106
+
107
+ @name.setter
108
+ def name(self, value: Optional[pulumi.Input[builtins.str]]):
109
+ pulumi.set(self, "name", value)
110
+
111
+ @property
112
+ @pulumi.getter
113
+ def project(self) -> Optional[pulumi.Input[builtins.str]]:
114
+ return pulumi.get(self, "project")
115
+
116
+ @project.setter
117
+ def project(self, value: Optional[pulumi.Input[builtins.str]]):
118
+ pulumi.set(self, "project", value)
119
+
120
+
121
+ @pulumi.input_type
122
+ class _InterconnectGroupState:
123
+ def __init__(__self__, *,
124
+ configureds: Optional[pulumi.Input[Sequence[pulumi.Input['InterconnectGroupConfiguredArgs']]]] = None,
125
+ creation_timestamp: Optional[pulumi.Input[builtins.str]] = None,
126
+ description: Optional[pulumi.Input[builtins.str]] = None,
127
+ intent: Optional[pulumi.Input['InterconnectGroupIntentArgs']] = None,
128
+ interconnects: Optional[pulumi.Input[Sequence[pulumi.Input['InterconnectGroupInterconnectArgs']]]] = None,
129
+ name: Optional[pulumi.Input[builtins.str]] = None,
130
+ physical_structures: Optional[pulumi.Input[Sequence[pulumi.Input['InterconnectGroupPhysicalStructureArgs']]]] = None,
131
+ project: Optional[pulumi.Input[builtins.str]] = None):
132
+ """
133
+ Input properties used for looking up and filtering InterconnectGroup resources.
134
+ :param pulumi.Input[Sequence[pulumi.Input['InterconnectGroupConfiguredArgs']]] configureds: The status of the group as configured. This has the same
135
+ structure as the operational field reported by the OperationalStatus
136
+ method, but does not take into account the operational status of each
137
+ resource.
138
+ Structure is documented below.
139
+ :param pulumi.Input[builtins.str] creation_timestamp: Creation timestamp in RFC3339 text format.
140
+ :param pulumi.Input[builtins.str] description: An optional description of this resource. Provide this property when you create the resource.
141
+ :param pulumi.Input['InterconnectGroupIntentArgs'] intent: The user's intent for this group. This is the only required field besides
142
+ the name that must be specified on group creation.
143
+ Structure is documented below.
144
+ :param pulumi.Input[Sequence[pulumi.Input['InterconnectGroupInterconnectArgs']]] interconnects: (Output)
145
+ Interconnects used to explain this blocker in more
146
+ detail.
147
+ :param pulumi.Input[builtins.str] name: Name of the resource. Provided by the client when the resource is created. The name must be
148
+ 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters
149
+ long and match the regular expression `a-z?` which means the first
150
+ character must be a lowercase letter, and all following characters must be a dash,
151
+ lowercase letter, or digit, except the last character, which cannot be a dash.
152
+ :param pulumi.Input[Sequence[pulumi.Input['InterconnectGroupPhysicalStructureArgs']]] physical_structures: An analysis of the physical layout of Interconnects in this
153
+ group. Every Interconnect in the group is shown once in this structure.
154
+ Structure is documented below.
155
+ """
156
+ if configureds is not None:
157
+ pulumi.set(__self__, "configureds", configureds)
158
+ if creation_timestamp is not None:
159
+ pulumi.set(__self__, "creation_timestamp", creation_timestamp)
160
+ if description is not None:
161
+ pulumi.set(__self__, "description", description)
162
+ if intent is not None:
163
+ pulumi.set(__self__, "intent", intent)
164
+ if interconnects is not None:
165
+ pulumi.set(__self__, "interconnects", interconnects)
166
+ if name is not None:
167
+ pulumi.set(__self__, "name", name)
168
+ if physical_structures is not None:
169
+ pulumi.set(__self__, "physical_structures", physical_structures)
170
+ if project is not None:
171
+ pulumi.set(__self__, "project", project)
172
+
173
+ @property
174
+ @pulumi.getter
175
+ def configureds(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InterconnectGroupConfiguredArgs']]]]:
176
+ """
177
+ The status of the group as configured. This has the same
178
+ structure as the operational field reported by the OperationalStatus
179
+ method, but does not take into account the operational status of each
180
+ resource.
181
+ Structure is documented below.
182
+ """
183
+ return pulumi.get(self, "configureds")
184
+
185
+ @configureds.setter
186
+ def configureds(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InterconnectGroupConfiguredArgs']]]]):
187
+ pulumi.set(self, "configureds", value)
188
+
189
+ @property
190
+ @pulumi.getter(name="creationTimestamp")
191
+ def creation_timestamp(self) -> Optional[pulumi.Input[builtins.str]]:
192
+ """
193
+ Creation timestamp in RFC3339 text format.
194
+ """
195
+ return pulumi.get(self, "creation_timestamp")
196
+
197
+ @creation_timestamp.setter
198
+ def creation_timestamp(self, value: Optional[pulumi.Input[builtins.str]]):
199
+ pulumi.set(self, "creation_timestamp", value)
200
+
201
+ @property
202
+ @pulumi.getter
203
+ def description(self) -> Optional[pulumi.Input[builtins.str]]:
204
+ """
205
+ An optional description of this resource. Provide this property when you create the resource.
206
+ """
207
+ return pulumi.get(self, "description")
208
+
209
+ @description.setter
210
+ def description(self, value: Optional[pulumi.Input[builtins.str]]):
211
+ pulumi.set(self, "description", value)
212
+
213
+ @property
214
+ @pulumi.getter
215
+ def intent(self) -> Optional[pulumi.Input['InterconnectGroupIntentArgs']]:
216
+ """
217
+ The user's intent for this group. This is the only required field besides
218
+ the name that must be specified on group creation.
219
+ Structure is documented below.
220
+ """
221
+ return pulumi.get(self, "intent")
222
+
223
+ @intent.setter
224
+ def intent(self, value: Optional[pulumi.Input['InterconnectGroupIntentArgs']]):
225
+ pulumi.set(self, "intent", value)
226
+
227
+ @property
228
+ @pulumi.getter
229
+ def interconnects(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InterconnectGroupInterconnectArgs']]]]:
230
+ """
231
+ (Output)
232
+ Interconnects used to explain this blocker in more
233
+ detail.
234
+ """
235
+ return pulumi.get(self, "interconnects")
236
+
237
+ @interconnects.setter
238
+ def interconnects(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InterconnectGroupInterconnectArgs']]]]):
239
+ pulumi.set(self, "interconnects", value)
240
+
241
+ @property
242
+ @pulumi.getter
243
+ def name(self) -> Optional[pulumi.Input[builtins.str]]:
244
+ """
245
+ Name of the resource. Provided by the client when the resource is created. The name must be
246
+ 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters
247
+ long and match the regular expression `a-z?` which means the first
248
+ character must be a lowercase letter, and all following characters must be a dash,
249
+ lowercase letter, or digit, except the last character, which cannot be a dash.
250
+ """
251
+ return pulumi.get(self, "name")
252
+
253
+ @name.setter
254
+ def name(self, value: Optional[pulumi.Input[builtins.str]]):
255
+ pulumi.set(self, "name", value)
256
+
257
+ @property
258
+ @pulumi.getter(name="physicalStructures")
259
+ def physical_structures(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InterconnectGroupPhysicalStructureArgs']]]]:
260
+ """
261
+ An analysis of the physical layout of Interconnects in this
262
+ group. Every Interconnect in the group is shown once in this structure.
263
+ Structure is documented below.
264
+ """
265
+ return pulumi.get(self, "physical_structures")
266
+
267
+ @physical_structures.setter
268
+ def physical_structures(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InterconnectGroupPhysicalStructureArgs']]]]):
269
+ pulumi.set(self, "physical_structures", value)
270
+
271
+ @property
272
+ @pulumi.getter
273
+ def project(self) -> Optional[pulumi.Input[builtins.str]]:
274
+ return pulumi.get(self, "project")
275
+
276
+ @project.setter
277
+ def project(self, value: Optional[pulumi.Input[builtins.str]]):
278
+ pulumi.set(self, "project", value)
279
+
280
+
281
+ @pulumi.type_token("gcp:compute/interconnectGroup:InterconnectGroup")
282
+ class InterconnectGroup(pulumi.CustomResource):
283
+ @overload
284
+ def __init__(__self__,
285
+ resource_name: str,
286
+ opts: Optional[pulumi.ResourceOptions] = None,
287
+ description: Optional[pulumi.Input[builtins.str]] = None,
288
+ intent: Optional[pulumi.Input[Union['InterconnectGroupIntentArgs', 'InterconnectGroupIntentArgsDict']]] = None,
289
+ interconnects: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InterconnectGroupInterconnectArgs', 'InterconnectGroupInterconnectArgsDict']]]]] = None,
290
+ name: Optional[pulumi.Input[builtins.str]] = None,
291
+ project: Optional[pulumi.Input[builtins.str]] = None,
292
+ __props__=None):
293
+ """
294
+ An interconnect group resource allows customers to create, analyze, and
295
+ expand their redundant connections.
296
+
297
+ To get more information about InterconnectGroup, see:
298
+
299
+ * [API documentation](https://cloud.google.com/compute/docs/reference/rest/v1/interconnects)
300
+ * How-to Guides
301
+ * [Create a Dedicated Interconnect](https://cloud.google.com/network-connectivity/docs/interconnect/concepts/dedicated-overview)
302
+
303
+ ## Example Usage
304
+
305
+ ### Interconnect Group Basic
306
+
307
+ ```python
308
+ import pulumi
309
+ import pulumi_gcp as gcp
310
+
311
+ example_interconnect_group = gcp.compute.InterconnectGroup("example-interconnect-group",
312
+ name="example-interconnect-group",
313
+ intent={
314
+ "topology_capability": "NO_SLA",
315
+ })
316
+ ```
317
+
318
+ ## Import
319
+
320
+ InterconnectGroup can be imported using any of these accepted formats:
321
+
322
+ * `projects/{{project}}/global/interconnectGroups/{{name}}`
323
+
324
+ * `{{project}}/{{name}}`
325
+
326
+ * `{{name}}`
327
+
328
+ When using the `pulumi import` command, InterconnectGroup can be imported using one of the formats above. For example:
329
+
330
+ ```sh
331
+ $ pulumi import gcp:compute/interconnectGroup:InterconnectGroup default projects/{{project}}/global/interconnectGroups/{{name}}
332
+ ```
333
+
334
+ ```sh
335
+ $ pulumi import gcp:compute/interconnectGroup:InterconnectGroup default {{project}}/{{name}}
336
+ ```
337
+
338
+ ```sh
339
+ $ pulumi import gcp:compute/interconnectGroup:InterconnectGroup default {{name}}
340
+ ```
341
+
342
+ :param str resource_name: The name of the resource.
343
+ :param pulumi.ResourceOptions opts: Options for the resource.
344
+ :param pulumi.Input[builtins.str] description: An optional description of this resource. Provide this property when you create the resource.
345
+ :param pulumi.Input[Union['InterconnectGroupIntentArgs', 'InterconnectGroupIntentArgsDict']] intent: The user's intent for this group. This is the only required field besides
346
+ the name that must be specified on group creation.
347
+ Structure is documented below.
348
+ :param pulumi.Input[Sequence[pulumi.Input[Union['InterconnectGroupInterconnectArgs', 'InterconnectGroupInterconnectArgsDict']]]] interconnects: (Output)
349
+ Interconnects used to explain this blocker in more
350
+ detail.
351
+ :param pulumi.Input[builtins.str] name: Name of the resource. Provided by the client when the resource is created. The name must be
352
+ 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters
353
+ long and match the regular expression `a-z?` which means the first
354
+ character must be a lowercase letter, and all following characters must be a dash,
355
+ lowercase letter, or digit, except the last character, which cannot be a dash.
356
+ """
357
+ ...
358
+ @overload
359
+ def __init__(__self__,
360
+ resource_name: str,
361
+ args: InterconnectGroupArgs,
362
+ opts: Optional[pulumi.ResourceOptions] = None):
363
+ """
364
+ An interconnect group resource allows customers to create, analyze, and
365
+ expand their redundant connections.
366
+
367
+ To get more information about InterconnectGroup, see:
368
+
369
+ * [API documentation](https://cloud.google.com/compute/docs/reference/rest/v1/interconnects)
370
+ * How-to Guides
371
+ * [Create a Dedicated Interconnect](https://cloud.google.com/network-connectivity/docs/interconnect/concepts/dedicated-overview)
372
+
373
+ ## Example Usage
374
+
375
+ ### Interconnect Group Basic
376
+
377
+ ```python
378
+ import pulumi
379
+ import pulumi_gcp as gcp
380
+
381
+ example_interconnect_group = gcp.compute.InterconnectGroup("example-interconnect-group",
382
+ name="example-interconnect-group",
383
+ intent={
384
+ "topology_capability": "NO_SLA",
385
+ })
386
+ ```
387
+
388
+ ## Import
389
+
390
+ InterconnectGroup can be imported using any of these accepted formats:
391
+
392
+ * `projects/{{project}}/global/interconnectGroups/{{name}}`
393
+
394
+ * `{{project}}/{{name}}`
395
+
396
+ * `{{name}}`
397
+
398
+ When using the `pulumi import` command, InterconnectGroup can be imported using one of the formats above. For example:
399
+
400
+ ```sh
401
+ $ pulumi import gcp:compute/interconnectGroup:InterconnectGroup default projects/{{project}}/global/interconnectGroups/{{name}}
402
+ ```
403
+
404
+ ```sh
405
+ $ pulumi import gcp:compute/interconnectGroup:InterconnectGroup default {{project}}/{{name}}
406
+ ```
407
+
408
+ ```sh
409
+ $ pulumi import gcp:compute/interconnectGroup:InterconnectGroup default {{name}}
410
+ ```
411
+
412
+ :param str resource_name: The name of the resource.
413
+ :param InterconnectGroupArgs args: The arguments to use to populate this resource's properties.
414
+ :param pulumi.ResourceOptions opts: Options for the resource.
415
+ """
416
+ ...
417
+ def __init__(__self__, resource_name: str, *args, **kwargs):
418
+ resource_args, opts = _utilities.get_resource_args_opts(InterconnectGroupArgs, pulumi.ResourceOptions, *args, **kwargs)
419
+ if resource_args is not None:
420
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
421
+ else:
422
+ __self__._internal_init(resource_name, *args, **kwargs)
423
+
424
+ def _internal_init(__self__,
425
+ resource_name: str,
426
+ opts: Optional[pulumi.ResourceOptions] = None,
427
+ description: Optional[pulumi.Input[builtins.str]] = None,
428
+ intent: Optional[pulumi.Input[Union['InterconnectGroupIntentArgs', 'InterconnectGroupIntentArgsDict']]] = None,
429
+ interconnects: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InterconnectGroupInterconnectArgs', 'InterconnectGroupInterconnectArgsDict']]]]] = None,
430
+ name: Optional[pulumi.Input[builtins.str]] = None,
431
+ project: Optional[pulumi.Input[builtins.str]] = None,
432
+ __props__=None):
433
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
434
+ if not isinstance(opts, pulumi.ResourceOptions):
435
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
436
+ if opts.id is None:
437
+ if __props__ is not None:
438
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
439
+ __props__ = InterconnectGroupArgs.__new__(InterconnectGroupArgs)
440
+
441
+ __props__.__dict__["description"] = description
442
+ if intent is None and not opts.urn:
443
+ raise TypeError("Missing required property 'intent'")
444
+ __props__.__dict__["intent"] = intent
445
+ __props__.__dict__["interconnects"] = interconnects
446
+ __props__.__dict__["name"] = name
447
+ __props__.__dict__["project"] = project
448
+ __props__.__dict__["configureds"] = None
449
+ __props__.__dict__["creation_timestamp"] = None
450
+ __props__.__dict__["physical_structures"] = None
451
+ super(InterconnectGroup, __self__).__init__(
452
+ 'gcp:compute/interconnectGroup:InterconnectGroup',
453
+ resource_name,
454
+ __props__,
455
+ opts)
456
+
457
+ @staticmethod
458
+ def get(resource_name: str,
459
+ id: pulumi.Input[str],
460
+ opts: Optional[pulumi.ResourceOptions] = None,
461
+ configureds: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InterconnectGroupConfiguredArgs', 'InterconnectGroupConfiguredArgsDict']]]]] = None,
462
+ creation_timestamp: Optional[pulumi.Input[builtins.str]] = None,
463
+ description: Optional[pulumi.Input[builtins.str]] = None,
464
+ intent: Optional[pulumi.Input[Union['InterconnectGroupIntentArgs', 'InterconnectGroupIntentArgsDict']]] = None,
465
+ interconnects: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InterconnectGroupInterconnectArgs', 'InterconnectGroupInterconnectArgsDict']]]]] = None,
466
+ name: Optional[pulumi.Input[builtins.str]] = None,
467
+ physical_structures: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InterconnectGroupPhysicalStructureArgs', 'InterconnectGroupPhysicalStructureArgsDict']]]]] = None,
468
+ project: Optional[pulumi.Input[builtins.str]] = None) -> 'InterconnectGroup':
469
+ """
470
+ Get an existing InterconnectGroup resource's state with the given name, id, and optional extra
471
+ properties used to qualify the lookup.
472
+
473
+ :param str resource_name: The unique name of the resulting resource.
474
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
475
+ :param pulumi.ResourceOptions opts: Options for the resource.
476
+ :param pulumi.Input[Sequence[pulumi.Input[Union['InterconnectGroupConfiguredArgs', 'InterconnectGroupConfiguredArgsDict']]]] configureds: The status of the group as configured. This has the same
477
+ structure as the operational field reported by the OperationalStatus
478
+ method, but does not take into account the operational status of each
479
+ resource.
480
+ Structure is documented below.
481
+ :param pulumi.Input[builtins.str] creation_timestamp: Creation timestamp in RFC3339 text format.
482
+ :param pulumi.Input[builtins.str] description: An optional description of this resource. Provide this property when you create the resource.
483
+ :param pulumi.Input[Union['InterconnectGroupIntentArgs', 'InterconnectGroupIntentArgsDict']] intent: The user's intent for this group. This is the only required field besides
484
+ the name that must be specified on group creation.
485
+ Structure is documented below.
486
+ :param pulumi.Input[Sequence[pulumi.Input[Union['InterconnectGroupInterconnectArgs', 'InterconnectGroupInterconnectArgsDict']]]] interconnects: (Output)
487
+ Interconnects used to explain this blocker in more
488
+ detail.
489
+ :param pulumi.Input[builtins.str] name: Name of the resource. Provided by the client when the resource is created. The name must be
490
+ 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters
491
+ long and match the regular expression `a-z?` which means the first
492
+ character must be a lowercase letter, and all following characters must be a dash,
493
+ lowercase letter, or digit, except the last character, which cannot be a dash.
494
+ :param pulumi.Input[Sequence[pulumi.Input[Union['InterconnectGroupPhysicalStructureArgs', 'InterconnectGroupPhysicalStructureArgsDict']]]] physical_structures: An analysis of the physical layout of Interconnects in this
495
+ group. Every Interconnect in the group is shown once in this structure.
496
+ Structure is documented below.
497
+ """
498
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
499
+
500
+ __props__ = _InterconnectGroupState.__new__(_InterconnectGroupState)
501
+
502
+ __props__.__dict__["configureds"] = configureds
503
+ __props__.__dict__["creation_timestamp"] = creation_timestamp
504
+ __props__.__dict__["description"] = description
505
+ __props__.__dict__["intent"] = intent
506
+ __props__.__dict__["interconnects"] = interconnects
507
+ __props__.__dict__["name"] = name
508
+ __props__.__dict__["physical_structures"] = physical_structures
509
+ __props__.__dict__["project"] = project
510
+ return InterconnectGroup(resource_name, opts=opts, __props__=__props__)
511
+
512
+ @property
513
+ @pulumi.getter
514
+ def configureds(self) -> pulumi.Output[Sequence['outputs.InterconnectGroupConfigured']]:
515
+ """
516
+ The status of the group as configured. This has the same
517
+ structure as the operational field reported by the OperationalStatus
518
+ method, but does not take into account the operational status of each
519
+ resource.
520
+ Structure is documented below.
521
+ """
522
+ return pulumi.get(self, "configureds")
523
+
524
+ @property
525
+ @pulumi.getter(name="creationTimestamp")
526
+ def creation_timestamp(self) -> pulumi.Output[builtins.str]:
527
+ """
528
+ Creation timestamp in RFC3339 text format.
529
+ """
530
+ return pulumi.get(self, "creation_timestamp")
531
+
532
+ @property
533
+ @pulumi.getter
534
+ def description(self) -> pulumi.Output[Optional[builtins.str]]:
535
+ """
536
+ An optional description of this resource. Provide this property when you create the resource.
537
+ """
538
+ return pulumi.get(self, "description")
539
+
540
+ @property
541
+ @pulumi.getter
542
+ def intent(self) -> pulumi.Output['outputs.InterconnectGroupIntent']:
543
+ """
544
+ The user's intent for this group. This is the only required field besides
545
+ the name that must be specified on group creation.
546
+ Structure is documented below.
547
+ """
548
+ return pulumi.get(self, "intent")
549
+
550
+ @property
551
+ @pulumi.getter
552
+ def interconnects(self) -> pulumi.Output[Optional[Sequence['outputs.InterconnectGroupInterconnect']]]:
553
+ """
554
+ (Output)
555
+ Interconnects used to explain this blocker in more
556
+ detail.
557
+ """
558
+ return pulumi.get(self, "interconnects")
559
+
560
+ @property
561
+ @pulumi.getter
562
+ def name(self) -> pulumi.Output[builtins.str]:
563
+ """
564
+ Name of the resource. Provided by the client when the resource is created. The name must be
565
+ 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters
566
+ long and match the regular expression `a-z?` which means the first
567
+ character must be a lowercase letter, and all following characters must be a dash,
568
+ lowercase letter, or digit, except the last character, which cannot be a dash.
569
+ """
570
+ return pulumi.get(self, "name")
571
+
572
+ @property
573
+ @pulumi.getter(name="physicalStructures")
574
+ def physical_structures(self) -> pulumi.Output[Sequence['outputs.InterconnectGroupPhysicalStructure']]:
575
+ """
576
+ An analysis of the physical layout of Interconnects in this
577
+ group. Every Interconnect in the group is shown once in this structure.
578
+ Structure is documented below.
579
+ """
580
+ return pulumi.get(self, "physical_structures")
581
+
582
+ @property
583
+ @pulumi.getter
584
+ def project(self) -> pulumi.Output[builtins.str]:
585
+ return pulumi.get(self, "project")
586
+