pulumi-gcp 8.17.0a1738274430__py3-none-any.whl → 8.18.0a1738391833__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 +91 -0
- pulumi_gcp/alloydb/cluster.py +75 -7
- pulumi_gcp/apigee/_inputs.py +91 -0
- pulumi_gcp/apigee/endpoint_attachment.py +0 -64
- pulumi_gcp/apigee/environment.py +54 -0
- pulumi_gcp/apigee/outputs.py +54 -0
- pulumi_gcp/apihub/__init__.py +10 -0
- pulumi_gcp/apihub/_inputs.py +154 -0
- pulumi_gcp/apihub/api_hub_instance.py +784 -0
- pulumi_gcp/apihub/outputs.py +124 -0
- pulumi_gcp/chronicle/__init__.py +1 -0
- pulumi_gcp/chronicle/_inputs.py +124 -0
- pulumi_gcp/chronicle/outputs.py +112 -0
- pulumi_gcp/chronicle/retrohunt.py +645 -0
- pulumi_gcp/cloudrunv2/_inputs.py +197 -0
- pulumi_gcp/cloudrunv2/get_service.py +12 -1
- pulumi_gcp/cloudrunv2/outputs.py +256 -0
- pulumi_gcp/cloudrunv2/service.py +159 -0
- pulumi_gcp/colab/__init__.py +5 -0
- pulumi_gcp/colab/_inputs.py +131 -0
- pulumi_gcp/colab/get_runtime_template_iam_policy.py +182 -0
- pulumi_gcp/colab/outputs.py +92 -0
- pulumi_gcp/colab/runtime.py +696 -0
- pulumi_gcp/colab/runtime_template_iam_binding.py +828 -0
- pulumi_gcp/colab/runtime_template_iam_member.py +828 -0
- pulumi_gcp/colab/runtime_template_iam_policy.py +667 -0
- pulumi_gcp/compute/__init__.py +4 -0
- pulumi_gcp/compute/_inputs.py +526 -0
- pulumi_gcp/compute/firewall_policy_rule.py +104 -22
- pulumi_gcp/compute/firewall_policy_with_rules.py +114 -42
- pulumi_gcp/compute/get_instance_template_iam_policy.py +159 -0
- pulumi_gcp/compute/instance_template_iam_binding.py +998 -0
- pulumi_gcp/compute/instance_template_iam_member.py +998 -0
- pulumi_gcp/compute/instance_template_iam_policy.py +817 -0
- pulumi_gcp/compute/interconnect_attachment.py +189 -2
- pulumi_gcp/compute/network_firewall_policy_rule.py +122 -10
- pulumi_gcp/compute/network_firewall_policy_with_rules.py +116 -44
- pulumi_gcp/compute/outputs.py +352 -0
- pulumi_gcp/compute/project_metadata_item.py +12 -0
- pulumi_gcp/compute/public_advertised_prefix.py +87 -0
- pulumi_gcp/compute/region_network_firewall_policy_rule.py +130 -10
- pulumi_gcp/compute/region_network_firewall_policy_with_rules.py +104 -32
- pulumi_gcp/compute/router_peer.py +115 -3
- pulumi_gcp/config/__init__.pyi +2 -0
- pulumi_gcp/config/vars.py +4 -0
- pulumi_gcp/filestore/get_instance.py +12 -1
- pulumi_gcp/filestore/instance.py +75 -0
- pulumi_gcp/gemini/code_repository_index.py +29 -33
- pulumi_gcp/gemini/get_repository_group_iam_policy.py +28 -2
- pulumi_gcp/gemini/repository_group.py +76 -26
- pulumi_gcp/gemini/repository_group_iam_binding.py +258 -0
- pulumi_gcp/gemini/repository_group_iam_member.py +258 -0
- pulumi_gcp/gemini/repository_group_iam_policy.py +258 -0
- pulumi_gcp/kms/__init__.py +1 -0
- pulumi_gcp/kms/get_key_handles.py +172 -0
- pulumi_gcp/kms/outputs.py +45 -0
- pulumi_gcp/networksecurity/_inputs.py +72 -0
- pulumi_gcp/networksecurity/outputs.py +76 -0
- pulumi_gcp/networksecurity/security_profile.py +233 -7
- pulumi_gcp/networksecurity/security_profile_group.py +218 -0
- pulumi_gcp/organizations/__init__.py +1 -0
- pulumi_gcp/organizations/get_s.py +128 -0
- pulumi_gcp/organizations/outputs.py +63 -0
- pulumi_gcp/parametermanager/__init__.py +3 -0
- pulumi_gcp/parametermanager/get_parameter.py +211 -0
- pulumi_gcp/parametermanager/get_regional_parameters.py +157 -0
- pulumi_gcp/parametermanager/outputs.py +210 -0
- pulumi_gcp/parametermanager/parameter_version.py +496 -0
- pulumi_gcp/parametermanager/regional_parameter_version.py +10 -38
- pulumi_gcp/provider.py +20 -0
- pulumi_gcp/pubsub/_inputs.py +213 -1
- pulumi_gcp/pubsub/outputs.py +278 -2
- pulumi_gcp/pubsub/topic.py +42 -0
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/redis/__init__.py +1 -0
- pulumi_gcp/redis/_inputs.py +342 -6
- pulumi_gcp/redis/cluster.py +223 -102
- pulumi_gcp/redis/cluster_user_created_connections.py +845 -0
- pulumi_gcp/redis/outputs.py +268 -4
- {pulumi_gcp-8.17.0a1738274430.dist-info → pulumi_gcp-8.18.0a1738391833.dist-info}/METADATA +1 -1
- {pulumi_gcp-8.17.0a1738274430.dist-info → pulumi_gcp-8.18.0a1738391833.dist-info}/RECORD +83 -63
- {pulumi_gcp-8.17.0a1738274430.dist-info → pulumi_gcp-8.18.0a1738391833.dist-info}/WHEEL +0 -0
- {pulumi_gcp-8.17.0a1738274430.dist-info → pulumi_gcp-8.18.0a1738391833.dist-info}/top_level.txt +0 -0
@@ -30,6 +30,7 @@ class InterconnectAttachmentArgs:
|
|
30
30
|
encryption: Optional[pulumi.Input[str]] = None,
|
31
31
|
interconnect: Optional[pulumi.Input[str]] = None,
|
32
32
|
ipsec_internal_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
33
|
+
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
33
34
|
mtu: Optional[pulumi.Input[str]] = None,
|
34
35
|
name: Optional[pulumi.Input[str]] = None,
|
35
36
|
project: Optional[pulumi.Input[str]] = None,
|
@@ -97,6 +98,11 @@ class InterconnectAttachmentArgs:
|
|
97
98
|
encryption option as IPSEC, later on when creating HA VPN gateway on this
|
98
99
|
interconnect attachment, the HA VPN gateway's IP address will be
|
99
100
|
allocated from regional external IP address pool.
|
101
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels for this resource. These can only be added or modified by the setLabels
|
102
|
+
method. Each label key/value pair must comply with RFC1035. Label values may be empty.
|
103
|
+
|
104
|
+
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
|
105
|
+
Please refer to the field `effective_labels` for all of the labels present on the resource.
|
100
106
|
:param pulumi.Input[str] mtu: Maximum Transmission Unit (MTU), in bytes, of packets passing through
|
101
107
|
this interconnect attachment. Currently, only 1440 and 1500 are allowed. If not specified, the value will default to 1440.
|
102
108
|
:param pulumi.Input[str] name: Name of the resource. Provided by the client when the resource is created. The
|
@@ -145,6 +151,8 @@ class InterconnectAttachmentArgs:
|
|
145
151
|
pulumi.set(__self__, "interconnect", interconnect)
|
146
152
|
if ipsec_internal_addresses is not None:
|
147
153
|
pulumi.set(__self__, "ipsec_internal_addresses", ipsec_internal_addresses)
|
154
|
+
if labels is not None:
|
155
|
+
pulumi.set(__self__, "labels", labels)
|
148
156
|
if mtu is not None:
|
149
157
|
pulumi.set(__self__, "mtu", mtu)
|
150
158
|
if name is not None:
|
@@ -318,6 +326,22 @@ class InterconnectAttachmentArgs:
|
|
318
326
|
def ipsec_internal_addresses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
319
327
|
pulumi.set(self, "ipsec_internal_addresses", value)
|
320
328
|
|
329
|
+
@property
|
330
|
+
@pulumi.getter
|
331
|
+
def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
332
|
+
"""
|
333
|
+
Labels for this resource. These can only be added or modified by the setLabels
|
334
|
+
method. Each label key/value pair must comply with RFC1035. Label values may be empty.
|
335
|
+
|
336
|
+
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
|
337
|
+
Please refer to the field `effective_labels` for all of the labels present on the resource.
|
338
|
+
"""
|
339
|
+
return pulumi.get(self, "labels")
|
340
|
+
|
341
|
+
@labels.setter
|
342
|
+
def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
343
|
+
pulumi.set(self, "labels", value)
|
344
|
+
|
321
345
|
@property
|
322
346
|
@pulumi.getter
|
323
347
|
def mtu(self) -> Optional[pulumi.Input[str]]:
|
@@ -450,16 +474,20 @@ class _InterconnectAttachmentState:
|
|
450
474
|
customer_router_ipv6_address: Optional[pulumi.Input[str]] = None,
|
451
475
|
description: Optional[pulumi.Input[str]] = None,
|
452
476
|
edge_availability_domain: Optional[pulumi.Input[str]] = None,
|
477
|
+
effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
453
478
|
encryption: Optional[pulumi.Input[str]] = None,
|
454
479
|
google_reference_id: Optional[pulumi.Input[str]] = None,
|
455
480
|
interconnect: Optional[pulumi.Input[str]] = None,
|
456
481
|
ipsec_internal_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
482
|
+
label_fingerprint: Optional[pulumi.Input[str]] = None,
|
483
|
+
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
457
484
|
mtu: Optional[pulumi.Input[str]] = None,
|
458
485
|
name: Optional[pulumi.Input[str]] = None,
|
459
486
|
pairing_key: Optional[pulumi.Input[str]] = None,
|
460
487
|
partner_asn: Optional[pulumi.Input[str]] = None,
|
461
488
|
private_interconnect_infos: Optional[pulumi.Input[Sequence[pulumi.Input['InterconnectAttachmentPrivateInterconnectInfoArgs']]]] = None,
|
462
489
|
project: Optional[pulumi.Input[str]] = None,
|
490
|
+
pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
463
491
|
region: Optional[pulumi.Input[str]] = None,
|
464
492
|
router: Optional[pulumi.Input[str]] = None,
|
465
493
|
self_link: Optional[pulumi.Input[str]] = None,
|
@@ -501,6 +529,7 @@ class _InterconnectAttachmentState:
|
|
501
529
|
selected availability domain will be provided to the Partner via the
|
502
530
|
pairing key so that the provisioned circuit will lie in the specified
|
503
531
|
domain. If not specified, the value will default to AVAILABILITY_DOMAIN_ANY.
|
532
|
+
: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.
|
504
533
|
:param pulumi.Input[str] encryption: Indicates the user-supplied encryption option of this interconnect
|
505
534
|
attachment. Can only be specified at attachment creation for PARTNER or
|
506
535
|
DEDICATED attachments.
|
@@ -534,6 +563,16 @@ class _InterconnectAttachmentState:
|
|
534
563
|
encryption option as IPSEC, later on when creating HA VPN gateway on this
|
535
564
|
interconnect attachment, the HA VPN gateway's IP address will be
|
536
565
|
allocated from regional external IP address pool.
|
566
|
+
:param pulumi.Input[str] label_fingerprint: A fingerprint for the labels being applied to this Interconnect, which is essentially a hash
|
567
|
+
of the labels set used for optimistic locking. The fingerprint is initially generated by
|
568
|
+
Compute Engine and changes after every request to modify or update labels.
|
569
|
+
You must always provide an up-to-date fingerprint hash in order to update or change labels,
|
570
|
+
otherwise the request will fail with error 412 conditionNotMet.
|
571
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels for this resource. These can only be added or modified by the setLabels
|
572
|
+
method. Each label key/value pair must comply with RFC1035. Label values may be empty.
|
573
|
+
|
574
|
+
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
|
575
|
+
Please refer to the field `effective_labels` for all of the labels present on the resource.
|
537
576
|
:param pulumi.Input[str] mtu: Maximum Transmission Unit (MTU), in bytes, of packets passing through
|
538
577
|
this interconnect attachment. Currently, only 1440 and 1500 are allowed. If not specified, the value will default to 1440.
|
539
578
|
:param pulumi.Input[str] name: Name of the resource. Provided by the client when the resource is created. The
|
@@ -556,6 +595,8 @@ class _InterconnectAttachmentState:
|
|
556
595
|
Structure is documented below.
|
557
596
|
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
558
597
|
If it is not provided, the provider project is used.
|
598
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
|
599
|
+
and default labels configured on the provider.
|
559
600
|
:param pulumi.Input[str] region: Region where the regional interconnect attachment resides.
|
560
601
|
:param pulumi.Input[str] router: URL of the cloud router to be used for dynamic routing. This router must be in
|
561
602
|
the same region as this InterconnectAttachment. The InterconnectAttachment will
|
@@ -600,6 +641,8 @@ class _InterconnectAttachmentState:
|
|
600
641
|
pulumi.set(__self__, "description", description)
|
601
642
|
if edge_availability_domain is not None:
|
602
643
|
pulumi.set(__self__, "edge_availability_domain", edge_availability_domain)
|
644
|
+
if effective_labels is not None:
|
645
|
+
pulumi.set(__self__, "effective_labels", effective_labels)
|
603
646
|
if encryption is not None:
|
604
647
|
pulumi.set(__self__, "encryption", encryption)
|
605
648
|
if google_reference_id is not None:
|
@@ -608,6 +651,10 @@ class _InterconnectAttachmentState:
|
|
608
651
|
pulumi.set(__self__, "interconnect", interconnect)
|
609
652
|
if ipsec_internal_addresses is not None:
|
610
653
|
pulumi.set(__self__, "ipsec_internal_addresses", ipsec_internal_addresses)
|
654
|
+
if label_fingerprint is not None:
|
655
|
+
pulumi.set(__self__, "label_fingerprint", label_fingerprint)
|
656
|
+
if labels is not None:
|
657
|
+
pulumi.set(__self__, "labels", labels)
|
611
658
|
if mtu is not None:
|
612
659
|
pulumi.set(__self__, "mtu", mtu)
|
613
660
|
if name is not None:
|
@@ -620,6 +667,8 @@ class _InterconnectAttachmentState:
|
|
620
667
|
pulumi.set(__self__, "private_interconnect_infos", private_interconnect_infos)
|
621
668
|
if project is not None:
|
622
669
|
pulumi.set(__self__, "project", project)
|
670
|
+
if pulumi_labels is not None:
|
671
|
+
pulumi.set(__self__, "pulumi_labels", pulumi_labels)
|
623
672
|
if region is not None:
|
624
673
|
pulumi.set(__self__, "region", region)
|
625
674
|
if router is not None:
|
@@ -778,6 +827,18 @@ class _InterconnectAttachmentState:
|
|
778
827
|
def edge_availability_domain(self, value: Optional[pulumi.Input[str]]):
|
779
828
|
pulumi.set(self, "edge_availability_domain", value)
|
780
829
|
|
830
|
+
@property
|
831
|
+
@pulumi.getter(name="effectiveLabels")
|
832
|
+
def effective_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
833
|
+
"""
|
834
|
+
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
|
835
|
+
"""
|
836
|
+
return pulumi.get(self, "effective_labels")
|
837
|
+
|
838
|
+
@effective_labels.setter
|
839
|
+
def effective_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
840
|
+
pulumi.set(self, "effective_labels", value)
|
841
|
+
|
781
842
|
@property
|
782
843
|
@pulumi.getter
|
783
844
|
def encryption(self) -> Optional[pulumi.Input[str]]:
|
@@ -855,6 +916,38 @@ class _InterconnectAttachmentState:
|
|
855
916
|
def ipsec_internal_addresses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
856
917
|
pulumi.set(self, "ipsec_internal_addresses", value)
|
857
918
|
|
919
|
+
@property
|
920
|
+
@pulumi.getter(name="labelFingerprint")
|
921
|
+
def label_fingerprint(self) -> Optional[pulumi.Input[str]]:
|
922
|
+
"""
|
923
|
+
A fingerprint for the labels being applied to this Interconnect, which is essentially a hash
|
924
|
+
of the labels set used for optimistic locking. The fingerprint is initially generated by
|
925
|
+
Compute Engine and changes after every request to modify or update labels.
|
926
|
+
You must always provide an up-to-date fingerprint hash in order to update or change labels,
|
927
|
+
otherwise the request will fail with error 412 conditionNotMet.
|
928
|
+
"""
|
929
|
+
return pulumi.get(self, "label_fingerprint")
|
930
|
+
|
931
|
+
@label_fingerprint.setter
|
932
|
+
def label_fingerprint(self, value: Optional[pulumi.Input[str]]):
|
933
|
+
pulumi.set(self, "label_fingerprint", value)
|
934
|
+
|
935
|
+
@property
|
936
|
+
@pulumi.getter
|
937
|
+
def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
938
|
+
"""
|
939
|
+
Labels for this resource. These can only be added or modified by the setLabels
|
940
|
+
method. Each label key/value pair must comply with RFC1035. Label values may be empty.
|
941
|
+
|
942
|
+
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
|
943
|
+
Please refer to the field `effective_labels` for all of the labels present on the resource.
|
944
|
+
"""
|
945
|
+
return pulumi.get(self, "labels")
|
946
|
+
|
947
|
+
@labels.setter
|
948
|
+
def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
949
|
+
pulumi.set(self, "labels", value)
|
950
|
+
|
858
951
|
@property
|
859
952
|
@pulumi.getter
|
860
953
|
def mtu(self) -> Optional[pulumi.Input[str]]:
|
@@ -943,6 +1036,19 @@ class _InterconnectAttachmentState:
|
|
943
1036
|
def project(self, value: Optional[pulumi.Input[str]]):
|
944
1037
|
pulumi.set(self, "project", value)
|
945
1038
|
|
1039
|
+
@property
|
1040
|
+
@pulumi.getter(name="pulumiLabels")
|
1041
|
+
def pulumi_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
1042
|
+
"""
|
1043
|
+
The combination of labels configured directly on the resource
|
1044
|
+
and default labels configured on the provider.
|
1045
|
+
"""
|
1046
|
+
return pulumi.get(self, "pulumi_labels")
|
1047
|
+
|
1048
|
+
@pulumi_labels.setter
|
1049
|
+
def pulumi_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
1050
|
+
pulumi.set(self, "pulumi_labels", value)
|
1051
|
+
|
946
1052
|
@property
|
947
1053
|
@pulumi.getter
|
948
1054
|
def region(self) -> Optional[pulumi.Input[str]]:
|
@@ -1068,6 +1174,7 @@ class InterconnectAttachment(pulumi.CustomResource):
|
|
1068
1174
|
encryption: Optional[pulumi.Input[str]] = None,
|
1069
1175
|
interconnect: Optional[pulumi.Input[str]] = None,
|
1070
1176
|
ipsec_internal_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
1177
|
+
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
1071
1178
|
mtu: Optional[pulumi.Input[str]] = None,
|
1072
1179
|
name: Optional[pulumi.Input[str]] = None,
|
1073
1180
|
project: Optional[pulumi.Input[str]] = None,
|
@@ -1104,7 +1211,10 @@ class InterconnectAttachment(pulumi.CustomResource):
|
|
1104
1211
|
edge_availability_domain="AVAILABILITY_DOMAIN_1",
|
1105
1212
|
type="PARTNER",
|
1106
1213
|
router=foobar.id,
|
1107
|
-
mtu="1500"
|
1214
|
+
mtu="1500",
|
1215
|
+
labels={
|
1216
|
+
"mykey": "myvalue",
|
1217
|
+
})
|
1108
1218
|
```
|
1109
1219
|
### Compute Interconnect Attachment Ipsec Encryption
|
1110
1220
|
|
@@ -1223,6 +1333,11 @@ class InterconnectAttachment(pulumi.CustomResource):
|
|
1223
1333
|
encryption option as IPSEC, later on when creating HA VPN gateway on this
|
1224
1334
|
interconnect attachment, the HA VPN gateway's IP address will be
|
1225
1335
|
allocated from regional external IP address pool.
|
1336
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels for this resource. These can only be added or modified by the setLabels
|
1337
|
+
method. Each label key/value pair must comply with RFC1035. Label values may be empty.
|
1338
|
+
|
1339
|
+
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
|
1340
|
+
Please refer to the field `effective_labels` for all of the labels present on the resource.
|
1226
1341
|
:param pulumi.Input[str] mtu: Maximum Transmission Unit (MTU), in bytes, of packets passing through
|
1227
1342
|
this interconnect attachment. Currently, only 1440 and 1500 are allowed. If not specified, the value will default to 1440.
|
1228
1343
|
:param pulumi.Input[str] name: Name of the resource. Provided by the client when the resource is created. The
|
@@ -1290,7 +1405,10 @@ class InterconnectAttachment(pulumi.CustomResource):
|
|
1290
1405
|
edge_availability_domain="AVAILABILITY_DOMAIN_1",
|
1291
1406
|
type="PARTNER",
|
1292
1407
|
router=foobar.id,
|
1293
|
-
mtu="1500"
|
1408
|
+
mtu="1500",
|
1409
|
+
labels={
|
1410
|
+
"mykey": "myvalue",
|
1411
|
+
})
|
1294
1412
|
```
|
1295
1413
|
### Compute Interconnect Attachment Ipsec Encryption
|
1296
1414
|
|
@@ -1377,6 +1495,7 @@ class InterconnectAttachment(pulumi.CustomResource):
|
|
1377
1495
|
encryption: Optional[pulumi.Input[str]] = None,
|
1378
1496
|
interconnect: Optional[pulumi.Input[str]] = None,
|
1379
1497
|
ipsec_internal_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
1498
|
+
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
1380
1499
|
mtu: Optional[pulumi.Input[str]] = None,
|
1381
1500
|
name: Optional[pulumi.Input[str]] = None,
|
1382
1501
|
project: Optional[pulumi.Input[str]] = None,
|
@@ -1403,6 +1522,7 @@ class InterconnectAttachment(pulumi.CustomResource):
|
|
1403
1522
|
__props__.__dict__["encryption"] = encryption
|
1404
1523
|
__props__.__dict__["interconnect"] = interconnect
|
1405
1524
|
__props__.__dict__["ipsec_internal_addresses"] = ipsec_internal_addresses
|
1525
|
+
__props__.__dict__["labels"] = labels
|
1406
1526
|
__props__.__dict__["mtu"] = mtu
|
1407
1527
|
__props__.__dict__["name"] = name
|
1408
1528
|
__props__.__dict__["project"] = project
|
@@ -1419,12 +1539,17 @@ class InterconnectAttachment(pulumi.CustomResource):
|
|
1419
1539
|
__props__.__dict__["creation_timestamp"] = None
|
1420
1540
|
__props__.__dict__["customer_router_ip_address"] = None
|
1421
1541
|
__props__.__dict__["customer_router_ipv6_address"] = None
|
1542
|
+
__props__.__dict__["effective_labels"] = None
|
1422
1543
|
__props__.__dict__["google_reference_id"] = None
|
1544
|
+
__props__.__dict__["label_fingerprint"] = None
|
1423
1545
|
__props__.__dict__["pairing_key"] = None
|
1424
1546
|
__props__.__dict__["partner_asn"] = None
|
1425
1547
|
__props__.__dict__["private_interconnect_infos"] = None
|
1548
|
+
__props__.__dict__["pulumi_labels"] = None
|
1426
1549
|
__props__.__dict__["self_link"] = None
|
1427
1550
|
__props__.__dict__["state"] = None
|
1551
|
+
secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["effectiveLabels", "pulumiLabels"])
|
1552
|
+
opts = pulumi.ResourceOptions.merge(opts, secret_opts)
|
1428
1553
|
super(InterconnectAttachment, __self__).__init__(
|
1429
1554
|
'gcp:compute/interconnectAttachment:InterconnectAttachment',
|
1430
1555
|
resource_name,
|
@@ -1445,16 +1570,20 @@ class InterconnectAttachment(pulumi.CustomResource):
|
|
1445
1570
|
customer_router_ipv6_address: Optional[pulumi.Input[str]] = None,
|
1446
1571
|
description: Optional[pulumi.Input[str]] = None,
|
1447
1572
|
edge_availability_domain: Optional[pulumi.Input[str]] = None,
|
1573
|
+
effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
1448
1574
|
encryption: Optional[pulumi.Input[str]] = None,
|
1449
1575
|
google_reference_id: Optional[pulumi.Input[str]] = None,
|
1450
1576
|
interconnect: Optional[pulumi.Input[str]] = None,
|
1451
1577
|
ipsec_internal_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
1578
|
+
label_fingerprint: Optional[pulumi.Input[str]] = None,
|
1579
|
+
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
1452
1580
|
mtu: Optional[pulumi.Input[str]] = None,
|
1453
1581
|
name: Optional[pulumi.Input[str]] = None,
|
1454
1582
|
pairing_key: Optional[pulumi.Input[str]] = None,
|
1455
1583
|
partner_asn: Optional[pulumi.Input[str]] = None,
|
1456
1584
|
private_interconnect_infos: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InterconnectAttachmentPrivateInterconnectInfoArgs', 'InterconnectAttachmentPrivateInterconnectInfoArgsDict']]]]] = None,
|
1457
1585
|
project: Optional[pulumi.Input[str]] = None,
|
1586
|
+
pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
1458
1587
|
region: Optional[pulumi.Input[str]] = None,
|
1459
1588
|
router: Optional[pulumi.Input[str]] = None,
|
1460
1589
|
self_link: Optional[pulumi.Input[str]] = None,
|
@@ -1501,6 +1630,7 @@ class InterconnectAttachment(pulumi.CustomResource):
|
|
1501
1630
|
selected availability domain will be provided to the Partner via the
|
1502
1631
|
pairing key so that the provisioned circuit will lie in the specified
|
1503
1632
|
domain. If not specified, the value will default to AVAILABILITY_DOMAIN_ANY.
|
1633
|
+
: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.
|
1504
1634
|
:param pulumi.Input[str] encryption: Indicates the user-supplied encryption option of this interconnect
|
1505
1635
|
attachment. Can only be specified at attachment creation for PARTNER or
|
1506
1636
|
DEDICATED attachments.
|
@@ -1534,6 +1664,16 @@ class InterconnectAttachment(pulumi.CustomResource):
|
|
1534
1664
|
encryption option as IPSEC, later on when creating HA VPN gateway on this
|
1535
1665
|
interconnect attachment, the HA VPN gateway's IP address will be
|
1536
1666
|
allocated from regional external IP address pool.
|
1667
|
+
:param pulumi.Input[str] label_fingerprint: A fingerprint for the labels being applied to this Interconnect, which is essentially a hash
|
1668
|
+
of the labels set used for optimistic locking. The fingerprint is initially generated by
|
1669
|
+
Compute Engine and changes after every request to modify or update labels.
|
1670
|
+
You must always provide an up-to-date fingerprint hash in order to update or change labels,
|
1671
|
+
otherwise the request will fail with error 412 conditionNotMet.
|
1672
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels for this resource. These can only be added or modified by the setLabels
|
1673
|
+
method. Each label key/value pair must comply with RFC1035. Label values may be empty.
|
1674
|
+
|
1675
|
+
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
|
1676
|
+
Please refer to the field `effective_labels` for all of the labels present on the resource.
|
1537
1677
|
:param pulumi.Input[str] mtu: Maximum Transmission Unit (MTU), in bytes, of packets passing through
|
1538
1678
|
this interconnect attachment. Currently, only 1440 and 1500 are allowed. If not specified, the value will default to 1440.
|
1539
1679
|
:param pulumi.Input[str] name: Name of the resource. Provided by the client when the resource is created. The
|
@@ -1556,6 +1696,8 @@ class InterconnectAttachment(pulumi.CustomResource):
|
|
1556
1696
|
Structure is documented below.
|
1557
1697
|
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
1558
1698
|
If it is not provided, the provider project is used.
|
1699
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
|
1700
|
+
and default labels configured on the provider.
|
1559
1701
|
:param pulumi.Input[str] region: Region where the regional interconnect attachment resides.
|
1560
1702
|
:param pulumi.Input[str] router: URL of the cloud router to be used for dynamic routing. This router must be in
|
1561
1703
|
the same region as this InterconnectAttachment. The InterconnectAttachment will
|
@@ -1594,16 +1736,20 @@ class InterconnectAttachment(pulumi.CustomResource):
|
|
1594
1736
|
__props__.__dict__["customer_router_ipv6_address"] = customer_router_ipv6_address
|
1595
1737
|
__props__.__dict__["description"] = description
|
1596
1738
|
__props__.__dict__["edge_availability_domain"] = edge_availability_domain
|
1739
|
+
__props__.__dict__["effective_labels"] = effective_labels
|
1597
1740
|
__props__.__dict__["encryption"] = encryption
|
1598
1741
|
__props__.__dict__["google_reference_id"] = google_reference_id
|
1599
1742
|
__props__.__dict__["interconnect"] = interconnect
|
1600
1743
|
__props__.__dict__["ipsec_internal_addresses"] = ipsec_internal_addresses
|
1744
|
+
__props__.__dict__["label_fingerprint"] = label_fingerprint
|
1745
|
+
__props__.__dict__["labels"] = labels
|
1601
1746
|
__props__.__dict__["mtu"] = mtu
|
1602
1747
|
__props__.__dict__["name"] = name
|
1603
1748
|
__props__.__dict__["pairing_key"] = pairing_key
|
1604
1749
|
__props__.__dict__["partner_asn"] = partner_asn
|
1605
1750
|
__props__.__dict__["private_interconnect_infos"] = private_interconnect_infos
|
1606
1751
|
__props__.__dict__["project"] = project
|
1752
|
+
__props__.__dict__["pulumi_labels"] = pulumi_labels
|
1607
1753
|
__props__.__dict__["region"] = region
|
1608
1754
|
__props__.__dict__["router"] = router
|
1609
1755
|
__props__.__dict__["self_link"] = self_link
|
@@ -1715,6 +1861,14 @@ class InterconnectAttachment(pulumi.CustomResource):
|
|
1715
1861
|
"""
|
1716
1862
|
return pulumi.get(self, "edge_availability_domain")
|
1717
1863
|
|
1864
|
+
@property
|
1865
|
+
@pulumi.getter(name="effectiveLabels")
|
1866
|
+
def effective_labels(self) -> pulumi.Output[Mapping[str, str]]:
|
1867
|
+
"""
|
1868
|
+
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
|
1869
|
+
"""
|
1870
|
+
return pulumi.get(self, "effective_labels")
|
1871
|
+
|
1718
1872
|
@property
|
1719
1873
|
@pulumi.getter
|
1720
1874
|
def encryption(self) -> pulumi.Output[Optional[str]]:
|
@@ -1776,6 +1930,30 @@ class InterconnectAttachment(pulumi.CustomResource):
|
|
1776
1930
|
"""
|
1777
1931
|
return pulumi.get(self, "ipsec_internal_addresses")
|
1778
1932
|
|
1933
|
+
@property
|
1934
|
+
@pulumi.getter(name="labelFingerprint")
|
1935
|
+
def label_fingerprint(self) -> pulumi.Output[str]:
|
1936
|
+
"""
|
1937
|
+
A fingerprint for the labels being applied to this Interconnect, which is essentially a hash
|
1938
|
+
of the labels set used for optimistic locking. The fingerprint is initially generated by
|
1939
|
+
Compute Engine and changes after every request to modify or update labels.
|
1940
|
+
You must always provide an up-to-date fingerprint hash in order to update or change labels,
|
1941
|
+
otherwise the request will fail with error 412 conditionNotMet.
|
1942
|
+
"""
|
1943
|
+
return pulumi.get(self, "label_fingerprint")
|
1944
|
+
|
1945
|
+
@property
|
1946
|
+
@pulumi.getter
|
1947
|
+
def labels(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
|
1948
|
+
"""
|
1949
|
+
Labels for this resource. These can only be added or modified by the setLabels
|
1950
|
+
method. Each label key/value pair must comply with RFC1035. Label values may be empty.
|
1951
|
+
|
1952
|
+
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
|
1953
|
+
Please refer to the field `effective_labels` for all of the labels present on the resource.
|
1954
|
+
"""
|
1955
|
+
return pulumi.get(self, "labels")
|
1956
|
+
|
1779
1957
|
@property
|
1780
1958
|
@pulumi.getter
|
1781
1959
|
def mtu(self) -> pulumi.Output[str]:
|
@@ -1840,6 +2018,15 @@ class InterconnectAttachment(pulumi.CustomResource):
|
|
1840
2018
|
"""
|
1841
2019
|
return pulumi.get(self, "project")
|
1842
2020
|
|
2021
|
+
@property
|
2022
|
+
@pulumi.getter(name="pulumiLabels")
|
2023
|
+
def pulumi_labels(self) -> pulumi.Output[Mapping[str, str]]:
|
2024
|
+
"""
|
2025
|
+
The combination of labels configured directly on the resource
|
2026
|
+
and default labels configured on the provider.
|
2027
|
+
"""
|
2028
|
+
return pulumi.get(self, "pulumi_labels")
|
2029
|
+
|
1843
2030
|
@property
|
1844
2031
|
@pulumi.getter
|
1845
2032
|
def region(self) -> pulumi.Output[str]:
|
@@ -609,7 +609,7 @@ class NetworkFirewallPolicyRule(pulumi.CustomResource):
|
|
609
609
|
import pulumi_gcp as gcp
|
610
610
|
|
611
611
|
basic_global_networksecurity_address_group = gcp.networksecurity.AddressGroup("basic_global_networksecurity_address_group",
|
612
|
-
name="address",
|
612
|
+
name="address-group",
|
613
613
|
parent="projects/my-project-name",
|
614
614
|
description="Sample global networksecurity_address_group",
|
615
615
|
location="global",
|
@@ -617,7 +617,7 @@ class NetworkFirewallPolicyRule(pulumi.CustomResource):
|
|
617
617
|
type="IPV4",
|
618
618
|
capacity=100)
|
619
619
|
basic_network_firewall_policy = gcp.compute.NetworkFirewallPolicy("basic_network_firewall_policy",
|
620
|
-
name="policy",
|
620
|
+
name="fw-policy",
|
621
621
|
description="Sample global network firewall policy",
|
622
622
|
project="my-project-name")
|
623
623
|
basic_network = gcp.compute.Network("basic_network", name="network")
|
@@ -625,14 +625,14 @@ class NetworkFirewallPolicyRule(pulumi.CustomResource):
|
|
625
625
|
description="For keyname resources.",
|
626
626
|
parent="organizations/123456789",
|
627
627
|
purpose="GCE_FIREWALL",
|
628
|
-
short_name="
|
628
|
+
short_name="tag-key",
|
629
629
|
purpose_data={
|
630
630
|
"network": basic_network.name.apply(lambda name: f"my-project-name/{name}"),
|
631
631
|
})
|
632
632
|
basic_value = gcp.tags.TagValue("basic_value",
|
633
633
|
description="For valuename resources.",
|
634
634
|
parent=basic_key.id,
|
635
|
-
short_name="
|
635
|
+
short_name="tag-value")
|
636
636
|
primary = gcp.compute.NetworkFirewallPolicyRule("primary",
|
637
637
|
action="allow",
|
638
638
|
description="This is a simple rule description",
|
@@ -644,6 +644,7 @@ class NetworkFirewallPolicyRule(pulumi.CustomResource):
|
|
644
644
|
rule_name="test-rule",
|
645
645
|
target_service_accounts=["my@service-account.com"],
|
646
646
|
match={
|
647
|
+
"src_address_groups": [basic_global_networksecurity_address_group.id],
|
647
648
|
"src_ip_ranges": ["10.100.0.1/32"],
|
648
649
|
"src_fqdns": ["google.com"],
|
649
650
|
"src_region_codes": ["US"],
|
@@ -654,7 +655,62 @@ class NetworkFirewallPolicyRule(pulumi.CustomResource):
|
|
654
655
|
"layer4_configs": [{
|
655
656
|
"ip_protocol": "all",
|
656
657
|
}],
|
657
|
-
|
658
|
+
})
|
659
|
+
```
|
660
|
+
### Network Firewall Policy Rule Network Scope Egress
|
661
|
+
|
662
|
+
```python
|
663
|
+
import pulumi
|
664
|
+
import pulumi_gcp as gcp
|
665
|
+
|
666
|
+
basic_network_firewall_policy = gcp.compute.NetworkFirewallPolicy("basic_network_firewall_policy",
|
667
|
+
name="fw-policy",
|
668
|
+
description="Sample global network firewall policy",
|
669
|
+
project="my-project-name")
|
670
|
+
primary = gcp.compute.NetworkFirewallPolicyRule("primary",
|
671
|
+
action="allow",
|
672
|
+
description="This is a simple rule description",
|
673
|
+
direction="EGRESS",
|
674
|
+
disabled=False,
|
675
|
+
enable_logging=True,
|
676
|
+
firewall_policy=basic_network_firewall_policy.name,
|
677
|
+
priority=1000,
|
678
|
+
rule_name="test-rule",
|
679
|
+
match={
|
680
|
+
"dest_ip_ranges": ["10.100.0.1/32"],
|
681
|
+
"dest_network_scope": "INTERNET",
|
682
|
+
"layer4_configs": [{
|
683
|
+
"ip_protocol": "all",
|
684
|
+
}],
|
685
|
+
})
|
686
|
+
```
|
687
|
+
### Network Firewall Policy Rule Network Scope Ingress
|
688
|
+
|
689
|
+
```python
|
690
|
+
import pulumi
|
691
|
+
import pulumi_gcp as gcp
|
692
|
+
|
693
|
+
basic_network_firewall_policy = gcp.compute.NetworkFirewallPolicy("basic_network_firewall_policy",
|
694
|
+
name="fw-policy",
|
695
|
+
description="Sample global network firewall policy",
|
696
|
+
project="my-project-name")
|
697
|
+
network = gcp.compute.Network("network", name="network")
|
698
|
+
primary = gcp.compute.NetworkFirewallPolicyRule("primary",
|
699
|
+
action="allow",
|
700
|
+
description="This is a simple rule description",
|
701
|
+
direction="INGRESS",
|
702
|
+
disabled=False,
|
703
|
+
enable_logging=True,
|
704
|
+
firewall_policy=basic_network_firewall_policy.name,
|
705
|
+
priority=1000,
|
706
|
+
rule_name="test-rule",
|
707
|
+
match={
|
708
|
+
"src_ip_ranges": ["11.100.0.1/32"],
|
709
|
+
"src_network_scope": "VPC_NETWORKS",
|
710
|
+
"src_networks": [network.id],
|
711
|
+
"layer4_configs": [{
|
712
|
+
"ip_protocol": "all",
|
713
|
+
}],
|
658
714
|
})
|
659
715
|
```
|
660
716
|
|
@@ -734,7 +790,7 @@ class NetworkFirewallPolicyRule(pulumi.CustomResource):
|
|
734
790
|
import pulumi_gcp as gcp
|
735
791
|
|
736
792
|
basic_global_networksecurity_address_group = gcp.networksecurity.AddressGroup("basic_global_networksecurity_address_group",
|
737
|
-
name="address",
|
793
|
+
name="address-group",
|
738
794
|
parent="projects/my-project-name",
|
739
795
|
description="Sample global networksecurity_address_group",
|
740
796
|
location="global",
|
@@ -742,7 +798,7 @@ class NetworkFirewallPolicyRule(pulumi.CustomResource):
|
|
742
798
|
type="IPV4",
|
743
799
|
capacity=100)
|
744
800
|
basic_network_firewall_policy = gcp.compute.NetworkFirewallPolicy("basic_network_firewall_policy",
|
745
|
-
name="policy",
|
801
|
+
name="fw-policy",
|
746
802
|
description="Sample global network firewall policy",
|
747
803
|
project="my-project-name")
|
748
804
|
basic_network = gcp.compute.Network("basic_network", name="network")
|
@@ -750,14 +806,14 @@ class NetworkFirewallPolicyRule(pulumi.CustomResource):
|
|
750
806
|
description="For keyname resources.",
|
751
807
|
parent="organizations/123456789",
|
752
808
|
purpose="GCE_FIREWALL",
|
753
|
-
short_name="
|
809
|
+
short_name="tag-key",
|
754
810
|
purpose_data={
|
755
811
|
"network": basic_network.name.apply(lambda name: f"my-project-name/{name}"),
|
756
812
|
})
|
757
813
|
basic_value = gcp.tags.TagValue("basic_value",
|
758
814
|
description="For valuename resources.",
|
759
815
|
parent=basic_key.id,
|
760
|
-
short_name="
|
816
|
+
short_name="tag-value")
|
761
817
|
primary = gcp.compute.NetworkFirewallPolicyRule("primary",
|
762
818
|
action="allow",
|
763
819
|
description="This is a simple rule description",
|
@@ -769,6 +825,7 @@ class NetworkFirewallPolicyRule(pulumi.CustomResource):
|
|
769
825
|
rule_name="test-rule",
|
770
826
|
target_service_accounts=["my@service-account.com"],
|
771
827
|
match={
|
828
|
+
"src_address_groups": [basic_global_networksecurity_address_group.id],
|
772
829
|
"src_ip_ranges": ["10.100.0.1/32"],
|
773
830
|
"src_fqdns": ["google.com"],
|
774
831
|
"src_region_codes": ["US"],
|
@@ -779,7 +836,62 @@ class NetworkFirewallPolicyRule(pulumi.CustomResource):
|
|
779
836
|
"layer4_configs": [{
|
780
837
|
"ip_protocol": "all",
|
781
838
|
}],
|
782
|
-
|
839
|
+
})
|
840
|
+
```
|
841
|
+
### Network Firewall Policy Rule Network Scope Egress
|
842
|
+
|
843
|
+
```python
|
844
|
+
import pulumi
|
845
|
+
import pulumi_gcp as gcp
|
846
|
+
|
847
|
+
basic_network_firewall_policy = gcp.compute.NetworkFirewallPolicy("basic_network_firewall_policy",
|
848
|
+
name="fw-policy",
|
849
|
+
description="Sample global network firewall policy",
|
850
|
+
project="my-project-name")
|
851
|
+
primary = gcp.compute.NetworkFirewallPolicyRule("primary",
|
852
|
+
action="allow",
|
853
|
+
description="This is a simple rule description",
|
854
|
+
direction="EGRESS",
|
855
|
+
disabled=False,
|
856
|
+
enable_logging=True,
|
857
|
+
firewall_policy=basic_network_firewall_policy.name,
|
858
|
+
priority=1000,
|
859
|
+
rule_name="test-rule",
|
860
|
+
match={
|
861
|
+
"dest_ip_ranges": ["10.100.0.1/32"],
|
862
|
+
"dest_network_scope": "INTERNET",
|
863
|
+
"layer4_configs": [{
|
864
|
+
"ip_protocol": "all",
|
865
|
+
}],
|
866
|
+
})
|
867
|
+
```
|
868
|
+
### Network Firewall Policy Rule Network Scope Ingress
|
869
|
+
|
870
|
+
```python
|
871
|
+
import pulumi
|
872
|
+
import pulumi_gcp as gcp
|
873
|
+
|
874
|
+
basic_network_firewall_policy = gcp.compute.NetworkFirewallPolicy("basic_network_firewall_policy",
|
875
|
+
name="fw-policy",
|
876
|
+
description="Sample global network firewall policy",
|
877
|
+
project="my-project-name")
|
878
|
+
network = gcp.compute.Network("network", name="network")
|
879
|
+
primary = gcp.compute.NetworkFirewallPolicyRule("primary",
|
880
|
+
action="allow",
|
881
|
+
description="This is a simple rule description",
|
882
|
+
direction="INGRESS",
|
883
|
+
disabled=False,
|
884
|
+
enable_logging=True,
|
885
|
+
firewall_policy=basic_network_firewall_policy.name,
|
886
|
+
priority=1000,
|
887
|
+
rule_name="test-rule",
|
888
|
+
match={
|
889
|
+
"src_ip_ranges": ["11.100.0.1/32"],
|
890
|
+
"src_network_scope": "VPC_NETWORKS",
|
891
|
+
"src_networks": [network.id],
|
892
|
+
"layer4_configs": [{
|
893
|
+
"ip_protocol": "all",
|
894
|
+
}],
|
783
895
|
})
|
784
896
|
```
|
785
897
|
|