pulumi-gcp 8.3.1a1727284265__py3-none-any.whl → 8.4.0a1727795436__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pulumi_gcp/__init__.py +24 -0
- pulumi_gcp/apigee/nat_address.py +155 -2
- pulumi_gcp/bigquery/_inputs.py +102 -0
- pulumi_gcp/bigquery/outputs.py +83 -0
- pulumi_gcp/bigquery/table.py +47 -0
- pulumi_gcp/cloudrun/_inputs.py +26 -0
- pulumi_gcp/cloudrun/outputs.py +33 -0
- pulumi_gcp/cloudrun/service.py +76 -0
- pulumi_gcp/cloudrunv2/_inputs.py +65 -9
- pulumi_gcp/cloudrunv2/outputs.py +73 -8
- pulumi_gcp/cloudrunv2/service.py +64 -0
- pulumi_gcp/compute/__init__.py +3 -0
- pulumi_gcp/compute/_inputs.py +1941 -2
- pulumi_gcp/compute/get_region_instance_group_manager.py +438 -0
- pulumi_gcp/compute/get_router_nat.py +11 -1
- pulumi_gcp/compute/instance.py +7 -7
- pulumi_gcp/compute/instance_from_machine_image.py +7 -7
- pulumi_gcp/compute/instance_from_template.py +7 -7
- pulumi_gcp/compute/interconnect.py +76 -64
- pulumi_gcp/compute/outputs.py +4637 -2640
- pulumi_gcp/compute/region_commitment.py +47 -0
- pulumi_gcp/compute/region_network_firewall_policy_with_rules.py +835 -0
- pulumi_gcp/compute/router_nat.py +56 -2
- pulumi_gcp/compute/router_nat_address.py +514 -0
- pulumi_gcp/compute/subnetwork.py +14 -14
- pulumi_gcp/container/_inputs.py +222 -0
- pulumi_gcp/container/outputs.py +279 -2
- pulumi_gcp/logging/__init__.py +1 -0
- pulumi_gcp/logging/log_scope.py +492 -0
- pulumi_gcp/looker/_inputs.py +157 -0
- pulumi_gcp/looker/instance.py +143 -0
- pulumi_gcp/looker/outputs.py +136 -0
- pulumi_gcp/networkconnectivity/_inputs.py +72 -3
- pulumi_gcp/networkconnectivity/outputs.py +51 -3
- pulumi_gcp/networkconnectivity/spoke.py +310 -0
- pulumi_gcp/networksecurity/security_profile.py +2 -2
- pulumi_gcp/privilegedaccessmanager/__init__.py +1 -0
- pulumi_gcp/privilegedaccessmanager/get_entitlement.py +219 -0
- pulumi_gcp/privilegedaccessmanager/outputs.py +312 -0
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/secretmanager/__init__.py +2 -0
- pulumi_gcp/secretmanager/get_regional_secret_version.py +2 -2
- pulumi_gcp/secretmanager/get_regional_secret_version_access.py +188 -0
- pulumi_gcp/secretmanager/get_regional_secrets.py +156 -0
- pulumi_gcp/secretmanager/outputs.py +265 -0
- {pulumi_gcp-8.3.1a1727284265.dist-info → pulumi_gcp-8.4.0a1727795436.dist-info}/METADATA +1 -1
- {pulumi_gcp-8.3.1a1727284265.dist-info → pulumi_gcp-8.4.0a1727795436.dist-info}/RECORD +49 -42
- {pulumi_gcp-8.3.1a1727284265.dist-info → pulumi_gcp-8.4.0a1727795436.dist-info}/WHEEL +0 -0
- {pulumi_gcp-8.3.1a1727284265.dist-info → pulumi_gcp-8.4.0a1727795436.dist-info}/top_level.txt +0 -0
pulumi_gcp/compute/_inputs.py
CHANGED
@@ -653,6 +653,26 @@ __all__ = [
|
|
653
653
|
'RegionNetworkFirewallPolicyRuleMatchSrcSecureTagArgsDict',
|
654
654
|
'RegionNetworkFirewallPolicyRuleTargetSecureTagArgs',
|
655
655
|
'RegionNetworkFirewallPolicyRuleTargetSecureTagArgsDict',
|
656
|
+
'RegionNetworkFirewallPolicyWithRulesPredefinedRuleArgs',
|
657
|
+
'RegionNetworkFirewallPolicyWithRulesPredefinedRuleArgsDict',
|
658
|
+
'RegionNetworkFirewallPolicyWithRulesPredefinedRuleMatchArgs',
|
659
|
+
'RegionNetworkFirewallPolicyWithRulesPredefinedRuleMatchArgsDict',
|
660
|
+
'RegionNetworkFirewallPolicyWithRulesPredefinedRuleMatchLayer4ConfigArgs',
|
661
|
+
'RegionNetworkFirewallPolicyWithRulesPredefinedRuleMatchLayer4ConfigArgsDict',
|
662
|
+
'RegionNetworkFirewallPolicyWithRulesPredefinedRuleMatchSrcSecureTagArgs',
|
663
|
+
'RegionNetworkFirewallPolicyWithRulesPredefinedRuleMatchSrcSecureTagArgsDict',
|
664
|
+
'RegionNetworkFirewallPolicyWithRulesPredefinedRuleTargetSecureTagArgs',
|
665
|
+
'RegionNetworkFirewallPolicyWithRulesPredefinedRuleTargetSecureTagArgsDict',
|
666
|
+
'RegionNetworkFirewallPolicyWithRulesRuleArgs',
|
667
|
+
'RegionNetworkFirewallPolicyWithRulesRuleArgsDict',
|
668
|
+
'RegionNetworkFirewallPolicyWithRulesRuleMatchArgs',
|
669
|
+
'RegionNetworkFirewallPolicyWithRulesRuleMatchArgsDict',
|
670
|
+
'RegionNetworkFirewallPolicyWithRulesRuleMatchLayer4ConfigArgs',
|
671
|
+
'RegionNetworkFirewallPolicyWithRulesRuleMatchLayer4ConfigArgsDict',
|
672
|
+
'RegionNetworkFirewallPolicyWithRulesRuleMatchSrcSecureTagArgs',
|
673
|
+
'RegionNetworkFirewallPolicyWithRulesRuleMatchSrcSecureTagArgsDict',
|
674
|
+
'RegionNetworkFirewallPolicyWithRulesRuleTargetSecureTagArgs',
|
675
|
+
'RegionNetworkFirewallPolicyWithRulesRuleTargetSecureTagArgsDict',
|
656
676
|
'RegionPerInstanceConfigPreservedStateArgs',
|
657
677
|
'RegionPerInstanceConfigPreservedStateArgsDict',
|
658
678
|
'RegionPerInstanceConfigPreservedStateDiskArgs',
|
@@ -12037,6 +12057,10 @@ if not MYPY:
|
|
12037
12057
|
"""
|
12038
12058
|
Specifies if the instance should be restarted if it was terminated by Compute Engine (not a user).
|
12039
12059
|
"""
|
12060
|
+
host_error_timeout_seconds: NotRequired[pulumi.Input[int]]
|
12061
|
+
"""
|
12062
|
+
Specify the time in seconds for host error detection, the value must be within the range of [90, 330] with the increment of 30, if unset, the default behavior of host error recovery will be used.
|
12063
|
+
"""
|
12040
12064
|
instance_termination_action: NotRequired[pulumi.Input[str]]
|
12041
12065
|
"""
|
12042
12066
|
Specifies the action GCE should take when SPOT VM is preempted.
|
@@ -12084,6 +12108,7 @@ elif False:
|
|
12084
12108
|
class InstanceFromMachineImageSchedulingArgs:
|
12085
12109
|
def __init__(__self__, *,
|
12086
12110
|
automatic_restart: Optional[pulumi.Input[bool]] = None,
|
12111
|
+
host_error_timeout_seconds: Optional[pulumi.Input[int]] = None,
|
12087
12112
|
instance_termination_action: Optional[pulumi.Input[str]] = None,
|
12088
12113
|
local_ssd_recovery_timeout: Optional[pulumi.Input['InstanceFromMachineImageSchedulingLocalSsdRecoveryTimeoutArgs']] = None,
|
12089
12114
|
maintenance_interval: Optional[pulumi.Input[str]] = None,
|
@@ -12096,6 +12121,7 @@ class InstanceFromMachineImageSchedulingArgs:
|
|
12096
12121
|
provisioning_model: Optional[pulumi.Input[str]] = None):
|
12097
12122
|
"""
|
12098
12123
|
:param pulumi.Input[bool] automatic_restart: Specifies if the instance should be restarted if it was terminated by Compute Engine (not a user).
|
12124
|
+
:param pulumi.Input[int] host_error_timeout_seconds: Specify the time in seconds for host error detection, the value must be within the range of [90, 330] with the increment of 30, if unset, the default behavior of host error recovery will be used.
|
12099
12125
|
:param pulumi.Input[str] instance_termination_action: Specifies the action GCE should take when SPOT VM is preempted.
|
12100
12126
|
:param pulumi.Input['InstanceFromMachineImageSchedulingLocalSsdRecoveryTimeoutArgs'] local_ssd_recovery_timeout: Specifies the maximum amount of time a Local Ssd Vm should wait while
|
12101
12127
|
recovery of the Local Ssd state is attempted. Its value should be in
|
@@ -12111,6 +12137,8 @@ class InstanceFromMachineImageSchedulingArgs:
|
|
12111
12137
|
"""
|
12112
12138
|
if automatic_restart is not None:
|
12113
12139
|
pulumi.set(__self__, "automatic_restart", automatic_restart)
|
12140
|
+
if host_error_timeout_seconds is not None:
|
12141
|
+
pulumi.set(__self__, "host_error_timeout_seconds", host_error_timeout_seconds)
|
12114
12142
|
if instance_termination_action is not None:
|
12115
12143
|
pulumi.set(__self__, "instance_termination_action", instance_termination_action)
|
12116
12144
|
if local_ssd_recovery_timeout is not None:
|
@@ -12144,6 +12172,18 @@ class InstanceFromMachineImageSchedulingArgs:
|
|
12144
12172
|
def automatic_restart(self, value: Optional[pulumi.Input[bool]]):
|
12145
12173
|
pulumi.set(self, "automatic_restart", value)
|
12146
12174
|
|
12175
|
+
@property
|
12176
|
+
@pulumi.getter(name="hostErrorTimeoutSeconds")
|
12177
|
+
def host_error_timeout_seconds(self) -> Optional[pulumi.Input[int]]:
|
12178
|
+
"""
|
12179
|
+
Specify the time in seconds for host error detection, the value must be within the range of [90, 330] with the increment of 30, if unset, the default behavior of host error recovery will be used.
|
12180
|
+
"""
|
12181
|
+
return pulumi.get(self, "host_error_timeout_seconds")
|
12182
|
+
|
12183
|
+
@host_error_timeout_seconds.setter
|
12184
|
+
def host_error_timeout_seconds(self, value: Optional[pulumi.Input[int]]):
|
12185
|
+
pulumi.set(self, "host_error_timeout_seconds", value)
|
12186
|
+
|
12147
12187
|
@property
|
12148
12188
|
@pulumi.getter(name="instanceTerminationAction")
|
12149
12189
|
def instance_termination_action(self) -> Optional[pulumi.Input[str]]:
|
@@ -14163,6 +14203,10 @@ if not MYPY:
|
|
14163
14203
|
"""
|
14164
14204
|
Specifies if the instance should be restarted if it was terminated by Compute Engine (not a user).
|
14165
14205
|
"""
|
14206
|
+
host_error_timeout_seconds: NotRequired[pulumi.Input[int]]
|
14207
|
+
"""
|
14208
|
+
Specify the time in seconds for host error detection, the value must be within the range of [90, 330] with the increment of 30, if unset, the default behavior of host error recovery will be used.
|
14209
|
+
"""
|
14166
14210
|
instance_termination_action: NotRequired[pulumi.Input[str]]
|
14167
14211
|
"""
|
14168
14212
|
Specifies the action GCE should take when SPOT VM is preempted.
|
@@ -14210,6 +14254,7 @@ elif False:
|
|
14210
14254
|
class InstanceFromTemplateSchedulingArgs:
|
14211
14255
|
def __init__(__self__, *,
|
14212
14256
|
automatic_restart: Optional[pulumi.Input[bool]] = None,
|
14257
|
+
host_error_timeout_seconds: Optional[pulumi.Input[int]] = None,
|
14213
14258
|
instance_termination_action: Optional[pulumi.Input[str]] = None,
|
14214
14259
|
local_ssd_recovery_timeout: Optional[pulumi.Input['InstanceFromTemplateSchedulingLocalSsdRecoveryTimeoutArgs']] = None,
|
14215
14260
|
maintenance_interval: Optional[pulumi.Input[str]] = None,
|
@@ -14222,6 +14267,7 @@ class InstanceFromTemplateSchedulingArgs:
|
|
14222
14267
|
provisioning_model: Optional[pulumi.Input[str]] = None):
|
14223
14268
|
"""
|
14224
14269
|
:param pulumi.Input[bool] automatic_restart: Specifies if the instance should be restarted if it was terminated by Compute Engine (not a user).
|
14270
|
+
:param pulumi.Input[int] host_error_timeout_seconds: Specify the time in seconds for host error detection, the value must be within the range of [90, 330] with the increment of 30, if unset, the default behavior of host error recovery will be used.
|
14225
14271
|
:param pulumi.Input[str] instance_termination_action: Specifies the action GCE should take when SPOT VM is preempted.
|
14226
14272
|
:param pulumi.Input['InstanceFromTemplateSchedulingLocalSsdRecoveryTimeoutArgs'] local_ssd_recovery_timeout: Specifies the maximum amount of time a Local Ssd Vm should wait while
|
14227
14273
|
recovery of the Local Ssd state is attempted. Its value should be in
|
@@ -14237,6 +14283,8 @@ class InstanceFromTemplateSchedulingArgs:
|
|
14237
14283
|
"""
|
14238
14284
|
if automatic_restart is not None:
|
14239
14285
|
pulumi.set(__self__, "automatic_restart", automatic_restart)
|
14286
|
+
if host_error_timeout_seconds is not None:
|
14287
|
+
pulumi.set(__self__, "host_error_timeout_seconds", host_error_timeout_seconds)
|
14240
14288
|
if instance_termination_action is not None:
|
14241
14289
|
pulumi.set(__self__, "instance_termination_action", instance_termination_action)
|
14242
14290
|
if local_ssd_recovery_timeout is not None:
|
@@ -14270,6 +14318,18 @@ class InstanceFromTemplateSchedulingArgs:
|
|
14270
14318
|
def automatic_restart(self, value: Optional[pulumi.Input[bool]]):
|
14271
14319
|
pulumi.set(self, "automatic_restart", value)
|
14272
14320
|
|
14321
|
+
@property
|
14322
|
+
@pulumi.getter(name="hostErrorTimeoutSeconds")
|
14323
|
+
def host_error_timeout_seconds(self) -> Optional[pulumi.Input[int]]:
|
14324
|
+
"""
|
14325
|
+
Specify the time in seconds for host error detection, the value must be within the range of [90, 330] with the increment of 30, if unset, the default behavior of host error recovery will be used.
|
14326
|
+
"""
|
14327
|
+
return pulumi.get(self, "host_error_timeout_seconds")
|
14328
|
+
|
14329
|
+
@host_error_timeout_seconds.setter
|
14330
|
+
def host_error_timeout_seconds(self, value: Optional[pulumi.Input[int]]):
|
14331
|
+
pulumi.set(self, "host_error_timeout_seconds", value)
|
14332
|
+
|
14273
14333
|
@property
|
14274
14334
|
@pulumi.getter(name="instanceTerminationAction")
|
14275
14335
|
def instance_termination_action(self) -> Optional[pulumi.Input[str]]:
|
@@ -16976,6 +17036,10 @@ if not MYPY:
|
|
16976
17036
|
restarted if it was terminated by Compute Engine (not a user).
|
16977
17037
|
Defaults to true.
|
16978
17038
|
"""
|
17039
|
+
host_error_timeout_seconds: NotRequired[pulumi.Input[int]]
|
17040
|
+
"""
|
17041
|
+
Specifies the time in seconds for host error detection, the value must be within the range of [90, 330] with the increment of 30, if unset, the default behavior of host error recovery will be used.
|
17042
|
+
"""
|
16979
17043
|
instance_termination_action: NotRequired[pulumi.Input[str]]
|
16980
17044
|
"""
|
16981
17045
|
Describe the type of termination action for VM. Can be `STOP` or `DELETE`. Read more on [here](https://cloud.google.com/compute/docs/instances/create-use-spot)
|
@@ -17037,6 +17101,7 @@ elif False:
|
|
17037
17101
|
class InstanceSchedulingArgs:
|
17038
17102
|
def __init__(__self__, *,
|
17039
17103
|
automatic_restart: Optional[pulumi.Input[bool]] = None,
|
17104
|
+
host_error_timeout_seconds: Optional[pulumi.Input[int]] = None,
|
17040
17105
|
instance_termination_action: Optional[pulumi.Input[str]] = None,
|
17041
17106
|
local_ssd_recovery_timeout: Optional[pulumi.Input['InstanceSchedulingLocalSsdRecoveryTimeoutArgs']] = None,
|
17042
17107
|
maintenance_interval: Optional[pulumi.Input[str]] = None,
|
@@ -17051,6 +17116,7 @@ class InstanceSchedulingArgs:
|
|
17051
17116
|
:param pulumi.Input[bool] automatic_restart: Specifies if the instance should be
|
17052
17117
|
restarted if it was terminated by Compute Engine (not a user).
|
17053
17118
|
Defaults to true.
|
17119
|
+
:param pulumi.Input[int] host_error_timeout_seconds: Specifies the time in seconds for host error detection, the value must be within the range of [90, 330] with the increment of 30, if unset, the default behavior of host error recovery will be used.
|
17054
17120
|
:param pulumi.Input[str] instance_termination_action: Describe the type of termination action for VM. Can be `STOP` or `DELETE`. Read more on [here](https://cloud.google.com/compute/docs/instances/create-use-spot)
|
17055
17121
|
:param pulumi.Input['InstanceSchedulingLocalSsdRecoveryTimeoutArgs'] local_ssd_recovery_timeout: Specifies the maximum amount of time a Local Ssd Vm should wait while
|
17056
17122
|
recovery of the Local Ssd state is attempted. Its value should be in
|
@@ -17078,6 +17144,8 @@ class InstanceSchedulingArgs:
|
|
17078
17144
|
"""
|
17079
17145
|
if automatic_restart is not None:
|
17080
17146
|
pulumi.set(__self__, "automatic_restart", automatic_restart)
|
17147
|
+
if host_error_timeout_seconds is not None:
|
17148
|
+
pulumi.set(__self__, "host_error_timeout_seconds", host_error_timeout_seconds)
|
17081
17149
|
if instance_termination_action is not None:
|
17082
17150
|
pulumi.set(__self__, "instance_termination_action", instance_termination_action)
|
17083
17151
|
if local_ssd_recovery_timeout is not None:
|
@@ -17113,6 +17181,18 @@ class InstanceSchedulingArgs:
|
|
17113
17181
|
def automatic_restart(self, value: Optional[pulumi.Input[bool]]):
|
17114
17182
|
pulumi.set(self, "automatic_restart", value)
|
17115
17183
|
|
17184
|
+
@property
|
17185
|
+
@pulumi.getter(name="hostErrorTimeoutSeconds")
|
17186
|
+
def host_error_timeout_seconds(self) -> Optional[pulumi.Input[int]]:
|
17187
|
+
"""
|
17188
|
+
Specifies the time in seconds for host error detection, the value must be within the range of [90, 330] with the increment of 30, if unset, the default behavior of host error recovery will be used.
|
17189
|
+
"""
|
17190
|
+
return pulumi.get(self, "host_error_timeout_seconds")
|
17191
|
+
|
17192
|
+
@host_error_timeout_seconds.setter
|
17193
|
+
def host_error_timeout_seconds(self, value: Optional[pulumi.Input[int]]):
|
17194
|
+
pulumi.set(self, "host_error_timeout_seconds", value)
|
17195
|
+
|
17116
17196
|
@property
|
17117
17197
|
@pulumi.getter(name="instanceTerminationAction")
|
17118
17198
|
def instance_termination_action(self) -> Optional[pulumi.Input[str]]:
|
@@ -19338,6 +19418,10 @@ if not MYPY:
|
|
19338
19418
|
automatically restarted if it is terminated by Compute Engine (not
|
19339
19419
|
terminated by a user). This defaults to true.
|
19340
19420
|
"""
|
19421
|
+
host_error_timeout_seconds: NotRequired[pulumi.Input[int]]
|
19422
|
+
"""
|
19423
|
+
Specifies the time in seconds for host error detection, the value must be within the range of [90, 330] with the increment of 30, if unset, the default behavior of host error recovery will be used.
|
19424
|
+
"""
|
19341
19425
|
instance_termination_action: NotRequired[pulumi.Input[str]]
|
19342
19426
|
"""
|
19343
19427
|
Describe the type of termination action for `SPOT` VM. Can be `STOP` or `DELETE`. Read more on [here](https://cloud.google.com/compute/docs/instances/create-use-spot)
|
@@ -19398,6 +19482,7 @@ elif False:
|
|
19398
19482
|
class InstanceTemplateSchedulingArgs:
|
19399
19483
|
def __init__(__self__, *,
|
19400
19484
|
automatic_restart: Optional[pulumi.Input[bool]] = None,
|
19485
|
+
host_error_timeout_seconds: Optional[pulumi.Input[int]] = None,
|
19401
19486
|
instance_termination_action: Optional[pulumi.Input[str]] = None,
|
19402
19487
|
local_ssd_recovery_timeouts: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceTemplateSchedulingLocalSsdRecoveryTimeoutArgs']]]] = None,
|
19403
19488
|
maintenance_interval: Optional[pulumi.Input[str]] = None,
|
@@ -19412,6 +19497,7 @@ class InstanceTemplateSchedulingArgs:
|
|
19412
19497
|
:param pulumi.Input[bool] automatic_restart: Specifies whether the instance should be
|
19413
19498
|
automatically restarted if it is terminated by Compute Engine (not
|
19414
19499
|
terminated by a user). This defaults to true.
|
19500
|
+
:param pulumi.Input[int] host_error_timeout_seconds: Specifies the time in seconds for host error detection, the value must be within the range of [90, 330] with the increment of 30, if unset, the default behavior of host error recovery will be used.
|
19415
19501
|
:param pulumi.Input[str] instance_termination_action: Describe the type of termination action for `SPOT` VM. Can be `STOP` or `DELETE`. Read more on [here](https://cloud.google.com/compute/docs/instances/create-use-spot)
|
19416
19502
|
:param pulumi.Input[Sequence[pulumi.Input['InstanceTemplateSchedulingLocalSsdRecoveryTimeoutArgs']]] local_ssd_recovery_timeouts: Specifies the maximum amount of time a Local Ssd Vm should wait while
|
19417
19503
|
recovery of the Local Ssd state is attempted. Its value should be in
|
@@ -19438,6 +19524,8 @@ class InstanceTemplateSchedulingArgs:
|
|
19438
19524
|
"""
|
19439
19525
|
if automatic_restart is not None:
|
19440
19526
|
pulumi.set(__self__, "automatic_restart", automatic_restart)
|
19527
|
+
if host_error_timeout_seconds is not None:
|
19528
|
+
pulumi.set(__self__, "host_error_timeout_seconds", host_error_timeout_seconds)
|
19441
19529
|
if instance_termination_action is not None:
|
19442
19530
|
pulumi.set(__self__, "instance_termination_action", instance_termination_action)
|
19443
19531
|
if local_ssd_recovery_timeouts is not None:
|
@@ -19473,6 +19561,18 @@ class InstanceTemplateSchedulingArgs:
|
|
19473
19561
|
def automatic_restart(self, value: Optional[pulumi.Input[bool]]):
|
19474
19562
|
pulumi.set(self, "automatic_restart", value)
|
19475
19563
|
|
19564
|
+
@property
|
19565
|
+
@pulumi.getter(name="hostErrorTimeoutSeconds")
|
19566
|
+
def host_error_timeout_seconds(self) -> Optional[pulumi.Input[int]]:
|
19567
|
+
"""
|
19568
|
+
Specifies the time in seconds for host error detection, the value must be within the range of [90, 330] with the increment of 30, if unset, the default behavior of host error recovery will be used.
|
19569
|
+
"""
|
19570
|
+
return pulumi.get(self, "host_error_timeout_seconds")
|
19571
|
+
|
19572
|
+
@host_error_timeout_seconds.setter
|
19573
|
+
def host_error_timeout_seconds(self, value: Optional[pulumi.Input[int]]):
|
19574
|
+
pulumi.set(self, "host_error_timeout_seconds", value)
|
19575
|
+
|
19476
19576
|
@property
|
19477
19577
|
@pulumi.getter(name="instanceTerminationAction")
|
19478
19578
|
def instance_termination_action(self) -> Optional[pulumi.Input[str]]:
|
@@ -20372,21 +20472,37 @@ if not MYPY:
|
|
20372
20472
|
or re-establishing a MACsec secure link.
|
20373
20473
|
Structure is documented below.
|
20374
20474
|
"""
|
20475
|
+
fail_open: NotRequired[pulumi.Input[bool]]
|
20476
|
+
"""
|
20477
|
+
If set to true, the Interconnect connection is configured with a should-secure
|
20478
|
+
MACsec security policy, that allows the Google router to fallback to cleartext
|
20479
|
+
traffic if the MKA session cannot be established. By default, the Interconnect
|
20480
|
+
connection is configured with a must-secure security policy that drops all traffic
|
20481
|
+
if the MKA session cannot be established with your router.
|
20482
|
+
"""
|
20375
20483
|
elif False:
|
20376
20484
|
InterconnectMacsecArgsDict: TypeAlias = Mapping[str, Any]
|
20377
20485
|
|
20378
20486
|
@pulumi.input_type
|
20379
20487
|
class InterconnectMacsecArgs:
|
20380
20488
|
def __init__(__self__, *,
|
20381
|
-
pre_shared_keys: pulumi.Input[Sequence[pulumi.Input['InterconnectMacsecPreSharedKeyArgs']]]
|
20489
|
+
pre_shared_keys: pulumi.Input[Sequence[pulumi.Input['InterconnectMacsecPreSharedKeyArgs']]],
|
20490
|
+
fail_open: Optional[pulumi.Input[bool]] = None):
|
20382
20491
|
"""
|
20383
20492
|
:param pulumi.Input[Sequence[pulumi.Input['InterconnectMacsecPreSharedKeyArgs']]] pre_shared_keys: A keychain placeholder describing a set of named key objects along with their
|
20384
20493
|
start times. A MACsec CKN/CAK is generated for each key in the key chain.
|
20385
20494
|
Google router automatically picks the key with the most recent startTime when establishing
|
20386
20495
|
or re-establishing a MACsec secure link.
|
20387
20496
|
Structure is documented below.
|
20497
|
+
:param pulumi.Input[bool] fail_open: If set to true, the Interconnect connection is configured with a should-secure
|
20498
|
+
MACsec security policy, that allows the Google router to fallback to cleartext
|
20499
|
+
traffic if the MKA session cannot be established. By default, the Interconnect
|
20500
|
+
connection is configured with a must-secure security policy that drops all traffic
|
20501
|
+
if the MKA session cannot be established with your router.
|
20388
20502
|
"""
|
20389
20503
|
pulumi.set(__self__, "pre_shared_keys", pre_shared_keys)
|
20504
|
+
if fail_open is not None:
|
20505
|
+
pulumi.set(__self__, "fail_open", fail_open)
|
20390
20506
|
|
20391
20507
|
@property
|
20392
20508
|
@pulumi.getter(name="preSharedKeys")
|
@@ -20404,6 +20520,22 @@ class InterconnectMacsecArgs:
|
|
20404
20520
|
def pre_shared_keys(self, value: pulumi.Input[Sequence[pulumi.Input['InterconnectMacsecPreSharedKeyArgs']]]):
|
20405
20521
|
pulumi.set(self, "pre_shared_keys", value)
|
20406
20522
|
|
20523
|
+
@property
|
20524
|
+
@pulumi.getter(name="failOpen")
|
20525
|
+
def fail_open(self) -> Optional[pulumi.Input[bool]]:
|
20526
|
+
"""
|
20527
|
+
If set to true, the Interconnect connection is configured with a should-secure
|
20528
|
+
MACsec security policy, that allows the Google router to fallback to cleartext
|
20529
|
+
traffic if the MKA session cannot be established. By default, the Interconnect
|
20530
|
+
connection is configured with a must-secure security policy that drops all traffic
|
20531
|
+
if the MKA session cannot be established with your router.
|
20532
|
+
"""
|
20533
|
+
return pulumi.get(self, "fail_open")
|
20534
|
+
|
20535
|
+
@fail_open.setter
|
20536
|
+
def fail_open(self, value: Optional[pulumi.Input[bool]]):
|
20537
|
+
pulumi.set(self, "fail_open", value)
|
20538
|
+
|
20407
20539
|
|
20408
20540
|
if not MYPY:
|
20409
20541
|
class InterconnectMacsecPreSharedKeyArgsDict(TypedDict):
|
@@ -20417,11 +20549,14 @@ if not MYPY:
|
|
20417
20549
|
"""
|
20418
20550
|
fail_open: NotRequired[pulumi.Input[bool]]
|
20419
20551
|
"""
|
20552
|
+
(Optional, Deprecated)
|
20420
20553
|
If set to true, the Interconnect connection is configured with a should-secure
|
20421
20554
|
MACsec security policy, that allows the Google router to fallback to cleartext
|
20422
20555
|
traffic if the MKA session cannot be established. By default, the Interconnect
|
20423
20556
|
connection is configured with a must-secure security policy that drops all traffic
|
20424
20557
|
if the MKA session cannot be established with your router.
|
20558
|
+
|
20559
|
+
> **Warning:** `failOpen` is deprecated and will be removed in a future major release. Use other `failOpen` instead.
|
20425
20560
|
"""
|
20426
20561
|
start_time: NotRequired[pulumi.Input[str]]
|
20427
20562
|
"""
|
@@ -20446,11 +20581,14 @@ class InterconnectMacsecPreSharedKeyArgs:
|
|
20446
20581
|
the regular expression `a-z?` which means the first character
|
20447
20582
|
must be a lowercase letter, and all following characters must be a dash, lowercase
|
20448
20583
|
letter, or digit, except the last character, which cannot be a dash.
|
20449
|
-
:param pulumi.Input[bool] fail_open:
|
20584
|
+
:param pulumi.Input[bool] fail_open: (Optional, Deprecated)
|
20585
|
+
If set to true, the Interconnect connection is configured with a should-secure
|
20450
20586
|
MACsec security policy, that allows the Google router to fallback to cleartext
|
20451
20587
|
traffic if the MKA session cannot be established. By default, the Interconnect
|
20452
20588
|
connection is configured with a must-secure security policy that drops all traffic
|
20453
20589
|
if the MKA session cannot be established with your router.
|
20590
|
+
|
20591
|
+
> **Warning:** `failOpen` is deprecated and will be removed in a future major release. Use other `failOpen` instead.
|
20454
20592
|
:param pulumi.Input[str] start_time: A RFC3339 timestamp on or after which the key is valid. startTime can be in the
|
20455
20593
|
future. If the keychain has a single key, startTime can be omitted. If the keychain
|
20456
20594
|
has multiple keys, startTime is mandatory for each key. The start times of keys must
|
@@ -20458,6 +20596,9 @@ class InterconnectMacsecPreSharedKeyArgs:
|
|
20458
20596
|
hours apart.
|
20459
20597
|
"""
|
20460
20598
|
pulumi.set(__self__, "name", name)
|
20599
|
+
if fail_open is not None:
|
20600
|
+
warnings.warn("""`failOpen` is deprecated and will be removed in a future major release. Use other `failOpen` instead.""", DeprecationWarning)
|
20601
|
+
pulumi.log.warn("""fail_open is deprecated: `failOpen` is deprecated and will be removed in a future major release. Use other `failOpen` instead.""")
|
20461
20602
|
if fail_open is not None:
|
20462
20603
|
pulumi.set(__self__, "fail_open", fail_open)
|
20463
20604
|
if start_time is not None:
|
@@ -20481,13 +20622,17 @@ class InterconnectMacsecPreSharedKeyArgs:
|
|
20481
20622
|
|
20482
20623
|
@property
|
20483
20624
|
@pulumi.getter(name="failOpen")
|
20625
|
+
@_utilities.deprecated("""`failOpen` is deprecated and will be removed in a future major release. Use other `failOpen` instead.""")
|
20484
20626
|
def fail_open(self) -> Optional[pulumi.Input[bool]]:
|
20485
20627
|
"""
|
20628
|
+
(Optional, Deprecated)
|
20486
20629
|
If set to true, the Interconnect connection is configured with a should-secure
|
20487
20630
|
MACsec security policy, that allows the Google router to fallback to cleartext
|
20488
20631
|
traffic if the MKA session cannot be established. By default, the Interconnect
|
20489
20632
|
connection is configured with a must-secure security policy that drops all traffic
|
20490
20633
|
if the MKA session cannot be established with your router.
|
20634
|
+
|
20635
|
+
> **Warning:** `failOpen` is deprecated and will be removed in a future major release. Use other `failOpen` instead.
|
20491
20636
|
"""
|
20492
20637
|
return pulumi.get(self, "fail_open")
|
20493
20638
|
|
@@ -32403,6 +32548,10 @@ if not MYPY:
|
|
32403
32548
|
automatically restarted if it is terminated by Compute Engine (not
|
32404
32549
|
terminated by a user). This defaults to true.
|
32405
32550
|
"""
|
32551
|
+
host_error_timeout_seconds: NotRequired[pulumi.Input[int]]
|
32552
|
+
"""
|
32553
|
+
Specifies the time in seconds for host error detection, the value must be within the range of [90, 330] with the increment of 30, if unset, the default behavior of host error recovery will be used.
|
32554
|
+
"""
|
32406
32555
|
instance_termination_action: NotRequired[pulumi.Input[str]]
|
32407
32556
|
"""
|
32408
32557
|
Describe the type of termination action for `SPOT` VM. Can be `STOP` or `DELETE`. Read more on [here](https://cloud.google.com/compute/docs/instances/create-use-spot)
|
@@ -32463,6 +32612,7 @@ elif False:
|
|
32463
32612
|
class RegionInstanceTemplateSchedulingArgs:
|
32464
32613
|
def __init__(__self__, *,
|
32465
32614
|
automatic_restart: Optional[pulumi.Input[bool]] = None,
|
32615
|
+
host_error_timeout_seconds: Optional[pulumi.Input[int]] = None,
|
32466
32616
|
instance_termination_action: Optional[pulumi.Input[str]] = None,
|
32467
32617
|
local_ssd_recovery_timeouts: Optional[pulumi.Input[Sequence[pulumi.Input['RegionInstanceTemplateSchedulingLocalSsdRecoveryTimeoutArgs']]]] = None,
|
32468
32618
|
maintenance_interval: Optional[pulumi.Input[str]] = None,
|
@@ -32477,6 +32627,7 @@ class RegionInstanceTemplateSchedulingArgs:
|
|
32477
32627
|
:param pulumi.Input[bool] automatic_restart: Specifies whether the instance should be
|
32478
32628
|
automatically restarted if it is terminated by Compute Engine (not
|
32479
32629
|
terminated by a user). This defaults to true.
|
32630
|
+
:param pulumi.Input[int] host_error_timeout_seconds: Specifies the time in seconds for host error detection, the value must be within the range of [90, 330] with the increment of 30, if unset, the default behavior of host error recovery will be used.
|
32480
32631
|
:param pulumi.Input[str] instance_termination_action: Describe the type of termination action for `SPOT` VM. Can be `STOP` or `DELETE`. Read more on [here](https://cloud.google.com/compute/docs/instances/create-use-spot)
|
32481
32632
|
:param pulumi.Input[Sequence[pulumi.Input['RegionInstanceTemplateSchedulingLocalSsdRecoveryTimeoutArgs']]] local_ssd_recovery_timeouts: Specifies the maximum amount of time a Local Ssd Vm should wait while
|
32482
32633
|
recovery of the Local Ssd state is attempted. Its value should be in
|
@@ -32503,6 +32654,8 @@ class RegionInstanceTemplateSchedulingArgs:
|
|
32503
32654
|
"""
|
32504
32655
|
if automatic_restart is not None:
|
32505
32656
|
pulumi.set(__self__, "automatic_restart", automatic_restart)
|
32657
|
+
if host_error_timeout_seconds is not None:
|
32658
|
+
pulumi.set(__self__, "host_error_timeout_seconds", host_error_timeout_seconds)
|
32506
32659
|
if instance_termination_action is not None:
|
32507
32660
|
pulumi.set(__self__, "instance_termination_action", instance_termination_action)
|
32508
32661
|
if local_ssd_recovery_timeouts is not None:
|
@@ -32538,6 +32691,18 @@ class RegionInstanceTemplateSchedulingArgs:
|
|
32538
32691
|
def automatic_restart(self, value: Optional[pulumi.Input[bool]]):
|
32539
32692
|
pulumi.set(self, "automatic_restart", value)
|
32540
32693
|
|
32694
|
+
@property
|
32695
|
+
@pulumi.getter(name="hostErrorTimeoutSeconds")
|
32696
|
+
def host_error_timeout_seconds(self) -> Optional[pulumi.Input[int]]:
|
32697
|
+
"""
|
32698
|
+
Specifies the time in seconds for host error detection, the value must be within the range of [90, 330] with the increment of 30, if unset, the default behavior of host error recovery will be used.
|
32699
|
+
"""
|
32700
|
+
return pulumi.get(self, "host_error_timeout_seconds")
|
32701
|
+
|
32702
|
+
@host_error_timeout_seconds.setter
|
32703
|
+
def host_error_timeout_seconds(self, value: Optional[pulumi.Input[int]]):
|
32704
|
+
pulumi.set(self, "host_error_timeout_seconds", value)
|
32705
|
+
|
32541
32706
|
@property
|
32542
32707
|
@pulumi.getter(name="instanceTerminationAction")
|
32543
32708
|
def instance_termination_action(self) -> Optional[pulumi.Input[str]]:
|
@@ -33860,6 +34025,1780 @@ class RegionNetworkFirewallPolicyRuleTargetSecureTagArgs:
|
|
33860
34025
|
pulumi.set(self, "state", value)
|
33861
34026
|
|
33862
34027
|
|
34028
|
+
if not MYPY:
|
34029
|
+
class RegionNetworkFirewallPolicyWithRulesPredefinedRuleArgsDict(TypedDict):
|
34030
|
+
action: NotRequired[pulumi.Input[str]]
|
34031
|
+
"""
|
34032
|
+
(Output)
|
34033
|
+
The Action to perform when the client connection triggers the rule. Can currently be either
|
34034
|
+
"allow", "deny", "apply_security_profile_group" or "goto_next".
|
34035
|
+
"""
|
34036
|
+
description: NotRequired[pulumi.Input[str]]
|
34037
|
+
"""
|
34038
|
+
(Output)
|
34039
|
+
A description of the rule.
|
34040
|
+
"""
|
34041
|
+
direction: NotRequired[pulumi.Input[str]]
|
34042
|
+
"""
|
34043
|
+
(Output)
|
34044
|
+
The direction in which this rule applies. If unspecified an INGRESS rule is created.
|
34045
|
+
"""
|
34046
|
+
disabled: NotRequired[pulumi.Input[bool]]
|
34047
|
+
"""
|
34048
|
+
(Output)
|
34049
|
+
Denotes whether the firewall policy rule is disabled. When set to true,
|
34050
|
+
the firewall policy rule is not enforced and traffic behaves as if it did
|
34051
|
+
not exist. If this is unspecified, the firewall policy rule will be
|
34052
|
+
enabled.
|
34053
|
+
"""
|
34054
|
+
enable_logging: NotRequired[pulumi.Input[bool]]
|
34055
|
+
"""
|
34056
|
+
(Output)
|
34057
|
+
Denotes whether to enable logging for a particular rule.
|
34058
|
+
If logging is enabled, logs will be exported to the
|
34059
|
+
configured export destination in Stackdriver.
|
34060
|
+
"""
|
34061
|
+
matches: NotRequired[pulumi.Input[Sequence[pulumi.Input['RegionNetworkFirewallPolicyWithRulesPredefinedRuleMatchArgsDict']]]]
|
34062
|
+
"""
|
34063
|
+
(Output)
|
34064
|
+
A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding 'action' is enforced.
|
34065
|
+
Structure is documented below.
|
34066
|
+
"""
|
34067
|
+
priority: NotRequired[pulumi.Input[int]]
|
34068
|
+
"""
|
34069
|
+
(Output)
|
34070
|
+
An integer indicating the priority of a rule in the list. The priority must be a value
|
34071
|
+
between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the
|
34072
|
+
highest priority and 2147483647 is the lowest priority.
|
34073
|
+
"""
|
34074
|
+
rule_name: NotRequired[pulumi.Input[str]]
|
34075
|
+
"""
|
34076
|
+
(Output)
|
34077
|
+
An optional name for the rule. This field is not a unique identifier
|
34078
|
+
and can be updated.
|
34079
|
+
"""
|
34080
|
+
security_profile_group: NotRequired[pulumi.Input[str]]
|
34081
|
+
"""
|
34082
|
+
(Output)
|
34083
|
+
A fully-qualified URL of a SecurityProfile resource instance.
|
34084
|
+
Example:
|
34085
|
+
https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group
|
34086
|
+
Must be specified if action is 'apply_security_profile_group'.
|
34087
|
+
"""
|
34088
|
+
target_secure_tags: NotRequired[pulumi.Input[Sequence[pulumi.Input['RegionNetworkFirewallPolicyWithRulesPredefinedRuleTargetSecureTagArgsDict']]]]
|
34089
|
+
"""
|
34090
|
+
(Output)
|
34091
|
+
A list of secure tags that controls which instances the firewall rule
|
34092
|
+
applies to. If <code>targetSecureTag</code> are specified, then the
|
34093
|
+
firewall rule applies only to instances in the VPC network that have one
|
34094
|
+
of those EFFECTIVE secure tags, if all the target_secure_tag are in
|
34095
|
+
INEFFECTIVE state, then this rule will be ignored.
|
34096
|
+
<code>targetSecureTag</code> may not be set at the same time as
|
34097
|
+
<code>targetServiceAccounts</code>.
|
34098
|
+
If neither <code>targetServiceAccounts</code> nor
|
34099
|
+
<code>targetSecureTag</code> are specified, the firewall rule applies
|
34100
|
+
to all instances on the specified network.
|
34101
|
+
Maximum number of target label tags allowed is 256.
|
34102
|
+
Structure is documented below.
|
34103
|
+
"""
|
34104
|
+
target_service_accounts: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
|
34105
|
+
"""
|
34106
|
+
(Output)
|
34107
|
+
A list of service accounts indicating the sets of
|
34108
|
+
instances that are applied with this rule.
|
34109
|
+
"""
|
34110
|
+
tls_inspect: NotRequired[pulumi.Input[bool]]
|
34111
|
+
"""
|
34112
|
+
(Output)
|
34113
|
+
Boolean flag indicating if the traffic should be TLS decrypted.
|
34114
|
+
It can be set only if action = 'apply_security_profile_group' and cannot be set for other actions.
|
34115
|
+
"""
|
34116
|
+
elif False:
|
34117
|
+
RegionNetworkFirewallPolicyWithRulesPredefinedRuleArgsDict: TypeAlias = Mapping[str, Any]
|
34118
|
+
|
34119
|
+
@pulumi.input_type
|
34120
|
+
class RegionNetworkFirewallPolicyWithRulesPredefinedRuleArgs:
|
34121
|
+
def __init__(__self__, *,
|
34122
|
+
action: Optional[pulumi.Input[str]] = None,
|
34123
|
+
description: Optional[pulumi.Input[str]] = None,
|
34124
|
+
direction: Optional[pulumi.Input[str]] = None,
|
34125
|
+
disabled: Optional[pulumi.Input[bool]] = None,
|
34126
|
+
enable_logging: Optional[pulumi.Input[bool]] = None,
|
34127
|
+
matches: Optional[pulumi.Input[Sequence[pulumi.Input['RegionNetworkFirewallPolicyWithRulesPredefinedRuleMatchArgs']]]] = None,
|
34128
|
+
priority: Optional[pulumi.Input[int]] = None,
|
34129
|
+
rule_name: Optional[pulumi.Input[str]] = None,
|
34130
|
+
security_profile_group: Optional[pulumi.Input[str]] = None,
|
34131
|
+
target_secure_tags: Optional[pulumi.Input[Sequence[pulumi.Input['RegionNetworkFirewallPolicyWithRulesPredefinedRuleTargetSecureTagArgs']]]] = None,
|
34132
|
+
target_service_accounts: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
34133
|
+
tls_inspect: Optional[pulumi.Input[bool]] = None):
|
34134
|
+
"""
|
34135
|
+
:param pulumi.Input[str] action: (Output)
|
34136
|
+
The Action to perform when the client connection triggers the rule. Can currently be either
|
34137
|
+
"allow", "deny", "apply_security_profile_group" or "goto_next".
|
34138
|
+
:param pulumi.Input[str] description: (Output)
|
34139
|
+
A description of the rule.
|
34140
|
+
:param pulumi.Input[str] direction: (Output)
|
34141
|
+
The direction in which this rule applies. If unspecified an INGRESS rule is created.
|
34142
|
+
:param pulumi.Input[bool] disabled: (Output)
|
34143
|
+
Denotes whether the firewall policy rule is disabled. When set to true,
|
34144
|
+
the firewall policy rule is not enforced and traffic behaves as if it did
|
34145
|
+
not exist. If this is unspecified, the firewall policy rule will be
|
34146
|
+
enabled.
|
34147
|
+
:param pulumi.Input[bool] enable_logging: (Output)
|
34148
|
+
Denotes whether to enable logging for a particular rule.
|
34149
|
+
If logging is enabled, logs will be exported to the
|
34150
|
+
configured export destination in Stackdriver.
|
34151
|
+
:param pulumi.Input[Sequence[pulumi.Input['RegionNetworkFirewallPolicyWithRulesPredefinedRuleMatchArgs']]] matches: (Output)
|
34152
|
+
A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding 'action' is enforced.
|
34153
|
+
Structure is documented below.
|
34154
|
+
:param pulumi.Input[int] priority: (Output)
|
34155
|
+
An integer indicating the priority of a rule in the list. The priority must be a value
|
34156
|
+
between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the
|
34157
|
+
highest priority and 2147483647 is the lowest priority.
|
34158
|
+
:param pulumi.Input[str] rule_name: (Output)
|
34159
|
+
An optional name for the rule. This field is not a unique identifier
|
34160
|
+
and can be updated.
|
34161
|
+
:param pulumi.Input[str] security_profile_group: (Output)
|
34162
|
+
A fully-qualified URL of a SecurityProfile resource instance.
|
34163
|
+
Example:
|
34164
|
+
https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group
|
34165
|
+
Must be specified if action is 'apply_security_profile_group'.
|
34166
|
+
:param pulumi.Input[Sequence[pulumi.Input['RegionNetworkFirewallPolicyWithRulesPredefinedRuleTargetSecureTagArgs']]] target_secure_tags: (Output)
|
34167
|
+
A list of secure tags that controls which instances the firewall rule
|
34168
|
+
applies to. If <code>targetSecureTag</code> are specified, then the
|
34169
|
+
firewall rule applies only to instances in the VPC network that have one
|
34170
|
+
of those EFFECTIVE secure tags, if all the target_secure_tag are in
|
34171
|
+
INEFFECTIVE state, then this rule will be ignored.
|
34172
|
+
<code>targetSecureTag</code> may not be set at the same time as
|
34173
|
+
<code>targetServiceAccounts</code>.
|
34174
|
+
If neither <code>targetServiceAccounts</code> nor
|
34175
|
+
<code>targetSecureTag</code> are specified, the firewall rule applies
|
34176
|
+
to all instances on the specified network.
|
34177
|
+
Maximum number of target label tags allowed is 256.
|
34178
|
+
Structure is documented below.
|
34179
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] target_service_accounts: (Output)
|
34180
|
+
A list of service accounts indicating the sets of
|
34181
|
+
instances that are applied with this rule.
|
34182
|
+
:param pulumi.Input[bool] tls_inspect: (Output)
|
34183
|
+
Boolean flag indicating if the traffic should be TLS decrypted.
|
34184
|
+
It can be set only if action = 'apply_security_profile_group' and cannot be set for other actions.
|
34185
|
+
"""
|
34186
|
+
if action is not None:
|
34187
|
+
pulumi.set(__self__, "action", action)
|
34188
|
+
if description is not None:
|
34189
|
+
pulumi.set(__self__, "description", description)
|
34190
|
+
if direction is not None:
|
34191
|
+
pulumi.set(__self__, "direction", direction)
|
34192
|
+
if disabled is not None:
|
34193
|
+
pulumi.set(__self__, "disabled", disabled)
|
34194
|
+
if enable_logging is not None:
|
34195
|
+
pulumi.set(__self__, "enable_logging", enable_logging)
|
34196
|
+
if matches is not None:
|
34197
|
+
pulumi.set(__self__, "matches", matches)
|
34198
|
+
if priority is not None:
|
34199
|
+
pulumi.set(__self__, "priority", priority)
|
34200
|
+
if rule_name is not None:
|
34201
|
+
pulumi.set(__self__, "rule_name", rule_name)
|
34202
|
+
if security_profile_group is not None:
|
34203
|
+
pulumi.set(__self__, "security_profile_group", security_profile_group)
|
34204
|
+
if target_secure_tags is not None:
|
34205
|
+
pulumi.set(__self__, "target_secure_tags", target_secure_tags)
|
34206
|
+
if target_service_accounts is not None:
|
34207
|
+
pulumi.set(__self__, "target_service_accounts", target_service_accounts)
|
34208
|
+
if tls_inspect is not None:
|
34209
|
+
pulumi.set(__self__, "tls_inspect", tls_inspect)
|
34210
|
+
|
34211
|
+
@property
|
34212
|
+
@pulumi.getter
|
34213
|
+
def action(self) -> Optional[pulumi.Input[str]]:
|
34214
|
+
"""
|
34215
|
+
(Output)
|
34216
|
+
The Action to perform when the client connection triggers the rule. Can currently be either
|
34217
|
+
"allow", "deny", "apply_security_profile_group" or "goto_next".
|
34218
|
+
"""
|
34219
|
+
return pulumi.get(self, "action")
|
34220
|
+
|
34221
|
+
@action.setter
|
34222
|
+
def action(self, value: Optional[pulumi.Input[str]]):
|
34223
|
+
pulumi.set(self, "action", value)
|
34224
|
+
|
34225
|
+
@property
|
34226
|
+
@pulumi.getter
|
34227
|
+
def description(self) -> Optional[pulumi.Input[str]]:
|
34228
|
+
"""
|
34229
|
+
(Output)
|
34230
|
+
A description of the rule.
|
34231
|
+
"""
|
34232
|
+
return pulumi.get(self, "description")
|
34233
|
+
|
34234
|
+
@description.setter
|
34235
|
+
def description(self, value: Optional[pulumi.Input[str]]):
|
34236
|
+
pulumi.set(self, "description", value)
|
34237
|
+
|
34238
|
+
@property
|
34239
|
+
@pulumi.getter
|
34240
|
+
def direction(self) -> Optional[pulumi.Input[str]]:
|
34241
|
+
"""
|
34242
|
+
(Output)
|
34243
|
+
The direction in which this rule applies. If unspecified an INGRESS rule is created.
|
34244
|
+
"""
|
34245
|
+
return pulumi.get(self, "direction")
|
34246
|
+
|
34247
|
+
@direction.setter
|
34248
|
+
def direction(self, value: Optional[pulumi.Input[str]]):
|
34249
|
+
pulumi.set(self, "direction", value)
|
34250
|
+
|
34251
|
+
@property
|
34252
|
+
@pulumi.getter
|
34253
|
+
def disabled(self) -> Optional[pulumi.Input[bool]]:
|
34254
|
+
"""
|
34255
|
+
(Output)
|
34256
|
+
Denotes whether the firewall policy rule is disabled. When set to true,
|
34257
|
+
the firewall policy rule is not enforced and traffic behaves as if it did
|
34258
|
+
not exist. If this is unspecified, the firewall policy rule will be
|
34259
|
+
enabled.
|
34260
|
+
"""
|
34261
|
+
return pulumi.get(self, "disabled")
|
34262
|
+
|
34263
|
+
@disabled.setter
|
34264
|
+
def disabled(self, value: Optional[pulumi.Input[bool]]):
|
34265
|
+
pulumi.set(self, "disabled", value)
|
34266
|
+
|
34267
|
+
@property
|
34268
|
+
@pulumi.getter(name="enableLogging")
|
34269
|
+
def enable_logging(self) -> Optional[pulumi.Input[bool]]:
|
34270
|
+
"""
|
34271
|
+
(Output)
|
34272
|
+
Denotes whether to enable logging for a particular rule.
|
34273
|
+
If logging is enabled, logs will be exported to the
|
34274
|
+
configured export destination in Stackdriver.
|
34275
|
+
"""
|
34276
|
+
return pulumi.get(self, "enable_logging")
|
34277
|
+
|
34278
|
+
@enable_logging.setter
|
34279
|
+
def enable_logging(self, value: Optional[pulumi.Input[bool]]):
|
34280
|
+
pulumi.set(self, "enable_logging", value)
|
34281
|
+
|
34282
|
+
@property
|
34283
|
+
@pulumi.getter
|
34284
|
+
def matches(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RegionNetworkFirewallPolicyWithRulesPredefinedRuleMatchArgs']]]]:
|
34285
|
+
"""
|
34286
|
+
(Output)
|
34287
|
+
A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding 'action' is enforced.
|
34288
|
+
Structure is documented below.
|
34289
|
+
"""
|
34290
|
+
return pulumi.get(self, "matches")
|
34291
|
+
|
34292
|
+
@matches.setter
|
34293
|
+
def matches(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RegionNetworkFirewallPolicyWithRulesPredefinedRuleMatchArgs']]]]):
|
34294
|
+
pulumi.set(self, "matches", value)
|
34295
|
+
|
34296
|
+
@property
|
34297
|
+
@pulumi.getter
|
34298
|
+
def priority(self) -> Optional[pulumi.Input[int]]:
|
34299
|
+
"""
|
34300
|
+
(Output)
|
34301
|
+
An integer indicating the priority of a rule in the list. The priority must be a value
|
34302
|
+
between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the
|
34303
|
+
highest priority and 2147483647 is the lowest priority.
|
34304
|
+
"""
|
34305
|
+
return pulumi.get(self, "priority")
|
34306
|
+
|
34307
|
+
@priority.setter
|
34308
|
+
def priority(self, value: Optional[pulumi.Input[int]]):
|
34309
|
+
pulumi.set(self, "priority", value)
|
34310
|
+
|
34311
|
+
@property
|
34312
|
+
@pulumi.getter(name="ruleName")
|
34313
|
+
def rule_name(self) -> Optional[pulumi.Input[str]]:
|
34314
|
+
"""
|
34315
|
+
(Output)
|
34316
|
+
An optional name for the rule. This field is not a unique identifier
|
34317
|
+
and can be updated.
|
34318
|
+
"""
|
34319
|
+
return pulumi.get(self, "rule_name")
|
34320
|
+
|
34321
|
+
@rule_name.setter
|
34322
|
+
def rule_name(self, value: Optional[pulumi.Input[str]]):
|
34323
|
+
pulumi.set(self, "rule_name", value)
|
34324
|
+
|
34325
|
+
@property
|
34326
|
+
@pulumi.getter(name="securityProfileGroup")
|
34327
|
+
def security_profile_group(self) -> Optional[pulumi.Input[str]]:
|
34328
|
+
"""
|
34329
|
+
(Output)
|
34330
|
+
A fully-qualified URL of a SecurityProfile resource instance.
|
34331
|
+
Example:
|
34332
|
+
https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group
|
34333
|
+
Must be specified if action is 'apply_security_profile_group'.
|
34334
|
+
"""
|
34335
|
+
return pulumi.get(self, "security_profile_group")
|
34336
|
+
|
34337
|
+
@security_profile_group.setter
|
34338
|
+
def security_profile_group(self, value: Optional[pulumi.Input[str]]):
|
34339
|
+
pulumi.set(self, "security_profile_group", value)
|
34340
|
+
|
34341
|
+
@property
|
34342
|
+
@pulumi.getter(name="targetSecureTags")
|
34343
|
+
def target_secure_tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RegionNetworkFirewallPolicyWithRulesPredefinedRuleTargetSecureTagArgs']]]]:
|
34344
|
+
"""
|
34345
|
+
(Output)
|
34346
|
+
A list of secure tags that controls which instances the firewall rule
|
34347
|
+
applies to. If <code>targetSecureTag</code> are specified, then the
|
34348
|
+
firewall rule applies only to instances in the VPC network that have one
|
34349
|
+
of those EFFECTIVE secure tags, if all the target_secure_tag are in
|
34350
|
+
INEFFECTIVE state, then this rule will be ignored.
|
34351
|
+
<code>targetSecureTag</code> may not be set at the same time as
|
34352
|
+
<code>targetServiceAccounts</code>.
|
34353
|
+
If neither <code>targetServiceAccounts</code> nor
|
34354
|
+
<code>targetSecureTag</code> are specified, the firewall rule applies
|
34355
|
+
to all instances on the specified network.
|
34356
|
+
Maximum number of target label tags allowed is 256.
|
34357
|
+
Structure is documented below.
|
34358
|
+
"""
|
34359
|
+
return pulumi.get(self, "target_secure_tags")
|
34360
|
+
|
34361
|
+
@target_secure_tags.setter
|
34362
|
+
def target_secure_tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RegionNetworkFirewallPolicyWithRulesPredefinedRuleTargetSecureTagArgs']]]]):
|
34363
|
+
pulumi.set(self, "target_secure_tags", value)
|
34364
|
+
|
34365
|
+
@property
|
34366
|
+
@pulumi.getter(name="targetServiceAccounts")
|
34367
|
+
def target_service_accounts(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
34368
|
+
"""
|
34369
|
+
(Output)
|
34370
|
+
A list of service accounts indicating the sets of
|
34371
|
+
instances that are applied with this rule.
|
34372
|
+
"""
|
34373
|
+
return pulumi.get(self, "target_service_accounts")
|
34374
|
+
|
34375
|
+
@target_service_accounts.setter
|
34376
|
+
def target_service_accounts(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
34377
|
+
pulumi.set(self, "target_service_accounts", value)
|
34378
|
+
|
34379
|
+
@property
|
34380
|
+
@pulumi.getter(name="tlsInspect")
|
34381
|
+
def tls_inspect(self) -> Optional[pulumi.Input[bool]]:
|
34382
|
+
"""
|
34383
|
+
(Output)
|
34384
|
+
Boolean flag indicating if the traffic should be TLS decrypted.
|
34385
|
+
It can be set only if action = 'apply_security_profile_group' and cannot be set for other actions.
|
34386
|
+
"""
|
34387
|
+
return pulumi.get(self, "tls_inspect")
|
34388
|
+
|
34389
|
+
@tls_inspect.setter
|
34390
|
+
def tls_inspect(self, value: Optional[pulumi.Input[bool]]):
|
34391
|
+
pulumi.set(self, "tls_inspect", value)
|
34392
|
+
|
34393
|
+
|
34394
|
+
if not MYPY:
|
34395
|
+
class RegionNetworkFirewallPolicyWithRulesPredefinedRuleMatchArgsDict(TypedDict):
|
34396
|
+
dest_address_groups: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
|
34397
|
+
"""
|
34398
|
+
Address groups which should be matched against the traffic destination.
|
34399
|
+
Maximum number of destination address groups is 10.
|
34400
|
+
"""
|
34401
|
+
dest_fqdns: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
|
34402
|
+
"""
|
34403
|
+
Fully Qualified Domain Name (FQDN) which should be matched against
|
34404
|
+
traffic destination. Maximum number of destination fqdn allowed is 100.
|
34405
|
+
"""
|
34406
|
+
dest_ip_ranges: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
|
34407
|
+
"""
|
34408
|
+
Destination IP address range in CIDR format. Required for
|
34409
|
+
EGRESS rules.
|
34410
|
+
"""
|
34411
|
+
dest_region_codes: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
|
34412
|
+
"""
|
34413
|
+
Region codes whose IP addresses will be used to match for destination
|
34414
|
+
of traffic. Should be specified as 2 letter country code defined as per
|
34415
|
+
ISO 3166 alpha-2 country codes. ex."US"
|
34416
|
+
Maximum number of destination region codes allowed is 5000.
|
34417
|
+
"""
|
34418
|
+
dest_threat_intelligences: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
|
34419
|
+
"""
|
34420
|
+
Names of Network Threat Intelligence lists.
|
34421
|
+
The IPs in these lists will be matched against traffic destination.
|
34422
|
+
"""
|
34423
|
+
layer4_configs: NotRequired[pulumi.Input[Sequence[pulumi.Input['RegionNetworkFirewallPolicyWithRulesPredefinedRuleMatchLayer4ConfigArgsDict']]]]
|
34424
|
+
"""
|
34425
|
+
Pairs of IP protocols and ports that the rule should match.
|
34426
|
+
Structure is documented below.
|
34427
|
+
"""
|
34428
|
+
src_address_groups: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
|
34429
|
+
"""
|
34430
|
+
Address groups which should be matched against the traffic source.
|
34431
|
+
Maximum number of source address groups is 10.
|
34432
|
+
"""
|
34433
|
+
src_fqdns: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
|
34434
|
+
"""
|
34435
|
+
Fully Qualified Domain Name (FQDN) which should be matched against
|
34436
|
+
traffic source. Maximum number of source fqdn allowed is 100.
|
34437
|
+
"""
|
34438
|
+
src_ip_ranges: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
|
34439
|
+
"""
|
34440
|
+
Source IP address range in CIDR format. Required for
|
34441
|
+
INGRESS rules.
|
34442
|
+
"""
|
34443
|
+
src_region_codes: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
|
34444
|
+
"""
|
34445
|
+
Region codes whose IP addresses will be used to match for source
|
34446
|
+
of traffic. Should be specified as 2 letter country code defined as per
|
34447
|
+
ISO 3166 alpha-2 country codes. ex."US"
|
34448
|
+
Maximum number of source region codes allowed is 5000.
|
34449
|
+
"""
|
34450
|
+
src_secure_tags: NotRequired[pulumi.Input[Sequence[pulumi.Input['RegionNetworkFirewallPolicyWithRulesPredefinedRuleMatchSrcSecureTagArgsDict']]]]
|
34451
|
+
"""
|
34452
|
+
List of secure tag values, which should be matched at the source
|
34453
|
+
of the traffic.
|
34454
|
+
For INGRESS rule, if all the <code>srcSecureTag</code> are INEFFECTIVE,
|
34455
|
+
and there is no <code>srcIpRange</code>, this rule will be ignored.
|
34456
|
+
Maximum number of source tag values allowed is 256.
|
34457
|
+
Structure is documented below.
|
34458
|
+
|
34459
|
+
|
34460
|
+
<a name="nested_layer4_config"></a>The `layer4_config` block supports:
|
34461
|
+
"""
|
34462
|
+
src_threat_intelligences: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
|
34463
|
+
"""
|
34464
|
+
Names of Network Threat Intelligence lists.
|
34465
|
+
The IPs in these lists will be matched against traffic source.
|
34466
|
+
"""
|
34467
|
+
elif False:
|
34468
|
+
RegionNetworkFirewallPolicyWithRulesPredefinedRuleMatchArgsDict: TypeAlias = Mapping[str, Any]
|
34469
|
+
|
34470
|
+
@pulumi.input_type
|
34471
|
+
class RegionNetworkFirewallPolicyWithRulesPredefinedRuleMatchArgs:
|
34472
|
+
def __init__(__self__, *,
|
34473
|
+
dest_address_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
34474
|
+
dest_fqdns: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
34475
|
+
dest_ip_ranges: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
34476
|
+
dest_region_codes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
34477
|
+
dest_threat_intelligences: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
34478
|
+
layer4_configs: Optional[pulumi.Input[Sequence[pulumi.Input['RegionNetworkFirewallPolicyWithRulesPredefinedRuleMatchLayer4ConfigArgs']]]] = None,
|
34479
|
+
src_address_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
34480
|
+
src_fqdns: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
34481
|
+
src_ip_ranges: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
34482
|
+
src_region_codes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
34483
|
+
src_secure_tags: Optional[pulumi.Input[Sequence[pulumi.Input['RegionNetworkFirewallPolicyWithRulesPredefinedRuleMatchSrcSecureTagArgs']]]] = None,
|
34484
|
+
src_threat_intelligences: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
|
34485
|
+
"""
|
34486
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] dest_address_groups: Address groups which should be matched against the traffic destination.
|
34487
|
+
Maximum number of destination address groups is 10.
|
34488
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] dest_fqdns: Fully Qualified Domain Name (FQDN) which should be matched against
|
34489
|
+
traffic destination. Maximum number of destination fqdn allowed is 100.
|
34490
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] dest_ip_ranges: Destination IP address range in CIDR format. Required for
|
34491
|
+
EGRESS rules.
|
34492
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] dest_region_codes: Region codes whose IP addresses will be used to match for destination
|
34493
|
+
of traffic. Should be specified as 2 letter country code defined as per
|
34494
|
+
ISO 3166 alpha-2 country codes. ex."US"
|
34495
|
+
Maximum number of destination region codes allowed is 5000.
|
34496
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] dest_threat_intelligences: Names of Network Threat Intelligence lists.
|
34497
|
+
The IPs in these lists will be matched against traffic destination.
|
34498
|
+
:param pulumi.Input[Sequence[pulumi.Input['RegionNetworkFirewallPolicyWithRulesPredefinedRuleMatchLayer4ConfigArgs']]] layer4_configs: Pairs of IP protocols and ports that the rule should match.
|
34499
|
+
Structure is documented below.
|
34500
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] src_address_groups: Address groups which should be matched against the traffic source.
|
34501
|
+
Maximum number of source address groups is 10.
|
34502
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] src_fqdns: Fully Qualified Domain Name (FQDN) which should be matched against
|
34503
|
+
traffic source. Maximum number of source fqdn allowed is 100.
|
34504
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] src_ip_ranges: Source IP address range in CIDR format. Required for
|
34505
|
+
INGRESS rules.
|
34506
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] src_region_codes: Region codes whose IP addresses will be used to match for source
|
34507
|
+
of traffic. Should be specified as 2 letter country code defined as per
|
34508
|
+
ISO 3166 alpha-2 country codes. ex."US"
|
34509
|
+
Maximum number of source region codes allowed is 5000.
|
34510
|
+
:param pulumi.Input[Sequence[pulumi.Input['RegionNetworkFirewallPolicyWithRulesPredefinedRuleMatchSrcSecureTagArgs']]] src_secure_tags: List of secure tag values, which should be matched at the source
|
34511
|
+
of the traffic.
|
34512
|
+
For INGRESS rule, if all the <code>srcSecureTag</code> are INEFFECTIVE,
|
34513
|
+
and there is no <code>srcIpRange</code>, this rule will be ignored.
|
34514
|
+
Maximum number of source tag values allowed is 256.
|
34515
|
+
Structure is documented below.
|
34516
|
+
|
34517
|
+
|
34518
|
+
<a name="nested_layer4_config"></a>The `layer4_config` block supports:
|
34519
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] src_threat_intelligences: Names of Network Threat Intelligence lists.
|
34520
|
+
The IPs in these lists will be matched against traffic source.
|
34521
|
+
"""
|
34522
|
+
if dest_address_groups is not None:
|
34523
|
+
pulumi.set(__self__, "dest_address_groups", dest_address_groups)
|
34524
|
+
if dest_fqdns is not None:
|
34525
|
+
pulumi.set(__self__, "dest_fqdns", dest_fqdns)
|
34526
|
+
if dest_ip_ranges is not None:
|
34527
|
+
pulumi.set(__self__, "dest_ip_ranges", dest_ip_ranges)
|
34528
|
+
if dest_region_codes is not None:
|
34529
|
+
pulumi.set(__self__, "dest_region_codes", dest_region_codes)
|
34530
|
+
if dest_threat_intelligences is not None:
|
34531
|
+
pulumi.set(__self__, "dest_threat_intelligences", dest_threat_intelligences)
|
34532
|
+
if layer4_configs is not None:
|
34533
|
+
pulumi.set(__self__, "layer4_configs", layer4_configs)
|
34534
|
+
if src_address_groups is not None:
|
34535
|
+
pulumi.set(__self__, "src_address_groups", src_address_groups)
|
34536
|
+
if src_fqdns is not None:
|
34537
|
+
pulumi.set(__self__, "src_fqdns", src_fqdns)
|
34538
|
+
if src_ip_ranges is not None:
|
34539
|
+
pulumi.set(__self__, "src_ip_ranges", src_ip_ranges)
|
34540
|
+
if src_region_codes is not None:
|
34541
|
+
pulumi.set(__self__, "src_region_codes", src_region_codes)
|
34542
|
+
if src_secure_tags is not None:
|
34543
|
+
pulumi.set(__self__, "src_secure_tags", src_secure_tags)
|
34544
|
+
if src_threat_intelligences is not None:
|
34545
|
+
pulumi.set(__self__, "src_threat_intelligences", src_threat_intelligences)
|
34546
|
+
|
34547
|
+
@property
|
34548
|
+
@pulumi.getter(name="destAddressGroups")
|
34549
|
+
def dest_address_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
34550
|
+
"""
|
34551
|
+
Address groups which should be matched against the traffic destination.
|
34552
|
+
Maximum number of destination address groups is 10.
|
34553
|
+
"""
|
34554
|
+
return pulumi.get(self, "dest_address_groups")
|
34555
|
+
|
34556
|
+
@dest_address_groups.setter
|
34557
|
+
def dest_address_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
34558
|
+
pulumi.set(self, "dest_address_groups", value)
|
34559
|
+
|
34560
|
+
@property
|
34561
|
+
@pulumi.getter(name="destFqdns")
|
34562
|
+
def dest_fqdns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
34563
|
+
"""
|
34564
|
+
Fully Qualified Domain Name (FQDN) which should be matched against
|
34565
|
+
traffic destination. Maximum number of destination fqdn allowed is 100.
|
34566
|
+
"""
|
34567
|
+
return pulumi.get(self, "dest_fqdns")
|
34568
|
+
|
34569
|
+
@dest_fqdns.setter
|
34570
|
+
def dest_fqdns(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
34571
|
+
pulumi.set(self, "dest_fqdns", value)
|
34572
|
+
|
34573
|
+
@property
|
34574
|
+
@pulumi.getter(name="destIpRanges")
|
34575
|
+
def dest_ip_ranges(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
34576
|
+
"""
|
34577
|
+
Destination IP address range in CIDR format. Required for
|
34578
|
+
EGRESS rules.
|
34579
|
+
"""
|
34580
|
+
return pulumi.get(self, "dest_ip_ranges")
|
34581
|
+
|
34582
|
+
@dest_ip_ranges.setter
|
34583
|
+
def dest_ip_ranges(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
34584
|
+
pulumi.set(self, "dest_ip_ranges", value)
|
34585
|
+
|
34586
|
+
@property
|
34587
|
+
@pulumi.getter(name="destRegionCodes")
|
34588
|
+
def dest_region_codes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
34589
|
+
"""
|
34590
|
+
Region codes whose IP addresses will be used to match for destination
|
34591
|
+
of traffic. Should be specified as 2 letter country code defined as per
|
34592
|
+
ISO 3166 alpha-2 country codes. ex."US"
|
34593
|
+
Maximum number of destination region codes allowed is 5000.
|
34594
|
+
"""
|
34595
|
+
return pulumi.get(self, "dest_region_codes")
|
34596
|
+
|
34597
|
+
@dest_region_codes.setter
|
34598
|
+
def dest_region_codes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
34599
|
+
pulumi.set(self, "dest_region_codes", value)
|
34600
|
+
|
34601
|
+
@property
|
34602
|
+
@pulumi.getter(name="destThreatIntelligences")
|
34603
|
+
def dest_threat_intelligences(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
34604
|
+
"""
|
34605
|
+
Names of Network Threat Intelligence lists.
|
34606
|
+
The IPs in these lists will be matched against traffic destination.
|
34607
|
+
"""
|
34608
|
+
return pulumi.get(self, "dest_threat_intelligences")
|
34609
|
+
|
34610
|
+
@dest_threat_intelligences.setter
|
34611
|
+
def dest_threat_intelligences(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
34612
|
+
pulumi.set(self, "dest_threat_intelligences", value)
|
34613
|
+
|
34614
|
+
@property
|
34615
|
+
@pulumi.getter(name="layer4Configs")
|
34616
|
+
def layer4_configs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RegionNetworkFirewallPolicyWithRulesPredefinedRuleMatchLayer4ConfigArgs']]]]:
|
34617
|
+
"""
|
34618
|
+
Pairs of IP protocols and ports that the rule should match.
|
34619
|
+
Structure is documented below.
|
34620
|
+
"""
|
34621
|
+
return pulumi.get(self, "layer4_configs")
|
34622
|
+
|
34623
|
+
@layer4_configs.setter
|
34624
|
+
def layer4_configs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RegionNetworkFirewallPolicyWithRulesPredefinedRuleMatchLayer4ConfigArgs']]]]):
|
34625
|
+
pulumi.set(self, "layer4_configs", value)
|
34626
|
+
|
34627
|
+
@property
|
34628
|
+
@pulumi.getter(name="srcAddressGroups")
|
34629
|
+
def src_address_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
34630
|
+
"""
|
34631
|
+
Address groups which should be matched against the traffic source.
|
34632
|
+
Maximum number of source address groups is 10.
|
34633
|
+
"""
|
34634
|
+
return pulumi.get(self, "src_address_groups")
|
34635
|
+
|
34636
|
+
@src_address_groups.setter
|
34637
|
+
def src_address_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
34638
|
+
pulumi.set(self, "src_address_groups", value)
|
34639
|
+
|
34640
|
+
@property
|
34641
|
+
@pulumi.getter(name="srcFqdns")
|
34642
|
+
def src_fqdns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
34643
|
+
"""
|
34644
|
+
Fully Qualified Domain Name (FQDN) which should be matched against
|
34645
|
+
traffic source. Maximum number of source fqdn allowed is 100.
|
34646
|
+
"""
|
34647
|
+
return pulumi.get(self, "src_fqdns")
|
34648
|
+
|
34649
|
+
@src_fqdns.setter
|
34650
|
+
def src_fqdns(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
34651
|
+
pulumi.set(self, "src_fqdns", value)
|
34652
|
+
|
34653
|
+
@property
|
34654
|
+
@pulumi.getter(name="srcIpRanges")
|
34655
|
+
def src_ip_ranges(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
34656
|
+
"""
|
34657
|
+
Source IP address range in CIDR format. Required for
|
34658
|
+
INGRESS rules.
|
34659
|
+
"""
|
34660
|
+
return pulumi.get(self, "src_ip_ranges")
|
34661
|
+
|
34662
|
+
@src_ip_ranges.setter
|
34663
|
+
def src_ip_ranges(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
34664
|
+
pulumi.set(self, "src_ip_ranges", value)
|
34665
|
+
|
34666
|
+
@property
|
34667
|
+
@pulumi.getter(name="srcRegionCodes")
|
34668
|
+
def src_region_codes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
34669
|
+
"""
|
34670
|
+
Region codes whose IP addresses will be used to match for source
|
34671
|
+
of traffic. Should be specified as 2 letter country code defined as per
|
34672
|
+
ISO 3166 alpha-2 country codes. ex."US"
|
34673
|
+
Maximum number of source region codes allowed is 5000.
|
34674
|
+
"""
|
34675
|
+
return pulumi.get(self, "src_region_codes")
|
34676
|
+
|
34677
|
+
@src_region_codes.setter
|
34678
|
+
def src_region_codes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
34679
|
+
pulumi.set(self, "src_region_codes", value)
|
34680
|
+
|
34681
|
+
@property
|
34682
|
+
@pulumi.getter(name="srcSecureTags")
|
34683
|
+
def src_secure_tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RegionNetworkFirewallPolicyWithRulesPredefinedRuleMatchSrcSecureTagArgs']]]]:
|
34684
|
+
"""
|
34685
|
+
List of secure tag values, which should be matched at the source
|
34686
|
+
of the traffic.
|
34687
|
+
For INGRESS rule, if all the <code>srcSecureTag</code> are INEFFECTIVE,
|
34688
|
+
and there is no <code>srcIpRange</code>, this rule will be ignored.
|
34689
|
+
Maximum number of source tag values allowed is 256.
|
34690
|
+
Structure is documented below.
|
34691
|
+
|
34692
|
+
|
34693
|
+
<a name="nested_layer4_config"></a>The `layer4_config` block supports:
|
34694
|
+
"""
|
34695
|
+
return pulumi.get(self, "src_secure_tags")
|
34696
|
+
|
34697
|
+
@src_secure_tags.setter
|
34698
|
+
def src_secure_tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RegionNetworkFirewallPolicyWithRulesPredefinedRuleMatchSrcSecureTagArgs']]]]):
|
34699
|
+
pulumi.set(self, "src_secure_tags", value)
|
34700
|
+
|
34701
|
+
@property
|
34702
|
+
@pulumi.getter(name="srcThreatIntelligences")
|
34703
|
+
def src_threat_intelligences(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
34704
|
+
"""
|
34705
|
+
Names of Network Threat Intelligence lists.
|
34706
|
+
The IPs in these lists will be matched against traffic source.
|
34707
|
+
"""
|
34708
|
+
return pulumi.get(self, "src_threat_intelligences")
|
34709
|
+
|
34710
|
+
@src_threat_intelligences.setter
|
34711
|
+
def src_threat_intelligences(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
34712
|
+
pulumi.set(self, "src_threat_intelligences", value)
|
34713
|
+
|
34714
|
+
|
34715
|
+
if not MYPY:
|
34716
|
+
class RegionNetworkFirewallPolicyWithRulesPredefinedRuleMatchLayer4ConfigArgsDict(TypedDict):
|
34717
|
+
ip_protocol: NotRequired[pulumi.Input[str]]
|
34718
|
+
"""
|
34719
|
+
(Output)
|
34720
|
+
The IP protocol to which this rule applies. The protocol
|
34721
|
+
type is required when creating a firewall rule.
|
34722
|
+
This value can either be one of the following well
|
34723
|
+
known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp),
|
34724
|
+
or the IP protocol number.
|
34725
|
+
"""
|
34726
|
+
ports: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
|
34727
|
+
"""
|
34728
|
+
(Output)
|
34729
|
+
An optional list of ports to which this rule applies. This field
|
34730
|
+
is only applicable for UDP or TCP protocol. Each entry must be
|
34731
|
+
either an integer or a range. If not specified, this rule
|
34732
|
+
applies to connections through any port.
|
34733
|
+
Example inputs include: ["22"], ["80","443"], and
|
34734
|
+
["12345-12349"].
|
34735
|
+
"""
|
34736
|
+
elif False:
|
34737
|
+
RegionNetworkFirewallPolicyWithRulesPredefinedRuleMatchLayer4ConfigArgsDict: TypeAlias = Mapping[str, Any]
|
34738
|
+
|
34739
|
+
@pulumi.input_type
|
34740
|
+
class RegionNetworkFirewallPolicyWithRulesPredefinedRuleMatchLayer4ConfigArgs:
|
34741
|
+
def __init__(__self__, *,
|
34742
|
+
ip_protocol: Optional[pulumi.Input[str]] = None,
|
34743
|
+
ports: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
|
34744
|
+
"""
|
34745
|
+
:param pulumi.Input[str] ip_protocol: (Output)
|
34746
|
+
The IP protocol to which this rule applies. The protocol
|
34747
|
+
type is required when creating a firewall rule.
|
34748
|
+
This value can either be one of the following well
|
34749
|
+
known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp),
|
34750
|
+
or the IP protocol number.
|
34751
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] ports: (Output)
|
34752
|
+
An optional list of ports to which this rule applies. This field
|
34753
|
+
is only applicable for UDP or TCP protocol. Each entry must be
|
34754
|
+
either an integer or a range. If not specified, this rule
|
34755
|
+
applies to connections through any port.
|
34756
|
+
Example inputs include: ["22"], ["80","443"], and
|
34757
|
+
["12345-12349"].
|
34758
|
+
"""
|
34759
|
+
if ip_protocol is not None:
|
34760
|
+
pulumi.set(__self__, "ip_protocol", ip_protocol)
|
34761
|
+
if ports is not None:
|
34762
|
+
pulumi.set(__self__, "ports", ports)
|
34763
|
+
|
34764
|
+
@property
|
34765
|
+
@pulumi.getter(name="ipProtocol")
|
34766
|
+
def ip_protocol(self) -> Optional[pulumi.Input[str]]:
|
34767
|
+
"""
|
34768
|
+
(Output)
|
34769
|
+
The IP protocol to which this rule applies. The protocol
|
34770
|
+
type is required when creating a firewall rule.
|
34771
|
+
This value can either be one of the following well
|
34772
|
+
known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp),
|
34773
|
+
or the IP protocol number.
|
34774
|
+
"""
|
34775
|
+
return pulumi.get(self, "ip_protocol")
|
34776
|
+
|
34777
|
+
@ip_protocol.setter
|
34778
|
+
def ip_protocol(self, value: Optional[pulumi.Input[str]]):
|
34779
|
+
pulumi.set(self, "ip_protocol", value)
|
34780
|
+
|
34781
|
+
@property
|
34782
|
+
@pulumi.getter
|
34783
|
+
def ports(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
34784
|
+
"""
|
34785
|
+
(Output)
|
34786
|
+
An optional list of ports to which this rule applies. This field
|
34787
|
+
is only applicable for UDP or TCP protocol. Each entry must be
|
34788
|
+
either an integer or a range. If not specified, this rule
|
34789
|
+
applies to connections through any port.
|
34790
|
+
Example inputs include: ["22"], ["80","443"], and
|
34791
|
+
["12345-12349"].
|
34792
|
+
"""
|
34793
|
+
return pulumi.get(self, "ports")
|
34794
|
+
|
34795
|
+
@ports.setter
|
34796
|
+
def ports(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
34797
|
+
pulumi.set(self, "ports", value)
|
34798
|
+
|
34799
|
+
|
34800
|
+
if not MYPY:
|
34801
|
+
class RegionNetworkFirewallPolicyWithRulesPredefinedRuleMatchSrcSecureTagArgsDict(TypedDict):
|
34802
|
+
name: NotRequired[pulumi.Input[str]]
|
34803
|
+
"""
|
34804
|
+
Name of the secure tag, created with TagManager's TagValue API.
|
34805
|
+
@pattern tagValues/[0-9]+
|
34806
|
+
"""
|
34807
|
+
state: NotRequired[pulumi.Input[str]]
|
34808
|
+
"""
|
34809
|
+
(Output)
|
34810
|
+
[Output Only] State of the secure tag, either `EFFECTIVE` or
|
34811
|
+
`INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted
|
34812
|
+
or its network is deleted.
|
34813
|
+
"""
|
34814
|
+
elif False:
|
34815
|
+
RegionNetworkFirewallPolicyWithRulesPredefinedRuleMatchSrcSecureTagArgsDict: TypeAlias = Mapping[str, Any]
|
34816
|
+
|
34817
|
+
@pulumi.input_type
|
34818
|
+
class RegionNetworkFirewallPolicyWithRulesPredefinedRuleMatchSrcSecureTagArgs:
|
34819
|
+
def __init__(__self__, *,
|
34820
|
+
name: Optional[pulumi.Input[str]] = None,
|
34821
|
+
state: Optional[pulumi.Input[str]] = None):
|
34822
|
+
"""
|
34823
|
+
:param pulumi.Input[str] name: Name of the secure tag, created with TagManager's TagValue API.
|
34824
|
+
@pattern tagValues/[0-9]+
|
34825
|
+
:param pulumi.Input[str] state: (Output)
|
34826
|
+
[Output Only] State of the secure tag, either `EFFECTIVE` or
|
34827
|
+
`INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted
|
34828
|
+
or its network is deleted.
|
34829
|
+
"""
|
34830
|
+
if name is not None:
|
34831
|
+
pulumi.set(__self__, "name", name)
|
34832
|
+
if state is not None:
|
34833
|
+
pulumi.set(__self__, "state", state)
|
34834
|
+
|
34835
|
+
@property
|
34836
|
+
@pulumi.getter
|
34837
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
34838
|
+
"""
|
34839
|
+
Name of the secure tag, created with TagManager's TagValue API.
|
34840
|
+
@pattern tagValues/[0-9]+
|
34841
|
+
"""
|
34842
|
+
return pulumi.get(self, "name")
|
34843
|
+
|
34844
|
+
@name.setter
|
34845
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
34846
|
+
pulumi.set(self, "name", value)
|
34847
|
+
|
34848
|
+
@property
|
34849
|
+
@pulumi.getter
|
34850
|
+
def state(self) -> Optional[pulumi.Input[str]]:
|
34851
|
+
"""
|
34852
|
+
(Output)
|
34853
|
+
[Output Only] State of the secure tag, either `EFFECTIVE` or
|
34854
|
+
`INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted
|
34855
|
+
or its network is deleted.
|
34856
|
+
"""
|
34857
|
+
return pulumi.get(self, "state")
|
34858
|
+
|
34859
|
+
@state.setter
|
34860
|
+
def state(self, value: Optional[pulumi.Input[str]]):
|
34861
|
+
pulumi.set(self, "state", value)
|
34862
|
+
|
34863
|
+
|
34864
|
+
if not MYPY:
|
34865
|
+
class RegionNetworkFirewallPolicyWithRulesPredefinedRuleTargetSecureTagArgsDict(TypedDict):
|
34866
|
+
name: NotRequired[pulumi.Input[str]]
|
34867
|
+
"""
|
34868
|
+
Name of the secure tag, created with TagManager's TagValue API.
|
34869
|
+
@pattern tagValues/[0-9]+
|
34870
|
+
"""
|
34871
|
+
state: NotRequired[pulumi.Input[str]]
|
34872
|
+
"""
|
34873
|
+
(Output)
|
34874
|
+
[Output Only] State of the secure tag, either `EFFECTIVE` or
|
34875
|
+
`INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted
|
34876
|
+
or its network is deleted.
|
34877
|
+
|
34878
|
+
- - -
|
34879
|
+
"""
|
34880
|
+
elif False:
|
34881
|
+
RegionNetworkFirewallPolicyWithRulesPredefinedRuleTargetSecureTagArgsDict: TypeAlias = Mapping[str, Any]
|
34882
|
+
|
34883
|
+
@pulumi.input_type
|
34884
|
+
class RegionNetworkFirewallPolicyWithRulesPredefinedRuleTargetSecureTagArgs:
|
34885
|
+
def __init__(__self__, *,
|
34886
|
+
name: Optional[pulumi.Input[str]] = None,
|
34887
|
+
state: Optional[pulumi.Input[str]] = None):
|
34888
|
+
"""
|
34889
|
+
:param pulumi.Input[str] name: Name of the secure tag, created with TagManager's TagValue API.
|
34890
|
+
@pattern tagValues/[0-9]+
|
34891
|
+
:param pulumi.Input[str] state: (Output)
|
34892
|
+
[Output Only] State of the secure tag, either `EFFECTIVE` or
|
34893
|
+
`INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted
|
34894
|
+
or its network is deleted.
|
34895
|
+
|
34896
|
+
- - -
|
34897
|
+
"""
|
34898
|
+
if name is not None:
|
34899
|
+
pulumi.set(__self__, "name", name)
|
34900
|
+
if state is not None:
|
34901
|
+
pulumi.set(__self__, "state", state)
|
34902
|
+
|
34903
|
+
@property
|
34904
|
+
@pulumi.getter
|
34905
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
34906
|
+
"""
|
34907
|
+
Name of the secure tag, created with TagManager's TagValue API.
|
34908
|
+
@pattern tagValues/[0-9]+
|
34909
|
+
"""
|
34910
|
+
return pulumi.get(self, "name")
|
34911
|
+
|
34912
|
+
@name.setter
|
34913
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
34914
|
+
pulumi.set(self, "name", value)
|
34915
|
+
|
34916
|
+
@property
|
34917
|
+
@pulumi.getter
|
34918
|
+
def state(self) -> Optional[pulumi.Input[str]]:
|
34919
|
+
"""
|
34920
|
+
(Output)
|
34921
|
+
[Output Only] State of the secure tag, either `EFFECTIVE` or
|
34922
|
+
`INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted
|
34923
|
+
or its network is deleted.
|
34924
|
+
|
34925
|
+
- - -
|
34926
|
+
"""
|
34927
|
+
return pulumi.get(self, "state")
|
34928
|
+
|
34929
|
+
@state.setter
|
34930
|
+
def state(self, value: Optional[pulumi.Input[str]]):
|
34931
|
+
pulumi.set(self, "state", value)
|
34932
|
+
|
34933
|
+
|
34934
|
+
if not MYPY:
|
34935
|
+
class RegionNetworkFirewallPolicyWithRulesRuleArgsDict(TypedDict):
|
34936
|
+
action: pulumi.Input[str]
|
34937
|
+
"""
|
34938
|
+
The Action to perform when the client connection triggers the rule. Can currently be either
|
34939
|
+
"allow", "deny", "apply_security_profile_group" or "goto_next".
|
34940
|
+
"""
|
34941
|
+
match: pulumi.Input['RegionNetworkFirewallPolicyWithRulesRuleMatchArgsDict']
|
34942
|
+
"""
|
34943
|
+
A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding 'action' is enforced.
|
34944
|
+
Structure is documented below.
|
34945
|
+
"""
|
34946
|
+
priority: pulumi.Input[int]
|
34947
|
+
"""
|
34948
|
+
An integer indicating the priority of a rule in the list. The priority must be a value
|
34949
|
+
between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the
|
34950
|
+
highest priority and 2147483647 is the lowest priority.
|
34951
|
+
"""
|
34952
|
+
description: NotRequired[pulumi.Input[str]]
|
34953
|
+
"""
|
34954
|
+
A description of the rule.
|
34955
|
+
"""
|
34956
|
+
direction: NotRequired[pulumi.Input[str]]
|
34957
|
+
"""
|
34958
|
+
The direction in which this rule applies. If unspecified an INGRESS rule is created.
|
34959
|
+
Possible values are: `INGRESS`, `EGRESS`.
|
34960
|
+
"""
|
34961
|
+
disabled: NotRequired[pulumi.Input[bool]]
|
34962
|
+
"""
|
34963
|
+
Denotes whether the firewall policy rule is disabled. When set to true,
|
34964
|
+
the firewall policy rule is not enforced and traffic behaves as if it did
|
34965
|
+
not exist. If this is unspecified, the firewall policy rule will be
|
34966
|
+
enabled.
|
34967
|
+
"""
|
34968
|
+
enable_logging: NotRequired[pulumi.Input[bool]]
|
34969
|
+
"""
|
34970
|
+
Denotes whether to enable logging for a particular rule.
|
34971
|
+
If logging is enabled, logs will be exported to the
|
34972
|
+
configured export destination in Stackdriver.
|
34973
|
+
"""
|
34974
|
+
rule_name: NotRequired[pulumi.Input[str]]
|
34975
|
+
"""
|
34976
|
+
An optional name for the rule. This field is not a unique identifier
|
34977
|
+
and can be updated.
|
34978
|
+
"""
|
34979
|
+
security_profile_group: NotRequired[pulumi.Input[str]]
|
34980
|
+
"""
|
34981
|
+
A fully-qualified URL of a SecurityProfile resource instance.
|
34982
|
+
Example:
|
34983
|
+
https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group
|
34984
|
+
Must be specified if action is 'apply_security_profile_group'.
|
34985
|
+
"""
|
34986
|
+
target_secure_tags: NotRequired[pulumi.Input[Sequence[pulumi.Input['RegionNetworkFirewallPolicyWithRulesRuleTargetSecureTagArgsDict']]]]
|
34987
|
+
"""
|
34988
|
+
A list of secure tags that controls which instances the firewall rule
|
34989
|
+
applies to. If <code>targetSecureTag</code> are specified, then the
|
34990
|
+
firewall rule applies only to instances in the VPC network that have one
|
34991
|
+
of those EFFECTIVE secure tags, if all the target_secure_tag are in
|
34992
|
+
INEFFECTIVE state, then this rule will be ignored.
|
34993
|
+
<code>targetSecureTag</code> may not be set at the same time as
|
34994
|
+
<code>targetServiceAccounts</code>.
|
34995
|
+
If neither <code>targetServiceAccounts</code> nor
|
34996
|
+
<code>targetSecureTag</code> are specified, the firewall rule applies
|
34997
|
+
to all instances on the specified network.
|
34998
|
+
Maximum number of target label tags allowed is 256.
|
34999
|
+
Structure is documented below.
|
35000
|
+
"""
|
35001
|
+
target_service_accounts: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
|
35002
|
+
"""
|
35003
|
+
A list of service accounts indicating the sets of
|
35004
|
+
instances that are applied with this rule.
|
35005
|
+
"""
|
35006
|
+
tls_inspect: NotRequired[pulumi.Input[bool]]
|
35007
|
+
"""
|
35008
|
+
Boolean flag indicating if the traffic should be TLS decrypted.
|
35009
|
+
It can be set only if action = 'apply_security_profile_group' and cannot be set for other actions.
|
35010
|
+
"""
|
35011
|
+
elif False:
|
35012
|
+
RegionNetworkFirewallPolicyWithRulesRuleArgsDict: TypeAlias = Mapping[str, Any]
|
35013
|
+
|
35014
|
+
@pulumi.input_type
|
35015
|
+
class RegionNetworkFirewallPolicyWithRulesRuleArgs:
|
35016
|
+
def __init__(__self__, *,
|
35017
|
+
action: pulumi.Input[str],
|
35018
|
+
match: pulumi.Input['RegionNetworkFirewallPolicyWithRulesRuleMatchArgs'],
|
35019
|
+
priority: pulumi.Input[int],
|
35020
|
+
description: Optional[pulumi.Input[str]] = None,
|
35021
|
+
direction: Optional[pulumi.Input[str]] = None,
|
35022
|
+
disabled: Optional[pulumi.Input[bool]] = None,
|
35023
|
+
enable_logging: Optional[pulumi.Input[bool]] = None,
|
35024
|
+
rule_name: Optional[pulumi.Input[str]] = None,
|
35025
|
+
security_profile_group: Optional[pulumi.Input[str]] = None,
|
35026
|
+
target_secure_tags: Optional[pulumi.Input[Sequence[pulumi.Input['RegionNetworkFirewallPolicyWithRulesRuleTargetSecureTagArgs']]]] = None,
|
35027
|
+
target_service_accounts: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
35028
|
+
tls_inspect: Optional[pulumi.Input[bool]] = None):
|
35029
|
+
"""
|
35030
|
+
:param pulumi.Input[str] action: The Action to perform when the client connection triggers the rule. Can currently be either
|
35031
|
+
"allow", "deny", "apply_security_profile_group" or "goto_next".
|
35032
|
+
:param pulumi.Input['RegionNetworkFirewallPolicyWithRulesRuleMatchArgs'] match: A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding 'action' is enforced.
|
35033
|
+
Structure is documented below.
|
35034
|
+
:param pulumi.Input[int] priority: An integer indicating the priority of a rule in the list. The priority must be a value
|
35035
|
+
between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the
|
35036
|
+
highest priority and 2147483647 is the lowest priority.
|
35037
|
+
:param pulumi.Input[str] description: A description of the rule.
|
35038
|
+
:param pulumi.Input[str] direction: The direction in which this rule applies. If unspecified an INGRESS rule is created.
|
35039
|
+
Possible values are: `INGRESS`, `EGRESS`.
|
35040
|
+
:param pulumi.Input[bool] disabled: Denotes whether the firewall policy rule is disabled. When set to true,
|
35041
|
+
the firewall policy rule is not enforced and traffic behaves as if it did
|
35042
|
+
not exist. If this is unspecified, the firewall policy rule will be
|
35043
|
+
enabled.
|
35044
|
+
:param pulumi.Input[bool] enable_logging: Denotes whether to enable logging for a particular rule.
|
35045
|
+
If logging is enabled, logs will be exported to the
|
35046
|
+
configured export destination in Stackdriver.
|
35047
|
+
:param pulumi.Input[str] rule_name: An optional name for the rule. This field is not a unique identifier
|
35048
|
+
and can be updated.
|
35049
|
+
:param pulumi.Input[str] security_profile_group: A fully-qualified URL of a SecurityProfile resource instance.
|
35050
|
+
Example:
|
35051
|
+
https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group
|
35052
|
+
Must be specified if action is 'apply_security_profile_group'.
|
35053
|
+
:param pulumi.Input[Sequence[pulumi.Input['RegionNetworkFirewallPolicyWithRulesRuleTargetSecureTagArgs']]] target_secure_tags: A list of secure tags that controls which instances the firewall rule
|
35054
|
+
applies to. If <code>targetSecureTag</code> are specified, then the
|
35055
|
+
firewall rule applies only to instances in the VPC network that have one
|
35056
|
+
of those EFFECTIVE secure tags, if all the target_secure_tag are in
|
35057
|
+
INEFFECTIVE state, then this rule will be ignored.
|
35058
|
+
<code>targetSecureTag</code> may not be set at the same time as
|
35059
|
+
<code>targetServiceAccounts</code>.
|
35060
|
+
If neither <code>targetServiceAccounts</code> nor
|
35061
|
+
<code>targetSecureTag</code> are specified, the firewall rule applies
|
35062
|
+
to all instances on the specified network.
|
35063
|
+
Maximum number of target label tags allowed is 256.
|
35064
|
+
Structure is documented below.
|
35065
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] target_service_accounts: A list of service accounts indicating the sets of
|
35066
|
+
instances that are applied with this rule.
|
35067
|
+
:param pulumi.Input[bool] tls_inspect: Boolean flag indicating if the traffic should be TLS decrypted.
|
35068
|
+
It can be set only if action = 'apply_security_profile_group' and cannot be set for other actions.
|
35069
|
+
"""
|
35070
|
+
pulumi.set(__self__, "action", action)
|
35071
|
+
pulumi.set(__self__, "match", match)
|
35072
|
+
pulumi.set(__self__, "priority", priority)
|
35073
|
+
if description is not None:
|
35074
|
+
pulumi.set(__self__, "description", description)
|
35075
|
+
if direction is not None:
|
35076
|
+
pulumi.set(__self__, "direction", direction)
|
35077
|
+
if disabled is not None:
|
35078
|
+
pulumi.set(__self__, "disabled", disabled)
|
35079
|
+
if enable_logging is not None:
|
35080
|
+
pulumi.set(__self__, "enable_logging", enable_logging)
|
35081
|
+
if rule_name is not None:
|
35082
|
+
pulumi.set(__self__, "rule_name", rule_name)
|
35083
|
+
if security_profile_group is not None:
|
35084
|
+
pulumi.set(__self__, "security_profile_group", security_profile_group)
|
35085
|
+
if target_secure_tags is not None:
|
35086
|
+
pulumi.set(__self__, "target_secure_tags", target_secure_tags)
|
35087
|
+
if target_service_accounts is not None:
|
35088
|
+
pulumi.set(__self__, "target_service_accounts", target_service_accounts)
|
35089
|
+
if tls_inspect is not None:
|
35090
|
+
pulumi.set(__self__, "tls_inspect", tls_inspect)
|
35091
|
+
|
35092
|
+
@property
|
35093
|
+
@pulumi.getter
|
35094
|
+
def action(self) -> pulumi.Input[str]:
|
35095
|
+
"""
|
35096
|
+
The Action to perform when the client connection triggers the rule. Can currently be either
|
35097
|
+
"allow", "deny", "apply_security_profile_group" or "goto_next".
|
35098
|
+
"""
|
35099
|
+
return pulumi.get(self, "action")
|
35100
|
+
|
35101
|
+
@action.setter
|
35102
|
+
def action(self, value: pulumi.Input[str]):
|
35103
|
+
pulumi.set(self, "action", value)
|
35104
|
+
|
35105
|
+
@property
|
35106
|
+
@pulumi.getter
|
35107
|
+
def match(self) -> pulumi.Input['RegionNetworkFirewallPolicyWithRulesRuleMatchArgs']:
|
35108
|
+
"""
|
35109
|
+
A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding 'action' is enforced.
|
35110
|
+
Structure is documented below.
|
35111
|
+
"""
|
35112
|
+
return pulumi.get(self, "match")
|
35113
|
+
|
35114
|
+
@match.setter
|
35115
|
+
def match(self, value: pulumi.Input['RegionNetworkFirewallPolicyWithRulesRuleMatchArgs']):
|
35116
|
+
pulumi.set(self, "match", value)
|
35117
|
+
|
35118
|
+
@property
|
35119
|
+
@pulumi.getter
|
35120
|
+
def priority(self) -> pulumi.Input[int]:
|
35121
|
+
"""
|
35122
|
+
An integer indicating the priority of a rule in the list. The priority must be a value
|
35123
|
+
between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the
|
35124
|
+
highest priority and 2147483647 is the lowest priority.
|
35125
|
+
"""
|
35126
|
+
return pulumi.get(self, "priority")
|
35127
|
+
|
35128
|
+
@priority.setter
|
35129
|
+
def priority(self, value: pulumi.Input[int]):
|
35130
|
+
pulumi.set(self, "priority", value)
|
35131
|
+
|
35132
|
+
@property
|
35133
|
+
@pulumi.getter
|
35134
|
+
def description(self) -> Optional[pulumi.Input[str]]:
|
35135
|
+
"""
|
35136
|
+
A description of the rule.
|
35137
|
+
"""
|
35138
|
+
return pulumi.get(self, "description")
|
35139
|
+
|
35140
|
+
@description.setter
|
35141
|
+
def description(self, value: Optional[pulumi.Input[str]]):
|
35142
|
+
pulumi.set(self, "description", value)
|
35143
|
+
|
35144
|
+
@property
|
35145
|
+
@pulumi.getter
|
35146
|
+
def direction(self) -> Optional[pulumi.Input[str]]:
|
35147
|
+
"""
|
35148
|
+
The direction in which this rule applies. If unspecified an INGRESS rule is created.
|
35149
|
+
Possible values are: `INGRESS`, `EGRESS`.
|
35150
|
+
"""
|
35151
|
+
return pulumi.get(self, "direction")
|
35152
|
+
|
35153
|
+
@direction.setter
|
35154
|
+
def direction(self, value: Optional[pulumi.Input[str]]):
|
35155
|
+
pulumi.set(self, "direction", value)
|
35156
|
+
|
35157
|
+
@property
|
35158
|
+
@pulumi.getter
|
35159
|
+
def disabled(self) -> Optional[pulumi.Input[bool]]:
|
35160
|
+
"""
|
35161
|
+
Denotes whether the firewall policy rule is disabled. When set to true,
|
35162
|
+
the firewall policy rule is not enforced and traffic behaves as if it did
|
35163
|
+
not exist. If this is unspecified, the firewall policy rule will be
|
35164
|
+
enabled.
|
35165
|
+
"""
|
35166
|
+
return pulumi.get(self, "disabled")
|
35167
|
+
|
35168
|
+
@disabled.setter
|
35169
|
+
def disabled(self, value: Optional[pulumi.Input[bool]]):
|
35170
|
+
pulumi.set(self, "disabled", value)
|
35171
|
+
|
35172
|
+
@property
|
35173
|
+
@pulumi.getter(name="enableLogging")
|
35174
|
+
def enable_logging(self) -> Optional[pulumi.Input[bool]]:
|
35175
|
+
"""
|
35176
|
+
Denotes whether to enable logging for a particular rule.
|
35177
|
+
If logging is enabled, logs will be exported to the
|
35178
|
+
configured export destination in Stackdriver.
|
35179
|
+
"""
|
35180
|
+
return pulumi.get(self, "enable_logging")
|
35181
|
+
|
35182
|
+
@enable_logging.setter
|
35183
|
+
def enable_logging(self, value: Optional[pulumi.Input[bool]]):
|
35184
|
+
pulumi.set(self, "enable_logging", value)
|
35185
|
+
|
35186
|
+
@property
|
35187
|
+
@pulumi.getter(name="ruleName")
|
35188
|
+
def rule_name(self) -> Optional[pulumi.Input[str]]:
|
35189
|
+
"""
|
35190
|
+
An optional name for the rule. This field is not a unique identifier
|
35191
|
+
and can be updated.
|
35192
|
+
"""
|
35193
|
+
return pulumi.get(self, "rule_name")
|
35194
|
+
|
35195
|
+
@rule_name.setter
|
35196
|
+
def rule_name(self, value: Optional[pulumi.Input[str]]):
|
35197
|
+
pulumi.set(self, "rule_name", value)
|
35198
|
+
|
35199
|
+
@property
|
35200
|
+
@pulumi.getter(name="securityProfileGroup")
|
35201
|
+
def security_profile_group(self) -> Optional[pulumi.Input[str]]:
|
35202
|
+
"""
|
35203
|
+
A fully-qualified URL of a SecurityProfile resource instance.
|
35204
|
+
Example:
|
35205
|
+
https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group
|
35206
|
+
Must be specified if action is 'apply_security_profile_group'.
|
35207
|
+
"""
|
35208
|
+
return pulumi.get(self, "security_profile_group")
|
35209
|
+
|
35210
|
+
@security_profile_group.setter
|
35211
|
+
def security_profile_group(self, value: Optional[pulumi.Input[str]]):
|
35212
|
+
pulumi.set(self, "security_profile_group", value)
|
35213
|
+
|
35214
|
+
@property
|
35215
|
+
@pulumi.getter(name="targetSecureTags")
|
35216
|
+
def target_secure_tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RegionNetworkFirewallPolicyWithRulesRuleTargetSecureTagArgs']]]]:
|
35217
|
+
"""
|
35218
|
+
A list of secure tags that controls which instances the firewall rule
|
35219
|
+
applies to. If <code>targetSecureTag</code> are specified, then the
|
35220
|
+
firewall rule applies only to instances in the VPC network that have one
|
35221
|
+
of those EFFECTIVE secure tags, if all the target_secure_tag are in
|
35222
|
+
INEFFECTIVE state, then this rule will be ignored.
|
35223
|
+
<code>targetSecureTag</code> may not be set at the same time as
|
35224
|
+
<code>targetServiceAccounts</code>.
|
35225
|
+
If neither <code>targetServiceAccounts</code> nor
|
35226
|
+
<code>targetSecureTag</code> are specified, the firewall rule applies
|
35227
|
+
to all instances on the specified network.
|
35228
|
+
Maximum number of target label tags allowed is 256.
|
35229
|
+
Structure is documented below.
|
35230
|
+
"""
|
35231
|
+
return pulumi.get(self, "target_secure_tags")
|
35232
|
+
|
35233
|
+
@target_secure_tags.setter
|
35234
|
+
def target_secure_tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RegionNetworkFirewallPolicyWithRulesRuleTargetSecureTagArgs']]]]):
|
35235
|
+
pulumi.set(self, "target_secure_tags", value)
|
35236
|
+
|
35237
|
+
@property
|
35238
|
+
@pulumi.getter(name="targetServiceAccounts")
|
35239
|
+
def target_service_accounts(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
35240
|
+
"""
|
35241
|
+
A list of service accounts indicating the sets of
|
35242
|
+
instances that are applied with this rule.
|
35243
|
+
"""
|
35244
|
+
return pulumi.get(self, "target_service_accounts")
|
35245
|
+
|
35246
|
+
@target_service_accounts.setter
|
35247
|
+
def target_service_accounts(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
35248
|
+
pulumi.set(self, "target_service_accounts", value)
|
35249
|
+
|
35250
|
+
@property
|
35251
|
+
@pulumi.getter(name="tlsInspect")
|
35252
|
+
def tls_inspect(self) -> Optional[pulumi.Input[bool]]:
|
35253
|
+
"""
|
35254
|
+
Boolean flag indicating if the traffic should be TLS decrypted.
|
35255
|
+
It can be set only if action = 'apply_security_profile_group' and cannot be set for other actions.
|
35256
|
+
"""
|
35257
|
+
return pulumi.get(self, "tls_inspect")
|
35258
|
+
|
35259
|
+
@tls_inspect.setter
|
35260
|
+
def tls_inspect(self, value: Optional[pulumi.Input[bool]]):
|
35261
|
+
pulumi.set(self, "tls_inspect", value)
|
35262
|
+
|
35263
|
+
|
35264
|
+
if not MYPY:
|
35265
|
+
class RegionNetworkFirewallPolicyWithRulesRuleMatchArgsDict(TypedDict):
|
35266
|
+
layer4_configs: pulumi.Input[Sequence[pulumi.Input['RegionNetworkFirewallPolicyWithRulesRuleMatchLayer4ConfigArgsDict']]]
|
35267
|
+
"""
|
35268
|
+
Pairs of IP protocols and ports that the rule should match.
|
35269
|
+
Structure is documented below.
|
35270
|
+
"""
|
35271
|
+
dest_address_groups: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
|
35272
|
+
"""
|
35273
|
+
Address groups which should be matched against the traffic destination.
|
35274
|
+
Maximum number of destination address groups is 10.
|
35275
|
+
"""
|
35276
|
+
dest_fqdns: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
|
35277
|
+
"""
|
35278
|
+
Fully Qualified Domain Name (FQDN) which should be matched against
|
35279
|
+
traffic destination. Maximum number of destination fqdn allowed is 100.
|
35280
|
+
"""
|
35281
|
+
dest_ip_ranges: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
|
35282
|
+
"""
|
35283
|
+
Destination IP address range in CIDR format. Required for
|
35284
|
+
EGRESS rules.
|
35285
|
+
"""
|
35286
|
+
dest_region_codes: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
|
35287
|
+
"""
|
35288
|
+
Region codes whose IP addresses will be used to match for destination
|
35289
|
+
of traffic. Should be specified as 2 letter country code defined as per
|
35290
|
+
ISO 3166 alpha-2 country codes. ex."US"
|
35291
|
+
Maximum number of destination region codes allowed is 5000.
|
35292
|
+
"""
|
35293
|
+
dest_threat_intelligences: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
|
35294
|
+
"""
|
35295
|
+
Names of Network Threat Intelligence lists.
|
35296
|
+
The IPs in these lists will be matched against traffic destination.
|
35297
|
+
"""
|
35298
|
+
src_address_groups: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
|
35299
|
+
"""
|
35300
|
+
Address groups which should be matched against the traffic source.
|
35301
|
+
Maximum number of source address groups is 10.
|
35302
|
+
"""
|
35303
|
+
src_fqdns: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
|
35304
|
+
"""
|
35305
|
+
Fully Qualified Domain Name (FQDN) which should be matched against
|
35306
|
+
traffic source. Maximum number of source fqdn allowed is 100.
|
35307
|
+
"""
|
35308
|
+
src_ip_ranges: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
|
35309
|
+
"""
|
35310
|
+
Source IP address range in CIDR format. Required for
|
35311
|
+
INGRESS rules.
|
35312
|
+
"""
|
35313
|
+
src_region_codes: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
|
35314
|
+
"""
|
35315
|
+
Region codes whose IP addresses will be used to match for source
|
35316
|
+
of traffic. Should be specified as 2 letter country code defined as per
|
35317
|
+
ISO 3166 alpha-2 country codes. ex."US"
|
35318
|
+
Maximum number of source region codes allowed is 5000.
|
35319
|
+
"""
|
35320
|
+
src_secure_tags: NotRequired[pulumi.Input[Sequence[pulumi.Input['RegionNetworkFirewallPolicyWithRulesRuleMatchSrcSecureTagArgsDict']]]]
|
35321
|
+
"""
|
35322
|
+
List of secure tag values, which should be matched at the source
|
35323
|
+
of the traffic.
|
35324
|
+
For INGRESS rule, if all the <code>srcSecureTag</code> are INEFFECTIVE,
|
35325
|
+
and there is no <code>srcIpRange</code>, this rule will be ignored.
|
35326
|
+
Maximum number of source tag values allowed is 256.
|
35327
|
+
Structure is documented below.
|
35328
|
+
|
35329
|
+
|
35330
|
+
<a name="nested_layer4_config"></a>The `layer4_config` block supports:
|
35331
|
+
"""
|
35332
|
+
src_threat_intelligences: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
|
35333
|
+
"""
|
35334
|
+
Names of Network Threat Intelligence lists.
|
35335
|
+
The IPs in these lists will be matched against traffic source.
|
35336
|
+
"""
|
35337
|
+
elif False:
|
35338
|
+
RegionNetworkFirewallPolicyWithRulesRuleMatchArgsDict: TypeAlias = Mapping[str, Any]
|
35339
|
+
|
35340
|
+
@pulumi.input_type
|
35341
|
+
class RegionNetworkFirewallPolicyWithRulesRuleMatchArgs:
|
35342
|
+
def __init__(__self__, *,
|
35343
|
+
layer4_configs: pulumi.Input[Sequence[pulumi.Input['RegionNetworkFirewallPolicyWithRulesRuleMatchLayer4ConfigArgs']]],
|
35344
|
+
dest_address_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
35345
|
+
dest_fqdns: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
35346
|
+
dest_ip_ranges: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
35347
|
+
dest_region_codes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
35348
|
+
dest_threat_intelligences: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
35349
|
+
src_address_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
35350
|
+
src_fqdns: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
35351
|
+
src_ip_ranges: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
35352
|
+
src_region_codes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
35353
|
+
src_secure_tags: Optional[pulumi.Input[Sequence[pulumi.Input['RegionNetworkFirewallPolicyWithRulesRuleMatchSrcSecureTagArgs']]]] = None,
|
35354
|
+
src_threat_intelligences: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
|
35355
|
+
"""
|
35356
|
+
:param pulumi.Input[Sequence[pulumi.Input['RegionNetworkFirewallPolicyWithRulesRuleMatchLayer4ConfigArgs']]] layer4_configs: Pairs of IP protocols and ports that the rule should match.
|
35357
|
+
Structure is documented below.
|
35358
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] dest_address_groups: Address groups which should be matched against the traffic destination.
|
35359
|
+
Maximum number of destination address groups is 10.
|
35360
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] dest_fqdns: Fully Qualified Domain Name (FQDN) which should be matched against
|
35361
|
+
traffic destination. Maximum number of destination fqdn allowed is 100.
|
35362
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] dest_ip_ranges: Destination IP address range in CIDR format. Required for
|
35363
|
+
EGRESS rules.
|
35364
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] dest_region_codes: Region codes whose IP addresses will be used to match for destination
|
35365
|
+
of traffic. Should be specified as 2 letter country code defined as per
|
35366
|
+
ISO 3166 alpha-2 country codes. ex."US"
|
35367
|
+
Maximum number of destination region codes allowed is 5000.
|
35368
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] dest_threat_intelligences: Names of Network Threat Intelligence lists.
|
35369
|
+
The IPs in these lists will be matched against traffic destination.
|
35370
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] src_address_groups: Address groups which should be matched against the traffic source.
|
35371
|
+
Maximum number of source address groups is 10.
|
35372
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] src_fqdns: Fully Qualified Domain Name (FQDN) which should be matched against
|
35373
|
+
traffic source. Maximum number of source fqdn allowed is 100.
|
35374
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] src_ip_ranges: Source IP address range in CIDR format. Required for
|
35375
|
+
INGRESS rules.
|
35376
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] src_region_codes: Region codes whose IP addresses will be used to match for source
|
35377
|
+
of traffic. Should be specified as 2 letter country code defined as per
|
35378
|
+
ISO 3166 alpha-2 country codes. ex."US"
|
35379
|
+
Maximum number of source region codes allowed is 5000.
|
35380
|
+
:param pulumi.Input[Sequence[pulumi.Input['RegionNetworkFirewallPolicyWithRulesRuleMatchSrcSecureTagArgs']]] src_secure_tags: List of secure tag values, which should be matched at the source
|
35381
|
+
of the traffic.
|
35382
|
+
For INGRESS rule, if all the <code>srcSecureTag</code> are INEFFECTIVE,
|
35383
|
+
and there is no <code>srcIpRange</code>, this rule will be ignored.
|
35384
|
+
Maximum number of source tag values allowed is 256.
|
35385
|
+
Structure is documented below.
|
35386
|
+
|
35387
|
+
|
35388
|
+
<a name="nested_layer4_config"></a>The `layer4_config` block supports:
|
35389
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] src_threat_intelligences: Names of Network Threat Intelligence lists.
|
35390
|
+
The IPs in these lists will be matched against traffic source.
|
35391
|
+
"""
|
35392
|
+
pulumi.set(__self__, "layer4_configs", layer4_configs)
|
35393
|
+
if dest_address_groups is not None:
|
35394
|
+
pulumi.set(__self__, "dest_address_groups", dest_address_groups)
|
35395
|
+
if dest_fqdns is not None:
|
35396
|
+
pulumi.set(__self__, "dest_fqdns", dest_fqdns)
|
35397
|
+
if dest_ip_ranges is not None:
|
35398
|
+
pulumi.set(__self__, "dest_ip_ranges", dest_ip_ranges)
|
35399
|
+
if dest_region_codes is not None:
|
35400
|
+
pulumi.set(__self__, "dest_region_codes", dest_region_codes)
|
35401
|
+
if dest_threat_intelligences is not None:
|
35402
|
+
pulumi.set(__self__, "dest_threat_intelligences", dest_threat_intelligences)
|
35403
|
+
if src_address_groups is not None:
|
35404
|
+
pulumi.set(__self__, "src_address_groups", src_address_groups)
|
35405
|
+
if src_fqdns is not None:
|
35406
|
+
pulumi.set(__self__, "src_fqdns", src_fqdns)
|
35407
|
+
if src_ip_ranges is not None:
|
35408
|
+
pulumi.set(__self__, "src_ip_ranges", src_ip_ranges)
|
35409
|
+
if src_region_codes is not None:
|
35410
|
+
pulumi.set(__self__, "src_region_codes", src_region_codes)
|
35411
|
+
if src_secure_tags is not None:
|
35412
|
+
pulumi.set(__self__, "src_secure_tags", src_secure_tags)
|
35413
|
+
if src_threat_intelligences is not None:
|
35414
|
+
pulumi.set(__self__, "src_threat_intelligences", src_threat_intelligences)
|
35415
|
+
|
35416
|
+
@property
|
35417
|
+
@pulumi.getter(name="layer4Configs")
|
35418
|
+
def layer4_configs(self) -> pulumi.Input[Sequence[pulumi.Input['RegionNetworkFirewallPolicyWithRulesRuleMatchLayer4ConfigArgs']]]:
|
35419
|
+
"""
|
35420
|
+
Pairs of IP protocols and ports that the rule should match.
|
35421
|
+
Structure is documented below.
|
35422
|
+
"""
|
35423
|
+
return pulumi.get(self, "layer4_configs")
|
35424
|
+
|
35425
|
+
@layer4_configs.setter
|
35426
|
+
def layer4_configs(self, value: pulumi.Input[Sequence[pulumi.Input['RegionNetworkFirewallPolicyWithRulesRuleMatchLayer4ConfigArgs']]]):
|
35427
|
+
pulumi.set(self, "layer4_configs", value)
|
35428
|
+
|
35429
|
+
@property
|
35430
|
+
@pulumi.getter(name="destAddressGroups")
|
35431
|
+
def dest_address_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
35432
|
+
"""
|
35433
|
+
Address groups which should be matched against the traffic destination.
|
35434
|
+
Maximum number of destination address groups is 10.
|
35435
|
+
"""
|
35436
|
+
return pulumi.get(self, "dest_address_groups")
|
35437
|
+
|
35438
|
+
@dest_address_groups.setter
|
35439
|
+
def dest_address_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
35440
|
+
pulumi.set(self, "dest_address_groups", value)
|
35441
|
+
|
35442
|
+
@property
|
35443
|
+
@pulumi.getter(name="destFqdns")
|
35444
|
+
def dest_fqdns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
35445
|
+
"""
|
35446
|
+
Fully Qualified Domain Name (FQDN) which should be matched against
|
35447
|
+
traffic destination. Maximum number of destination fqdn allowed is 100.
|
35448
|
+
"""
|
35449
|
+
return pulumi.get(self, "dest_fqdns")
|
35450
|
+
|
35451
|
+
@dest_fqdns.setter
|
35452
|
+
def dest_fqdns(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
35453
|
+
pulumi.set(self, "dest_fqdns", value)
|
35454
|
+
|
35455
|
+
@property
|
35456
|
+
@pulumi.getter(name="destIpRanges")
|
35457
|
+
def dest_ip_ranges(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
35458
|
+
"""
|
35459
|
+
Destination IP address range in CIDR format. Required for
|
35460
|
+
EGRESS rules.
|
35461
|
+
"""
|
35462
|
+
return pulumi.get(self, "dest_ip_ranges")
|
35463
|
+
|
35464
|
+
@dest_ip_ranges.setter
|
35465
|
+
def dest_ip_ranges(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
35466
|
+
pulumi.set(self, "dest_ip_ranges", value)
|
35467
|
+
|
35468
|
+
@property
|
35469
|
+
@pulumi.getter(name="destRegionCodes")
|
35470
|
+
def dest_region_codes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
35471
|
+
"""
|
35472
|
+
Region codes whose IP addresses will be used to match for destination
|
35473
|
+
of traffic. Should be specified as 2 letter country code defined as per
|
35474
|
+
ISO 3166 alpha-2 country codes. ex."US"
|
35475
|
+
Maximum number of destination region codes allowed is 5000.
|
35476
|
+
"""
|
35477
|
+
return pulumi.get(self, "dest_region_codes")
|
35478
|
+
|
35479
|
+
@dest_region_codes.setter
|
35480
|
+
def dest_region_codes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
35481
|
+
pulumi.set(self, "dest_region_codes", value)
|
35482
|
+
|
35483
|
+
@property
|
35484
|
+
@pulumi.getter(name="destThreatIntelligences")
|
35485
|
+
def dest_threat_intelligences(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
35486
|
+
"""
|
35487
|
+
Names of Network Threat Intelligence lists.
|
35488
|
+
The IPs in these lists will be matched against traffic destination.
|
35489
|
+
"""
|
35490
|
+
return pulumi.get(self, "dest_threat_intelligences")
|
35491
|
+
|
35492
|
+
@dest_threat_intelligences.setter
|
35493
|
+
def dest_threat_intelligences(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
35494
|
+
pulumi.set(self, "dest_threat_intelligences", value)
|
35495
|
+
|
35496
|
+
@property
|
35497
|
+
@pulumi.getter(name="srcAddressGroups")
|
35498
|
+
def src_address_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
35499
|
+
"""
|
35500
|
+
Address groups which should be matched against the traffic source.
|
35501
|
+
Maximum number of source address groups is 10.
|
35502
|
+
"""
|
35503
|
+
return pulumi.get(self, "src_address_groups")
|
35504
|
+
|
35505
|
+
@src_address_groups.setter
|
35506
|
+
def src_address_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
35507
|
+
pulumi.set(self, "src_address_groups", value)
|
35508
|
+
|
35509
|
+
@property
|
35510
|
+
@pulumi.getter(name="srcFqdns")
|
35511
|
+
def src_fqdns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
35512
|
+
"""
|
35513
|
+
Fully Qualified Domain Name (FQDN) which should be matched against
|
35514
|
+
traffic source. Maximum number of source fqdn allowed is 100.
|
35515
|
+
"""
|
35516
|
+
return pulumi.get(self, "src_fqdns")
|
35517
|
+
|
35518
|
+
@src_fqdns.setter
|
35519
|
+
def src_fqdns(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
35520
|
+
pulumi.set(self, "src_fqdns", value)
|
35521
|
+
|
35522
|
+
@property
|
35523
|
+
@pulumi.getter(name="srcIpRanges")
|
35524
|
+
def src_ip_ranges(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
35525
|
+
"""
|
35526
|
+
Source IP address range in CIDR format. Required for
|
35527
|
+
INGRESS rules.
|
35528
|
+
"""
|
35529
|
+
return pulumi.get(self, "src_ip_ranges")
|
35530
|
+
|
35531
|
+
@src_ip_ranges.setter
|
35532
|
+
def src_ip_ranges(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
35533
|
+
pulumi.set(self, "src_ip_ranges", value)
|
35534
|
+
|
35535
|
+
@property
|
35536
|
+
@pulumi.getter(name="srcRegionCodes")
|
35537
|
+
def src_region_codes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
35538
|
+
"""
|
35539
|
+
Region codes whose IP addresses will be used to match for source
|
35540
|
+
of traffic. Should be specified as 2 letter country code defined as per
|
35541
|
+
ISO 3166 alpha-2 country codes. ex."US"
|
35542
|
+
Maximum number of source region codes allowed is 5000.
|
35543
|
+
"""
|
35544
|
+
return pulumi.get(self, "src_region_codes")
|
35545
|
+
|
35546
|
+
@src_region_codes.setter
|
35547
|
+
def src_region_codes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
35548
|
+
pulumi.set(self, "src_region_codes", value)
|
35549
|
+
|
35550
|
+
@property
|
35551
|
+
@pulumi.getter(name="srcSecureTags")
|
35552
|
+
def src_secure_tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RegionNetworkFirewallPolicyWithRulesRuleMatchSrcSecureTagArgs']]]]:
|
35553
|
+
"""
|
35554
|
+
List of secure tag values, which should be matched at the source
|
35555
|
+
of the traffic.
|
35556
|
+
For INGRESS rule, if all the <code>srcSecureTag</code> are INEFFECTIVE,
|
35557
|
+
and there is no <code>srcIpRange</code>, this rule will be ignored.
|
35558
|
+
Maximum number of source tag values allowed is 256.
|
35559
|
+
Structure is documented below.
|
35560
|
+
|
35561
|
+
|
35562
|
+
<a name="nested_layer4_config"></a>The `layer4_config` block supports:
|
35563
|
+
"""
|
35564
|
+
return pulumi.get(self, "src_secure_tags")
|
35565
|
+
|
35566
|
+
@src_secure_tags.setter
|
35567
|
+
def src_secure_tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RegionNetworkFirewallPolicyWithRulesRuleMatchSrcSecureTagArgs']]]]):
|
35568
|
+
pulumi.set(self, "src_secure_tags", value)
|
35569
|
+
|
35570
|
+
@property
|
35571
|
+
@pulumi.getter(name="srcThreatIntelligences")
|
35572
|
+
def src_threat_intelligences(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
35573
|
+
"""
|
35574
|
+
Names of Network Threat Intelligence lists.
|
35575
|
+
The IPs in these lists will be matched against traffic source.
|
35576
|
+
"""
|
35577
|
+
return pulumi.get(self, "src_threat_intelligences")
|
35578
|
+
|
35579
|
+
@src_threat_intelligences.setter
|
35580
|
+
def src_threat_intelligences(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
35581
|
+
pulumi.set(self, "src_threat_intelligences", value)
|
35582
|
+
|
35583
|
+
|
35584
|
+
if not MYPY:
|
35585
|
+
class RegionNetworkFirewallPolicyWithRulesRuleMatchLayer4ConfigArgsDict(TypedDict):
|
35586
|
+
ip_protocol: pulumi.Input[str]
|
35587
|
+
"""
|
35588
|
+
(Output)
|
35589
|
+
The IP protocol to which this rule applies. The protocol
|
35590
|
+
type is required when creating a firewall rule.
|
35591
|
+
This value can either be one of the following well
|
35592
|
+
known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp),
|
35593
|
+
or the IP protocol number.
|
35594
|
+
"""
|
35595
|
+
ports: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
|
35596
|
+
"""
|
35597
|
+
(Output)
|
35598
|
+
An optional list of ports to which this rule applies. This field
|
35599
|
+
is only applicable for UDP or TCP protocol. Each entry must be
|
35600
|
+
either an integer or a range. If not specified, this rule
|
35601
|
+
applies to connections through any port.
|
35602
|
+
Example inputs include: ["22"], ["80","443"], and
|
35603
|
+
["12345-12349"].
|
35604
|
+
"""
|
35605
|
+
elif False:
|
35606
|
+
RegionNetworkFirewallPolicyWithRulesRuleMatchLayer4ConfigArgsDict: TypeAlias = Mapping[str, Any]
|
35607
|
+
|
35608
|
+
@pulumi.input_type
|
35609
|
+
class RegionNetworkFirewallPolicyWithRulesRuleMatchLayer4ConfigArgs:
|
35610
|
+
def __init__(__self__, *,
|
35611
|
+
ip_protocol: pulumi.Input[str],
|
35612
|
+
ports: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
|
35613
|
+
"""
|
35614
|
+
:param pulumi.Input[str] ip_protocol: (Output)
|
35615
|
+
The IP protocol to which this rule applies. The protocol
|
35616
|
+
type is required when creating a firewall rule.
|
35617
|
+
This value can either be one of the following well
|
35618
|
+
known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp),
|
35619
|
+
or the IP protocol number.
|
35620
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] ports: (Output)
|
35621
|
+
An optional list of ports to which this rule applies. This field
|
35622
|
+
is only applicable for UDP or TCP protocol. Each entry must be
|
35623
|
+
either an integer or a range. If not specified, this rule
|
35624
|
+
applies to connections through any port.
|
35625
|
+
Example inputs include: ["22"], ["80","443"], and
|
35626
|
+
["12345-12349"].
|
35627
|
+
"""
|
35628
|
+
pulumi.set(__self__, "ip_protocol", ip_protocol)
|
35629
|
+
if ports is not None:
|
35630
|
+
pulumi.set(__self__, "ports", ports)
|
35631
|
+
|
35632
|
+
@property
|
35633
|
+
@pulumi.getter(name="ipProtocol")
|
35634
|
+
def ip_protocol(self) -> pulumi.Input[str]:
|
35635
|
+
"""
|
35636
|
+
(Output)
|
35637
|
+
The IP protocol to which this rule applies. The protocol
|
35638
|
+
type is required when creating a firewall rule.
|
35639
|
+
This value can either be one of the following well
|
35640
|
+
known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp),
|
35641
|
+
or the IP protocol number.
|
35642
|
+
"""
|
35643
|
+
return pulumi.get(self, "ip_protocol")
|
35644
|
+
|
35645
|
+
@ip_protocol.setter
|
35646
|
+
def ip_protocol(self, value: pulumi.Input[str]):
|
35647
|
+
pulumi.set(self, "ip_protocol", value)
|
35648
|
+
|
35649
|
+
@property
|
35650
|
+
@pulumi.getter
|
35651
|
+
def ports(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
35652
|
+
"""
|
35653
|
+
(Output)
|
35654
|
+
An optional list of ports to which this rule applies. This field
|
35655
|
+
is only applicable for UDP or TCP protocol. Each entry must be
|
35656
|
+
either an integer or a range. If not specified, this rule
|
35657
|
+
applies to connections through any port.
|
35658
|
+
Example inputs include: ["22"], ["80","443"], and
|
35659
|
+
["12345-12349"].
|
35660
|
+
"""
|
35661
|
+
return pulumi.get(self, "ports")
|
35662
|
+
|
35663
|
+
@ports.setter
|
35664
|
+
def ports(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
35665
|
+
pulumi.set(self, "ports", value)
|
35666
|
+
|
35667
|
+
|
35668
|
+
if not MYPY:
|
35669
|
+
class RegionNetworkFirewallPolicyWithRulesRuleMatchSrcSecureTagArgsDict(TypedDict):
|
35670
|
+
name: NotRequired[pulumi.Input[str]]
|
35671
|
+
"""
|
35672
|
+
Name of the secure tag, created with TagManager's TagValue API.
|
35673
|
+
@pattern tagValues/[0-9]+
|
35674
|
+
"""
|
35675
|
+
state: NotRequired[pulumi.Input[str]]
|
35676
|
+
"""
|
35677
|
+
(Output)
|
35678
|
+
[Output Only] State of the secure tag, either `EFFECTIVE` or
|
35679
|
+
`INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted
|
35680
|
+
or its network is deleted.
|
35681
|
+
"""
|
35682
|
+
elif False:
|
35683
|
+
RegionNetworkFirewallPolicyWithRulesRuleMatchSrcSecureTagArgsDict: TypeAlias = Mapping[str, Any]
|
35684
|
+
|
35685
|
+
@pulumi.input_type
|
35686
|
+
class RegionNetworkFirewallPolicyWithRulesRuleMatchSrcSecureTagArgs:
|
35687
|
+
def __init__(__self__, *,
|
35688
|
+
name: Optional[pulumi.Input[str]] = None,
|
35689
|
+
state: Optional[pulumi.Input[str]] = None):
|
35690
|
+
"""
|
35691
|
+
:param pulumi.Input[str] name: Name of the secure tag, created with TagManager's TagValue API.
|
35692
|
+
@pattern tagValues/[0-9]+
|
35693
|
+
:param pulumi.Input[str] state: (Output)
|
35694
|
+
[Output Only] State of the secure tag, either `EFFECTIVE` or
|
35695
|
+
`INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted
|
35696
|
+
or its network is deleted.
|
35697
|
+
"""
|
35698
|
+
if name is not None:
|
35699
|
+
pulumi.set(__self__, "name", name)
|
35700
|
+
if state is not None:
|
35701
|
+
pulumi.set(__self__, "state", state)
|
35702
|
+
|
35703
|
+
@property
|
35704
|
+
@pulumi.getter
|
35705
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
35706
|
+
"""
|
35707
|
+
Name of the secure tag, created with TagManager's TagValue API.
|
35708
|
+
@pattern tagValues/[0-9]+
|
35709
|
+
"""
|
35710
|
+
return pulumi.get(self, "name")
|
35711
|
+
|
35712
|
+
@name.setter
|
35713
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
35714
|
+
pulumi.set(self, "name", value)
|
35715
|
+
|
35716
|
+
@property
|
35717
|
+
@pulumi.getter
|
35718
|
+
def state(self) -> Optional[pulumi.Input[str]]:
|
35719
|
+
"""
|
35720
|
+
(Output)
|
35721
|
+
[Output Only] State of the secure tag, either `EFFECTIVE` or
|
35722
|
+
`INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted
|
35723
|
+
or its network is deleted.
|
35724
|
+
"""
|
35725
|
+
return pulumi.get(self, "state")
|
35726
|
+
|
35727
|
+
@state.setter
|
35728
|
+
def state(self, value: Optional[pulumi.Input[str]]):
|
35729
|
+
pulumi.set(self, "state", value)
|
35730
|
+
|
35731
|
+
|
35732
|
+
if not MYPY:
|
35733
|
+
class RegionNetworkFirewallPolicyWithRulesRuleTargetSecureTagArgsDict(TypedDict):
|
35734
|
+
name: NotRequired[pulumi.Input[str]]
|
35735
|
+
"""
|
35736
|
+
Name of the secure tag, created with TagManager's TagValue API.
|
35737
|
+
@pattern tagValues/[0-9]+
|
35738
|
+
"""
|
35739
|
+
state: NotRequired[pulumi.Input[str]]
|
35740
|
+
"""
|
35741
|
+
(Output)
|
35742
|
+
[Output Only] State of the secure tag, either `EFFECTIVE` or
|
35743
|
+
`INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted
|
35744
|
+
or its network is deleted.
|
35745
|
+
|
35746
|
+
- - -
|
35747
|
+
"""
|
35748
|
+
elif False:
|
35749
|
+
RegionNetworkFirewallPolicyWithRulesRuleTargetSecureTagArgsDict: TypeAlias = Mapping[str, Any]
|
35750
|
+
|
35751
|
+
@pulumi.input_type
|
35752
|
+
class RegionNetworkFirewallPolicyWithRulesRuleTargetSecureTagArgs:
|
35753
|
+
def __init__(__self__, *,
|
35754
|
+
name: Optional[pulumi.Input[str]] = None,
|
35755
|
+
state: Optional[pulumi.Input[str]] = None):
|
35756
|
+
"""
|
35757
|
+
:param pulumi.Input[str] name: Name of the secure tag, created with TagManager's TagValue API.
|
35758
|
+
@pattern tagValues/[0-9]+
|
35759
|
+
:param pulumi.Input[str] state: (Output)
|
35760
|
+
[Output Only] State of the secure tag, either `EFFECTIVE` or
|
35761
|
+
`INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted
|
35762
|
+
or its network is deleted.
|
35763
|
+
|
35764
|
+
- - -
|
35765
|
+
"""
|
35766
|
+
if name is not None:
|
35767
|
+
pulumi.set(__self__, "name", name)
|
35768
|
+
if state is not None:
|
35769
|
+
pulumi.set(__self__, "state", state)
|
35770
|
+
|
35771
|
+
@property
|
35772
|
+
@pulumi.getter
|
35773
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
35774
|
+
"""
|
35775
|
+
Name of the secure tag, created with TagManager's TagValue API.
|
35776
|
+
@pattern tagValues/[0-9]+
|
35777
|
+
"""
|
35778
|
+
return pulumi.get(self, "name")
|
35779
|
+
|
35780
|
+
@name.setter
|
35781
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
35782
|
+
pulumi.set(self, "name", value)
|
35783
|
+
|
35784
|
+
@property
|
35785
|
+
@pulumi.getter
|
35786
|
+
def state(self) -> Optional[pulumi.Input[str]]:
|
35787
|
+
"""
|
35788
|
+
(Output)
|
35789
|
+
[Output Only] State of the secure tag, either `EFFECTIVE` or
|
35790
|
+
`INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted
|
35791
|
+
or its network is deleted.
|
35792
|
+
|
35793
|
+
- - -
|
35794
|
+
"""
|
35795
|
+
return pulumi.get(self, "state")
|
35796
|
+
|
35797
|
+
@state.setter
|
35798
|
+
def state(self, value: Optional[pulumi.Input[str]]):
|
35799
|
+
pulumi.set(self, "state", value)
|
35800
|
+
|
35801
|
+
|
33863
35802
|
if not MYPY:
|
33864
35803
|
class RegionPerInstanceConfigPreservedStateArgsDict(TypedDict):
|
33865
35804
|
disks: NotRequired[pulumi.Input[Sequence[pulumi.Input['RegionPerInstanceConfigPreservedStateDiskArgsDict']]]]
|