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.
- pulumi_gcp/__init__.py +32 -0
- pulumi_gcp/alloydb/cluster.py +16 -64
- pulumi_gcp/apigee/_inputs.py +89 -0
- pulumi_gcp/apigee/environment.py +68 -2
- pulumi_gcp/apigee/outputs.py +88 -0
- pulumi_gcp/apihub/__init__.py +1 -0
- pulumi_gcp/apihub/_inputs.py +184 -0
- pulumi_gcp/apihub/curation.py +812 -0
- pulumi_gcp/apihub/outputs.py +165 -0
- pulumi_gcp/beyondcorp/get_security_gateway.py +12 -1
- pulumi_gcp/beyondcorp/security_gateway.py +28 -0
- pulumi_gcp/cloudrunv2/_inputs.py +463 -0
- pulumi_gcp/cloudrunv2/outputs.py +581 -1
- pulumi_gcp/cloudrunv2/worker_pool.py +0 -8
- pulumi_gcp/colab/runtime_template.py +4 -26
- pulumi_gcp/compute/__init__.py +3 -0
- pulumi_gcp/compute/_inputs.py +1551 -0
- pulumi_gcp/compute/interconnect.py +32 -0
- pulumi_gcp/compute/interconnect_attachment.py +28 -0
- pulumi_gcp/compute/interconnect_attachment_group.py +636 -0
- pulumi_gcp/compute/interconnect_group.py +586 -0
- pulumi_gcp/compute/outputs.py +1087 -0
- pulumi_gcp/compute/snapshot_settings.py +285 -0
- pulumi_gcp/container/_inputs.py +51 -18
- pulumi_gcp/container/cluster.py +47 -0
- pulumi_gcp/container/get_cluster.py +12 -1
- pulumi_gcp/container/outputs.py +71 -16
- pulumi_gcp/dataplex/_inputs.py +20 -0
- pulumi_gcp/dataplex/datascan.py +2 -0
- pulumi_gcp/dataplex/outputs.py +15 -1
- pulumi_gcp/eventarc/_inputs.py +12 -5
- pulumi_gcp/eventarc/outputs.py +8 -3
- pulumi_gcp/eventarc/pipeline.py +0 -12
- pulumi_gcp/gemini/data_sharing_with_google_setting.py +58 -9
- pulumi_gcp/gemini/data_sharing_with_google_setting_binding.py +11 -16
- pulumi_gcp/gemini/gemini_gcp_enablement_setting.py +51 -2
- pulumi_gcp/gemini/gemini_gcp_enablement_setting_binding.py +11 -16
- pulumi_gcp/gkehub/_inputs.py +84 -7
- pulumi_gcp/gkehub/feature.py +38 -0
- pulumi_gcp/gkehub/outputs.py +102 -7
- pulumi_gcp/gkehub/scope_rbac_role_binding.py +54 -2
- pulumi_gcp/gkeonprem/_inputs.py +54 -0
- pulumi_gcp/gkeonprem/outputs.py +49 -0
- pulumi_gcp/gkeonprem/vmware_admin_cluster.py +71 -0
- pulumi_gcp/iam/workload_identity_pool_namespace.py +4 -4
- pulumi_gcp/iap/tunnel_dest_group.py +2 -2
- pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
- pulumi_gcp/managedkafka/connect_cluster.py +4 -4
- pulumi_gcp/managedkafka/connector.py +4 -4
- pulumi_gcp/networkconnectivity/spoke.py +14 -14
- pulumi_gcp/networksecurity/backend_authentication_config.py +64 -0
- pulumi_gcp/orgpolicy/policy.py +2 -2
- pulumi_gcp/pubsub/_inputs.py +392 -0
- pulumi_gcp/pubsub/get_subscription.py +12 -1
- pulumi_gcp/pubsub/get_topic.py +12 -1
- pulumi_gcp/pubsub/outputs.py +548 -0
- pulumi_gcp/pubsub/subscription.py +67 -6
- pulumi_gcp/pubsub/topic.py +61 -0
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/vertex/ai_endpoint.py +4 -4
- pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
- {pulumi_gcp-8.34.0a1749484438.dist-info → pulumi_gcp-8.34.0a1749648575.dist-info}/METADATA +1 -1
- {pulumi_gcp-8.34.0a1749484438.dist-info → pulumi_gcp-8.34.0a1749648575.dist-info}/RECORD +65 -61
- {pulumi_gcp-8.34.0a1749484438.dist-info → pulumi_gcp-8.34.0a1749648575.dist-info}/WHEEL +0 -0
- {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
|
+
|