pulumi-gcp 8.36.0a1750484065__py3-none-any.whl → 8.37.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. pulumi_gcp/__init__.py +59 -0
  2. pulumi_gcp/alloydb/_inputs.py +26 -0
  3. pulumi_gcp/alloydb/outputs.py +34 -1
  4. pulumi_gcp/apihub/__init__.py +2 -0
  5. pulumi_gcp/apihub/_inputs.py +1658 -0
  6. pulumi_gcp/apihub/outputs.py +1374 -0
  7. pulumi_gcp/apihub/plugin.py +1146 -0
  8. pulumi_gcp/apihub/plugin_instance.py +808 -0
  9. pulumi_gcp/bigquery/table.py +16 -12
  10. pulumi_gcp/bigqueryanalyticshub/_inputs.py +56 -6
  11. pulumi_gcp/bigqueryanalyticshub/data_exchange.py +73 -0
  12. pulumi_gcp/bigqueryanalyticshub/listing.py +201 -48
  13. pulumi_gcp/bigqueryanalyticshub/listing_subscription.py +28 -0
  14. pulumi_gcp/bigqueryanalyticshub/outputs.py +50 -4
  15. pulumi_gcp/bigtable/table.py +82 -0
  16. pulumi_gcp/cloudidentity/group_membership.py +47 -0
  17. pulumi_gcp/cloudidentity/outputs.py +11 -0
  18. pulumi_gcp/cloudquota/s_quota_adjuster_settings.py +64 -8
  19. pulumi_gcp/cloudrunv2/_inputs.py +65 -9
  20. pulumi_gcp/cloudrunv2/job.py +44 -0
  21. pulumi_gcp/cloudrunv2/outputs.py +73 -8
  22. pulumi_gcp/cloudrunv2/service.py +0 -2
  23. pulumi_gcp/cloudrunv2/worker_pool.py +18 -20
  24. pulumi_gcp/compute/__init__.py +1 -0
  25. pulumi_gcp/compute/_inputs.py +787 -18
  26. pulumi_gcp/compute/disk.py +35 -28
  27. pulumi_gcp/compute/firewall_policy_rule.py +207 -0
  28. pulumi_gcp/compute/get_instance_group_manager.py +12 -1
  29. pulumi_gcp/compute/get_region_disk.py +12 -1
  30. pulumi_gcp/compute/instance.py +2 -2
  31. pulumi_gcp/compute/instance_group_manager.py +165 -14
  32. pulumi_gcp/compute/instance_template.py +2 -2
  33. pulumi_gcp/compute/interconnect.py +43 -11
  34. pulumi_gcp/compute/network.py +56 -0
  35. pulumi_gcp/compute/network_firewall_policy.py +68 -0
  36. pulumi_gcp/compute/network_firewall_policy_with_rules.py +61 -0
  37. pulumi_gcp/compute/node_template.py +21 -0
  38. pulumi_gcp/compute/outputs.py +620 -12
  39. pulumi_gcp/compute/region_disk.py +114 -0
  40. pulumi_gcp/compute/region_network_firewall_policy.py +90 -0
  41. pulumi_gcp/compute/region_network_firewall_policy_with_rules.py +109 -0
  42. pulumi_gcp/compute/service_attachment.py +76 -8
  43. pulumi_gcp/compute/wire_group.py +751 -0
  44. pulumi_gcp/config/__init__.pyi +2 -0
  45. pulumi_gcp/config/vars.py +4 -0
  46. pulumi_gcp/contactcenterinsights/__init__.py +9 -0
  47. pulumi_gcp/contactcenterinsights/view.py +526 -0
  48. pulumi_gcp/container/_inputs.py +207 -28
  49. pulumi_gcp/container/cluster.py +54 -0
  50. pulumi_gcp/container/get_cluster.py +12 -1
  51. pulumi_gcp/container/get_engine_versions.py +15 -1
  52. pulumi_gcp/container/node_pool.py +14 -0
  53. pulumi_gcp/container/outputs.py +295 -21
  54. pulumi_gcp/dataplex/_inputs.py +431 -6
  55. pulumi_gcp/dataplex/datascan.py +251 -0
  56. pulumi_gcp/dataplex/entry_type.py +2 -2
  57. pulumi_gcp/dataplex/glossary_category.py +8 -8
  58. pulumi_gcp/dataplex/glossary_term.py +8 -8
  59. pulumi_gcp/dataplex/outputs.py +353 -4
  60. pulumi_gcp/dataplex/task.py +16 -16
  61. pulumi_gcp/dataproc/__init__.py +1 -0
  62. pulumi_gcp/dataproc/_inputs.py +486 -0
  63. pulumi_gcp/dataproc/batch.py +10 -10
  64. pulumi_gcp/dataproc/outputs.py +407 -0
  65. pulumi_gcp/dataproc/session_template.py +1084 -0
  66. pulumi_gcp/diagflow/__init__.py +2 -0
  67. pulumi_gcp/diagflow/_inputs.py +479 -0
  68. pulumi_gcp/diagflow/cx_generative_settings.py +625 -0
  69. pulumi_gcp/diagflow/cx_tool.py +2 -2
  70. pulumi_gcp/diagflow/encryption_spec.py +382 -0
  71. pulumi_gcp/diagflow/outputs.py +416 -0
  72. pulumi_gcp/dns/record_set.py +4 -2
  73. pulumi_gcp/firestore/database.py +0 -9
  74. pulumi_gcp/firestore/field.py +6 -6
  75. pulumi_gcp/gkehub/membership_binding.py +6 -6
  76. pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
  77. pulumi_gcp/gkehub/namespace.py +4 -4
  78. pulumi_gcp/gkehub/scope_rbac_role_binding.py +8 -8
  79. pulumi_gcp/iam/_inputs.py +36 -0
  80. pulumi_gcp/iam/outputs.py +38 -0
  81. pulumi_gcp/iam/workload_identity_pool_managed_identity.py +88 -2
  82. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  83. pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
  84. pulumi_gcp/kms/autokey_config.py +28 -0
  85. pulumi_gcp/kms/get_autokey_config.py +12 -1
  86. pulumi_gcp/lustre/get_instance.py +12 -1
  87. pulumi_gcp/lustre/instance.py +143 -86
  88. pulumi_gcp/managedkafka/connect_cluster.py +4 -4
  89. pulumi_gcp/managedkafka/connector.py +4 -4
  90. pulumi_gcp/memorystore/get_instance.py +12 -1
  91. pulumi_gcp/memorystore/instance.py +49 -0
  92. pulumi_gcp/monitoring/metric_descriptor.py +55 -57
  93. pulumi_gcp/networkconnectivity/spoke.py +14 -14
  94. pulumi_gcp/notebooks/instance.py +8 -8
  95. pulumi_gcp/orgpolicy/policy.py +2 -2
  96. pulumi_gcp/provider.py +20 -0
  97. pulumi_gcp/pubsub/subscription.py +6 -6
  98. pulumi_gcp/pulumi-plugin.json +1 -1
  99. pulumi_gcp/redis/get_instance.py +12 -1
  100. pulumi_gcp/redis/instance.py +44 -0
  101. pulumi_gcp/secretmanager/get_regional_secret.py +12 -1
  102. pulumi_gcp/secretmanager/outputs.py +7 -0
  103. pulumi_gcp/secretmanager/regional_secret.py +38 -2
  104. pulumi_gcp/spanner/_inputs.py +24 -1
  105. pulumi_gcp/spanner/outputs.py +17 -1
  106. pulumi_gcp/storage/_inputs.py +43 -3
  107. pulumi_gcp/storage/bucket_object.py +56 -0
  108. pulumi_gcp/storage/get_bucket_object.py +12 -1
  109. pulumi_gcp/storage/get_bucket_object_content.py +12 -1
  110. pulumi_gcp/storage/outputs.py +53 -3
  111. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  112. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  113. pulumi_gcp/workbench/instance.py +2 -0
  114. {pulumi_gcp-8.36.0a1750484065.dist-info → pulumi_gcp-8.37.0.dist-info}/METADATA +2 -2
  115. {pulumi_gcp-8.36.0a1750484065.dist-info → pulumi_gcp-8.37.0.dist-info}/RECORD +117 -109
  116. {pulumi_gcp-8.36.0a1750484065.dist-info → pulumi_gcp-8.37.0.dist-info}/WHEEL +0 -0
  117. {pulumi_gcp-8.36.0a1750484065.dist-info → pulumi_gcp-8.37.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,751 @@
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__ = ['WireGroupArgs', 'WireGroup']
21
+
22
+ @pulumi.input_type
23
+ class WireGroupArgs:
24
+ def __init__(__self__, *,
25
+ cross_site_network: pulumi.Input[builtins.str],
26
+ admin_enabled: Optional[pulumi.Input[builtins.bool]] = None,
27
+ description: Optional[pulumi.Input[builtins.str]] = None,
28
+ endpoints: Optional[pulumi.Input[Sequence[pulumi.Input['WireGroupEndpointArgs']]]] = None,
29
+ name: Optional[pulumi.Input[builtins.str]] = None,
30
+ project: Optional[pulumi.Input[builtins.str]] = None,
31
+ wire_group_properties: Optional[pulumi.Input['WireGroupWireGroupPropertiesArgs']] = None,
32
+ wire_properties: Optional[pulumi.Input['WireGroupWirePropertiesArgs']] = None):
33
+ """
34
+ The set of arguments for constructing a WireGroup resource.
35
+ :param pulumi.Input[builtins.str] cross_site_network: Required cross site network to which wire group belongs.
36
+
37
+
38
+ - - -
39
+ :param pulumi.Input[builtins.bool] admin_enabled: Indicates whether the wire group is administratively enabled.
40
+ :param pulumi.Input[builtins.str] description: An optional description of this resource. Provide this property when you create the resource.
41
+ :param pulumi.Input[Sequence[pulumi.Input['WireGroupEndpointArgs']]] endpoints: Endpoints grouped by location, each mapping to interconnect configurations.
42
+ Structure is documented below.
43
+ :param pulumi.Input[builtins.str] name: Name of the resource. Provided by the client when the resource is created. The name must be
44
+ 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters
45
+ long and match the regular expression `a-z?` which means the first
46
+ character must be a lowercase letter, and all following characters must be a dash,
47
+ lowercase letter, or digit, except the last character, which cannot be a dash.
48
+ :param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
49
+ If it is not provided, the provider project is used.
50
+ :param pulumi.Input['WireGroupWireGroupPropertiesArgs'] wire_group_properties: Properties specific to the wire group.
51
+ Structure is documented below.
52
+ :param pulumi.Input['WireGroupWirePropertiesArgs'] wire_properties: Default properties for wires within the group.
53
+ Structure is documented below.
54
+ """
55
+ pulumi.set(__self__, "cross_site_network", cross_site_network)
56
+ if admin_enabled is not None:
57
+ pulumi.set(__self__, "admin_enabled", admin_enabled)
58
+ if description is not None:
59
+ pulumi.set(__self__, "description", description)
60
+ if endpoints is not None:
61
+ pulumi.set(__self__, "endpoints", endpoints)
62
+ if name is not None:
63
+ pulumi.set(__self__, "name", name)
64
+ if project is not None:
65
+ pulumi.set(__self__, "project", project)
66
+ if wire_group_properties is not None:
67
+ pulumi.set(__self__, "wire_group_properties", wire_group_properties)
68
+ if wire_properties is not None:
69
+ pulumi.set(__self__, "wire_properties", wire_properties)
70
+
71
+ @property
72
+ @pulumi.getter(name="crossSiteNetwork")
73
+ def cross_site_network(self) -> pulumi.Input[builtins.str]:
74
+ """
75
+ Required cross site network to which wire group belongs.
76
+
77
+
78
+ - - -
79
+ """
80
+ return pulumi.get(self, "cross_site_network")
81
+
82
+ @cross_site_network.setter
83
+ def cross_site_network(self, value: pulumi.Input[builtins.str]):
84
+ pulumi.set(self, "cross_site_network", value)
85
+
86
+ @property
87
+ @pulumi.getter(name="adminEnabled")
88
+ def admin_enabled(self) -> Optional[pulumi.Input[builtins.bool]]:
89
+ """
90
+ Indicates whether the wire group is administratively enabled.
91
+ """
92
+ return pulumi.get(self, "admin_enabled")
93
+
94
+ @admin_enabled.setter
95
+ def admin_enabled(self, value: Optional[pulumi.Input[builtins.bool]]):
96
+ pulumi.set(self, "admin_enabled", value)
97
+
98
+ @property
99
+ @pulumi.getter
100
+ def description(self) -> Optional[pulumi.Input[builtins.str]]:
101
+ """
102
+ An optional description of this resource. Provide this property when you create the resource.
103
+ """
104
+ return pulumi.get(self, "description")
105
+
106
+ @description.setter
107
+ def description(self, value: Optional[pulumi.Input[builtins.str]]):
108
+ pulumi.set(self, "description", value)
109
+
110
+ @property
111
+ @pulumi.getter
112
+ def endpoints(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WireGroupEndpointArgs']]]]:
113
+ """
114
+ Endpoints grouped by location, each mapping to interconnect configurations.
115
+ Structure is documented below.
116
+ """
117
+ return pulumi.get(self, "endpoints")
118
+
119
+ @endpoints.setter
120
+ def endpoints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WireGroupEndpointArgs']]]]):
121
+ pulumi.set(self, "endpoints", value)
122
+
123
+ @property
124
+ @pulumi.getter
125
+ def name(self) -> Optional[pulumi.Input[builtins.str]]:
126
+ """
127
+ Name of the resource. Provided by the client when the resource is created. The name must be
128
+ 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters
129
+ long and match the regular expression `a-z?` which means the first
130
+ character must be a lowercase letter, and all following characters must be a dash,
131
+ lowercase letter, or digit, except the last character, which cannot be a dash.
132
+ """
133
+ return pulumi.get(self, "name")
134
+
135
+ @name.setter
136
+ def name(self, value: Optional[pulumi.Input[builtins.str]]):
137
+ pulumi.set(self, "name", value)
138
+
139
+ @property
140
+ @pulumi.getter
141
+ def project(self) -> Optional[pulumi.Input[builtins.str]]:
142
+ """
143
+ The ID of the project in which the resource belongs.
144
+ If it is not provided, the provider project is used.
145
+ """
146
+ return pulumi.get(self, "project")
147
+
148
+ @project.setter
149
+ def project(self, value: Optional[pulumi.Input[builtins.str]]):
150
+ pulumi.set(self, "project", value)
151
+
152
+ @property
153
+ @pulumi.getter(name="wireGroupProperties")
154
+ def wire_group_properties(self) -> Optional[pulumi.Input['WireGroupWireGroupPropertiesArgs']]:
155
+ """
156
+ Properties specific to the wire group.
157
+ Structure is documented below.
158
+ """
159
+ return pulumi.get(self, "wire_group_properties")
160
+
161
+ @wire_group_properties.setter
162
+ def wire_group_properties(self, value: Optional[pulumi.Input['WireGroupWireGroupPropertiesArgs']]):
163
+ pulumi.set(self, "wire_group_properties", value)
164
+
165
+ @property
166
+ @pulumi.getter(name="wireProperties")
167
+ def wire_properties(self) -> Optional[pulumi.Input['WireGroupWirePropertiesArgs']]:
168
+ """
169
+ Default properties for wires within the group.
170
+ Structure is documented below.
171
+ """
172
+ return pulumi.get(self, "wire_properties")
173
+
174
+ @wire_properties.setter
175
+ def wire_properties(self, value: Optional[pulumi.Input['WireGroupWirePropertiesArgs']]):
176
+ pulumi.set(self, "wire_properties", value)
177
+
178
+
179
+ @pulumi.input_type
180
+ class _WireGroupState:
181
+ def __init__(__self__, *,
182
+ admin_enabled: Optional[pulumi.Input[builtins.bool]] = None,
183
+ creation_timestamp: Optional[pulumi.Input[builtins.str]] = None,
184
+ cross_site_network: Optional[pulumi.Input[builtins.str]] = None,
185
+ description: Optional[pulumi.Input[builtins.str]] = None,
186
+ endpoints: Optional[pulumi.Input[Sequence[pulumi.Input['WireGroupEndpointArgs']]]] = None,
187
+ name: Optional[pulumi.Input[builtins.str]] = None,
188
+ project: Optional[pulumi.Input[builtins.str]] = None,
189
+ topologies: Optional[pulumi.Input[Sequence[pulumi.Input['WireGroupTopologyArgs']]]] = None,
190
+ wire_group_properties: Optional[pulumi.Input['WireGroupWireGroupPropertiesArgs']] = None,
191
+ wire_properties: Optional[pulumi.Input['WireGroupWirePropertiesArgs']] = None,
192
+ wires: Optional[pulumi.Input[Sequence[pulumi.Input['WireGroupWireArgs']]]] = None):
193
+ """
194
+ Input properties used for looking up and filtering WireGroup resources.
195
+ :param pulumi.Input[builtins.bool] admin_enabled: Indicates whether the wire group is administratively enabled.
196
+ :param pulumi.Input[builtins.str] creation_timestamp: Creation timestamp in RFC3339 text format.
197
+ :param pulumi.Input[builtins.str] cross_site_network: Required cross site network to which wire group belongs.
198
+
199
+
200
+ - - -
201
+ :param pulumi.Input[builtins.str] description: An optional description of this resource. Provide this property when you create the resource.
202
+ :param pulumi.Input[Sequence[pulumi.Input['WireGroupEndpointArgs']]] endpoints: Endpoints grouped by location, each mapping to interconnect configurations.
203
+ Structure is documented below.
204
+ :param pulumi.Input[builtins.str] name: Name of the resource. Provided by the client when the resource is created. The name must be
205
+ 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters
206
+ long and match the regular expression `a-z?` which means the first
207
+ character must be a lowercase letter, and all following characters must be a dash,
208
+ lowercase letter, or digit, except the last character, which cannot be a dash.
209
+ :param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
210
+ If it is not provided, the provider project is used.
211
+ :param pulumi.Input[Sequence[pulumi.Input['WireGroupTopologyArgs']]] topologies: Topology details for the wire group configuration.
212
+ Structure is documented below.
213
+ :param pulumi.Input['WireGroupWireGroupPropertiesArgs'] wire_group_properties: Properties specific to the wire group.
214
+ Structure is documented below.
215
+ :param pulumi.Input['WireGroupWirePropertiesArgs'] wire_properties: Default properties for wires within the group.
216
+ Structure is documented below.
217
+ :param pulumi.Input[Sequence[pulumi.Input['WireGroupWireArgs']]] wires: The single/redundant wire(s) managed by the wire group.
218
+ Structure is documented below.
219
+ """
220
+ if admin_enabled is not None:
221
+ pulumi.set(__self__, "admin_enabled", admin_enabled)
222
+ if creation_timestamp is not None:
223
+ pulumi.set(__self__, "creation_timestamp", creation_timestamp)
224
+ if cross_site_network is not None:
225
+ pulumi.set(__self__, "cross_site_network", cross_site_network)
226
+ if description is not None:
227
+ pulumi.set(__self__, "description", description)
228
+ if endpoints is not None:
229
+ pulumi.set(__self__, "endpoints", endpoints)
230
+ if name is not None:
231
+ pulumi.set(__self__, "name", name)
232
+ if project is not None:
233
+ pulumi.set(__self__, "project", project)
234
+ if topologies is not None:
235
+ pulumi.set(__self__, "topologies", topologies)
236
+ if wire_group_properties is not None:
237
+ pulumi.set(__self__, "wire_group_properties", wire_group_properties)
238
+ if wire_properties is not None:
239
+ pulumi.set(__self__, "wire_properties", wire_properties)
240
+ if wires is not None:
241
+ pulumi.set(__self__, "wires", wires)
242
+
243
+ @property
244
+ @pulumi.getter(name="adminEnabled")
245
+ def admin_enabled(self) -> Optional[pulumi.Input[builtins.bool]]:
246
+ """
247
+ Indicates whether the wire group is administratively enabled.
248
+ """
249
+ return pulumi.get(self, "admin_enabled")
250
+
251
+ @admin_enabled.setter
252
+ def admin_enabled(self, value: Optional[pulumi.Input[builtins.bool]]):
253
+ pulumi.set(self, "admin_enabled", value)
254
+
255
+ @property
256
+ @pulumi.getter(name="creationTimestamp")
257
+ def creation_timestamp(self) -> Optional[pulumi.Input[builtins.str]]:
258
+ """
259
+ Creation timestamp in RFC3339 text format.
260
+ """
261
+ return pulumi.get(self, "creation_timestamp")
262
+
263
+ @creation_timestamp.setter
264
+ def creation_timestamp(self, value: Optional[pulumi.Input[builtins.str]]):
265
+ pulumi.set(self, "creation_timestamp", value)
266
+
267
+ @property
268
+ @pulumi.getter(name="crossSiteNetwork")
269
+ def cross_site_network(self) -> Optional[pulumi.Input[builtins.str]]:
270
+ """
271
+ Required cross site network to which wire group belongs.
272
+
273
+
274
+ - - -
275
+ """
276
+ return pulumi.get(self, "cross_site_network")
277
+
278
+ @cross_site_network.setter
279
+ def cross_site_network(self, value: Optional[pulumi.Input[builtins.str]]):
280
+ pulumi.set(self, "cross_site_network", value)
281
+
282
+ @property
283
+ @pulumi.getter
284
+ def description(self) -> Optional[pulumi.Input[builtins.str]]:
285
+ """
286
+ An optional description of this resource. Provide this property when you create the resource.
287
+ """
288
+ return pulumi.get(self, "description")
289
+
290
+ @description.setter
291
+ def description(self, value: Optional[pulumi.Input[builtins.str]]):
292
+ pulumi.set(self, "description", value)
293
+
294
+ @property
295
+ @pulumi.getter
296
+ def endpoints(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WireGroupEndpointArgs']]]]:
297
+ """
298
+ Endpoints grouped by location, each mapping to interconnect configurations.
299
+ Structure is documented below.
300
+ """
301
+ return pulumi.get(self, "endpoints")
302
+
303
+ @endpoints.setter
304
+ def endpoints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WireGroupEndpointArgs']]]]):
305
+ pulumi.set(self, "endpoints", value)
306
+
307
+ @property
308
+ @pulumi.getter
309
+ def name(self) -> Optional[pulumi.Input[builtins.str]]:
310
+ """
311
+ Name of the resource. Provided by the client when the resource is created. The name must be
312
+ 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters
313
+ long and match the regular expression `a-z?` which means the first
314
+ character must be a lowercase letter, and all following characters must be a dash,
315
+ lowercase letter, or digit, except the last character, which cannot be a dash.
316
+ """
317
+ return pulumi.get(self, "name")
318
+
319
+ @name.setter
320
+ def name(self, value: Optional[pulumi.Input[builtins.str]]):
321
+ pulumi.set(self, "name", value)
322
+
323
+ @property
324
+ @pulumi.getter
325
+ def project(self) -> Optional[pulumi.Input[builtins.str]]:
326
+ """
327
+ The ID of the project in which the resource belongs.
328
+ If it is not provided, the provider project is used.
329
+ """
330
+ return pulumi.get(self, "project")
331
+
332
+ @project.setter
333
+ def project(self, value: Optional[pulumi.Input[builtins.str]]):
334
+ pulumi.set(self, "project", value)
335
+
336
+ @property
337
+ @pulumi.getter
338
+ def topologies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WireGroupTopologyArgs']]]]:
339
+ """
340
+ Topology details for the wire group configuration.
341
+ Structure is documented below.
342
+ """
343
+ return pulumi.get(self, "topologies")
344
+
345
+ @topologies.setter
346
+ def topologies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WireGroupTopologyArgs']]]]):
347
+ pulumi.set(self, "topologies", value)
348
+
349
+ @property
350
+ @pulumi.getter(name="wireGroupProperties")
351
+ def wire_group_properties(self) -> Optional[pulumi.Input['WireGroupWireGroupPropertiesArgs']]:
352
+ """
353
+ Properties specific to the wire group.
354
+ Structure is documented below.
355
+ """
356
+ return pulumi.get(self, "wire_group_properties")
357
+
358
+ @wire_group_properties.setter
359
+ def wire_group_properties(self, value: Optional[pulumi.Input['WireGroupWireGroupPropertiesArgs']]):
360
+ pulumi.set(self, "wire_group_properties", value)
361
+
362
+ @property
363
+ @pulumi.getter(name="wireProperties")
364
+ def wire_properties(self) -> Optional[pulumi.Input['WireGroupWirePropertiesArgs']]:
365
+ """
366
+ Default properties for wires within the group.
367
+ Structure is documented below.
368
+ """
369
+ return pulumi.get(self, "wire_properties")
370
+
371
+ @wire_properties.setter
372
+ def wire_properties(self, value: Optional[pulumi.Input['WireGroupWirePropertiesArgs']]):
373
+ pulumi.set(self, "wire_properties", value)
374
+
375
+ @property
376
+ @pulumi.getter
377
+ def wires(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WireGroupWireArgs']]]]:
378
+ """
379
+ The single/redundant wire(s) managed by the wire group.
380
+ Structure is documented below.
381
+ """
382
+ return pulumi.get(self, "wires")
383
+
384
+ @wires.setter
385
+ def wires(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WireGroupWireArgs']]]]):
386
+ pulumi.set(self, "wires", value)
387
+
388
+
389
+ @pulumi.type_token("gcp:compute/wireGroup:WireGroup")
390
+ class WireGroup(pulumi.CustomResource):
391
+ @overload
392
+ def __init__(__self__,
393
+ resource_name: str,
394
+ opts: Optional[pulumi.ResourceOptions] = None,
395
+ admin_enabled: Optional[pulumi.Input[builtins.bool]] = None,
396
+ cross_site_network: Optional[pulumi.Input[builtins.str]] = None,
397
+ description: Optional[pulumi.Input[builtins.str]] = None,
398
+ endpoints: Optional[pulumi.Input[Sequence[pulumi.Input[Union['WireGroupEndpointArgs', 'WireGroupEndpointArgsDict']]]]] = None,
399
+ name: Optional[pulumi.Input[builtins.str]] = None,
400
+ project: Optional[pulumi.Input[builtins.str]] = None,
401
+ wire_group_properties: Optional[pulumi.Input[Union['WireGroupWireGroupPropertiesArgs', 'WireGroupWireGroupPropertiesArgsDict']]] = None,
402
+ wire_properties: Optional[pulumi.Input[Union['WireGroupWirePropertiesArgs', 'WireGroupWirePropertiesArgsDict']]] = None,
403
+ __props__=None):
404
+ """
405
+ ## Example Usage
406
+
407
+ ### Compute Wire Group Basic
408
+
409
+ ```python
410
+ import pulumi
411
+ import pulumi_gcp as gcp
412
+
413
+ project = gcp.organizations.get_project()
414
+ example_cross_site_network = gcp.compute.CrossSiteNetwork("example-cross-site-network",
415
+ name="test-cross-site-network",
416
+ description="Example cross site network")
417
+ example_test_wire_group = gcp.compute.WireGroup("example-test-wire-group",
418
+ name="test-wire-group",
419
+ description="Example Wire Group",
420
+ cross_site_network="test-cross-site-network",
421
+ wire_properties={
422
+ "bandwidth_unmetered": 10,
423
+ "fault_response": "NONE",
424
+ },
425
+ wire_group_properties={
426
+ "type": "WIRE",
427
+ },
428
+ admin_enabled=True,
429
+ opts = pulumi.ResourceOptions(depends_on=[example_cross_site_network]))
430
+ ```
431
+
432
+ ## Import
433
+
434
+ WireGroup can be imported using any of these accepted formats:
435
+
436
+ * `projects/{{project}}/global/crossSiteNetworks/{{cross_site_network}}/wireGroups/{{name}}`
437
+
438
+ * `{{project}}/{{cross_site_network}}/{{name}}`
439
+
440
+ * `{{cross_site_network}}/{{name}}`
441
+
442
+ When using the `pulumi import` command, WireGroup can be imported using one of the formats above. For example:
443
+
444
+ ```sh
445
+ $ pulumi import gcp:compute/wireGroup:WireGroup default projects/{{project}}/global/crossSiteNetworks/{{cross_site_network}}/wireGroups/{{name}}
446
+ ```
447
+
448
+ ```sh
449
+ $ pulumi import gcp:compute/wireGroup:WireGroup default {{project}}/{{cross_site_network}}/{{name}}
450
+ ```
451
+
452
+ ```sh
453
+ $ pulumi import gcp:compute/wireGroup:WireGroup default {{cross_site_network}}/{{name}}
454
+ ```
455
+
456
+ :param str resource_name: The name of the resource.
457
+ :param pulumi.ResourceOptions opts: Options for the resource.
458
+ :param pulumi.Input[builtins.bool] admin_enabled: Indicates whether the wire group is administratively enabled.
459
+ :param pulumi.Input[builtins.str] cross_site_network: Required cross site network to which wire group belongs.
460
+
461
+
462
+ - - -
463
+ :param pulumi.Input[builtins.str] description: An optional description of this resource. Provide this property when you create the resource.
464
+ :param pulumi.Input[Sequence[pulumi.Input[Union['WireGroupEndpointArgs', 'WireGroupEndpointArgsDict']]]] endpoints: Endpoints grouped by location, each mapping to interconnect configurations.
465
+ Structure is documented below.
466
+ :param pulumi.Input[builtins.str] name: Name of the resource. Provided by the client when the resource is created. The name must be
467
+ 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters
468
+ long and match the regular expression `a-z?` which means the first
469
+ character must be a lowercase letter, and all following characters must be a dash,
470
+ lowercase letter, or digit, except the last character, which cannot be a dash.
471
+ :param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
472
+ If it is not provided, the provider project is used.
473
+ :param pulumi.Input[Union['WireGroupWireGroupPropertiesArgs', 'WireGroupWireGroupPropertiesArgsDict']] wire_group_properties: Properties specific to the wire group.
474
+ Structure is documented below.
475
+ :param pulumi.Input[Union['WireGroupWirePropertiesArgs', 'WireGroupWirePropertiesArgsDict']] wire_properties: Default properties for wires within the group.
476
+ Structure is documented below.
477
+ """
478
+ ...
479
+ @overload
480
+ def __init__(__self__,
481
+ resource_name: str,
482
+ args: WireGroupArgs,
483
+ opts: Optional[pulumi.ResourceOptions] = None):
484
+ """
485
+ ## Example Usage
486
+
487
+ ### Compute Wire Group Basic
488
+
489
+ ```python
490
+ import pulumi
491
+ import pulumi_gcp as gcp
492
+
493
+ project = gcp.organizations.get_project()
494
+ example_cross_site_network = gcp.compute.CrossSiteNetwork("example-cross-site-network",
495
+ name="test-cross-site-network",
496
+ description="Example cross site network")
497
+ example_test_wire_group = gcp.compute.WireGroup("example-test-wire-group",
498
+ name="test-wire-group",
499
+ description="Example Wire Group",
500
+ cross_site_network="test-cross-site-network",
501
+ wire_properties={
502
+ "bandwidth_unmetered": 10,
503
+ "fault_response": "NONE",
504
+ },
505
+ wire_group_properties={
506
+ "type": "WIRE",
507
+ },
508
+ admin_enabled=True,
509
+ opts = pulumi.ResourceOptions(depends_on=[example_cross_site_network]))
510
+ ```
511
+
512
+ ## Import
513
+
514
+ WireGroup can be imported using any of these accepted formats:
515
+
516
+ * `projects/{{project}}/global/crossSiteNetworks/{{cross_site_network}}/wireGroups/{{name}}`
517
+
518
+ * `{{project}}/{{cross_site_network}}/{{name}}`
519
+
520
+ * `{{cross_site_network}}/{{name}}`
521
+
522
+ When using the `pulumi import` command, WireGroup can be imported using one of the formats above. For example:
523
+
524
+ ```sh
525
+ $ pulumi import gcp:compute/wireGroup:WireGroup default projects/{{project}}/global/crossSiteNetworks/{{cross_site_network}}/wireGroups/{{name}}
526
+ ```
527
+
528
+ ```sh
529
+ $ pulumi import gcp:compute/wireGroup:WireGroup default {{project}}/{{cross_site_network}}/{{name}}
530
+ ```
531
+
532
+ ```sh
533
+ $ pulumi import gcp:compute/wireGroup:WireGroup default {{cross_site_network}}/{{name}}
534
+ ```
535
+
536
+ :param str resource_name: The name of the resource.
537
+ :param WireGroupArgs args: The arguments to use to populate this resource's properties.
538
+ :param pulumi.ResourceOptions opts: Options for the resource.
539
+ """
540
+ ...
541
+ def __init__(__self__, resource_name: str, *args, **kwargs):
542
+ resource_args, opts = _utilities.get_resource_args_opts(WireGroupArgs, pulumi.ResourceOptions, *args, **kwargs)
543
+ if resource_args is not None:
544
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
545
+ else:
546
+ __self__._internal_init(resource_name, *args, **kwargs)
547
+
548
+ def _internal_init(__self__,
549
+ resource_name: str,
550
+ opts: Optional[pulumi.ResourceOptions] = None,
551
+ admin_enabled: Optional[pulumi.Input[builtins.bool]] = None,
552
+ cross_site_network: Optional[pulumi.Input[builtins.str]] = None,
553
+ description: Optional[pulumi.Input[builtins.str]] = None,
554
+ endpoints: Optional[pulumi.Input[Sequence[pulumi.Input[Union['WireGroupEndpointArgs', 'WireGroupEndpointArgsDict']]]]] = None,
555
+ name: Optional[pulumi.Input[builtins.str]] = None,
556
+ project: Optional[pulumi.Input[builtins.str]] = None,
557
+ wire_group_properties: Optional[pulumi.Input[Union['WireGroupWireGroupPropertiesArgs', 'WireGroupWireGroupPropertiesArgsDict']]] = None,
558
+ wire_properties: Optional[pulumi.Input[Union['WireGroupWirePropertiesArgs', 'WireGroupWirePropertiesArgsDict']]] = None,
559
+ __props__=None):
560
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
561
+ if not isinstance(opts, pulumi.ResourceOptions):
562
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
563
+ if opts.id is None:
564
+ if __props__ is not None:
565
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
566
+ __props__ = WireGroupArgs.__new__(WireGroupArgs)
567
+
568
+ __props__.__dict__["admin_enabled"] = admin_enabled
569
+ if cross_site_network is None and not opts.urn:
570
+ raise TypeError("Missing required property 'cross_site_network'")
571
+ __props__.__dict__["cross_site_network"] = cross_site_network
572
+ __props__.__dict__["description"] = description
573
+ __props__.__dict__["endpoints"] = endpoints
574
+ __props__.__dict__["name"] = name
575
+ __props__.__dict__["project"] = project
576
+ __props__.__dict__["wire_group_properties"] = wire_group_properties
577
+ __props__.__dict__["wire_properties"] = wire_properties
578
+ __props__.__dict__["creation_timestamp"] = None
579
+ __props__.__dict__["topologies"] = None
580
+ __props__.__dict__["wires"] = None
581
+ super(WireGroup, __self__).__init__(
582
+ 'gcp:compute/wireGroup:WireGroup',
583
+ resource_name,
584
+ __props__,
585
+ opts)
586
+
587
+ @staticmethod
588
+ def get(resource_name: str,
589
+ id: pulumi.Input[str],
590
+ opts: Optional[pulumi.ResourceOptions] = None,
591
+ admin_enabled: Optional[pulumi.Input[builtins.bool]] = None,
592
+ creation_timestamp: Optional[pulumi.Input[builtins.str]] = None,
593
+ cross_site_network: Optional[pulumi.Input[builtins.str]] = None,
594
+ description: Optional[pulumi.Input[builtins.str]] = None,
595
+ endpoints: Optional[pulumi.Input[Sequence[pulumi.Input[Union['WireGroupEndpointArgs', 'WireGroupEndpointArgsDict']]]]] = None,
596
+ name: Optional[pulumi.Input[builtins.str]] = None,
597
+ project: Optional[pulumi.Input[builtins.str]] = None,
598
+ topologies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['WireGroupTopologyArgs', 'WireGroupTopologyArgsDict']]]]] = None,
599
+ wire_group_properties: Optional[pulumi.Input[Union['WireGroupWireGroupPropertiesArgs', 'WireGroupWireGroupPropertiesArgsDict']]] = None,
600
+ wire_properties: Optional[pulumi.Input[Union['WireGroupWirePropertiesArgs', 'WireGroupWirePropertiesArgsDict']]] = None,
601
+ wires: Optional[pulumi.Input[Sequence[pulumi.Input[Union['WireGroupWireArgs', 'WireGroupWireArgsDict']]]]] = None) -> 'WireGroup':
602
+ """
603
+ Get an existing WireGroup resource's state with the given name, id, and optional extra
604
+ properties used to qualify the lookup.
605
+
606
+ :param str resource_name: The unique name of the resulting resource.
607
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
608
+ :param pulumi.ResourceOptions opts: Options for the resource.
609
+ :param pulumi.Input[builtins.bool] admin_enabled: Indicates whether the wire group is administratively enabled.
610
+ :param pulumi.Input[builtins.str] creation_timestamp: Creation timestamp in RFC3339 text format.
611
+ :param pulumi.Input[builtins.str] cross_site_network: Required cross site network to which wire group belongs.
612
+
613
+
614
+ - - -
615
+ :param pulumi.Input[builtins.str] description: An optional description of this resource. Provide this property when you create the resource.
616
+ :param pulumi.Input[Sequence[pulumi.Input[Union['WireGroupEndpointArgs', 'WireGroupEndpointArgsDict']]]] endpoints: Endpoints grouped by location, each mapping to interconnect configurations.
617
+ Structure is documented below.
618
+ :param pulumi.Input[builtins.str] name: Name of the resource. Provided by the client when the resource is created. The name must be
619
+ 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters
620
+ long and match the regular expression `a-z?` which means the first
621
+ character must be a lowercase letter, and all following characters must be a dash,
622
+ lowercase letter, or digit, except the last character, which cannot be a dash.
623
+ :param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
624
+ If it is not provided, the provider project is used.
625
+ :param pulumi.Input[Sequence[pulumi.Input[Union['WireGroupTopologyArgs', 'WireGroupTopologyArgsDict']]]] topologies: Topology details for the wire group configuration.
626
+ Structure is documented below.
627
+ :param pulumi.Input[Union['WireGroupWireGroupPropertiesArgs', 'WireGroupWireGroupPropertiesArgsDict']] wire_group_properties: Properties specific to the wire group.
628
+ Structure is documented below.
629
+ :param pulumi.Input[Union['WireGroupWirePropertiesArgs', 'WireGroupWirePropertiesArgsDict']] wire_properties: Default properties for wires within the group.
630
+ Structure is documented below.
631
+ :param pulumi.Input[Sequence[pulumi.Input[Union['WireGroupWireArgs', 'WireGroupWireArgsDict']]]] wires: The single/redundant wire(s) managed by the wire group.
632
+ Structure is documented below.
633
+ """
634
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
635
+
636
+ __props__ = _WireGroupState.__new__(_WireGroupState)
637
+
638
+ __props__.__dict__["admin_enabled"] = admin_enabled
639
+ __props__.__dict__["creation_timestamp"] = creation_timestamp
640
+ __props__.__dict__["cross_site_network"] = cross_site_network
641
+ __props__.__dict__["description"] = description
642
+ __props__.__dict__["endpoints"] = endpoints
643
+ __props__.__dict__["name"] = name
644
+ __props__.__dict__["project"] = project
645
+ __props__.__dict__["topologies"] = topologies
646
+ __props__.__dict__["wire_group_properties"] = wire_group_properties
647
+ __props__.__dict__["wire_properties"] = wire_properties
648
+ __props__.__dict__["wires"] = wires
649
+ return WireGroup(resource_name, opts=opts, __props__=__props__)
650
+
651
+ @property
652
+ @pulumi.getter(name="adminEnabled")
653
+ def admin_enabled(self) -> pulumi.Output[Optional[builtins.bool]]:
654
+ """
655
+ Indicates whether the wire group is administratively enabled.
656
+ """
657
+ return pulumi.get(self, "admin_enabled")
658
+
659
+ @property
660
+ @pulumi.getter(name="creationTimestamp")
661
+ def creation_timestamp(self) -> pulumi.Output[builtins.str]:
662
+ """
663
+ Creation timestamp in RFC3339 text format.
664
+ """
665
+ return pulumi.get(self, "creation_timestamp")
666
+
667
+ @property
668
+ @pulumi.getter(name="crossSiteNetwork")
669
+ def cross_site_network(self) -> pulumi.Output[builtins.str]:
670
+ """
671
+ Required cross site network to which wire group belongs.
672
+
673
+
674
+ - - -
675
+ """
676
+ return pulumi.get(self, "cross_site_network")
677
+
678
+ @property
679
+ @pulumi.getter
680
+ def description(self) -> pulumi.Output[Optional[builtins.str]]:
681
+ """
682
+ An optional description of this resource. Provide this property when you create the resource.
683
+ """
684
+ return pulumi.get(self, "description")
685
+
686
+ @property
687
+ @pulumi.getter
688
+ def endpoints(self) -> pulumi.Output[Optional[Sequence['outputs.WireGroupEndpoint']]]:
689
+ """
690
+ Endpoints grouped by location, each mapping to interconnect configurations.
691
+ Structure is documented below.
692
+ """
693
+ return pulumi.get(self, "endpoints")
694
+
695
+ @property
696
+ @pulumi.getter
697
+ def name(self) -> pulumi.Output[builtins.str]:
698
+ """
699
+ Name of the resource. Provided by the client when the resource is created. The name must be
700
+ 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters
701
+ long and match the regular expression `a-z?` which means the first
702
+ character must be a lowercase letter, and all following characters must be a dash,
703
+ lowercase letter, or digit, except the last character, which cannot be a dash.
704
+ """
705
+ return pulumi.get(self, "name")
706
+
707
+ @property
708
+ @pulumi.getter
709
+ def project(self) -> pulumi.Output[builtins.str]:
710
+ """
711
+ The ID of the project in which the resource belongs.
712
+ If it is not provided, the provider project is used.
713
+ """
714
+ return pulumi.get(self, "project")
715
+
716
+ @property
717
+ @pulumi.getter
718
+ def topologies(self) -> pulumi.Output[Sequence['outputs.WireGroupTopology']]:
719
+ """
720
+ Topology details for the wire group configuration.
721
+ Structure is documented below.
722
+ """
723
+ return pulumi.get(self, "topologies")
724
+
725
+ @property
726
+ @pulumi.getter(name="wireGroupProperties")
727
+ def wire_group_properties(self) -> pulumi.Output[Optional['outputs.WireGroupWireGroupProperties']]:
728
+ """
729
+ Properties specific to the wire group.
730
+ Structure is documented below.
731
+ """
732
+ return pulumi.get(self, "wire_group_properties")
733
+
734
+ @property
735
+ @pulumi.getter(name="wireProperties")
736
+ def wire_properties(self) -> pulumi.Output[Optional['outputs.WireGroupWireProperties']]:
737
+ """
738
+ Default properties for wires within the group.
739
+ Structure is documented below.
740
+ """
741
+ return pulumi.get(self, "wire_properties")
742
+
743
+ @property
744
+ @pulumi.getter
745
+ def wires(self) -> pulumi.Output[Sequence['outputs.WireGroupWire']]:
746
+ """
747
+ The single/redundant wire(s) managed by the wire group.
748
+ Structure is documented below.
749
+ """
750
+ return pulumi.get(self, "wires")
751
+