pulumi-gcp 7.15.0a1711038061__py3-none-any.whl → 7.16.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pulumi_gcp/__init__.py +102 -0
- pulumi_gcp/accesscontextmanager/__init__.py +1 -0
- pulumi_gcp/accesscontextmanager/_inputs.py +74 -58
- pulumi_gcp/accesscontextmanager/outputs.py +74 -58
- pulumi_gcp/accesscontextmanager/service_perimeter.py +0 -2
- pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_resource.py +345 -0
- pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +80 -0
- pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +86 -0
- pulumi_gcp/accesscontextmanager/service_perimeter_resource.py +4 -2
- pulumi_gcp/apphub/__init__.py +15 -0
- pulumi_gcp/apphub/_inputs.py +1016 -0
- pulumi_gcp/apphub/application.py +775 -0
- pulumi_gcp/apphub/get_discovered_service.py +180 -0
- pulumi_gcp/apphub/get_discovered_workload.py +180 -0
- pulumi_gcp/apphub/outputs.py +1206 -0
- pulumi_gcp/apphub/service.py +1121 -0
- pulumi_gcp/apphub/service_project_attachment.py +516 -0
- pulumi_gcp/apphub/workload.py +1197 -0
- pulumi_gcp/cloudquota/__init__.py +10 -0
- pulumi_gcp/cloudquota/get_s_quota_info.py +322 -0
- pulumi_gcp/cloudquota/get_s_quota_infos.py +136 -0
- pulumi_gcp/cloudquota/outputs.py +375 -0
- pulumi_gcp/cloudrunv2/_inputs.py +85 -4
- pulumi_gcp/cloudrunv2/get_service.py +11 -1
- pulumi_gcp/cloudrunv2/outputs.py +165 -6
- pulumi_gcp/cloudrunv2/service.py +60 -6
- pulumi_gcp/composer/_inputs.py +16 -0
- pulumi_gcp/composer/outputs.py +23 -0
- pulumi_gcp/compute/_inputs.py +109 -11
- pulumi_gcp/compute/outputs.py +144 -13
- pulumi_gcp/compute/region_network_endpoint_group.py +30 -0
- pulumi_gcp/compute/region_url_map.py +152 -0
- pulumi_gcp/config/__init__.pyi +4 -0
- pulumi_gcp/config/vars.py +8 -0
- pulumi_gcp/dataform/repository.py +4 -74
- pulumi_gcp/firebase/__init__.py +1 -0
- pulumi_gcp/firebase/android_app.py +41 -40
- pulumi_gcp/firebase/app_check_device_check_config.py +572 -0
- pulumi_gcp/firestore/_inputs.py +69 -0
- pulumi_gcp/firestore/database.py +206 -0
- pulumi_gcp/firestore/index.py +34 -48
- pulumi_gcp/firestore/outputs.py +80 -0
- pulumi_gcp/gkeonprem/_inputs.py +1 -3
- pulumi_gcp/gkeonprem/outputs.py +1 -3
- pulumi_gcp/gkeonprem/v_mware_cluster.py +2 -0
- pulumi_gcp/iap/__init__.py +5 -0
- pulumi_gcp/iap/_inputs.py +100 -0
- pulumi_gcp/iap/get_tunnel_dest_group_iam_policy.py +172 -0
- pulumi_gcp/iap/outputs.py +76 -0
- pulumi_gcp/iap/tunnel_dest_group.py +524 -0
- pulumi_gcp/iap/tunnel_dest_group_iam_binding.py +858 -0
- pulumi_gcp/iap/tunnel_dest_group_iam_member.py +858 -0
- pulumi_gcp/iap/tunnel_dest_group_iam_policy.py +760 -0
- pulumi_gcp/kms/__init__.py +1 -0
- pulumi_gcp/kms/_inputs.py +246 -0
- pulumi_gcp/kms/ekm_connection.py +610 -0
- pulumi_gcp/kms/outputs.py +242 -0
- pulumi_gcp/monitoring/_inputs.py +2 -0
- pulumi_gcp/monitoring/outputs.py +2 -0
- pulumi_gcp/networksecurity/__init__.py +1 -0
- pulumi_gcp/networksecurity/firewall_endpoint.py +48 -0
- pulumi_gcp/networksecurity/firewall_endpoint_association.py +753 -0
- pulumi_gcp/notebooks/instance.py +8 -0
- pulumi_gcp/orgpolicy/policy.py +2 -2
- pulumi_gcp/provider.py +40 -0
- pulumi_gcp/pubsub/_inputs.py +108 -0
- pulumi_gcp/pubsub/get_topic.py +11 -1
- pulumi_gcp/pubsub/outputs.py +213 -0
- pulumi_gcp/pubsub/subscription.py +4 -4
- pulumi_gcp/pubsub/topic.py +92 -0
- pulumi_gcp/securityposture/posture.py +2 -2
- pulumi_gcp/securityposture/posture_deployment.py +2 -2
- pulumi_gcp/storage/_inputs.py +72 -15
- pulumi_gcp/storage/bucket.py +54 -0
- pulumi_gcp/storage/get_bucket.py +11 -1
- pulumi_gcp/storage/outputs.py +110 -14
- pulumi_gcp/workstations/_inputs.py +247 -4
- pulumi_gcp/workstations/outputs.py +261 -5
- pulumi_gcp/workstations/workstation_config.py +160 -0
- {pulumi_gcp-7.15.0a1711038061.dist-info → pulumi_gcp-7.16.0.dist-info}/METADATA +1 -1
- {pulumi_gcp-7.15.0a1711038061.dist-info → pulumi_gcp-7.16.0.dist-info}/RECORD +83 -61
- {pulumi_gcp-7.15.0a1711038061.dist-info → pulumi_gcp-7.16.0.dist-info}/WHEEL +0 -0
- {pulumi_gcp-7.15.0a1711038061.dist-info → pulumi_gcp-7.16.0.dist-info}/top_level.txt +0 -0
@@ -1668,8 +1668,8 @@ class ServicePerimeterEgressPolicyEgressFrom(dict):
|
|
1668
1668
|
sources: Optional[Sequence['outputs.ServicePerimeterEgressPolicyEgressFromSource']] = None):
|
1669
1669
|
"""
|
1670
1670
|
:param Sequence[str] identities: A list of identities that are allowed access through this `EgressPolicy`.
|
1671
|
-
Should be in the format of email address. The email address should
|
1672
|
-
represent individual user
|
1671
|
+
Should be in the format of an email address. The email address should
|
1672
|
+
represent an individual user, service account, or Google group.
|
1673
1673
|
:param str identity_type: Specifies the type of identities that are allowed access to outside the
|
1674
1674
|
perimeter. If left unspecified, then members of `identities` field will
|
1675
1675
|
be allowed access.
|
@@ -1693,8 +1693,8 @@ class ServicePerimeterEgressPolicyEgressFrom(dict):
|
|
1693
1693
|
def identities(self) -> Optional[Sequence[str]]:
|
1694
1694
|
"""
|
1695
1695
|
A list of identities that are allowed access through this `EgressPolicy`.
|
1696
|
-
Should be in the format of email address. The email address should
|
1697
|
-
represent individual user
|
1696
|
+
Should be in the format of an email address. The email address should
|
1697
|
+
represent an individual user, service account, or Google group.
|
1698
1698
|
"""
|
1699
1699
|
return pulumi.get(self, "identities")
|
1700
1700
|
|
@@ -1963,9 +1963,9 @@ class ServicePerimeterIngressPolicyIngressFrom(dict):
|
|
1963
1963
|
identity_type: Optional[str] = None,
|
1964
1964
|
sources: Optional[Sequence['outputs.ServicePerimeterIngressPolicyIngressFromSource']] = None):
|
1965
1965
|
"""
|
1966
|
-
:param Sequence[str] identities: A list of identities that are allowed access through this
|
1967
|
-
Should be in the format of email address. The email address should represent
|
1968
|
-
individual user
|
1966
|
+
:param Sequence[str] identities: A list of identities that are allowed access through this `IngressPolicy`.
|
1967
|
+
Should be in the format of an email address. The email address should represent
|
1968
|
+
an individual user, service account, or Google group.
|
1969
1969
|
:param str identity_type: Specifies the type of identities that are allowed access from outside the
|
1970
1970
|
perimeter. If left unspecified, then members of `identities` field will be
|
1971
1971
|
allowed access.
|
@@ -1984,9 +1984,9 @@ class ServicePerimeterIngressPolicyIngressFrom(dict):
|
|
1984
1984
|
@pulumi.getter
|
1985
1985
|
def identities(self) -> Optional[Sequence[str]]:
|
1986
1986
|
"""
|
1987
|
-
A list of identities that are allowed access through this
|
1988
|
-
Should be in the format of email address. The email address should represent
|
1989
|
-
individual user
|
1987
|
+
A list of identities that are allowed access through this `IngressPolicy`.
|
1988
|
+
Should be in the format of an email address. The email address should represent
|
1989
|
+
an individual user, service account, or Google group.
|
1990
1990
|
"""
|
1991
1991
|
return pulumi.get(self, "identities")
|
1992
1992
|
|
@@ -2466,9 +2466,10 @@ class ServicePerimeterSpecEgressPolicyEgressFrom(dict):
|
|
2466
2466
|
source_restriction: Optional[str] = None,
|
2467
2467
|
sources: Optional[Sequence['outputs.ServicePerimeterSpecEgressPolicyEgressFromSource']] = None):
|
2468
2468
|
"""
|
2469
|
-
:param Sequence[str] identities: A list of identities that are allowed access through this `EgressPolicy`.
|
2470
|
-
|
2471
|
-
|
2469
|
+
:param Sequence[str] identities: 'A list of identities that are allowed access through this `EgressPolicy`.
|
2470
|
+
To specify an identity or identity group, use the IAM v1
|
2471
|
+
format specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1).
|
2472
|
+
The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'
|
2472
2473
|
:param str identity_type: Specifies the type of identities that are allowed access to outside the
|
2473
2474
|
perimeter. If left unspecified, then members of `identities` field will
|
2474
2475
|
be allowed access.
|
@@ -2491,9 +2492,10 @@ class ServicePerimeterSpecEgressPolicyEgressFrom(dict):
|
|
2491
2492
|
@pulumi.getter
|
2492
2493
|
def identities(self) -> Optional[Sequence[str]]:
|
2493
2494
|
"""
|
2494
|
-
A list of identities that are allowed access through this `EgressPolicy`.
|
2495
|
-
|
2496
|
-
|
2495
|
+
'A list of identities that are allowed access through this `EgressPolicy`.
|
2496
|
+
To specify an identity or identity group, use the IAM v1
|
2497
|
+
format specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1).
|
2498
|
+
The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'
|
2497
2499
|
"""
|
2498
2500
|
return pulumi.get(self, "identities")
|
2499
2501
|
|
@@ -2820,9 +2822,10 @@ class ServicePerimeterSpecIngressPolicyIngressFrom(dict):
|
|
2820
2822
|
identity_type: Optional[str] = None,
|
2821
2823
|
sources: Optional[Sequence['outputs.ServicePerimeterSpecIngressPolicyIngressFromSource']] = None):
|
2822
2824
|
"""
|
2823
|
-
:param Sequence[str] identities: A list of identities that are allowed access through this
|
2824
|
-
|
2825
|
-
|
2825
|
+
:param Sequence[str] identities: 'A list of identities that are allowed access through this `IngressPolicy`.
|
2826
|
+
To specify an identity or identity group, use the IAM v1
|
2827
|
+
format specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1).
|
2828
|
+
The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'
|
2826
2829
|
:param str identity_type: Specifies the type of identities that are allowed access from outside the
|
2827
2830
|
perimeter. If left unspecified, then members of `identities` field will be
|
2828
2831
|
allowed access.
|
@@ -2841,9 +2844,10 @@ class ServicePerimeterSpecIngressPolicyIngressFrom(dict):
|
|
2841
2844
|
@pulumi.getter
|
2842
2845
|
def identities(self) -> Optional[Sequence[str]]:
|
2843
2846
|
"""
|
2844
|
-
A list of identities that are allowed access through this
|
2845
|
-
|
2846
|
-
|
2847
|
+
'A list of identities that are allowed access through this `IngressPolicy`.
|
2848
|
+
To specify an identity or identity group, use the IAM v1
|
2849
|
+
format specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1).
|
2850
|
+
The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'
|
2847
2851
|
"""
|
2848
2852
|
return pulumi.get(self, "identities")
|
2849
2853
|
|
@@ -3363,9 +3367,10 @@ class ServicePerimeterStatusEgressPolicyEgressFrom(dict):
|
|
3363
3367
|
source_restriction: Optional[str] = None,
|
3364
3368
|
sources: Optional[Sequence['outputs.ServicePerimeterStatusEgressPolicyEgressFromSource']] = None):
|
3365
3369
|
"""
|
3366
|
-
:param Sequence[str] identities: A list of identities that are allowed access through this `EgressPolicy`.
|
3367
|
-
|
3368
|
-
|
3370
|
+
:param Sequence[str] identities: 'A list of identities that are allowed access through this `EgressPolicy`.
|
3371
|
+
To specify an identity or identity group, use the IAM v1
|
3372
|
+
format specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1).
|
3373
|
+
The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'
|
3369
3374
|
:param str identity_type: Specifies the type of identities that are allowed access to outside the
|
3370
3375
|
perimeter. If left unspecified, then members of `identities` field will
|
3371
3376
|
be allowed access.
|
@@ -3388,9 +3393,10 @@ class ServicePerimeterStatusEgressPolicyEgressFrom(dict):
|
|
3388
3393
|
@pulumi.getter
|
3389
3394
|
def identities(self) -> Optional[Sequence[str]]:
|
3390
3395
|
"""
|
3391
|
-
A list of identities that are allowed access through this `EgressPolicy`.
|
3392
|
-
|
3393
|
-
|
3396
|
+
'A list of identities that are allowed access through this `EgressPolicy`.
|
3397
|
+
To specify an identity or identity group, use the IAM v1
|
3398
|
+
format specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1).
|
3399
|
+
The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'
|
3394
3400
|
"""
|
3395
3401
|
return pulumi.get(self, "identities")
|
3396
3402
|
|
@@ -3717,9 +3723,10 @@ class ServicePerimeterStatusIngressPolicyIngressFrom(dict):
|
|
3717
3723
|
identity_type: Optional[str] = None,
|
3718
3724
|
sources: Optional[Sequence['outputs.ServicePerimeterStatusIngressPolicyIngressFromSource']] = None):
|
3719
3725
|
"""
|
3720
|
-
:param Sequence[str] identities: A list of identities that are allowed access through this
|
3721
|
-
|
3722
|
-
|
3726
|
+
:param Sequence[str] identities: 'A list of identities that are allowed access through this `IngressPolicy`.
|
3727
|
+
To specify an identity or identity group, use the IAM v1
|
3728
|
+
format specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1).
|
3729
|
+
The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'
|
3723
3730
|
:param str identity_type: Specifies the type of identities that are allowed access from outside the
|
3724
3731
|
perimeter. If left unspecified, then members of `identities` field will be
|
3725
3732
|
allowed access.
|
@@ -3738,9 +3745,10 @@ class ServicePerimeterStatusIngressPolicyIngressFrom(dict):
|
|
3738
3745
|
@pulumi.getter
|
3739
3746
|
def identities(self) -> Optional[Sequence[str]]:
|
3740
3747
|
"""
|
3741
|
-
A list of identities that are allowed access through this
|
3742
|
-
|
3743
|
-
|
3748
|
+
'A list of identities that are allowed access through this `IngressPolicy`.
|
3749
|
+
To specify an identity or identity group, use the IAM v1
|
3750
|
+
format specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1).
|
3751
|
+
The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'
|
3744
3752
|
"""
|
3745
3753
|
return pulumi.get(self, "identities")
|
3746
3754
|
|
@@ -4466,9 +4474,10 @@ class ServicePerimetersServicePerimeterSpecEgressPolicyEgressFrom(dict):
|
|
4466
4474
|
source_restriction: Optional[str] = None,
|
4467
4475
|
sources: Optional[Sequence['outputs.ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSource']] = None):
|
4468
4476
|
"""
|
4469
|
-
:param Sequence[str] identities: A list of identities that are allowed access through this `EgressPolicy`.
|
4470
|
-
|
4471
|
-
|
4477
|
+
:param Sequence[str] identities: 'A list of identities that are allowed access through this `EgressPolicy`.
|
4478
|
+
To specify an identity or identity group, use the IAM v1 format
|
4479
|
+
specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1).
|
4480
|
+
The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'
|
4472
4481
|
:param str identity_type: Specifies the type of identities that are allowed access to outside the
|
4473
4482
|
perimeter. If left unspecified, then members of `identities` field will
|
4474
4483
|
be allowed access.
|
@@ -4491,9 +4500,10 @@ class ServicePerimetersServicePerimeterSpecEgressPolicyEgressFrom(dict):
|
|
4491
4500
|
@pulumi.getter
|
4492
4501
|
def identities(self) -> Optional[Sequence[str]]:
|
4493
4502
|
"""
|
4494
|
-
A list of identities that are allowed access through this `EgressPolicy`.
|
4495
|
-
|
4496
|
-
|
4503
|
+
'A list of identities that are allowed access through this `EgressPolicy`.
|
4504
|
+
To specify an identity or identity group, use the IAM v1 format
|
4505
|
+
specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1).
|
4506
|
+
The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'
|
4497
4507
|
"""
|
4498
4508
|
return pulumi.get(self, "identities")
|
4499
4509
|
|
@@ -4820,9 +4830,10 @@ class ServicePerimetersServicePerimeterSpecIngressPolicyIngressFrom(dict):
|
|
4820
4830
|
identity_type: Optional[str] = None,
|
4821
4831
|
sources: Optional[Sequence['outputs.ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSource']] = None):
|
4822
4832
|
"""
|
4823
|
-
:param Sequence[str] identities: A list of identities that are allowed access through this
|
4824
|
-
|
4825
|
-
|
4833
|
+
:param Sequence[str] identities: 'A list of identities that are allowed access through this `IngressPolicy`.
|
4834
|
+
To specify an identity or identity group, use the IAM v1 format
|
4835
|
+
specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1).
|
4836
|
+
The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'
|
4826
4837
|
:param str identity_type: Specifies the type of identities that are allowed access from outside the
|
4827
4838
|
perimeter. If left unspecified, then members of `identities` field will be
|
4828
4839
|
allowed access.
|
@@ -4841,9 +4852,10 @@ class ServicePerimetersServicePerimeterSpecIngressPolicyIngressFrom(dict):
|
|
4841
4852
|
@pulumi.getter
|
4842
4853
|
def identities(self) -> Optional[Sequence[str]]:
|
4843
4854
|
"""
|
4844
|
-
A list of identities that are allowed access through this
|
4845
|
-
|
4846
|
-
|
4855
|
+
'A list of identities that are allowed access through this `IngressPolicy`.
|
4856
|
+
To specify an identity or identity group, use the IAM v1 format
|
4857
|
+
specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1).
|
4858
|
+
The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'
|
4847
4859
|
"""
|
4848
4860
|
return pulumi.get(self, "identities")
|
4849
4861
|
|
@@ -5363,9 +5375,10 @@ class ServicePerimetersServicePerimeterStatusEgressPolicyEgressFrom(dict):
|
|
5363
5375
|
source_restriction: Optional[str] = None,
|
5364
5376
|
sources: Optional[Sequence['outputs.ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSource']] = None):
|
5365
5377
|
"""
|
5366
|
-
:param Sequence[str] identities: A list of identities that are allowed access through this `EgressPolicy`.
|
5367
|
-
|
5368
|
-
|
5378
|
+
:param Sequence[str] identities: 'A list of identities that are allowed access through this `EgressPolicy`.
|
5379
|
+
To specify an identity or identity group, use the IAM v1 format
|
5380
|
+
specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1).
|
5381
|
+
The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'
|
5369
5382
|
:param str identity_type: Specifies the type of identities that are allowed access to outside the
|
5370
5383
|
perimeter. If left unspecified, then members of `identities` field will
|
5371
5384
|
be allowed access.
|
@@ -5388,9 +5401,10 @@ class ServicePerimetersServicePerimeterStatusEgressPolicyEgressFrom(dict):
|
|
5388
5401
|
@pulumi.getter
|
5389
5402
|
def identities(self) -> Optional[Sequence[str]]:
|
5390
5403
|
"""
|
5391
|
-
A list of identities that are allowed access through this `EgressPolicy`.
|
5392
|
-
|
5393
|
-
|
5404
|
+
'A list of identities that are allowed access through this `EgressPolicy`.
|
5405
|
+
To specify an identity or identity group, use the IAM v1 format
|
5406
|
+
specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1).
|
5407
|
+
The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'
|
5394
5408
|
"""
|
5395
5409
|
return pulumi.get(self, "identities")
|
5396
5410
|
|
@@ -5717,9 +5731,10 @@ class ServicePerimetersServicePerimeterStatusIngressPolicyIngressFrom(dict):
|
|
5717
5731
|
identity_type: Optional[str] = None,
|
5718
5732
|
sources: Optional[Sequence['outputs.ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSource']] = None):
|
5719
5733
|
"""
|
5720
|
-
:param Sequence[str] identities: A list of identities that are allowed access through this
|
5721
|
-
|
5722
|
-
|
5734
|
+
:param Sequence[str] identities: 'A list of identities that are allowed access through this `IngressPolicy`.
|
5735
|
+
To specify an identity or identity group, use the IAM v1 format
|
5736
|
+
specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1).
|
5737
|
+
The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'
|
5723
5738
|
:param str identity_type: Specifies the type of identities that are allowed access from outside the
|
5724
5739
|
perimeter. If left unspecified, then members of `identities` field will be
|
5725
5740
|
allowed access.
|
@@ -5738,9 +5753,10 @@ class ServicePerimetersServicePerimeterStatusIngressPolicyIngressFrom(dict):
|
|
5738
5753
|
@pulumi.getter
|
5739
5754
|
def identities(self) -> Optional[Sequence[str]]:
|
5740
5755
|
"""
|
5741
|
-
A list of identities that are allowed access through this
|
5742
|
-
|
5743
|
-
|
5756
|
+
'A list of identities that are allowed access through this `IngressPolicy`.
|
5757
|
+
To specify an identity or identity group, use the IAM v1 format
|
5758
|
+
specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1).
|
5759
|
+
The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'
|
5744
5760
|
"""
|
5745
5761
|
return pulumi.get(self, "identities")
|
5746
5762
|
|
@@ -673,7 +673,6 @@ class ServicePerimeter(pulumi.CustomResource):
|
|
673
673
|
use_explicit_dry_run_spec=True)
|
674
674
|
```
|
675
675
|
<!--End PulumiCodeChooser -->
|
676
|
-
|
677
676
|
## Import
|
678
677
|
|
679
678
|
ServicePerimeter can be imported using any of these accepted formats:
|
@@ -936,7 +935,6 @@ class ServicePerimeter(pulumi.CustomResource):
|
|
936
935
|
use_explicit_dry_run_spec=True)
|
937
936
|
```
|
938
937
|
<!--End PulumiCodeChooser -->
|
939
|
-
|
940
938
|
## Import
|
941
939
|
|
942
940
|
ServicePerimeter can be imported using any of these accepted formats:
|
@@ -0,0 +1,345 @@
|
|
1
|
+
# coding=utf-8
|
2
|
+
# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
|
3
|
+
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
4
|
+
|
5
|
+
import copy
|
6
|
+
import warnings
|
7
|
+
import pulumi
|
8
|
+
import pulumi.runtime
|
9
|
+
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
10
|
+
from .. import _utilities
|
11
|
+
|
12
|
+
__all__ = ['ServicePerimeterDryRunResourceArgs', 'ServicePerimeterDryRunResource']
|
13
|
+
|
14
|
+
@pulumi.input_type
|
15
|
+
class ServicePerimeterDryRunResourceArgs:
|
16
|
+
def __init__(__self__, *,
|
17
|
+
perimeter_name: pulumi.Input[str],
|
18
|
+
resource: pulumi.Input[str]):
|
19
|
+
"""
|
20
|
+
The set of arguments for constructing a ServicePerimeterDryRunResource resource.
|
21
|
+
:param pulumi.Input[str] perimeter_name: The name of the Service Perimeter to add this resource to.
|
22
|
+
|
23
|
+
|
24
|
+
- - -
|
25
|
+
:param pulumi.Input[str] resource: A GCP resource that is inside of the service perimeter.
|
26
|
+
Currently only projects are allowed.
|
27
|
+
Format: projects/{project_number}
|
28
|
+
"""
|
29
|
+
pulumi.set(__self__, "perimeter_name", perimeter_name)
|
30
|
+
pulumi.set(__self__, "resource", resource)
|
31
|
+
|
32
|
+
@property
|
33
|
+
@pulumi.getter(name="perimeterName")
|
34
|
+
def perimeter_name(self) -> pulumi.Input[str]:
|
35
|
+
"""
|
36
|
+
The name of the Service Perimeter to add this resource to.
|
37
|
+
|
38
|
+
|
39
|
+
- - -
|
40
|
+
"""
|
41
|
+
return pulumi.get(self, "perimeter_name")
|
42
|
+
|
43
|
+
@perimeter_name.setter
|
44
|
+
def perimeter_name(self, value: pulumi.Input[str]):
|
45
|
+
pulumi.set(self, "perimeter_name", value)
|
46
|
+
|
47
|
+
@property
|
48
|
+
@pulumi.getter
|
49
|
+
def resource(self) -> pulumi.Input[str]:
|
50
|
+
"""
|
51
|
+
A GCP resource that is inside of the service perimeter.
|
52
|
+
Currently only projects are allowed.
|
53
|
+
Format: projects/{project_number}
|
54
|
+
"""
|
55
|
+
return pulumi.get(self, "resource")
|
56
|
+
|
57
|
+
@resource.setter
|
58
|
+
def resource(self, value: pulumi.Input[str]):
|
59
|
+
pulumi.set(self, "resource", value)
|
60
|
+
|
61
|
+
|
62
|
+
@pulumi.input_type
|
63
|
+
class _ServicePerimeterDryRunResourceState:
|
64
|
+
def __init__(__self__, *,
|
65
|
+
perimeter_name: Optional[pulumi.Input[str]] = None,
|
66
|
+
resource: Optional[pulumi.Input[str]] = None):
|
67
|
+
"""
|
68
|
+
Input properties used for looking up and filtering ServicePerimeterDryRunResource resources.
|
69
|
+
:param pulumi.Input[str] perimeter_name: The name of the Service Perimeter to add this resource to.
|
70
|
+
|
71
|
+
|
72
|
+
- - -
|
73
|
+
:param pulumi.Input[str] resource: A GCP resource that is inside of the service perimeter.
|
74
|
+
Currently only projects are allowed.
|
75
|
+
Format: projects/{project_number}
|
76
|
+
"""
|
77
|
+
if perimeter_name is not None:
|
78
|
+
pulumi.set(__self__, "perimeter_name", perimeter_name)
|
79
|
+
if resource is not None:
|
80
|
+
pulumi.set(__self__, "resource", resource)
|
81
|
+
|
82
|
+
@property
|
83
|
+
@pulumi.getter(name="perimeterName")
|
84
|
+
def perimeter_name(self) -> Optional[pulumi.Input[str]]:
|
85
|
+
"""
|
86
|
+
The name of the Service Perimeter to add this resource to.
|
87
|
+
|
88
|
+
|
89
|
+
- - -
|
90
|
+
"""
|
91
|
+
return pulumi.get(self, "perimeter_name")
|
92
|
+
|
93
|
+
@perimeter_name.setter
|
94
|
+
def perimeter_name(self, value: Optional[pulumi.Input[str]]):
|
95
|
+
pulumi.set(self, "perimeter_name", value)
|
96
|
+
|
97
|
+
@property
|
98
|
+
@pulumi.getter
|
99
|
+
def resource(self) -> Optional[pulumi.Input[str]]:
|
100
|
+
"""
|
101
|
+
A GCP resource that is inside of the service perimeter.
|
102
|
+
Currently only projects are allowed.
|
103
|
+
Format: projects/{project_number}
|
104
|
+
"""
|
105
|
+
return pulumi.get(self, "resource")
|
106
|
+
|
107
|
+
@resource.setter
|
108
|
+
def resource(self, value: Optional[pulumi.Input[str]]):
|
109
|
+
pulumi.set(self, "resource", value)
|
110
|
+
|
111
|
+
|
112
|
+
class ServicePerimeterDryRunResource(pulumi.CustomResource):
|
113
|
+
@overload
|
114
|
+
def __init__(__self__,
|
115
|
+
resource_name: str,
|
116
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
117
|
+
perimeter_name: Optional[pulumi.Input[str]] = None,
|
118
|
+
resource: Optional[pulumi.Input[str]] = None,
|
119
|
+
__props__=None):
|
120
|
+
"""
|
121
|
+
Allows configuring a single GCP resource that should be inside of the `spec` block of a dry run service perimeter.
|
122
|
+
This resource is intended to be used in cases where it is not possible to compile a full list
|
123
|
+
of projects to include in a `accesscontextmanager.ServicePerimeter` resource,
|
124
|
+
to enable them to be added separately.
|
125
|
+
If your perimeter is NOT in dry-run mode use `accesscontextmanager.ServicePerimeterResource` instead.
|
126
|
+
|
127
|
+
> **Note:** If this resource is used alongside a `accesscontextmanager.ServicePerimeter` resource,
|
128
|
+
the service perimeter resource must have a `lifecycle` block with `ignore_changes = [spec[0].resources]` so
|
129
|
+
they don't fight over which resources should be in the policy.
|
130
|
+
|
131
|
+
To get more information about ServicePerimeterDryRunResource, see:
|
132
|
+
|
133
|
+
* [API documentation](https://cloud.google.com/access-context-manager/docs/reference/rest/v1/accessPolicies.servicePerimeters)
|
134
|
+
* How-to Guides
|
135
|
+
* [Service Perimeter Quickstart](https://cloud.google.com/vpc-service-controls/docs/quickstart)
|
136
|
+
|
137
|
+
> **Warning:** If you are using User ADCs (Application Default Credentials) with this resource,
|
138
|
+
you must specify a `billing_project` and set `user_project_override` to true
|
139
|
+
in the provider configuration. Otherwise the ACM API will return a 403 error.
|
140
|
+
Your account must have the `serviceusage.services.use` permission on the
|
141
|
+
`billing_project` you defined.
|
142
|
+
|
143
|
+
## Example Usage
|
144
|
+
|
145
|
+
### Access Context Manager Service Perimeter Dry Run Resource Basic
|
146
|
+
|
147
|
+
<!--Start PulumiCodeChooser -->
|
148
|
+
```python
|
149
|
+
import pulumi
|
150
|
+
import pulumi_gcp as gcp
|
151
|
+
|
152
|
+
access_policy = gcp.accesscontextmanager.AccessPolicy("access-policy",
|
153
|
+
parent="organizations/123456789",
|
154
|
+
title="my policy")
|
155
|
+
service_perimeter_dry_run_resource_service_perimeter = gcp.accesscontextmanager.ServicePerimeter("service-perimeter-dry-run-resource",
|
156
|
+
parent=access_policy.name.apply(lambda name: f"accessPolicies/{name}"),
|
157
|
+
name=access_policy.name.apply(lambda name: f"accessPolicies/{name}/servicePerimeters/restrict_all"),
|
158
|
+
title="restrict_all",
|
159
|
+
spec=gcp.accesscontextmanager.ServicePerimeterSpecArgs(
|
160
|
+
restricted_services=["storage.googleapis.com"],
|
161
|
+
),
|
162
|
+
use_explicit_dry_run_spec=True)
|
163
|
+
service_perimeter_dry_run_resource = gcp.accesscontextmanager.ServicePerimeterDryRunResource("service-perimeter-dry-run-resource",
|
164
|
+
perimeter_name=service_perimeter_dry_run_resource_service_perimeter.name,
|
165
|
+
resource="projects/987654321")
|
166
|
+
```
|
167
|
+
<!--End PulumiCodeChooser -->
|
168
|
+
|
169
|
+
## Import
|
170
|
+
|
171
|
+
ServicePerimeterDryRunResource can be imported using any of these accepted formats:
|
172
|
+
|
173
|
+
* `{{perimeter_name}}/{{resource}}`
|
174
|
+
|
175
|
+
When using the `pulumi import` command, ServicePerimeterDryRunResource can be imported using one of the formats above. For example:
|
176
|
+
|
177
|
+
```sh
|
178
|
+
$ pulumi import gcp:accesscontextmanager/servicePerimeterDryRunResource:ServicePerimeterDryRunResource default {{perimeter_name}}/{{resource}}
|
179
|
+
```
|
180
|
+
|
181
|
+
:param str resource_name: The name of the resource.
|
182
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
183
|
+
:param pulumi.Input[str] perimeter_name: The name of the Service Perimeter to add this resource to.
|
184
|
+
|
185
|
+
|
186
|
+
- - -
|
187
|
+
:param pulumi.Input[str] resource: A GCP resource that is inside of the service perimeter.
|
188
|
+
Currently only projects are allowed.
|
189
|
+
Format: projects/{project_number}
|
190
|
+
"""
|
191
|
+
...
|
192
|
+
@overload
|
193
|
+
def __init__(__self__,
|
194
|
+
resource_name: str,
|
195
|
+
args: ServicePerimeterDryRunResourceArgs,
|
196
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
197
|
+
"""
|
198
|
+
Allows configuring a single GCP resource that should be inside of the `spec` block of a dry run service perimeter.
|
199
|
+
This resource is intended to be used in cases where it is not possible to compile a full list
|
200
|
+
of projects to include in a `accesscontextmanager.ServicePerimeter` resource,
|
201
|
+
to enable them to be added separately.
|
202
|
+
If your perimeter is NOT in dry-run mode use `accesscontextmanager.ServicePerimeterResource` instead.
|
203
|
+
|
204
|
+
> **Note:** If this resource is used alongside a `accesscontextmanager.ServicePerimeter` resource,
|
205
|
+
the service perimeter resource must have a `lifecycle` block with `ignore_changes = [spec[0].resources]` so
|
206
|
+
they don't fight over which resources should be in the policy.
|
207
|
+
|
208
|
+
To get more information about ServicePerimeterDryRunResource, see:
|
209
|
+
|
210
|
+
* [API documentation](https://cloud.google.com/access-context-manager/docs/reference/rest/v1/accessPolicies.servicePerimeters)
|
211
|
+
* How-to Guides
|
212
|
+
* [Service Perimeter Quickstart](https://cloud.google.com/vpc-service-controls/docs/quickstart)
|
213
|
+
|
214
|
+
> **Warning:** If you are using User ADCs (Application Default Credentials) with this resource,
|
215
|
+
you must specify a `billing_project` and set `user_project_override` to true
|
216
|
+
in the provider configuration. Otherwise the ACM API will return a 403 error.
|
217
|
+
Your account must have the `serviceusage.services.use` permission on the
|
218
|
+
`billing_project` you defined.
|
219
|
+
|
220
|
+
## Example Usage
|
221
|
+
|
222
|
+
### Access Context Manager Service Perimeter Dry Run Resource Basic
|
223
|
+
|
224
|
+
<!--Start PulumiCodeChooser -->
|
225
|
+
```python
|
226
|
+
import pulumi
|
227
|
+
import pulumi_gcp as gcp
|
228
|
+
|
229
|
+
access_policy = gcp.accesscontextmanager.AccessPolicy("access-policy",
|
230
|
+
parent="organizations/123456789",
|
231
|
+
title="my policy")
|
232
|
+
service_perimeter_dry_run_resource_service_perimeter = gcp.accesscontextmanager.ServicePerimeter("service-perimeter-dry-run-resource",
|
233
|
+
parent=access_policy.name.apply(lambda name: f"accessPolicies/{name}"),
|
234
|
+
name=access_policy.name.apply(lambda name: f"accessPolicies/{name}/servicePerimeters/restrict_all"),
|
235
|
+
title="restrict_all",
|
236
|
+
spec=gcp.accesscontextmanager.ServicePerimeterSpecArgs(
|
237
|
+
restricted_services=["storage.googleapis.com"],
|
238
|
+
),
|
239
|
+
use_explicit_dry_run_spec=True)
|
240
|
+
service_perimeter_dry_run_resource = gcp.accesscontextmanager.ServicePerimeterDryRunResource("service-perimeter-dry-run-resource",
|
241
|
+
perimeter_name=service_perimeter_dry_run_resource_service_perimeter.name,
|
242
|
+
resource="projects/987654321")
|
243
|
+
```
|
244
|
+
<!--End PulumiCodeChooser -->
|
245
|
+
|
246
|
+
## Import
|
247
|
+
|
248
|
+
ServicePerimeterDryRunResource can be imported using any of these accepted formats:
|
249
|
+
|
250
|
+
* `{{perimeter_name}}/{{resource}}`
|
251
|
+
|
252
|
+
When using the `pulumi import` command, ServicePerimeterDryRunResource can be imported using one of the formats above. For example:
|
253
|
+
|
254
|
+
```sh
|
255
|
+
$ pulumi import gcp:accesscontextmanager/servicePerimeterDryRunResource:ServicePerimeterDryRunResource default {{perimeter_name}}/{{resource}}
|
256
|
+
```
|
257
|
+
|
258
|
+
:param str resource_name: The name of the resource.
|
259
|
+
:param ServicePerimeterDryRunResourceArgs args: The arguments to use to populate this resource's properties.
|
260
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
261
|
+
"""
|
262
|
+
...
|
263
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
264
|
+
resource_args, opts = _utilities.get_resource_args_opts(ServicePerimeterDryRunResourceArgs, pulumi.ResourceOptions, *args, **kwargs)
|
265
|
+
if resource_args is not None:
|
266
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
267
|
+
else:
|
268
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
269
|
+
|
270
|
+
def _internal_init(__self__,
|
271
|
+
resource_name: str,
|
272
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
273
|
+
perimeter_name: Optional[pulumi.Input[str]] = None,
|
274
|
+
resource: Optional[pulumi.Input[str]] = None,
|
275
|
+
__props__=None):
|
276
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
277
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
278
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
279
|
+
if opts.id is None:
|
280
|
+
if __props__ is not None:
|
281
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
282
|
+
__props__ = ServicePerimeterDryRunResourceArgs.__new__(ServicePerimeterDryRunResourceArgs)
|
283
|
+
|
284
|
+
if perimeter_name is None and not opts.urn:
|
285
|
+
raise TypeError("Missing required property 'perimeter_name'")
|
286
|
+
__props__.__dict__["perimeter_name"] = perimeter_name
|
287
|
+
if resource is None and not opts.urn:
|
288
|
+
raise TypeError("Missing required property 'resource'")
|
289
|
+
__props__.__dict__["resource"] = resource
|
290
|
+
super(ServicePerimeterDryRunResource, __self__).__init__(
|
291
|
+
'gcp:accesscontextmanager/servicePerimeterDryRunResource:ServicePerimeterDryRunResource',
|
292
|
+
resource_name,
|
293
|
+
__props__,
|
294
|
+
opts)
|
295
|
+
|
296
|
+
@staticmethod
|
297
|
+
def get(resource_name: str,
|
298
|
+
id: pulumi.Input[str],
|
299
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
300
|
+
perimeter_name: Optional[pulumi.Input[str]] = None,
|
301
|
+
resource: Optional[pulumi.Input[str]] = None) -> 'ServicePerimeterDryRunResource':
|
302
|
+
"""
|
303
|
+
Get an existing ServicePerimeterDryRunResource resource's state with the given name, id, and optional extra
|
304
|
+
properties used to qualify the lookup.
|
305
|
+
|
306
|
+
:param str resource_name: The unique name of the resulting resource.
|
307
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
308
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
309
|
+
:param pulumi.Input[str] perimeter_name: The name of the Service Perimeter to add this resource to.
|
310
|
+
|
311
|
+
|
312
|
+
- - -
|
313
|
+
:param pulumi.Input[str] resource: A GCP resource that is inside of the service perimeter.
|
314
|
+
Currently only projects are allowed.
|
315
|
+
Format: projects/{project_number}
|
316
|
+
"""
|
317
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
318
|
+
|
319
|
+
__props__ = _ServicePerimeterDryRunResourceState.__new__(_ServicePerimeterDryRunResourceState)
|
320
|
+
|
321
|
+
__props__.__dict__["perimeter_name"] = perimeter_name
|
322
|
+
__props__.__dict__["resource"] = resource
|
323
|
+
return ServicePerimeterDryRunResource(resource_name, opts=opts, __props__=__props__)
|
324
|
+
|
325
|
+
@property
|
326
|
+
@pulumi.getter(name="perimeterName")
|
327
|
+
def perimeter_name(self) -> pulumi.Output[str]:
|
328
|
+
"""
|
329
|
+
The name of the Service Perimeter to add this resource to.
|
330
|
+
|
331
|
+
|
332
|
+
- - -
|
333
|
+
"""
|
334
|
+
return pulumi.get(self, "perimeter_name")
|
335
|
+
|
336
|
+
@property
|
337
|
+
@pulumi.getter
|
338
|
+
def resource(self) -> pulumi.Output[str]:
|
339
|
+
"""
|
340
|
+
A GCP resource that is inside of the service perimeter.
|
341
|
+
Currently only projects are allowed.
|
342
|
+
Format: projects/{project_number}
|
343
|
+
"""
|
344
|
+
return pulumi.get(self, "resource")
|
345
|
+
|