pulumi-gcp 8.14.0a1736853524__py3-none-any.whl → 8.15.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 +110 -0
- pulumi_gcp/accesscontextmanager/access_level_condition.py +28 -0
- pulumi_gcp/accesscontextmanager/egress_policy.py +28 -0
- pulumi_gcp/accesscontextmanager/ingress_policy.py +28 -0
- pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_egress_policy.py +28 -0
- pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_ingress_policy.py +28 -0
- pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_resource.py +28 -0
- pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +28 -0
- pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +28 -0
- pulumi_gcp/accesscontextmanager/service_perimeter_resource.py +56 -0
- pulumi_gcp/apigee/__init__.py +1 -0
- pulumi_gcp/apigee/environment_addons_config.py +266 -0
- pulumi_gcp/applicationintegration/_inputs.py +3 -3
- pulumi_gcp/applicationintegration/outputs.py +2 -2
- pulumi_gcp/artifactregistry/repository.py +32 -2
- pulumi_gcp/beyondcorp/__init__.py +1 -0
- pulumi_gcp/beyondcorp/_inputs.py +93 -0
- pulumi_gcp/beyondcorp/outputs.py +89 -0
- pulumi_gcp/beyondcorp/security_gateway.py +670 -0
- pulumi_gcp/bigquery/connection.py +2 -2
- pulumi_gcp/bigquery/routine.py +2 -2
- pulumi_gcp/billing/project_info.py +4 -4
- pulumi_gcp/blockchainnodeengine/_inputs.py +3 -3
- pulumi_gcp/blockchainnodeengine/outputs.py +2 -2
- pulumi_gcp/certificateauthority/_inputs.py +6 -6
- pulumi_gcp/certificateauthority/outputs.py +4 -4
- pulumi_gcp/certificatemanager/_inputs.py +3 -3
- pulumi_gcp/certificatemanager/outputs.py +2 -2
- pulumi_gcp/chronicle/__init__.py +5 -0
- pulumi_gcp/chronicle/_inputs.py +767 -0
- pulumi_gcp/chronicle/data_access_label.py +690 -0
- pulumi_gcp/chronicle/data_access_scope.py +1094 -0
- pulumi_gcp/chronicle/outputs.py +624 -0
- pulumi_gcp/chronicle/reference_list.py +788 -0
- pulumi_gcp/chronicle/rule.py +1308 -0
- pulumi_gcp/chronicle/rule_deployment.py +849 -0
- pulumi_gcp/chronicle/watchlist.py +68 -45
- pulumi_gcp/cloudbuild/_inputs.py +3 -3
- pulumi_gcp/cloudbuild/outputs.py +2 -2
- pulumi_gcp/cloudquota/__init__.py +1 -0
- pulumi_gcp/cloudquota/s_quota_adjuster_settings.py +336 -0
- pulumi_gcp/colab/__init__.py +10 -0
- pulumi_gcp/colab/_inputs.py +359 -0
- pulumi_gcp/colab/outputs.py +344 -0
- pulumi_gcp/colab/runtime_template.py +1160 -0
- pulumi_gcp/compute/_inputs.py +42 -42
- pulumi_gcp/compute/instance_group_manager.py +9 -9
- pulumi_gcp/compute/interconnect_attachment.py +7 -7
- pulumi_gcp/compute/outputs.py +28 -28
- pulumi_gcp/compute/region_instance_group_manager.py +9 -9
- pulumi_gcp/compute/route.py +8 -16
- pulumi_gcp/compute/subnetwork.py +7 -7
- pulumi_gcp/compute/target_instance.py +4 -4
- pulumi_gcp/compute/url_map.py +4 -0
- pulumi_gcp/config/__init__.pyi +6 -0
- pulumi_gcp/config/vars.py +12 -0
- pulumi_gcp/databasemigrationservice/connection_profile.py +6 -6
- pulumi_gcp/datacatalog/_inputs.py +3 -3
- pulumi_gcp/datacatalog/outputs.py +2 -2
- pulumi_gcp/dataplex/entry_type.py +2 -2
- pulumi_gcp/dataplex/task.py +16 -16
- pulumi_gcp/dataproc/batch.py +10 -10
- pulumi_gcp/developerconnect/_inputs.py +910 -42
- pulumi_gcp/developerconnect/connection.py +614 -86
- pulumi_gcp/developerconnect/git_repository_link.py +4 -0
- pulumi_gcp/developerconnect/outputs.py +717 -28
- pulumi_gcp/discoveryengine/_inputs.py +54 -0
- pulumi_gcp/discoveryengine/data_store.py +94 -0
- pulumi_gcp/discoveryengine/outputs.py +51 -0
- pulumi_gcp/dns/_inputs.py +124 -20
- pulumi_gcp/dns/outputs.py +90 -16
- pulumi_gcp/dns/record_set.py +82 -0
- pulumi_gcp/edgecontainer/_inputs.py +3 -3
- pulumi_gcp/edgecontainer/outputs.py +2 -2
- pulumi_gcp/edgenetwork/__init__.py +1 -0
- pulumi_gcp/edgenetwork/interconnect_attachment.py +941 -0
- pulumi_gcp/firestore/field.py +4 -4
- pulumi_gcp/gemini/code_repository_index.py +47 -0
- pulumi_gcp/gkehub/membership_binding.py +6 -6
- pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
- pulumi_gcp/gkehub/namespace.py +4 -4
- pulumi_gcp/gkehub/scope_rbac_role_binding.py +4 -4
- pulumi_gcp/gkeonprem/_inputs.py +15 -15
- pulumi_gcp/gkeonprem/outputs.py +10 -10
- pulumi_gcp/gkeonprem/v_mware_cluster.py +1 -1
- pulumi_gcp/iap/_inputs.py +9 -3
- pulumi_gcp/iap/outputs.py +6 -2
- pulumi_gcp/iap/settings.py +63 -63
- pulumi_gcp/iap/tunnel_dest_group.py +2 -2
- pulumi_gcp/identityplatform/_inputs.py +9 -9
- pulumi_gcp/identityplatform/outputs.py +6 -6
- pulumi_gcp/integrationconnectors/_inputs.py +6 -6
- pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
- pulumi_gcp/integrationconnectors/outputs.py +4 -4
- pulumi_gcp/monitoring/_inputs.py +3 -3
- pulumi_gcp/monitoring/outputs.py +2 -2
- pulumi_gcp/networkconnectivity/spoke.py +14 -14
- pulumi_gcp/networksecurity/authz_policy.py +0 -202
- pulumi_gcp/oracledatabase/_inputs.py +3 -3
- pulumi_gcp/oracledatabase/outputs.py +2 -2
- pulumi_gcp/orgpolicy/policy.py +2 -2
- pulumi_gcp/parametermanager/__init__.py +13 -0
- pulumi_gcp/parametermanager/_inputs.py +174 -0
- pulumi_gcp/parametermanager/get_regional_parameter.py +230 -0
- pulumi_gcp/parametermanager/outputs.py +191 -0
- pulumi_gcp/parametermanager/parameter.py +706 -0
- pulumi_gcp/parametermanager/regional_parameter.py +762 -0
- pulumi_gcp/parametermanager/regional_parameter_version.py +558 -0
- pulumi_gcp/provider.py +60 -0
- pulumi_gcp/pubsub/subscription.py +6 -6
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/sql/_inputs.py +74 -0
- pulumi_gcp/sql/database_instance.py +80 -18
- pulumi_gcp/sql/get_database_instance.py +12 -1
- pulumi_gcp/sql/outputs.py +158 -0
- pulumi_gcp/sql/source_representation_instance.py +7 -14
- pulumi_gcp/transcoder/_inputs.py +6 -6
- pulumi_gcp/transcoder/outputs.py +4 -4
- pulumi_gcp/vertex/ai_endpoint.py +4 -4
- pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
- {pulumi_gcp-8.14.0a1736853524.dist-info → pulumi_gcp-8.15.0.dist-info}/METADATA +1 -1
- {pulumi_gcp-8.14.0a1736853524.dist-info → pulumi_gcp-8.15.0.dist-info}/RECORD +124 -104
- {pulumi_gcp-8.14.0a1736853524.dist-info → pulumi_gcp-8.15.0.dist-info}/WHEEL +0 -0
- {pulumi_gcp-8.14.0a1736853524.dist-info → pulumi_gcp-8.15.0.dist-info}/top_level.txt +0 -0
pulumi_gcp/__init__.py
CHANGED
@@ -86,6 +86,8 @@ if typing.TYPE_CHECKING:
|
|
86
86
|
cloudscheduler = __cloudscheduler
|
87
87
|
import pulumi_gcp.cloudtasks as __cloudtasks
|
88
88
|
cloudtasks = __cloudtasks
|
89
|
+
import pulumi_gcp.colab as __colab
|
90
|
+
colab = __colab
|
89
91
|
import pulumi_gcp.composer as __composer
|
90
92
|
composer = __composer
|
91
93
|
import pulumi_gcp.compute as __compute
|
@@ -204,6 +206,8 @@ if typing.TYPE_CHECKING:
|
|
204
206
|
oslogin = __oslogin
|
205
207
|
import pulumi_gcp.parallelstore as __parallelstore
|
206
208
|
parallelstore = __parallelstore
|
209
|
+
import pulumi_gcp.parametermanager as __parametermanager
|
210
|
+
parametermanager = __parametermanager
|
207
211
|
import pulumi_gcp.privilegedaccessmanager as __privilegedaccessmanager
|
208
212
|
privilegedaccessmanager = __privilegedaccessmanager
|
209
213
|
import pulumi_gcp.projects as __projects
|
@@ -301,6 +305,7 @@ else:
|
|
301
305
|
cloudrunv2 = _utilities.lazy_import('pulumi_gcp.cloudrunv2')
|
302
306
|
cloudscheduler = _utilities.lazy_import('pulumi_gcp.cloudscheduler')
|
303
307
|
cloudtasks = _utilities.lazy_import('pulumi_gcp.cloudtasks')
|
308
|
+
colab = _utilities.lazy_import('pulumi_gcp.colab')
|
304
309
|
composer = _utilities.lazy_import('pulumi_gcp.composer')
|
305
310
|
compute = _utilities.lazy_import('pulumi_gcp.compute')
|
306
311
|
config = _utilities.lazy_import('pulumi_gcp.config')
|
@@ -360,6 +365,7 @@ else:
|
|
360
365
|
osconfig = _utilities.lazy_import('pulumi_gcp.osconfig')
|
361
366
|
oslogin = _utilities.lazy_import('pulumi_gcp.oslogin')
|
362
367
|
parallelstore = _utilities.lazy_import('pulumi_gcp.parallelstore')
|
368
|
+
parametermanager = _utilities.lazy_import('pulumi_gcp.parametermanager')
|
363
369
|
privilegedaccessmanager = _utilities.lazy_import('pulumi_gcp.privilegedaccessmanager')
|
364
370
|
projects = _utilities.lazy_import('pulumi_gcp.projects')
|
365
371
|
pubsub = _utilities.lazy_import('pulumi_gcp.pubsub')
|
@@ -777,6 +783,14 @@ _utilities.register(
|
|
777
783
|
"gcp:apigee/environment:Environment": "Environment"
|
778
784
|
}
|
779
785
|
},
|
786
|
+
{
|
787
|
+
"pkg": "gcp",
|
788
|
+
"mod": "apigee/environmentAddonsConfig",
|
789
|
+
"fqn": "pulumi_gcp.apigee",
|
790
|
+
"classes": {
|
791
|
+
"gcp:apigee/environmentAddonsConfig:EnvironmentAddonsConfig": "EnvironmentAddonsConfig"
|
792
|
+
}
|
793
|
+
},
|
780
794
|
{
|
781
795
|
"pkg": "gcp",
|
782
796
|
"mod": "apigee/environmentIamBinding",
|
@@ -1129,6 +1143,14 @@ _utilities.register(
|
|
1129
1143
|
"gcp:beyondcorp/appGateway:AppGateway": "AppGateway"
|
1130
1144
|
}
|
1131
1145
|
},
|
1146
|
+
{
|
1147
|
+
"pkg": "gcp",
|
1148
|
+
"mod": "beyondcorp/securityGateway",
|
1149
|
+
"fqn": "pulumi_gcp.beyondcorp",
|
1150
|
+
"classes": {
|
1151
|
+
"gcp:beyondcorp/securityGateway:SecurityGateway": "SecurityGateway"
|
1152
|
+
}
|
1153
|
+
},
|
1132
1154
|
{
|
1133
1155
|
"pkg": "gcp",
|
1134
1156
|
"mod": "biglake/catalog",
|
@@ -1721,6 +1743,46 @@ _utilities.register(
|
|
1721
1743
|
"gcp:certificatemanager/trustConfig:TrustConfig": "TrustConfig"
|
1722
1744
|
}
|
1723
1745
|
},
|
1746
|
+
{
|
1747
|
+
"pkg": "gcp",
|
1748
|
+
"mod": "chronicle/dataAccessLabel",
|
1749
|
+
"fqn": "pulumi_gcp.chronicle",
|
1750
|
+
"classes": {
|
1751
|
+
"gcp:chronicle/dataAccessLabel:DataAccessLabel": "DataAccessLabel"
|
1752
|
+
}
|
1753
|
+
},
|
1754
|
+
{
|
1755
|
+
"pkg": "gcp",
|
1756
|
+
"mod": "chronicle/dataAccessScope",
|
1757
|
+
"fqn": "pulumi_gcp.chronicle",
|
1758
|
+
"classes": {
|
1759
|
+
"gcp:chronicle/dataAccessScope:DataAccessScope": "DataAccessScope"
|
1760
|
+
}
|
1761
|
+
},
|
1762
|
+
{
|
1763
|
+
"pkg": "gcp",
|
1764
|
+
"mod": "chronicle/referenceList",
|
1765
|
+
"fqn": "pulumi_gcp.chronicle",
|
1766
|
+
"classes": {
|
1767
|
+
"gcp:chronicle/referenceList:ReferenceList": "ReferenceList"
|
1768
|
+
}
|
1769
|
+
},
|
1770
|
+
{
|
1771
|
+
"pkg": "gcp",
|
1772
|
+
"mod": "chronicle/rule",
|
1773
|
+
"fqn": "pulumi_gcp.chronicle",
|
1774
|
+
"classes": {
|
1775
|
+
"gcp:chronicle/rule:Rule": "Rule"
|
1776
|
+
}
|
1777
|
+
},
|
1778
|
+
{
|
1779
|
+
"pkg": "gcp",
|
1780
|
+
"mod": "chronicle/ruleDeployment",
|
1781
|
+
"fqn": "pulumi_gcp.chronicle",
|
1782
|
+
"classes": {
|
1783
|
+
"gcp:chronicle/ruleDeployment:RuleDeployment": "RuleDeployment"
|
1784
|
+
}
|
1785
|
+
},
|
1724
1786
|
{
|
1725
1787
|
"pkg": "gcp",
|
1726
1788
|
"mod": "chronicle/watchlist",
|
@@ -2017,6 +2079,14 @@ _utilities.register(
|
|
2017
2079
|
"gcp:cloudids/endpoint:Endpoint": "Endpoint"
|
2018
2080
|
}
|
2019
2081
|
},
|
2082
|
+
{
|
2083
|
+
"pkg": "gcp",
|
2084
|
+
"mod": "cloudquota/sQuotaAdjusterSettings",
|
2085
|
+
"fqn": "pulumi_gcp.cloudquota",
|
2086
|
+
"classes": {
|
2087
|
+
"gcp:cloudquota/sQuotaAdjusterSettings:SQuotaAdjusterSettings": "SQuotaAdjusterSettings"
|
2088
|
+
}
|
2089
|
+
},
|
2020
2090
|
{
|
2021
2091
|
"pkg": "gcp",
|
2022
2092
|
"mod": "cloudquota/sQuotaPreference",
|
@@ -2169,6 +2239,14 @@ _utilities.register(
|
|
2169
2239
|
"gcp:cloudtasks/queueIamPolicy:QueueIamPolicy": "QueueIamPolicy"
|
2170
2240
|
}
|
2171
2241
|
},
|
2242
|
+
{
|
2243
|
+
"pkg": "gcp",
|
2244
|
+
"mod": "colab/runtimeTemplate",
|
2245
|
+
"fqn": "pulumi_gcp.colab",
|
2246
|
+
"classes": {
|
2247
|
+
"gcp:colab/runtimeTemplate:RuntimeTemplate": "RuntimeTemplate"
|
2248
|
+
}
|
2249
|
+
},
|
2172
2250
|
{
|
2173
2251
|
"pkg": "gcp",
|
2174
2252
|
"mod": "composer/environment",
|
@@ -4537,6 +4615,14 @@ _utilities.register(
|
|
4537
4615
|
"gcp:edgecontainer/vpnConnection:VpnConnection": "VpnConnection"
|
4538
4616
|
}
|
4539
4617
|
},
|
4618
|
+
{
|
4619
|
+
"pkg": "gcp",
|
4620
|
+
"mod": "edgenetwork/interconnectAttachment",
|
4621
|
+
"fqn": "pulumi_gcp.edgenetwork",
|
4622
|
+
"classes": {
|
4623
|
+
"gcp:edgenetwork/interconnectAttachment:InterconnectAttachment": "InterconnectAttachment"
|
4624
|
+
}
|
4625
|
+
},
|
4540
4626
|
{
|
4541
4627
|
"pkg": "gcp",
|
4542
4628
|
"mod": "edgenetwork/network",
|
@@ -7001,6 +7087,30 @@ _utilities.register(
|
|
7001
7087
|
"gcp:parallelstore/instance:Instance": "Instance"
|
7002
7088
|
}
|
7003
7089
|
},
|
7090
|
+
{
|
7091
|
+
"pkg": "gcp",
|
7092
|
+
"mod": "parametermanager/parameter",
|
7093
|
+
"fqn": "pulumi_gcp.parametermanager",
|
7094
|
+
"classes": {
|
7095
|
+
"gcp:parametermanager/parameter:Parameter": "Parameter"
|
7096
|
+
}
|
7097
|
+
},
|
7098
|
+
{
|
7099
|
+
"pkg": "gcp",
|
7100
|
+
"mod": "parametermanager/regionalParameter",
|
7101
|
+
"fqn": "pulumi_gcp.parametermanager",
|
7102
|
+
"classes": {
|
7103
|
+
"gcp:parametermanager/regionalParameter:RegionalParameter": "RegionalParameter"
|
7104
|
+
}
|
7105
|
+
},
|
7106
|
+
{
|
7107
|
+
"pkg": "gcp",
|
7108
|
+
"mod": "parametermanager/regionalParameterVersion",
|
7109
|
+
"fqn": "pulumi_gcp.parametermanager",
|
7110
|
+
"classes": {
|
7111
|
+
"gcp:parametermanager/regionalParameterVersion:RegionalParameterVersion": "RegionalParameterVersion"
|
7112
|
+
}
|
7113
|
+
},
|
7004
7114
|
{
|
7005
7115
|
"pkg": "gcp",
|
7006
7116
|
"mod": "privilegedaccessmanager/entitlement",
|
@@ -217,6 +217,7 @@ class AccessLevelConditionArgs:
|
|
217
217
|
class _AccessLevelConditionState:
|
218
218
|
def __init__(__self__, *,
|
219
219
|
access_level: Optional[pulumi.Input[str]] = None,
|
220
|
+
access_policy_id: Optional[pulumi.Input[str]] = None,
|
220
221
|
device_policy: Optional[pulumi.Input['AccessLevelConditionDevicePolicyArgs']] = None,
|
221
222
|
ip_subnetworks: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
222
223
|
members: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
@@ -230,6 +231,7 @@ class _AccessLevelConditionState:
|
|
230
231
|
|
231
232
|
|
232
233
|
- - -
|
234
|
+
:param pulumi.Input[str] access_policy_id: The name of the Access Policy this resource belongs to.
|
233
235
|
:param pulumi.Input['AccessLevelConditionDevicePolicyArgs'] device_policy: Device specific restrictions, all restrictions must hold for
|
234
236
|
the Condition to be true. If not specified, all devices are
|
235
237
|
allowed.
|
@@ -267,6 +269,8 @@ class _AccessLevelConditionState:
|
|
267
269
|
"""
|
268
270
|
if access_level is not None:
|
269
271
|
pulumi.set(__self__, "access_level", access_level)
|
272
|
+
if access_policy_id is not None:
|
273
|
+
pulumi.set(__self__, "access_policy_id", access_policy_id)
|
270
274
|
if device_policy is not None:
|
271
275
|
pulumi.set(__self__, "device_policy", device_policy)
|
272
276
|
if ip_subnetworks is not None:
|
@@ -297,6 +301,18 @@ class _AccessLevelConditionState:
|
|
297
301
|
def access_level(self, value: Optional[pulumi.Input[str]]):
|
298
302
|
pulumi.set(self, "access_level", value)
|
299
303
|
|
304
|
+
@property
|
305
|
+
@pulumi.getter(name="accessPolicyId")
|
306
|
+
def access_policy_id(self) -> Optional[pulumi.Input[str]]:
|
307
|
+
"""
|
308
|
+
The name of the Access Policy this resource belongs to.
|
309
|
+
"""
|
310
|
+
return pulumi.get(self, "access_policy_id")
|
311
|
+
|
312
|
+
@access_policy_id.setter
|
313
|
+
def access_policy_id(self, value: Optional[pulumi.Input[str]]):
|
314
|
+
pulumi.set(self, "access_policy_id", value)
|
315
|
+
|
300
316
|
@property
|
301
317
|
@pulumi.getter(name="devicePolicy")
|
302
318
|
def device_policy(self) -> Optional[pulumi.Input['AccessLevelConditionDevicePolicyArgs']]:
|
@@ -672,6 +688,7 @@ class AccessLevelCondition(pulumi.CustomResource):
|
|
672
688
|
__props__.__dict__["regions"] = regions
|
673
689
|
__props__.__dict__["required_access_levels"] = required_access_levels
|
674
690
|
__props__.__dict__["vpc_network_sources"] = vpc_network_sources
|
691
|
+
__props__.__dict__["access_policy_id"] = None
|
675
692
|
super(AccessLevelCondition, __self__).__init__(
|
676
693
|
'gcp:accesscontextmanager/accessLevelCondition:AccessLevelCondition',
|
677
694
|
resource_name,
|
@@ -683,6 +700,7 @@ class AccessLevelCondition(pulumi.CustomResource):
|
|
683
700
|
id: pulumi.Input[str],
|
684
701
|
opts: Optional[pulumi.ResourceOptions] = None,
|
685
702
|
access_level: Optional[pulumi.Input[str]] = None,
|
703
|
+
access_policy_id: Optional[pulumi.Input[str]] = None,
|
686
704
|
device_policy: Optional[pulumi.Input[Union['AccessLevelConditionDevicePolicyArgs', 'AccessLevelConditionDevicePolicyArgsDict']]] = None,
|
687
705
|
ip_subnetworks: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
688
706
|
members: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
@@ -701,6 +719,7 @@ class AccessLevelCondition(pulumi.CustomResource):
|
|
701
719
|
|
702
720
|
|
703
721
|
- - -
|
722
|
+
:param pulumi.Input[str] access_policy_id: The name of the Access Policy this resource belongs to.
|
704
723
|
:param pulumi.Input[Union['AccessLevelConditionDevicePolicyArgs', 'AccessLevelConditionDevicePolicyArgsDict']] device_policy: Device specific restrictions, all restrictions must hold for
|
705
724
|
the Condition to be true. If not specified, all devices are
|
706
725
|
allowed.
|
@@ -741,6 +760,7 @@ class AccessLevelCondition(pulumi.CustomResource):
|
|
741
760
|
__props__ = _AccessLevelConditionState.__new__(_AccessLevelConditionState)
|
742
761
|
|
743
762
|
__props__.__dict__["access_level"] = access_level
|
763
|
+
__props__.__dict__["access_policy_id"] = access_policy_id
|
744
764
|
__props__.__dict__["device_policy"] = device_policy
|
745
765
|
__props__.__dict__["ip_subnetworks"] = ip_subnetworks
|
746
766
|
__props__.__dict__["members"] = members
|
@@ -761,6 +781,14 @@ class AccessLevelCondition(pulumi.CustomResource):
|
|
761
781
|
"""
|
762
782
|
return pulumi.get(self, "access_level")
|
763
783
|
|
784
|
+
@property
|
785
|
+
@pulumi.getter(name="accessPolicyId")
|
786
|
+
def access_policy_id(self) -> pulumi.Output[str]:
|
787
|
+
"""
|
788
|
+
The name of the Access Policy this resource belongs to.
|
789
|
+
"""
|
790
|
+
return pulumi.get(self, "access_policy_id")
|
791
|
+
|
764
792
|
@property
|
765
793
|
@pulumi.getter(name="devicePolicy")
|
766
794
|
def device_policy(self) -> pulumi.Output[Optional['outputs.AccessLevelConditionDevicePolicy']]:
|
@@ -63,21 +63,37 @@ class EgressPolicyArgs:
|
|
63
63
|
@pulumi.input_type
|
64
64
|
class _EgressPolicyState:
|
65
65
|
def __init__(__self__, *,
|
66
|
+
access_policy_id: Optional[pulumi.Input[str]] = None,
|
66
67
|
egress_policy_name: Optional[pulumi.Input[str]] = None,
|
67
68
|
resource: Optional[pulumi.Input[str]] = None):
|
68
69
|
"""
|
69
70
|
Input properties used for looking up and filtering EgressPolicy resources.
|
71
|
+
:param pulumi.Input[str] access_policy_id: The name of the Access Policy this resource belongs to.
|
70
72
|
:param pulumi.Input[str] egress_policy_name: The name of the Service Perimeter to add this resource to.
|
71
73
|
|
72
74
|
|
73
75
|
- - -
|
74
76
|
:param pulumi.Input[str] resource: A GCP resource that is inside of the service perimeter.
|
75
77
|
"""
|
78
|
+
if access_policy_id is not None:
|
79
|
+
pulumi.set(__self__, "access_policy_id", access_policy_id)
|
76
80
|
if egress_policy_name is not None:
|
77
81
|
pulumi.set(__self__, "egress_policy_name", egress_policy_name)
|
78
82
|
if resource is not None:
|
79
83
|
pulumi.set(__self__, "resource", resource)
|
80
84
|
|
85
|
+
@property
|
86
|
+
@pulumi.getter(name="accessPolicyId")
|
87
|
+
def access_policy_id(self) -> Optional[pulumi.Input[str]]:
|
88
|
+
"""
|
89
|
+
The name of the Access Policy this resource belongs to.
|
90
|
+
"""
|
91
|
+
return pulumi.get(self, "access_policy_id")
|
92
|
+
|
93
|
+
@access_policy_id.setter
|
94
|
+
def access_policy_id(self, value: Optional[pulumi.Input[str]]):
|
95
|
+
pulumi.set(self, "access_policy_id", value)
|
96
|
+
|
81
97
|
@property
|
82
98
|
@pulumi.getter(name="egressPolicyName")
|
83
99
|
def egress_policy_name(self) -> Optional[pulumi.Input[str]]:
|
@@ -198,6 +214,7 @@ class EgressPolicy(pulumi.CustomResource):
|
|
198
214
|
if resource is None and not opts.urn:
|
199
215
|
raise TypeError("Missing required property 'resource'")
|
200
216
|
__props__.__dict__["resource"] = resource
|
217
|
+
__props__.__dict__["access_policy_id"] = None
|
201
218
|
super(EgressPolicy, __self__).__init__(
|
202
219
|
'gcp:accesscontextmanager/egressPolicy:EgressPolicy',
|
203
220
|
resource_name,
|
@@ -208,6 +225,7 @@ class EgressPolicy(pulumi.CustomResource):
|
|
208
225
|
def get(resource_name: str,
|
209
226
|
id: pulumi.Input[str],
|
210
227
|
opts: Optional[pulumi.ResourceOptions] = None,
|
228
|
+
access_policy_id: Optional[pulumi.Input[str]] = None,
|
211
229
|
egress_policy_name: Optional[pulumi.Input[str]] = None,
|
212
230
|
resource: Optional[pulumi.Input[str]] = None) -> 'EgressPolicy':
|
213
231
|
"""
|
@@ -217,6 +235,7 @@ class EgressPolicy(pulumi.CustomResource):
|
|
217
235
|
:param str resource_name: The unique name of the resulting resource.
|
218
236
|
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
219
237
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
238
|
+
:param pulumi.Input[str] access_policy_id: The name of the Access Policy this resource belongs to.
|
220
239
|
:param pulumi.Input[str] egress_policy_name: The name of the Service Perimeter to add this resource to.
|
221
240
|
|
222
241
|
|
@@ -227,10 +246,19 @@ class EgressPolicy(pulumi.CustomResource):
|
|
227
246
|
|
228
247
|
__props__ = _EgressPolicyState.__new__(_EgressPolicyState)
|
229
248
|
|
249
|
+
__props__.__dict__["access_policy_id"] = access_policy_id
|
230
250
|
__props__.__dict__["egress_policy_name"] = egress_policy_name
|
231
251
|
__props__.__dict__["resource"] = resource
|
232
252
|
return EgressPolicy(resource_name, opts=opts, __props__=__props__)
|
233
253
|
|
254
|
+
@property
|
255
|
+
@pulumi.getter(name="accessPolicyId")
|
256
|
+
def access_policy_id(self) -> pulumi.Output[str]:
|
257
|
+
"""
|
258
|
+
The name of the Access Policy this resource belongs to.
|
259
|
+
"""
|
260
|
+
return pulumi.get(self, "access_policy_id")
|
261
|
+
|
234
262
|
@property
|
235
263
|
@pulumi.getter(name="egressPolicyName")
|
236
264
|
def egress_policy_name(self) -> pulumi.Output[str]:
|
@@ -63,21 +63,37 @@ class IngressPolicyArgs:
|
|
63
63
|
@pulumi.input_type
|
64
64
|
class _IngressPolicyState:
|
65
65
|
def __init__(__self__, *,
|
66
|
+
access_policy_id: Optional[pulumi.Input[str]] = None,
|
66
67
|
ingress_policy_name: Optional[pulumi.Input[str]] = None,
|
67
68
|
resource: Optional[pulumi.Input[str]] = None):
|
68
69
|
"""
|
69
70
|
Input properties used for looking up and filtering IngressPolicy resources.
|
71
|
+
:param pulumi.Input[str] access_policy_id: The name of the Access Policy this resource belongs to.
|
70
72
|
:param pulumi.Input[str] ingress_policy_name: The name of the Service Perimeter to add this resource to.
|
71
73
|
|
72
74
|
|
73
75
|
- - -
|
74
76
|
:param pulumi.Input[str] resource: A GCP resource that is inside of the service perimeter.
|
75
77
|
"""
|
78
|
+
if access_policy_id is not None:
|
79
|
+
pulumi.set(__self__, "access_policy_id", access_policy_id)
|
76
80
|
if ingress_policy_name is not None:
|
77
81
|
pulumi.set(__self__, "ingress_policy_name", ingress_policy_name)
|
78
82
|
if resource is not None:
|
79
83
|
pulumi.set(__self__, "resource", resource)
|
80
84
|
|
85
|
+
@property
|
86
|
+
@pulumi.getter(name="accessPolicyId")
|
87
|
+
def access_policy_id(self) -> Optional[pulumi.Input[str]]:
|
88
|
+
"""
|
89
|
+
The name of the Access Policy this resource belongs to.
|
90
|
+
"""
|
91
|
+
return pulumi.get(self, "access_policy_id")
|
92
|
+
|
93
|
+
@access_policy_id.setter
|
94
|
+
def access_policy_id(self, value: Optional[pulumi.Input[str]]):
|
95
|
+
pulumi.set(self, "access_policy_id", value)
|
96
|
+
|
81
97
|
@property
|
82
98
|
@pulumi.getter(name="ingressPolicyName")
|
83
99
|
def ingress_policy_name(self) -> Optional[pulumi.Input[str]]:
|
@@ -198,6 +214,7 @@ class IngressPolicy(pulumi.CustomResource):
|
|
198
214
|
if resource is None and not opts.urn:
|
199
215
|
raise TypeError("Missing required property 'resource'")
|
200
216
|
__props__.__dict__["resource"] = resource
|
217
|
+
__props__.__dict__["access_policy_id"] = None
|
201
218
|
super(IngressPolicy, __self__).__init__(
|
202
219
|
'gcp:accesscontextmanager/ingressPolicy:IngressPolicy',
|
203
220
|
resource_name,
|
@@ -208,6 +225,7 @@ class IngressPolicy(pulumi.CustomResource):
|
|
208
225
|
def get(resource_name: str,
|
209
226
|
id: pulumi.Input[str],
|
210
227
|
opts: Optional[pulumi.ResourceOptions] = None,
|
228
|
+
access_policy_id: Optional[pulumi.Input[str]] = None,
|
211
229
|
ingress_policy_name: Optional[pulumi.Input[str]] = None,
|
212
230
|
resource: Optional[pulumi.Input[str]] = None) -> 'IngressPolicy':
|
213
231
|
"""
|
@@ -217,6 +235,7 @@ class IngressPolicy(pulumi.CustomResource):
|
|
217
235
|
:param str resource_name: The unique name of the resulting resource.
|
218
236
|
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
219
237
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
238
|
+
:param pulumi.Input[str] access_policy_id: The name of the Access Policy this resource belongs to.
|
220
239
|
:param pulumi.Input[str] ingress_policy_name: The name of the Service Perimeter to add this resource to.
|
221
240
|
|
222
241
|
|
@@ -227,10 +246,19 @@ class IngressPolicy(pulumi.CustomResource):
|
|
227
246
|
|
228
247
|
__props__ = _IngressPolicyState.__new__(_IngressPolicyState)
|
229
248
|
|
249
|
+
__props__.__dict__["access_policy_id"] = access_policy_id
|
230
250
|
__props__.__dict__["ingress_policy_name"] = ingress_policy_name
|
231
251
|
__props__.__dict__["resource"] = resource
|
232
252
|
return IngressPolicy(resource_name, opts=opts, __props__=__props__)
|
233
253
|
|
254
|
+
@property
|
255
|
+
@pulumi.getter(name="accessPolicyId")
|
256
|
+
def access_policy_id(self) -> pulumi.Output[str]:
|
257
|
+
"""
|
258
|
+
The name of the Access Policy this resource belongs to.
|
259
|
+
"""
|
260
|
+
return pulumi.get(self, "access_policy_id")
|
261
|
+
|
234
262
|
@property
|
235
263
|
@pulumi.getter(name="ingressPolicyName")
|
236
264
|
def ingress_policy_name(self) -> pulumi.Output[str]:
|
@@ -88,11 +88,13 @@ class ServicePerimeterDryRunEgressPolicyArgs:
|
|
88
88
|
@pulumi.input_type
|
89
89
|
class _ServicePerimeterDryRunEgressPolicyState:
|
90
90
|
def __init__(__self__, *,
|
91
|
+
access_policy_id: Optional[pulumi.Input[str]] = None,
|
91
92
|
egress_from: Optional[pulumi.Input['ServicePerimeterDryRunEgressPolicyEgressFromArgs']] = None,
|
92
93
|
egress_to: Optional[pulumi.Input['ServicePerimeterDryRunEgressPolicyEgressToArgs']] = None,
|
93
94
|
perimeter: Optional[pulumi.Input[str]] = None):
|
94
95
|
"""
|
95
96
|
Input properties used for looking up and filtering ServicePerimeterDryRunEgressPolicy resources.
|
97
|
+
:param pulumi.Input[str] access_policy_id: The name of the Access Policy this resource belongs to.
|
96
98
|
:param pulumi.Input['ServicePerimeterDryRunEgressPolicyEgressFromArgs'] egress_from: Defines conditions on the source of a request causing this `EgressPolicy` to apply.
|
97
99
|
Structure is documented below.
|
98
100
|
:param pulumi.Input['ServicePerimeterDryRunEgressPolicyEgressToArgs'] egress_to: Defines the conditions on the `ApiOperation` and destination resources that
|
@@ -103,6 +105,8 @@ class _ServicePerimeterDryRunEgressPolicyState:
|
|
103
105
|
|
104
106
|
- - -
|
105
107
|
"""
|
108
|
+
if access_policy_id is not None:
|
109
|
+
pulumi.set(__self__, "access_policy_id", access_policy_id)
|
106
110
|
if egress_from is not None:
|
107
111
|
pulumi.set(__self__, "egress_from", egress_from)
|
108
112
|
if egress_to is not None:
|
@@ -110,6 +114,18 @@ class _ServicePerimeterDryRunEgressPolicyState:
|
|
110
114
|
if perimeter is not None:
|
111
115
|
pulumi.set(__self__, "perimeter", perimeter)
|
112
116
|
|
117
|
+
@property
|
118
|
+
@pulumi.getter(name="accessPolicyId")
|
119
|
+
def access_policy_id(self) -> Optional[pulumi.Input[str]]:
|
120
|
+
"""
|
121
|
+
The name of the Access Policy this resource belongs to.
|
122
|
+
"""
|
123
|
+
return pulumi.get(self, "access_policy_id")
|
124
|
+
|
125
|
+
@access_policy_id.setter
|
126
|
+
def access_policy_id(self, value: Optional[pulumi.Input[str]]):
|
127
|
+
pulumi.set(self, "access_policy_id", value)
|
128
|
+
|
113
129
|
@property
|
114
130
|
@pulumi.getter(name="egressFrom")
|
115
131
|
def egress_from(self) -> Optional[pulumi.Input['ServicePerimeterDryRunEgressPolicyEgressFromArgs']]:
|
@@ -262,6 +278,7 @@ class ServicePerimeterDryRunEgressPolicy(pulumi.CustomResource):
|
|
262
278
|
if perimeter is None and not opts.urn:
|
263
279
|
raise TypeError("Missing required property 'perimeter'")
|
264
280
|
__props__.__dict__["perimeter"] = perimeter
|
281
|
+
__props__.__dict__["access_policy_id"] = None
|
265
282
|
super(ServicePerimeterDryRunEgressPolicy, __self__).__init__(
|
266
283
|
'gcp:accesscontextmanager/servicePerimeterDryRunEgressPolicy:ServicePerimeterDryRunEgressPolicy',
|
267
284
|
resource_name,
|
@@ -272,6 +289,7 @@ class ServicePerimeterDryRunEgressPolicy(pulumi.CustomResource):
|
|
272
289
|
def get(resource_name: str,
|
273
290
|
id: pulumi.Input[str],
|
274
291
|
opts: Optional[pulumi.ResourceOptions] = None,
|
292
|
+
access_policy_id: Optional[pulumi.Input[str]] = None,
|
275
293
|
egress_from: Optional[pulumi.Input[Union['ServicePerimeterDryRunEgressPolicyEgressFromArgs', 'ServicePerimeterDryRunEgressPolicyEgressFromArgsDict']]] = None,
|
276
294
|
egress_to: Optional[pulumi.Input[Union['ServicePerimeterDryRunEgressPolicyEgressToArgs', 'ServicePerimeterDryRunEgressPolicyEgressToArgsDict']]] = None,
|
277
295
|
perimeter: Optional[pulumi.Input[str]] = None) -> 'ServicePerimeterDryRunEgressPolicy':
|
@@ -282,6 +300,7 @@ class ServicePerimeterDryRunEgressPolicy(pulumi.CustomResource):
|
|
282
300
|
:param str resource_name: The unique name of the resulting resource.
|
283
301
|
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
284
302
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
303
|
+
:param pulumi.Input[str] access_policy_id: The name of the Access Policy this resource belongs to.
|
285
304
|
:param pulumi.Input[Union['ServicePerimeterDryRunEgressPolicyEgressFromArgs', 'ServicePerimeterDryRunEgressPolicyEgressFromArgsDict']] egress_from: Defines conditions on the source of a request causing this `EgressPolicy` to apply.
|
286
305
|
Structure is documented below.
|
287
306
|
:param pulumi.Input[Union['ServicePerimeterDryRunEgressPolicyEgressToArgs', 'ServicePerimeterDryRunEgressPolicyEgressToArgsDict']] egress_to: Defines the conditions on the `ApiOperation` and destination resources that
|
@@ -296,11 +315,20 @@ class ServicePerimeterDryRunEgressPolicy(pulumi.CustomResource):
|
|
296
315
|
|
297
316
|
__props__ = _ServicePerimeterDryRunEgressPolicyState.__new__(_ServicePerimeterDryRunEgressPolicyState)
|
298
317
|
|
318
|
+
__props__.__dict__["access_policy_id"] = access_policy_id
|
299
319
|
__props__.__dict__["egress_from"] = egress_from
|
300
320
|
__props__.__dict__["egress_to"] = egress_to
|
301
321
|
__props__.__dict__["perimeter"] = perimeter
|
302
322
|
return ServicePerimeterDryRunEgressPolicy(resource_name, opts=opts, __props__=__props__)
|
303
323
|
|
324
|
+
@property
|
325
|
+
@pulumi.getter(name="accessPolicyId")
|
326
|
+
def access_policy_id(self) -> pulumi.Output[str]:
|
327
|
+
"""
|
328
|
+
The name of the Access Policy this resource belongs to.
|
329
|
+
"""
|
330
|
+
return pulumi.get(self, "access_policy_id")
|
331
|
+
|
304
332
|
@property
|
305
333
|
@pulumi.getter(name="egressFrom")
|
306
334
|
def egress_from(self) -> pulumi.Output[Optional['outputs.ServicePerimeterDryRunEgressPolicyEgressFrom']]:
|
@@ -90,11 +90,13 @@ class ServicePerimeterDryRunIngressPolicyArgs:
|
|
90
90
|
@pulumi.input_type
|
91
91
|
class _ServicePerimeterDryRunIngressPolicyState:
|
92
92
|
def __init__(__self__, *,
|
93
|
+
access_policy_id: Optional[pulumi.Input[str]] = None,
|
93
94
|
ingress_from: Optional[pulumi.Input['ServicePerimeterDryRunIngressPolicyIngressFromArgs']] = None,
|
94
95
|
ingress_to: Optional[pulumi.Input['ServicePerimeterDryRunIngressPolicyIngressToArgs']] = None,
|
95
96
|
perimeter: Optional[pulumi.Input[str]] = None):
|
96
97
|
"""
|
97
98
|
Input properties used for looking up and filtering ServicePerimeterDryRunIngressPolicy resources.
|
99
|
+
:param pulumi.Input[str] access_policy_id: The name of the Access Policy this resource belongs to.
|
98
100
|
:param pulumi.Input['ServicePerimeterDryRunIngressPolicyIngressFromArgs'] ingress_from: Defines the conditions on the source of a request causing this `IngressPolicy`
|
99
101
|
to apply.
|
100
102
|
Structure is documented below.
|
@@ -106,6 +108,8 @@ class _ServicePerimeterDryRunIngressPolicyState:
|
|
106
108
|
|
107
109
|
- - -
|
108
110
|
"""
|
111
|
+
if access_policy_id is not None:
|
112
|
+
pulumi.set(__self__, "access_policy_id", access_policy_id)
|
109
113
|
if ingress_from is not None:
|
110
114
|
pulumi.set(__self__, "ingress_from", ingress_from)
|
111
115
|
if ingress_to is not None:
|
@@ -113,6 +117,18 @@ class _ServicePerimeterDryRunIngressPolicyState:
|
|
113
117
|
if perimeter is not None:
|
114
118
|
pulumi.set(__self__, "perimeter", perimeter)
|
115
119
|
|
120
|
+
@property
|
121
|
+
@pulumi.getter(name="accessPolicyId")
|
122
|
+
def access_policy_id(self) -> Optional[pulumi.Input[str]]:
|
123
|
+
"""
|
124
|
+
The name of the Access Policy this resource belongs to.
|
125
|
+
"""
|
126
|
+
return pulumi.get(self, "access_policy_id")
|
127
|
+
|
128
|
+
@access_policy_id.setter
|
129
|
+
def access_policy_id(self, value: Optional[pulumi.Input[str]]):
|
130
|
+
pulumi.set(self, "access_policy_id", value)
|
131
|
+
|
116
132
|
@property
|
117
133
|
@pulumi.getter(name="ingressFrom")
|
118
134
|
def ingress_from(self) -> Optional[pulumi.Input['ServicePerimeterDryRunIngressPolicyIngressFromArgs']]:
|
@@ -269,6 +285,7 @@ class ServicePerimeterDryRunIngressPolicy(pulumi.CustomResource):
|
|
269
285
|
if perimeter is None and not opts.urn:
|
270
286
|
raise TypeError("Missing required property 'perimeter'")
|
271
287
|
__props__.__dict__["perimeter"] = perimeter
|
288
|
+
__props__.__dict__["access_policy_id"] = None
|
272
289
|
super(ServicePerimeterDryRunIngressPolicy, __self__).__init__(
|
273
290
|
'gcp:accesscontextmanager/servicePerimeterDryRunIngressPolicy:ServicePerimeterDryRunIngressPolicy',
|
274
291
|
resource_name,
|
@@ -279,6 +296,7 @@ class ServicePerimeterDryRunIngressPolicy(pulumi.CustomResource):
|
|
279
296
|
def get(resource_name: str,
|
280
297
|
id: pulumi.Input[str],
|
281
298
|
opts: Optional[pulumi.ResourceOptions] = None,
|
299
|
+
access_policy_id: Optional[pulumi.Input[str]] = None,
|
282
300
|
ingress_from: Optional[pulumi.Input[Union['ServicePerimeterDryRunIngressPolicyIngressFromArgs', 'ServicePerimeterDryRunIngressPolicyIngressFromArgsDict']]] = None,
|
283
301
|
ingress_to: Optional[pulumi.Input[Union['ServicePerimeterDryRunIngressPolicyIngressToArgs', 'ServicePerimeterDryRunIngressPolicyIngressToArgsDict']]] = None,
|
284
302
|
perimeter: Optional[pulumi.Input[str]] = None) -> 'ServicePerimeterDryRunIngressPolicy':
|
@@ -289,6 +307,7 @@ class ServicePerimeterDryRunIngressPolicy(pulumi.CustomResource):
|
|
289
307
|
:param str resource_name: The unique name of the resulting resource.
|
290
308
|
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
291
309
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
310
|
+
:param pulumi.Input[str] access_policy_id: The name of the Access Policy this resource belongs to.
|
292
311
|
:param pulumi.Input[Union['ServicePerimeterDryRunIngressPolicyIngressFromArgs', 'ServicePerimeterDryRunIngressPolicyIngressFromArgsDict']] ingress_from: Defines the conditions on the source of a request causing this `IngressPolicy`
|
293
312
|
to apply.
|
294
313
|
Structure is documented below.
|
@@ -304,11 +323,20 @@ class ServicePerimeterDryRunIngressPolicy(pulumi.CustomResource):
|
|
304
323
|
|
305
324
|
__props__ = _ServicePerimeterDryRunIngressPolicyState.__new__(_ServicePerimeterDryRunIngressPolicyState)
|
306
325
|
|
326
|
+
__props__.__dict__["access_policy_id"] = access_policy_id
|
307
327
|
__props__.__dict__["ingress_from"] = ingress_from
|
308
328
|
__props__.__dict__["ingress_to"] = ingress_to
|
309
329
|
__props__.__dict__["perimeter"] = perimeter
|
310
330
|
return ServicePerimeterDryRunIngressPolicy(resource_name, opts=opts, __props__=__props__)
|
311
331
|
|
332
|
+
@property
|
333
|
+
@pulumi.getter(name="accessPolicyId")
|
334
|
+
def access_policy_id(self) -> pulumi.Output[str]:
|
335
|
+
"""
|
336
|
+
The name of the Access Policy this resource belongs to.
|
337
|
+
"""
|
338
|
+
return pulumi.get(self, "access_policy_id")
|
339
|
+
|
312
340
|
@property
|
313
341
|
@pulumi.getter(name="ingressFrom")
|
314
342
|
def ingress_from(self) -> pulumi.Output[Optional['outputs.ServicePerimeterDryRunIngressPolicyIngressFrom']]:
|