pulumi-gcp 8.3.1a1727284265__py3-none-any.whl → 8.4.0a1727795436__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 (49) hide show
  1. pulumi_gcp/__init__.py +24 -0
  2. pulumi_gcp/apigee/nat_address.py +155 -2
  3. pulumi_gcp/bigquery/_inputs.py +102 -0
  4. pulumi_gcp/bigquery/outputs.py +83 -0
  5. pulumi_gcp/bigquery/table.py +47 -0
  6. pulumi_gcp/cloudrun/_inputs.py +26 -0
  7. pulumi_gcp/cloudrun/outputs.py +33 -0
  8. pulumi_gcp/cloudrun/service.py +76 -0
  9. pulumi_gcp/cloudrunv2/_inputs.py +65 -9
  10. pulumi_gcp/cloudrunv2/outputs.py +73 -8
  11. pulumi_gcp/cloudrunv2/service.py +64 -0
  12. pulumi_gcp/compute/__init__.py +3 -0
  13. pulumi_gcp/compute/_inputs.py +1941 -2
  14. pulumi_gcp/compute/get_region_instance_group_manager.py +438 -0
  15. pulumi_gcp/compute/get_router_nat.py +11 -1
  16. pulumi_gcp/compute/instance.py +7 -7
  17. pulumi_gcp/compute/instance_from_machine_image.py +7 -7
  18. pulumi_gcp/compute/instance_from_template.py +7 -7
  19. pulumi_gcp/compute/interconnect.py +76 -64
  20. pulumi_gcp/compute/outputs.py +4637 -2640
  21. pulumi_gcp/compute/region_commitment.py +47 -0
  22. pulumi_gcp/compute/region_network_firewall_policy_with_rules.py +835 -0
  23. pulumi_gcp/compute/router_nat.py +56 -2
  24. pulumi_gcp/compute/router_nat_address.py +514 -0
  25. pulumi_gcp/compute/subnetwork.py +14 -14
  26. pulumi_gcp/container/_inputs.py +222 -0
  27. pulumi_gcp/container/outputs.py +279 -2
  28. pulumi_gcp/logging/__init__.py +1 -0
  29. pulumi_gcp/logging/log_scope.py +492 -0
  30. pulumi_gcp/looker/_inputs.py +157 -0
  31. pulumi_gcp/looker/instance.py +143 -0
  32. pulumi_gcp/looker/outputs.py +136 -0
  33. pulumi_gcp/networkconnectivity/_inputs.py +72 -3
  34. pulumi_gcp/networkconnectivity/outputs.py +51 -3
  35. pulumi_gcp/networkconnectivity/spoke.py +310 -0
  36. pulumi_gcp/networksecurity/security_profile.py +2 -2
  37. pulumi_gcp/privilegedaccessmanager/__init__.py +1 -0
  38. pulumi_gcp/privilegedaccessmanager/get_entitlement.py +219 -0
  39. pulumi_gcp/privilegedaccessmanager/outputs.py +312 -0
  40. pulumi_gcp/pulumi-plugin.json +1 -1
  41. pulumi_gcp/secretmanager/__init__.py +2 -0
  42. pulumi_gcp/secretmanager/get_regional_secret_version.py +2 -2
  43. pulumi_gcp/secretmanager/get_regional_secret_version_access.py +188 -0
  44. pulumi_gcp/secretmanager/get_regional_secrets.py +156 -0
  45. pulumi_gcp/secretmanager/outputs.py +265 -0
  46. {pulumi_gcp-8.3.1a1727284265.dist-info → pulumi_gcp-8.4.0a1727795436.dist-info}/METADATA +1 -1
  47. {pulumi_gcp-8.3.1a1727284265.dist-info → pulumi_gcp-8.4.0a1727795436.dist-info}/RECORD +49 -42
  48. {pulumi_gcp-8.3.1a1727284265.dist-info → pulumi_gcp-8.4.0a1727795436.dist-info}/WHEEL +0 -0
  49. {pulumi_gcp-8.3.1a1727284265.dist-info → pulumi_gcp-8.4.0a1727795436.dist-info}/top_level.txt +0 -0
@@ -68,7 +68,7 @@ class InstanceFromTemplateArgs:
68
68
  to create.
69
69
  :param pulumi.Input[bool] deletion_protection: Whether deletion protection is enabled on this instance.
70
70
  :param pulumi.Input[str] description: A brief description of the resource.
71
- :param pulumi.Input[str] desired_status: Desired status of the instance. Either "RUNNING" or "TERMINATED".
71
+ :param pulumi.Input[str] desired_status: Desired status of the instance. Either "RUNNING", "SUSPENDED" or "TERMINATED".
72
72
  :param pulumi.Input[bool] enable_display: Whether the instance has virtual displays enabled.
73
73
  :param pulumi.Input[Sequence[pulumi.Input['InstanceFromTemplateGuestAcceleratorArgs']]] guest_accelerators: List of the type and count of accelerator cards attached to the instance.
74
74
  :param pulumi.Input[str] hostname: A custom hostname for the instance. Must be a fully qualified DNS name and RFC-1035-valid. Valid format is a series of
@@ -282,7 +282,7 @@ class InstanceFromTemplateArgs:
282
282
  @pulumi.getter(name="desiredStatus")
283
283
  def desired_status(self) -> Optional[pulumi.Input[str]]:
284
284
  """
285
- Desired status of the instance. Either "RUNNING" or "TERMINATED".
285
+ Desired status of the instance. Either "RUNNING", "SUSPENDED" or "TERMINATED".
286
286
  """
287
287
  return pulumi.get(self, "desired_status")
288
288
 
@@ -625,7 +625,7 @@ class _InstanceFromTemplateState:
625
625
  life cycle](https://cloud.google.com/compute/docs/instances/instance-life-cycle).
626
626
  :param pulumi.Input[bool] deletion_protection: Whether deletion protection is enabled on this instance.
627
627
  :param pulumi.Input[str] description: A brief description of the resource.
628
- :param pulumi.Input[str] desired_status: Desired status of the instance. Either "RUNNING" or "TERMINATED".
628
+ :param pulumi.Input[str] desired_status: Desired status of the instance. Either "RUNNING", "SUSPENDED" or "TERMINATED".
629
629
  :param pulumi.Input[bool] enable_display: Whether the instance has virtual displays enabled.
630
630
  :param pulumi.Input[Sequence[pulumi.Input['InstanceFromTemplateGuestAcceleratorArgs']]] guest_accelerators: List of the type and count of accelerator cards attached to the instance.
631
631
  :param pulumi.Input[str] hostname: A custom hostname for the instance. Must be a fully qualified DNS name and RFC-1035-valid. Valid format is a series of
@@ -879,7 +879,7 @@ class _InstanceFromTemplateState:
879
879
  @pulumi.getter(name="desiredStatus")
880
880
  def desired_status(self) -> Optional[pulumi.Input[str]]:
881
881
  """
882
- Desired status of the instance. Either "RUNNING" or "TERMINATED".
882
+ Desired status of the instance. Either "RUNNING", "SUSPENDED" or "TERMINATED".
883
883
  """
884
884
  return pulumi.get(self, "desired_status")
885
885
 
@@ -1355,7 +1355,7 @@ class InstanceFromTemplate(pulumi.CustomResource):
1355
1355
  to create.
1356
1356
  :param pulumi.Input[bool] deletion_protection: Whether deletion protection is enabled on this instance.
1357
1357
  :param pulumi.Input[str] description: A brief description of the resource.
1358
- :param pulumi.Input[str] desired_status: Desired status of the instance. Either "RUNNING" or "TERMINATED".
1358
+ :param pulumi.Input[str] desired_status: Desired status of the instance. Either "RUNNING", "SUSPENDED" or "TERMINATED".
1359
1359
  :param pulumi.Input[bool] enable_display: Whether the instance has virtual displays enabled.
1360
1360
  :param pulumi.Input[Sequence[pulumi.Input[Union['InstanceFromTemplateGuestAcceleratorArgs', 'InstanceFromTemplateGuestAcceleratorArgsDict']]]] guest_accelerators: List of the type and count of accelerator cards attached to the instance.
1361
1361
  :param pulumi.Input[str] hostname: A custom hostname for the instance. Must be a fully qualified DNS name and RFC-1035-valid. Valid format is a series of
@@ -1619,7 +1619,7 @@ class InstanceFromTemplate(pulumi.CustomResource):
1619
1619
  life cycle](https://cloud.google.com/compute/docs/instances/instance-life-cycle).
1620
1620
  :param pulumi.Input[bool] deletion_protection: Whether deletion protection is enabled on this instance.
1621
1621
  :param pulumi.Input[str] description: A brief description of the resource.
1622
- :param pulumi.Input[str] desired_status: Desired status of the instance. Either "RUNNING" or "TERMINATED".
1622
+ :param pulumi.Input[str] desired_status: Desired status of the instance. Either "RUNNING", "SUSPENDED" or "TERMINATED".
1623
1623
  :param pulumi.Input[bool] enable_display: Whether the instance has virtual displays enabled.
1624
1624
  :param pulumi.Input[Sequence[pulumi.Input[Union['InstanceFromTemplateGuestAcceleratorArgs', 'InstanceFromTemplateGuestAcceleratorArgsDict']]]] guest_accelerators: List of the type and count of accelerator cards attached to the instance.
1625
1625
  :param pulumi.Input[str] hostname: A custom hostname for the instance. Must be a fully qualified DNS name and RFC-1035-valid. Valid format is a series of
@@ -1797,7 +1797,7 @@ class InstanceFromTemplate(pulumi.CustomResource):
1797
1797
  @pulumi.getter(name="desiredStatus")
1798
1798
  def desired_status(self) -> pulumi.Output[str]:
1799
1799
  """
1800
- Desired status of the instance. Either "RUNNING" or "TERMINATED".
1800
+ Desired status of the instance. Either "RUNNING", "SUSPENDED" or "TERMINATED".
1801
1801
  """
1802
1802
  return pulumi.get(self, "desired_status")
1803
1803
 
@@ -21,14 +21,14 @@ __all__ = ['InterconnectArgs', 'Interconnect']
21
21
  @pulumi.input_type
22
22
  class InterconnectArgs:
23
23
  def __init__(__self__, *,
24
- customer_name: pulumi.Input[str],
25
24
  interconnect_type: pulumi.Input[str],
26
25
  link_type: pulumi.Input[str],
27
- location: pulumi.Input[str],
28
26
  requested_link_count: pulumi.Input[int],
29
27
  admin_enabled: Optional[pulumi.Input[bool]] = None,
28
+ customer_name: Optional[pulumi.Input[str]] = None,
30
29
  description: Optional[pulumi.Input[str]] = None,
31
30
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
31
+ location: Optional[pulumi.Input[str]] = None,
32
32
  macsec: Optional[pulumi.Input['InterconnectMacsecArgs']] = None,
33
33
  macsec_enabled: Optional[pulumi.Input[bool]] = None,
34
34
  name: Optional[pulumi.Input[str]] = None,
@@ -38,32 +38,34 @@ class InterconnectArgs:
38
38
  requested_features: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
39
39
  """
40
40
  The set of arguments for constructing a Interconnect resource.
41
- :param pulumi.Input[str] customer_name: Customer name, to put in the Letter of Authorization as the party authorized to request a
42
- crossconnect.
43
-
44
-
45
- - - -
46
41
  :param pulumi.Input[str] interconnect_type: Type of interconnect. Note that a value IT_PRIVATE has been deprecated in favor of DEDICATED.
47
42
  Can take one of the following values:
48
43
  - PARTNER: A partner-managed interconnection shared between customers though a partner.
49
44
  - DEDICATED: A dedicated physical interconnection with the customer.
50
45
  Possible values are: `DEDICATED`, `PARTNER`, `IT_PRIVATE`.
46
+
47
+
48
+ - - -
51
49
  :param pulumi.Input[str] link_type: Type of link requested. Note that this field indicates the speed of each of the links in the
52
50
  bundle, not the speed of the entire bundle. Can take one of the following values:
53
51
  - LINK_TYPE_ETHERNET_10G_LR: A 10G Ethernet with LR optics.
54
52
  - LINK_TYPE_ETHERNET_100G_LR: A 100G Ethernet with LR optics.
55
53
  Possible values are: `LINK_TYPE_ETHERNET_10G_LR`, `LINK_TYPE_ETHERNET_100G_LR`.
56
- :param pulumi.Input[str] location: URL of the InterconnectLocation object that represents where this connection is to be provisioned.
57
54
  :param pulumi.Input[int] requested_link_count: Target number of physical links in the link bundle, as requested by the customer.
58
55
  :param pulumi.Input[bool] admin_enabled: Administrative status of the interconnect. When this is set to true, the Interconnect is
59
56
  functional and can carry traffic. When set to false, no packets can be carried over the
60
57
  interconnect and no BGP routes are exchanged over it. By default, the status is set to true.
58
+ :param pulumi.Input[str] customer_name: Customer name, to put in the Letter of Authorization as the party authorized to request a
59
+ crossconnect. This field is required for Dedicated and Partner Interconnect, should not be specified
60
+ for cross-cloud interconnect.
61
61
  :param pulumi.Input[str] description: An optional description of this resource. Provide this property when you create the resource.
62
62
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels for this resource. These can only be added or modified by the setLabels
63
63
  method. Each label key/value pair must comply with RFC1035. Label values may be empty.
64
64
 
65
65
  **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
66
66
  Please refer to the field `effective_labels` for all of the labels present on the resource.
67
+ :param pulumi.Input[str] location: URL of the InterconnectLocation object that represents where this connection is to be provisioned.
68
+ Specifies the location inside Google's Networks, should not be passed in case of cross-cloud interconnect.
67
69
  :param pulumi.Input['InterconnectMacsecArgs'] macsec: Configuration that enables Media Access Control security (MACsec) on the Cloud
68
70
  Interconnect connection between Google and your on-premises router.
69
71
  Structure is documented below.
@@ -90,17 +92,19 @@ class InterconnectArgs:
90
92
  does not work with the API, and will be removed in an upcoming major version.
91
93
  Each value may be one of: `MACSEC`, `IF_MACSEC`.
92
94
  """
93
- pulumi.set(__self__, "customer_name", customer_name)
94
95
  pulumi.set(__self__, "interconnect_type", interconnect_type)
95
96
  pulumi.set(__self__, "link_type", link_type)
96
- pulumi.set(__self__, "location", location)
97
97
  pulumi.set(__self__, "requested_link_count", requested_link_count)
98
98
  if admin_enabled is not None:
99
99
  pulumi.set(__self__, "admin_enabled", admin_enabled)
100
+ if customer_name is not None:
101
+ pulumi.set(__self__, "customer_name", customer_name)
100
102
  if description is not None:
101
103
  pulumi.set(__self__, "description", description)
102
104
  if labels is not None:
103
105
  pulumi.set(__self__, "labels", labels)
106
+ if location is not None:
107
+ pulumi.set(__self__, "location", location)
104
108
  if macsec is not None:
105
109
  pulumi.set(__self__, "macsec", macsec)
106
110
  if macsec_enabled is not None:
@@ -116,22 +120,6 @@ class InterconnectArgs:
116
120
  if requested_features is not None:
117
121
  pulumi.set(__self__, "requested_features", requested_features)
118
122
 
119
- @property
120
- @pulumi.getter(name="customerName")
121
- def customer_name(self) -> pulumi.Input[str]:
122
- """
123
- Customer name, to put in the Letter of Authorization as the party authorized to request a
124
- crossconnect.
125
-
126
-
127
- - - -
128
- """
129
- return pulumi.get(self, "customer_name")
130
-
131
- @customer_name.setter
132
- def customer_name(self, value: pulumi.Input[str]):
133
- pulumi.set(self, "customer_name", value)
134
-
135
123
  @property
136
124
  @pulumi.getter(name="interconnectType")
137
125
  def interconnect_type(self) -> pulumi.Input[str]:
@@ -141,6 +129,9 @@ class InterconnectArgs:
141
129
  - PARTNER: A partner-managed interconnection shared between customers though a partner.
142
130
  - DEDICATED: A dedicated physical interconnection with the customer.
143
131
  Possible values are: `DEDICATED`, `PARTNER`, `IT_PRIVATE`.
132
+
133
+
134
+ - - -
144
135
  """
145
136
  return pulumi.get(self, "interconnect_type")
146
137
 
@@ -164,18 +155,6 @@ class InterconnectArgs:
164
155
  def link_type(self, value: pulumi.Input[str]):
165
156
  pulumi.set(self, "link_type", value)
166
157
 
167
- @property
168
- @pulumi.getter
169
- def location(self) -> pulumi.Input[str]:
170
- """
171
- URL of the InterconnectLocation object that represents where this connection is to be provisioned.
172
- """
173
- return pulumi.get(self, "location")
174
-
175
- @location.setter
176
- def location(self, value: pulumi.Input[str]):
177
- pulumi.set(self, "location", value)
178
-
179
158
  @property
180
159
  @pulumi.getter(name="requestedLinkCount")
181
160
  def requested_link_count(self) -> pulumi.Input[int]:
@@ -202,6 +181,20 @@ class InterconnectArgs:
202
181
  def admin_enabled(self, value: Optional[pulumi.Input[bool]]):
203
182
  pulumi.set(self, "admin_enabled", value)
204
183
 
184
+ @property
185
+ @pulumi.getter(name="customerName")
186
+ def customer_name(self) -> Optional[pulumi.Input[str]]:
187
+ """
188
+ Customer name, to put in the Letter of Authorization as the party authorized to request a
189
+ crossconnect. This field is required for Dedicated and Partner Interconnect, should not be specified
190
+ for cross-cloud interconnect.
191
+ """
192
+ return pulumi.get(self, "customer_name")
193
+
194
+ @customer_name.setter
195
+ def customer_name(self, value: Optional[pulumi.Input[str]]):
196
+ pulumi.set(self, "customer_name", value)
197
+
205
198
  @property
206
199
  @pulumi.getter
207
200
  def description(self) -> Optional[pulumi.Input[str]]:
@@ -230,6 +223,19 @@ class InterconnectArgs:
230
223
  def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
231
224
  pulumi.set(self, "labels", value)
232
225
 
226
+ @property
227
+ @pulumi.getter
228
+ def location(self) -> Optional[pulumi.Input[str]]:
229
+ """
230
+ URL of the InterconnectLocation object that represents where this connection is to be provisioned.
231
+ Specifies the location inside Google's Networks, should not be passed in case of cross-cloud interconnect.
232
+ """
233
+ return pulumi.get(self, "location")
234
+
235
+ @location.setter
236
+ def location(self, value: Optional[pulumi.Input[str]]):
237
+ pulumi.set(self, "location", value)
238
+
233
239
  @property
234
240
  @pulumi.getter
235
241
  def macsec(self) -> Optional[pulumi.Input['InterconnectMacsecArgs']]:
@@ -379,10 +385,8 @@ class _InterconnectState:
379
385
  Structure is documented below.
380
386
  :param pulumi.Input[str] creation_timestamp: Creation timestamp in RFC3339 text format.
381
387
  :param pulumi.Input[str] customer_name: Customer name, to put in the Letter of Authorization as the party authorized to request a
382
- crossconnect.
383
-
384
-
385
- - - -
388
+ crossconnect. This field is required for Dedicated and Partner Interconnect, should not be specified
389
+ for cross-cloud interconnect.
386
390
  :param pulumi.Input[str] description: An optional description of this resource. Provide this property when you create the resource.
387
391
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
388
392
  :param pulumi.Input[Sequence[pulumi.Input['InterconnectExpectedOutageArgs']]] expected_outages: A list of outages expected for this Interconnect.
@@ -397,6 +401,9 @@ class _InterconnectState:
397
401
  - PARTNER: A partner-managed interconnection shared between customers though a partner.
398
402
  - DEDICATED: A dedicated physical interconnection with the customer.
399
403
  Possible values are: `DEDICATED`, `PARTNER`, `IT_PRIVATE`.
404
+
405
+
406
+ - - -
400
407
  :param pulumi.Input[str] label_fingerprint: A fingerprint for the labels being applied to this Interconnect, which is essentially a hash
401
408
  of the labels set used for optimistic locking. The fingerprint is initially generated by
402
409
  Compute Engine and changes after every request to modify or update labels.
@@ -413,6 +420,7 @@ class _InterconnectState:
413
420
  - LINK_TYPE_ETHERNET_100G_LR: A 100G Ethernet with LR optics.
414
421
  Possible values are: `LINK_TYPE_ETHERNET_10G_LR`, `LINK_TYPE_ETHERNET_100G_LR`.
415
422
  :param pulumi.Input[str] location: URL of the InterconnectLocation object that represents where this connection is to be provisioned.
423
+ Specifies the location inside Google's Networks, should not be passed in case of cross-cloud interconnect.
416
424
  :param pulumi.Input['InterconnectMacsecArgs'] macsec: Configuration that enables Media Access Control security (MACsec) on the Cloud
417
425
  Interconnect connection between Google and your on-premises router.
418
426
  Structure is documented below.
@@ -582,10 +590,8 @@ class _InterconnectState:
582
590
  def customer_name(self) -> Optional[pulumi.Input[str]]:
583
591
  """
584
592
  Customer name, to put in the Letter of Authorization as the party authorized to request a
585
- crossconnect.
586
-
587
-
588
- - - -
593
+ crossconnect. This field is required for Dedicated and Partner Interconnect, should not be specified
594
+ for cross-cloud interconnect.
589
595
  """
590
596
  return pulumi.get(self, "customer_name")
591
597
 
@@ -677,6 +683,9 @@ class _InterconnectState:
677
683
  - PARTNER: A partner-managed interconnection shared between customers though a partner.
678
684
  - DEDICATED: A dedicated physical interconnection with the customer.
679
685
  Possible values are: `DEDICATED`, `PARTNER`, `IT_PRIVATE`.
686
+
687
+
688
+ - - -
680
689
  """
681
690
  return pulumi.get(self, "interconnect_type")
682
691
 
@@ -737,6 +746,7 @@ class _InterconnectState:
737
746
  def location(self) -> Optional[pulumi.Input[str]]:
738
747
  """
739
748
  URL of the InterconnectLocation object that represents where this connection is to be provisioned.
749
+ Specifies the location inside Google's Networks, should not be passed in case of cross-cloud interconnect.
740
750
  """
741
751
  return pulumi.get(self, "location")
742
752
 
@@ -1026,16 +1036,17 @@ class Interconnect(pulumi.CustomResource):
1026
1036
  functional and can carry traffic. When set to false, no packets can be carried over the
1027
1037
  interconnect and no BGP routes are exchanged over it. By default, the status is set to true.
1028
1038
  :param pulumi.Input[str] customer_name: Customer name, to put in the Letter of Authorization as the party authorized to request a
1029
- crossconnect.
1030
-
1031
-
1032
- - - -
1039
+ crossconnect. This field is required for Dedicated and Partner Interconnect, should not be specified
1040
+ for cross-cloud interconnect.
1033
1041
  :param pulumi.Input[str] description: An optional description of this resource. Provide this property when you create the resource.
1034
1042
  :param pulumi.Input[str] interconnect_type: Type of interconnect. Note that a value IT_PRIVATE has been deprecated in favor of DEDICATED.
1035
1043
  Can take one of the following values:
1036
1044
  - PARTNER: A partner-managed interconnection shared between customers though a partner.
1037
1045
  - DEDICATED: A dedicated physical interconnection with the customer.
1038
1046
  Possible values are: `DEDICATED`, `PARTNER`, `IT_PRIVATE`.
1047
+
1048
+
1049
+ - - -
1039
1050
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels for this resource. These can only be added or modified by the setLabels
1040
1051
  method. Each label key/value pair must comply with RFC1035. Label values may be empty.
1041
1052
 
@@ -1047,6 +1058,7 @@ class Interconnect(pulumi.CustomResource):
1047
1058
  - LINK_TYPE_ETHERNET_100G_LR: A 100G Ethernet with LR optics.
1048
1059
  Possible values are: `LINK_TYPE_ETHERNET_10G_LR`, `LINK_TYPE_ETHERNET_100G_LR`.
1049
1060
  :param pulumi.Input[str] location: URL of the InterconnectLocation object that represents where this connection is to be provisioned.
1061
+ Specifies the location inside Google's Networks, should not be passed in case of cross-cloud interconnect.
1050
1062
  :param pulumi.Input[Union['InterconnectMacsecArgs', 'InterconnectMacsecArgsDict']] macsec: Configuration that enables Media Access Control security (MACsec) on the Cloud
1051
1063
  Interconnect connection between Google and your on-premises router.
1052
1064
  Structure is documented below.
@@ -1172,8 +1184,6 @@ class Interconnect(pulumi.CustomResource):
1172
1184
  __props__ = InterconnectArgs.__new__(InterconnectArgs)
1173
1185
 
1174
1186
  __props__.__dict__["admin_enabled"] = admin_enabled
1175
- if customer_name is None and not opts.urn:
1176
- raise TypeError("Missing required property 'customer_name'")
1177
1187
  __props__.__dict__["customer_name"] = customer_name
1178
1188
  __props__.__dict__["description"] = description
1179
1189
  if interconnect_type is None and not opts.urn:
@@ -1183,8 +1193,6 @@ class Interconnect(pulumi.CustomResource):
1183
1193
  if link_type is None and not opts.urn:
1184
1194
  raise TypeError("Missing required property 'link_type'")
1185
1195
  __props__.__dict__["link_type"] = link_type
1186
- if location is None and not opts.urn:
1187
- raise TypeError("Missing required property 'location'")
1188
1196
  __props__.__dict__["location"] = location
1189
1197
  __props__.__dict__["macsec"] = macsec
1190
1198
  __props__.__dict__["macsec_enabled"] = macsec_enabled
@@ -1271,10 +1279,8 @@ class Interconnect(pulumi.CustomResource):
1271
1279
  Structure is documented below.
1272
1280
  :param pulumi.Input[str] creation_timestamp: Creation timestamp in RFC3339 text format.
1273
1281
  :param pulumi.Input[str] customer_name: Customer name, to put in the Letter of Authorization as the party authorized to request a
1274
- crossconnect.
1275
-
1276
-
1277
- - - -
1282
+ crossconnect. This field is required for Dedicated and Partner Interconnect, should not be specified
1283
+ for cross-cloud interconnect.
1278
1284
  :param pulumi.Input[str] description: An optional description of this resource. Provide this property when you create the resource.
1279
1285
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
1280
1286
  :param pulumi.Input[Sequence[pulumi.Input[Union['InterconnectExpectedOutageArgs', 'InterconnectExpectedOutageArgsDict']]]] expected_outages: A list of outages expected for this Interconnect.
@@ -1289,6 +1295,9 @@ class Interconnect(pulumi.CustomResource):
1289
1295
  - PARTNER: A partner-managed interconnection shared between customers though a partner.
1290
1296
  - DEDICATED: A dedicated physical interconnection with the customer.
1291
1297
  Possible values are: `DEDICATED`, `PARTNER`, `IT_PRIVATE`.
1298
+
1299
+
1300
+ - - -
1292
1301
  :param pulumi.Input[str] label_fingerprint: A fingerprint for the labels being applied to this Interconnect, which is essentially a hash
1293
1302
  of the labels set used for optimistic locking. The fingerprint is initially generated by
1294
1303
  Compute Engine and changes after every request to modify or update labels.
@@ -1305,6 +1314,7 @@ class Interconnect(pulumi.CustomResource):
1305
1314
  - LINK_TYPE_ETHERNET_100G_LR: A 100G Ethernet with LR optics.
1306
1315
  Possible values are: `LINK_TYPE_ETHERNET_10G_LR`, `LINK_TYPE_ETHERNET_100G_LR`.
1307
1316
  :param pulumi.Input[str] location: URL of the InterconnectLocation object that represents where this connection is to be provisioned.
1317
+ Specifies the location inside Google's Networks, should not be passed in case of cross-cloud interconnect.
1308
1318
  :param pulumi.Input[Union['InterconnectMacsecArgs', 'InterconnectMacsecArgsDict']] macsec: Configuration that enables Media Access Control security (MACsec) on the Cloud
1309
1319
  Interconnect connection between Google and your on-premises router.
1310
1320
  Structure is documented below.
@@ -1430,13 +1440,11 @@ class Interconnect(pulumi.CustomResource):
1430
1440
 
1431
1441
  @property
1432
1442
  @pulumi.getter(name="customerName")
1433
- def customer_name(self) -> pulumi.Output[str]:
1443
+ def customer_name(self) -> pulumi.Output[Optional[str]]:
1434
1444
  """
1435
1445
  Customer name, to put in the Letter of Authorization as the party authorized to request a
1436
- crossconnect.
1437
-
1438
-
1439
- - - -
1446
+ crossconnect. This field is required for Dedicated and Partner Interconnect, should not be specified
1447
+ for cross-cloud interconnect.
1440
1448
  """
1441
1449
  return pulumi.get(self, "customer_name")
1442
1450
 
@@ -1500,6 +1508,9 @@ class Interconnect(pulumi.CustomResource):
1500
1508
  - PARTNER: A partner-managed interconnection shared between customers though a partner.
1501
1509
  - DEDICATED: A dedicated physical interconnection with the customer.
1502
1510
  Possible values are: `DEDICATED`, `PARTNER`, `IT_PRIVATE`.
1511
+
1512
+
1513
+ - - -
1503
1514
  """
1504
1515
  return pulumi.get(self, "interconnect_type")
1505
1516
 
@@ -1541,9 +1552,10 @@ class Interconnect(pulumi.CustomResource):
1541
1552
 
1542
1553
  @property
1543
1554
  @pulumi.getter
1544
- def location(self) -> pulumi.Output[str]:
1555
+ def location(self) -> pulumi.Output[Optional[str]]:
1545
1556
  """
1546
1557
  URL of the InterconnectLocation object that represents where this connection is to be provisioned.
1558
+ Specifies the location inside Google's Networks, should not be passed in case of cross-cloud interconnect.
1547
1559
  """
1548
1560
  return pulumi.get(self, "location")
1549
1561