pulumi-gcp 8.3.0a1726834947__py3-none-any.whl → 8.3.0a1727226164__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 +120 -0
- pulumi_gcp/alloydb/_inputs.py +20 -0
- pulumi_gcp/alloydb/instance.py +36 -0
- pulumi_gcp/alloydb/outputs.py +14 -0
- pulumi_gcp/compute/__init__.py +1 -0
- pulumi_gcp/compute/_inputs.py +1400 -0
- pulumi_gcp/compute/attached_disk.py +103 -0
- pulumi_gcp/compute/backend_service.py +29 -22
- pulumi_gcp/compute/firewall_policy_with_rules.py +769 -0
- pulumi_gcp/compute/outputs.py +1019 -0
- pulumi_gcp/compute/region_backend_service.py +29 -22
- pulumi_gcp/compute/router_nat.py +27 -66
- pulumi_gcp/config/__init__.pyi +2 -0
- pulumi_gcp/config/vars.py +4 -0
- pulumi_gcp/container/_inputs.py +72 -99
- pulumi_gcp/container/outputs.py +53 -70
- pulumi_gcp/databasemigrationservice/__init__.py +1 -0
- pulumi_gcp/databasemigrationservice/_inputs.py +362 -0
- pulumi_gcp/databasemigrationservice/migration_job.py +1739 -0
- pulumi_gcp/databasemigrationservice/outputs.py +268 -0
- pulumi_gcp/dataproc/get_metastore_service.py +11 -1
- pulumi_gcp/dataproc/metastore_service.py +93 -0
- pulumi_gcp/developerconnect/_inputs.py +42 -39
- pulumi_gcp/developerconnect/connection.py +86 -83
- pulumi_gcp/developerconnect/outputs.py +28 -26
- pulumi_gcp/discoveryengine/__init__.py +1 -0
- pulumi_gcp/discoveryengine/_inputs.py +131 -0
- pulumi_gcp/discoveryengine/outputs.py +131 -0
- pulumi_gcp/discoveryengine/target_site.py +870 -0
- pulumi_gcp/dns/managed_zone.py +1 -1
- pulumi_gcp/filestore/get_instance.py +21 -1
- pulumi_gcp/filestore/instance.py +94 -0
- pulumi_gcp/gkehub/feature_membership.py +140 -62
- pulumi_gcp/healthcare/__init__.py +1 -0
- pulumi_gcp/healthcare/_inputs.py +39 -0
- pulumi_gcp/healthcare/outputs.py +40 -0
- pulumi_gcp/healthcare/workspace.py +465 -0
- pulumi_gcp/looker/instance.py +81 -0
- pulumi_gcp/netapp/_inputs.py +63 -0
- pulumi_gcp/netapp/outputs.py +57 -0
- pulumi_gcp/netapp/storage_pool.py +54 -0
- pulumi_gcp/netapp/volume.py +82 -0
- pulumi_gcp/provider.py +20 -0
- pulumi_gcp/pubsub/subscription.py +43 -7
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/secretmanager/__init__.py +8 -0
- pulumi_gcp/secretmanager/_inputs.py +308 -0
- pulumi_gcp/secretmanager/get_regional_secret.py +279 -0
- pulumi_gcp/secretmanager/get_regional_secret_iam_policy.py +173 -0
- pulumi_gcp/secretmanager/get_regional_secret_version.py +241 -0
- pulumi_gcp/secretmanager/outputs.py +336 -0
- pulumi_gcp/secretmanager/regional_secret.py +1433 -0
- pulumi_gcp/secretmanager/regional_secret_iam_binding.py +1082 -0
- pulumi_gcp/secretmanager/regional_secret_iam_member.py +1082 -0
- pulumi_gcp/secretmanager/regional_secret_iam_policy.py +901 -0
- pulumi_gcp/secretmanager/regional_secret_version.py +753 -0
- pulumi_gcp/securitycenter/__init__.py +4 -0
- pulumi_gcp/securitycenter/folder_scc_big_query_export.py +795 -0
- pulumi_gcp/securitycenter/organization_scc_big_query_export.py +738 -0
- pulumi_gcp/securitycenter/project_scc_big_query_export.py +749 -0
- pulumi_gcp/securitycenter/v2_organization_scc_big_query_export.py +862 -0
- pulumi_gcp/securitycenter/v2_organization_scc_big_query_exports.py +6 -2
- pulumi_gcp/siteverification/__init__.py +3 -0
- pulumi_gcp/siteverification/_inputs.py +85 -0
- pulumi_gcp/siteverification/outputs.py +57 -0
- pulumi_gcp/siteverification/web_resource.py +398 -0
- pulumi_gcp/spanner/__init__.py +1 -0
- pulumi_gcp/spanner/_inputs.py +129 -0
- pulumi_gcp/spanner/backup_schedule.py +748 -0
- pulumi_gcp/spanner/get_instance.py +11 -1
- pulumi_gcp/spanner/instance.py +56 -0
- pulumi_gcp/spanner/outputs.py +93 -0
- {pulumi_gcp-8.3.0a1726834947.dist-info → pulumi_gcp-8.3.0a1727226164.dist-info}/METADATA +1 -1
- {pulumi_gcp-8.3.0a1726834947.dist-info → pulumi_gcp-8.3.0a1727226164.dist-info}/RECORD +76 -56
- {pulumi_gcp-8.3.0a1726834947.dist-info → pulumi_gcp-8.3.0a1727226164.dist-info}/WHEEL +0 -0
- {pulumi_gcp-8.3.0a1726834947.dist-info → pulumi_gcp-8.3.0a1727226164.dist-info}/top_level.txt +0 -0
pulumi_gcp/compute/outputs.py
CHANGED
@@ -67,6 +67,12 @@ __all__ = [
|
|
67
67
|
'FirewallLogConfig',
|
68
68
|
'FirewallPolicyRuleMatch',
|
69
69
|
'FirewallPolicyRuleMatchLayer4Config',
|
70
|
+
'FirewallPolicyWithRulesPredefinedRule',
|
71
|
+
'FirewallPolicyWithRulesPredefinedRuleMatch',
|
72
|
+
'FirewallPolicyWithRulesPredefinedRuleMatchLayer4Config',
|
73
|
+
'FirewallPolicyWithRulesRule',
|
74
|
+
'FirewallPolicyWithRulesRuleMatch',
|
75
|
+
'FirewallPolicyWithRulesRuleMatchLayer4Config',
|
70
76
|
'ForwardingRuleServiceDirectoryRegistrations',
|
71
77
|
'GlobalForwardingRuleMetadataFilter',
|
72
78
|
'GlobalForwardingRuleMetadataFilterFilterLabel',
|
@@ -4625,6 +4631,1019 @@ class FirewallPolicyRuleMatchLayer4Config(dict):
|
|
4625
4631
|
return pulumi.get(self, "ports")
|
4626
4632
|
|
4627
4633
|
|
4634
|
+
@pulumi.output_type
|
4635
|
+
class FirewallPolicyWithRulesPredefinedRule(dict):
|
4636
|
+
@staticmethod
|
4637
|
+
def __key_warning(key: str):
|
4638
|
+
suggest = None
|
4639
|
+
if key == "enableLogging":
|
4640
|
+
suggest = "enable_logging"
|
4641
|
+
elif key == "ruleName":
|
4642
|
+
suggest = "rule_name"
|
4643
|
+
elif key == "securityProfileGroup":
|
4644
|
+
suggest = "security_profile_group"
|
4645
|
+
elif key == "targetResources":
|
4646
|
+
suggest = "target_resources"
|
4647
|
+
elif key == "targetServiceAccounts":
|
4648
|
+
suggest = "target_service_accounts"
|
4649
|
+
elif key == "tlsInspect":
|
4650
|
+
suggest = "tls_inspect"
|
4651
|
+
|
4652
|
+
if suggest:
|
4653
|
+
pulumi.log.warn(f"Key '{key}' not found in FirewallPolicyWithRulesPredefinedRule. Access the value via the '{suggest}' property getter instead.")
|
4654
|
+
|
4655
|
+
def __getitem__(self, key: str) -> Any:
|
4656
|
+
FirewallPolicyWithRulesPredefinedRule.__key_warning(key)
|
4657
|
+
return super().__getitem__(key)
|
4658
|
+
|
4659
|
+
def get(self, key: str, default = None) -> Any:
|
4660
|
+
FirewallPolicyWithRulesPredefinedRule.__key_warning(key)
|
4661
|
+
return super().get(key, default)
|
4662
|
+
|
4663
|
+
def __init__(__self__, *,
|
4664
|
+
action: Optional[str] = None,
|
4665
|
+
description: Optional[str] = None,
|
4666
|
+
direction: Optional[str] = None,
|
4667
|
+
disabled: Optional[bool] = None,
|
4668
|
+
enable_logging: Optional[bool] = None,
|
4669
|
+
matches: Optional[Sequence['outputs.FirewallPolicyWithRulesPredefinedRuleMatch']] = None,
|
4670
|
+
priority: Optional[int] = None,
|
4671
|
+
rule_name: Optional[str] = None,
|
4672
|
+
security_profile_group: Optional[str] = None,
|
4673
|
+
target_resources: Optional[Sequence[str]] = None,
|
4674
|
+
target_service_accounts: Optional[Sequence[str]] = None,
|
4675
|
+
tls_inspect: Optional[bool] = None):
|
4676
|
+
"""
|
4677
|
+
:param str action: (Output)
|
4678
|
+
The Action to perform when the client connection triggers the rule. Can currently be either
|
4679
|
+
"allow", "deny", "apply_security_profile_group" or "goto_next".
|
4680
|
+
:param str description: (Output)
|
4681
|
+
A description of the rule.
|
4682
|
+
:param str direction: (Output)
|
4683
|
+
The direction in which this rule applies. If unspecified an INGRESS rule is created.
|
4684
|
+
:param bool disabled: (Output)
|
4685
|
+
Denotes whether the firewall policy rule is disabled. When set to true,
|
4686
|
+
the firewall policy rule is not enforced and traffic behaves as if it did
|
4687
|
+
not exist. If this is unspecified, the firewall policy rule will be
|
4688
|
+
enabled.
|
4689
|
+
:param bool enable_logging: (Output)
|
4690
|
+
Denotes whether to enable logging for a particular rule.
|
4691
|
+
If logging is enabled, logs will be exported to the
|
4692
|
+
configured export destination in Stackdriver.
|
4693
|
+
:param Sequence['FirewallPolicyWithRulesPredefinedRuleMatchArgs'] matches: (Output)
|
4694
|
+
A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding 'action' is enforced.
|
4695
|
+
Structure is documented below.
|
4696
|
+
:param int priority: (Output)
|
4697
|
+
An integer indicating the priority of a rule in the list. The priority must be a value
|
4698
|
+
between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the
|
4699
|
+
highest priority and 2147483647 is the lowest priority.
|
4700
|
+
:param str rule_name: (Output)
|
4701
|
+
An optional name for the rule. This field is not a unique identifier
|
4702
|
+
and can be updated.
|
4703
|
+
:param str security_profile_group: (Output)
|
4704
|
+
A fully-qualified URL of a SecurityProfile resource instance.
|
4705
|
+
Example:
|
4706
|
+
https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group
|
4707
|
+
Must be specified if action is 'apply_security_profile_group'.
|
4708
|
+
:param Sequence[str] target_resources: (Output)
|
4709
|
+
A list of network resource URLs to which this rule applies.
|
4710
|
+
This field allows you to control which network's VMs get
|
4711
|
+
this rule. If this field is left blank, all VMs
|
4712
|
+
within the organization will receive the rule.
|
4713
|
+
:param Sequence[str] target_service_accounts: (Output)
|
4714
|
+
A list of service accounts indicating the sets of
|
4715
|
+
instances that are applied with this rule.
|
4716
|
+
:param bool tls_inspect: (Output)
|
4717
|
+
Boolean flag indicating if the traffic should be TLS decrypted.
|
4718
|
+
It can be set only if action = 'apply_security_profile_group' and cannot be set for other actions.
|
4719
|
+
"""
|
4720
|
+
if action is not None:
|
4721
|
+
pulumi.set(__self__, "action", action)
|
4722
|
+
if description is not None:
|
4723
|
+
pulumi.set(__self__, "description", description)
|
4724
|
+
if direction is not None:
|
4725
|
+
pulumi.set(__self__, "direction", direction)
|
4726
|
+
if disabled is not None:
|
4727
|
+
pulumi.set(__self__, "disabled", disabled)
|
4728
|
+
if enable_logging is not None:
|
4729
|
+
pulumi.set(__self__, "enable_logging", enable_logging)
|
4730
|
+
if matches is not None:
|
4731
|
+
pulumi.set(__self__, "matches", matches)
|
4732
|
+
if priority is not None:
|
4733
|
+
pulumi.set(__self__, "priority", priority)
|
4734
|
+
if rule_name is not None:
|
4735
|
+
pulumi.set(__self__, "rule_name", rule_name)
|
4736
|
+
if security_profile_group is not None:
|
4737
|
+
pulumi.set(__self__, "security_profile_group", security_profile_group)
|
4738
|
+
if target_resources is not None:
|
4739
|
+
pulumi.set(__self__, "target_resources", target_resources)
|
4740
|
+
if target_service_accounts is not None:
|
4741
|
+
pulumi.set(__self__, "target_service_accounts", target_service_accounts)
|
4742
|
+
if tls_inspect is not None:
|
4743
|
+
pulumi.set(__self__, "tls_inspect", tls_inspect)
|
4744
|
+
|
4745
|
+
@property
|
4746
|
+
@pulumi.getter
|
4747
|
+
def action(self) -> Optional[str]:
|
4748
|
+
"""
|
4749
|
+
(Output)
|
4750
|
+
The Action to perform when the client connection triggers the rule. Can currently be either
|
4751
|
+
"allow", "deny", "apply_security_profile_group" or "goto_next".
|
4752
|
+
"""
|
4753
|
+
return pulumi.get(self, "action")
|
4754
|
+
|
4755
|
+
@property
|
4756
|
+
@pulumi.getter
|
4757
|
+
def description(self) -> Optional[str]:
|
4758
|
+
"""
|
4759
|
+
(Output)
|
4760
|
+
A description of the rule.
|
4761
|
+
"""
|
4762
|
+
return pulumi.get(self, "description")
|
4763
|
+
|
4764
|
+
@property
|
4765
|
+
@pulumi.getter
|
4766
|
+
def direction(self) -> Optional[str]:
|
4767
|
+
"""
|
4768
|
+
(Output)
|
4769
|
+
The direction in which this rule applies. If unspecified an INGRESS rule is created.
|
4770
|
+
"""
|
4771
|
+
return pulumi.get(self, "direction")
|
4772
|
+
|
4773
|
+
@property
|
4774
|
+
@pulumi.getter
|
4775
|
+
def disabled(self) -> Optional[bool]:
|
4776
|
+
"""
|
4777
|
+
(Output)
|
4778
|
+
Denotes whether the firewall policy rule is disabled. When set to true,
|
4779
|
+
the firewall policy rule is not enforced and traffic behaves as if it did
|
4780
|
+
not exist. If this is unspecified, the firewall policy rule will be
|
4781
|
+
enabled.
|
4782
|
+
"""
|
4783
|
+
return pulumi.get(self, "disabled")
|
4784
|
+
|
4785
|
+
@property
|
4786
|
+
@pulumi.getter(name="enableLogging")
|
4787
|
+
def enable_logging(self) -> Optional[bool]:
|
4788
|
+
"""
|
4789
|
+
(Output)
|
4790
|
+
Denotes whether to enable logging for a particular rule.
|
4791
|
+
If logging is enabled, logs will be exported to the
|
4792
|
+
configured export destination in Stackdriver.
|
4793
|
+
"""
|
4794
|
+
return pulumi.get(self, "enable_logging")
|
4795
|
+
|
4796
|
+
@property
|
4797
|
+
@pulumi.getter
|
4798
|
+
def matches(self) -> Optional[Sequence['outputs.FirewallPolicyWithRulesPredefinedRuleMatch']]:
|
4799
|
+
"""
|
4800
|
+
(Output)
|
4801
|
+
A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding 'action' is enforced.
|
4802
|
+
Structure is documented below.
|
4803
|
+
"""
|
4804
|
+
return pulumi.get(self, "matches")
|
4805
|
+
|
4806
|
+
@property
|
4807
|
+
@pulumi.getter
|
4808
|
+
def priority(self) -> Optional[int]:
|
4809
|
+
"""
|
4810
|
+
(Output)
|
4811
|
+
An integer indicating the priority of a rule in the list. The priority must be a value
|
4812
|
+
between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the
|
4813
|
+
highest priority and 2147483647 is the lowest priority.
|
4814
|
+
"""
|
4815
|
+
return pulumi.get(self, "priority")
|
4816
|
+
|
4817
|
+
@property
|
4818
|
+
@pulumi.getter(name="ruleName")
|
4819
|
+
def rule_name(self) -> Optional[str]:
|
4820
|
+
"""
|
4821
|
+
(Output)
|
4822
|
+
An optional name for the rule. This field is not a unique identifier
|
4823
|
+
and can be updated.
|
4824
|
+
"""
|
4825
|
+
return pulumi.get(self, "rule_name")
|
4826
|
+
|
4827
|
+
@property
|
4828
|
+
@pulumi.getter(name="securityProfileGroup")
|
4829
|
+
def security_profile_group(self) -> Optional[str]:
|
4830
|
+
"""
|
4831
|
+
(Output)
|
4832
|
+
A fully-qualified URL of a SecurityProfile resource instance.
|
4833
|
+
Example:
|
4834
|
+
https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group
|
4835
|
+
Must be specified if action is 'apply_security_profile_group'.
|
4836
|
+
"""
|
4837
|
+
return pulumi.get(self, "security_profile_group")
|
4838
|
+
|
4839
|
+
@property
|
4840
|
+
@pulumi.getter(name="targetResources")
|
4841
|
+
def target_resources(self) -> Optional[Sequence[str]]:
|
4842
|
+
"""
|
4843
|
+
(Output)
|
4844
|
+
A list of network resource URLs to which this rule applies.
|
4845
|
+
This field allows you to control which network's VMs get
|
4846
|
+
this rule. If this field is left blank, all VMs
|
4847
|
+
within the organization will receive the rule.
|
4848
|
+
"""
|
4849
|
+
return pulumi.get(self, "target_resources")
|
4850
|
+
|
4851
|
+
@property
|
4852
|
+
@pulumi.getter(name="targetServiceAccounts")
|
4853
|
+
def target_service_accounts(self) -> Optional[Sequence[str]]:
|
4854
|
+
"""
|
4855
|
+
(Output)
|
4856
|
+
A list of service accounts indicating the sets of
|
4857
|
+
instances that are applied with this rule.
|
4858
|
+
"""
|
4859
|
+
return pulumi.get(self, "target_service_accounts")
|
4860
|
+
|
4861
|
+
@property
|
4862
|
+
@pulumi.getter(name="tlsInspect")
|
4863
|
+
def tls_inspect(self) -> Optional[bool]:
|
4864
|
+
"""
|
4865
|
+
(Output)
|
4866
|
+
Boolean flag indicating if the traffic should be TLS decrypted.
|
4867
|
+
It can be set only if action = 'apply_security_profile_group' and cannot be set for other actions.
|
4868
|
+
"""
|
4869
|
+
return pulumi.get(self, "tls_inspect")
|
4870
|
+
|
4871
|
+
|
4872
|
+
@pulumi.output_type
|
4873
|
+
class FirewallPolicyWithRulesPredefinedRuleMatch(dict):
|
4874
|
+
@staticmethod
|
4875
|
+
def __key_warning(key: str):
|
4876
|
+
suggest = None
|
4877
|
+
if key == "destAddressGroups":
|
4878
|
+
suggest = "dest_address_groups"
|
4879
|
+
elif key == "destFqdns":
|
4880
|
+
suggest = "dest_fqdns"
|
4881
|
+
elif key == "destIpRanges":
|
4882
|
+
suggest = "dest_ip_ranges"
|
4883
|
+
elif key == "destRegionCodes":
|
4884
|
+
suggest = "dest_region_codes"
|
4885
|
+
elif key == "destThreatIntelligences":
|
4886
|
+
suggest = "dest_threat_intelligences"
|
4887
|
+
elif key == "layer4Configs":
|
4888
|
+
suggest = "layer4_configs"
|
4889
|
+
elif key == "srcAddressGroups":
|
4890
|
+
suggest = "src_address_groups"
|
4891
|
+
elif key == "srcFqdns":
|
4892
|
+
suggest = "src_fqdns"
|
4893
|
+
elif key == "srcIpRanges":
|
4894
|
+
suggest = "src_ip_ranges"
|
4895
|
+
elif key == "srcRegionCodes":
|
4896
|
+
suggest = "src_region_codes"
|
4897
|
+
elif key == "srcThreatIntelligences":
|
4898
|
+
suggest = "src_threat_intelligences"
|
4899
|
+
|
4900
|
+
if suggest:
|
4901
|
+
pulumi.log.warn(f"Key '{key}' not found in FirewallPolicyWithRulesPredefinedRuleMatch. Access the value via the '{suggest}' property getter instead.")
|
4902
|
+
|
4903
|
+
def __getitem__(self, key: str) -> Any:
|
4904
|
+
FirewallPolicyWithRulesPredefinedRuleMatch.__key_warning(key)
|
4905
|
+
return super().__getitem__(key)
|
4906
|
+
|
4907
|
+
def get(self, key: str, default = None) -> Any:
|
4908
|
+
FirewallPolicyWithRulesPredefinedRuleMatch.__key_warning(key)
|
4909
|
+
return super().get(key, default)
|
4910
|
+
|
4911
|
+
def __init__(__self__, *,
|
4912
|
+
dest_address_groups: Optional[Sequence[str]] = None,
|
4913
|
+
dest_fqdns: Optional[Sequence[str]] = None,
|
4914
|
+
dest_ip_ranges: Optional[Sequence[str]] = None,
|
4915
|
+
dest_region_codes: Optional[Sequence[str]] = None,
|
4916
|
+
dest_threat_intelligences: Optional[Sequence[str]] = None,
|
4917
|
+
layer4_configs: Optional[Sequence['outputs.FirewallPolicyWithRulesPredefinedRuleMatchLayer4Config']] = None,
|
4918
|
+
src_address_groups: Optional[Sequence[str]] = None,
|
4919
|
+
src_fqdns: Optional[Sequence[str]] = None,
|
4920
|
+
src_ip_ranges: Optional[Sequence[str]] = None,
|
4921
|
+
src_region_codes: Optional[Sequence[str]] = None,
|
4922
|
+
src_threat_intelligences: Optional[Sequence[str]] = None):
|
4923
|
+
"""
|
4924
|
+
:param Sequence[str] dest_address_groups: Address groups which should be matched against the traffic destination.
|
4925
|
+
Maximum number of destination address groups is 10.
|
4926
|
+
:param Sequence[str] dest_fqdns: Fully Qualified Domain Name (FQDN) which should be matched against
|
4927
|
+
traffic destination. Maximum number of destination fqdn allowed is 100.
|
4928
|
+
:param Sequence[str] dest_ip_ranges: Destination IP address range in CIDR format. Required for
|
4929
|
+
EGRESS rules.
|
4930
|
+
:param Sequence[str] dest_region_codes: Region codes whose IP addresses will be used to match for destination
|
4931
|
+
of traffic. Should be specified as 2 letter country code defined as per
|
4932
|
+
ISO 3166 alpha-2 country codes. ex."US"
|
4933
|
+
Maximum number of destination region codes allowed is 5000.
|
4934
|
+
:param Sequence[str] dest_threat_intelligences: Names of Network Threat Intelligence lists.
|
4935
|
+
The IPs in these lists will be matched against traffic destination.
|
4936
|
+
:param Sequence['FirewallPolicyWithRulesPredefinedRuleMatchLayer4ConfigArgs'] layer4_configs: Pairs of IP protocols and ports that the rule should match.
|
4937
|
+
Structure is documented below.
|
4938
|
+
|
4939
|
+
|
4940
|
+
<a name="nested_layer4_config"></a>The `layer4_config` block supports:
|
4941
|
+
:param Sequence[str] src_address_groups: Address groups which should be matched against the traffic source.
|
4942
|
+
Maximum number of source address groups is 10.
|
4943
|
+
:param Sequence[str] src_fqdns: Fully Qualified Domain Name (FQDN) which should be matched against
|
4944
|
+
traffic source. Maximum number of source fqdn allowed is 100.
|
4945
|
+
:param Sequence[str] src_ip_ranges: Source IP address range in CIDR format. Required for
|
4946
|
+
INGRESS rules.
|
4947
|
+
:param Sequence[str] src_region_codes: Region codes whose IP addresses will be used to match for source
|
4948
|
+
of traffic. Should be specified as 2 letter country code defined as per
|
4949
|
+
ISO 3166 alpha-2 country codes. ex."US"
|
4950
|
+
Maximum number of source region codes allowed is 5000.
|
4951
|
+
:param Sequence[str] src_threat_intelligences: Names of Network Threat Intelligence lists.
|
4952
|
+
The IPs in these lists will be matched against traffic source.
|
4953
|
+
"""
|
4954
|
+
if dest_address_groups is not None:
|
4955
|
+
pulumi.set(__self__, "dest_address_groups", dest_address_groups)
|
4956
|
+
if dest_fqdns is not None:
|
4957
|
+
pulumi.set(__self__, "dest_fqdns", dest_fqdns)
|
4958
|
+
if dest_ip_ranges is not None:
|
4959
|
+
pulumi.set(__self__, "dest_ip_ranges", dest_ip_ranges)
|
4960
|
+
if dest_region_codes is not None:
|
4961
|
+
pulumi.set(__self__, "dest_region_codes", dest_region_codes)
|
4962
|
+
if dest_threat_intelligences is not None:
|
4963
|
+
pulumi.set(__self__, "dest_threat_intelligences", dest_threat_intelligences)
|
4964
|
+
if layer4_configs is not None:
|
4965
|
+
pulumi.set(__self__, "layer4_configs", layer4_configs)
|
4966
|
+
if src_address_groups is not None:
|
4967
|
+
pulumi.set(__self__, "src_address_groups", src_address_groups)
|
4968
|
+
if src_fqdns is not None:
|
4969
|
+
pulumi.set(__self__, "src_fqdns", src_fqdns)
|
4970
|
+
if src_ip_ranges is not None:
|
4971
|
+
pulumi.set(__self__, "src_ip_ranges", src_ip_ranges)
|
4972
|
+
if src_region_codes is not None:
|
4973
|
+
pulumi.set(__self__, "src_region_codes", src_region_codes)
|
4974
|
+
if src_threat_intelligences is not None:
|
4975
|
+
pulumi.set(__self__, "src_threat_intelligences", src_threat_intelligences)
|
4976
|
+
|
4977
|
+
@property
|
4978
|
+
@pulumi.getter(name="destAddressGroups")
|
4979
|
+
def dest_address_groups(self) -> Optional[Sequence[str]]:
|
4980
|
+
"""
|
4981
|
+
Address groups which should be matched against the traffic destination.
|
4982
|
+
Maximum number of destination address groups is 10.
|
4983
|
+
"""
|
4984
|
+
return pulumi.get(self, "dest_address_groups")
|
4985
|
+
|
4986
|
+
@property
|
4987
|
+
@pulumi.getter(name="destFqdns")
|
4988
|
+
def dest_fqdns(self) -> Optional[Sequence[str]]:
|
4989
|
+
"""
|
4990
|
+
Fully Qualified Domain Name (FQDN) which should be matched against
|
4991
|
+
traffic destination. Maximum number of destination fqdn allowed is 100.
|
4992
|
+
"""
|
4993
|
+
return pulumi.get(self, "dest_fqdns")
|
4994
|
+
|
4995
|
+
@property
|
4996
|
+
@pulumi.getter(name="destIpRanges")
|
4997
|
+
def dest_ip_ranges(self) -> Optional[Sequence[str]]:
|
4998
|
+
"""
|
4999
|
+
Destination IP address range in CIDR format. Required for
|
5000
|
+
EGRESS rules.
|
5001
|
+
"""
|
5002
|
+
return pulumi.get(self, "dest_ip_ranges")
|
5003
|
+
|
5004
|
+
@property
|
5005
|
+
@pulumi.getter(name="destRegionCodes")
|
5006
|
+
def dest_region_codes(self) -> Optional[Sequence[str]]:
|
5007
|
+
"""
|
5008
|
+
Region codes whose IP addresses will be used to match for destination
|
5009
|
+
of traffic. Should be specified as 2 letter country code defined as per
|
5010
|
+
ISO 3166 alpha-2 country codes. ex."US"
|
5011
|
+
Maximum number of destination region codes allowed is 5000.
|
5012
|
+
"""
|
5013
|
+
return pulumi.get(self, "dest_region_codes")
|
5014
|
+
|
5015
|
+
@property
|
5016
|
+
@pulumi.getter(name="destThreatIntelligences")
|
5017
|
+
def dest_threat_intelligences(self) -> Optional[Sequence[str]]:
|
5018
|
+
"""
|
5019
|
+
Names of Network Threat Intelligence lists.
|
5020
|
+
The IPs in these lists will be matched against traffic destination.
|
5021
|
+
"""
|
5022
|
+
return pulumi.get(self, "dest_threat_intelligences")
|
5023
|
+
|
5024
|
+
@property
|
5025
|
+
@pulumi.getter(name="layer4Configs")
|
5026
|
+
def layer4_configs(self) -> Optional[Sequence['outputs.FirewallPolicyWithRulesPredefinedRuleMatchLayer4Config']]:
|
5027
|
+
"""
|
5028
|
+
Pairs of IP protocols and ports that the rule should match.
|
5029
|
+
Structure is documented below.
|
5030
|
+
|
5031
|
+
|
5032
|
+
<a name="nested_layer4_config"></a>The `layer4_config` block supports:
|
5033
|
+
"""
|
5034
|
+
return pulumi.get(self, "layer4_configs")
|
5035
|
+
|
5036
|
+
@property
|
5037
|
+
@pulumi.getter(name="srcAddressGroups")
|
5038
|
+
def src_address_groups(self) -> Optional[Sequence[str]]:
|
5039
|
+
"""
|
5040
|
+
Address groups which should be matched against the traffic source.
|
5041
|
+
Maximum number of source address groups is 10.
|
5042
|
+
"""
|
5043
|
+
return pulumi.get(self, "src_address_groups")
|
5044
|
+
|
5045
|
+
@property
|
5046
|
+
@pulumi.getter(name="srcFqdns")
|
5047
|
+
def src_fqdns(self) -> Optional[Sequence[str]]:
|
5048
|
+
"""
|
5049
|
+
Fully Qualified Domain Name (FQDN) which should be matched against
|
5050
|
+
traffic source. Maximum number of source fqdn allowed is 100.
|
5051
|
+
"""
|
5052
|
+
return pulumi.get(self, "src_fqdns")
|
5053
|
+
|
5054
|
+
@property
|
5055
|
+
@pulumi.getter(name="srcIpRanges")
|
5056
|
+
def src_ip_ranges(self) -> Optional[Sequence[str]]:
|
5057
|
+
"""
|
5058
|
+
Source IP address range in CIDR format. Required for
|
5059
|
+
INGRESS rules.
|
5060
|
+
"""
|
5061
|
+
return pulumi.get(self, "src_ip_ranges")
|
5062
|
+
|
5063
|
+
@property
|
5064
|
+
@pulumi.getter(name="srcRegionCodes")
|
5065
|
+
def src_region_codes(self) -> Optional[Sequence[str]]:
|
5066
|
+
"""
|
5067
|
+
Region codes whose IP addresses will be used to match for source
|
5068
|
+
of traffic. Should be specified as 2 letter country code defined as per
|
5069
|
+
ISO 3166 alpha-2 country codes. ex."US"
|
5070
|
+
Maximum number of source region codes allowed is 5000.
|
5071
|
+
"""
|
5072
|
+
return pulumi.get(self, "src_region_codes")
|
5073
|
+
|
5074
|
+
@property
|
5075
|
+
@pulumi.getter(name="srcThreatIntelligences")
|
5076
|
+
def src_threat_intelligences(self) -> Optional[Sequence[str]]:
|
5077
|
+
"""
|
5078
|
+
Names of Network Threat Intelligence lists.
|
5079
|
+
The IPs in these lists will be matched against traffic source.
|
5080
|
+
"""
|
5081
|
+
return pulumi.get(self, "src_threat_intelligences")
|
5082
|
+
|
5083
|
+
|
5084
|
+
@pulumi.output_type
|
5085
|
+
class FirewallPolicyWithRulesPredefinedRuleMatchLayer4Config(dict):
|
5086
|
+
@staticmethod
|
5087
|
+
def __key_warning(key: str):
|
5088
|
+
suggest = None
|
5089
|
+
if key == "ipProtocol":
|
5090
|
+
suggest = "ip_protocol"
|
5091
|
+
|
5092
|
+
if suggest:
|
5093
|
+
pulumi.log.warn(f"Key '{key}' not found in FirewallPolicyWithRulesPredefinedRuleMatchLayer4Config. Access the value via the '{suggest}' property getter instead.")
|
5094
|
+
|
5095
|
+
def __getitem__(self, key: str) -> Any:
|
5096
|
+
FirewallPolicyWithRulesPredefinedRuleMatchLayer4Config.__key_warning(key)
|
5097
|
+
return super().__getitem__(key)
|
5098
|
+
|
5099
|
+
def get(self, key: str, default = None) -> Any:
|
5100
|
+
FirewallPolicyWithRulesPredefinedRuleMatchLayer4Config.__key_warning(key)
|
5101
|
+
return super().get(key, default)
|
5102
|
+
|
5103
|
+
def __init__(__self__, *,
|
5104
|
+
ip_protocol: Optional[str] = None,
|
5105
|
+
ports: Optional[Sequence[str]] = None):
|
5106
|
+
"""
|
5107
|
+
:param str ip_protocol: (Output)
|
5108
|
+
The IP protocol to which this rule applies. The protocol
|
5109
|
+
type is required when creating a firewall rule.
|
5110
|
+
This value can either be one of the following well
|
5111
|
+
known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp),
|
5112
|
+
or the IP protocol number.
|
5113
|
+
:param Sequence[str] ports: (Output)
|
5114
|
+
An optional list of ports to which this rule applies. This field
|
5115
|
+
is only applicable for UDP or TCP protocol. Each entry must be
|
5116
|
+
either an integer or a range. If not specified, this rule
|
5117
|
+
applies to connections through any port.
|
5118
|
+
Example inputs include: ["22"], ["80","443"], and
|
5119
|
+
["12345-12349"].
|
5120
|
+
"""
|
5121
|
+
if ip_protocol is not None:
|
5122
|
+
pulumi.set(__self__, "ip_protocol", ip_protocol)
|
5123
|
+
if ports is not None:
|
5124
|
+
pulumi.set(__self__, "ports", ports)
|
5125
|
+
|
5126
|
+
@property
|
5127
|
+
@pulumi.getter(name="ipProtocol")
|
5128
|
+
def ip_protocol(self) -> Optional[str]:
|
5129
|
+
"""
|
5130
|
+
(Output)
|
5131
|
+
The IP protocol to which this rule applies. The protocol
|
5132
|
+
type is required when creating a firewall rule.
|
5133
|
+
This value can either be one of the following well
|
5134
|
+
known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp),
|
5135
|
+
or the IP protocol number.
|
5136
|
+
"""
|
5137
|
+
return pulumi.get(self, "ip_protocol")
|
5138
|
+
|
5139
|
+
@property
|
5140
|
+
@pulumi.getter
|
5141
|
+
def ports(self) -> Optional[Sequence[str]]:
|
5142
|
+
"""
|
5143
|
+
(Output)
|
5144
|
+
An optional list of ports to which this rule applies. This field
|
5145
|
+
is only applicable for UDP or TCP protocol. Each entry must be
|
5146
|
+
either an integer or a range. If not specified, this rule
|
5147
|
+
applies to connections through any port.
|
5148
|
+
Example inputs include: ["22"], ["80","443"], and
|
5149
|
+
["12345-12349"].
|
5150
|
+
"""
|
5151
|
+
return pulumi.get(self, "ports")
|
5152
|
+
|
5153
|
+
|
5154
|
+
@pulumi.output_type
|
5155
|
+
class FirewallPolicyWithRulesRule(dict):
|
5156
|
+
@staticmethod
|
5157
|
+
def __key_warning(key: str):
|
5158
|
+
suggest = None
|
5159
|
+
if key == "enableLogging":
|
5160
|
+
suggest = "enable_logging"
|
5161
|
+
elif key == "ruleName":
|
5162
|
+
suggest = "rule_name"
|
5163
|
+
elif key == "securityProfileGroup":
|
5164
|
+
suggest = "security_profile_group"
|
5165
|
+
elif key == "targetResources":
|
5166
|
+
suggest = "target_resources"
|
5167
|
+
elif key == "targetServiceAccounts":
|
5168
|
+
suggest = "target_service_accounts"
|
5169
|
+
elif key == "tlsInspect":
|
5170
|
+
suggest = "tls_inspect"
|
5171
|
+
|
5172
|
+
if suggest:
|
5173
|
+
pulumi.log.warn(f"Key '{key}' not found in FirewallPolicyWithRulesRule. Access the value via the '{suggest}' property getter instead.")
|
5174
|
+
|
5175
|
+
def __getitem__(self, key: str) -> Any:
|
5176
|
+
FirewallPolicyWithRulesRule.__key_warning(key)
|
5177
|
+
return super().__getitem__(key)
|
5178
|
+
|
5179
|
+
def get(self, key: str, default = None) -> Any:
|
5180
|
+
FirewallPolicyWithRulesRule.__key_warning(key)
|
5181
|
+
return super().get(key, default)
|
5182
|
+
|
5183
|
+
def __init__(__self__, *,
|
5184
|
+
action: str,
|
5185
|
+
match: 'outputs.FirewallPolicyWithRulesRuleMatch',
|
5186
|
+
priority: int,
|
5187
|
+
description: Optional[str] = None,
|
5188
|
+
direction: Optional[str] = None,
|
5189
|
+
disabled: Optional[bool] = None,
|
5190
|
+
enable_logging: Optional[bool] = None,
|
5191
|
+
rule_name: Optional[str] = None,
|
5192
|
+
security_profile_group: Optional[str] = None,
|
5193
|
+
target_resources: Optional[Sequence[str]] = None,
|
5194
|
+
target_service_accounts: Optional[Sequence[str]] = None,
|
5195
|
+
tls_inspect: Optional[bool] = None):
|
5196
|
+
"""
|
5197
|
+
:param str action: The Action to perform when the client connection triggers the rule. Can currently be either
|
5198
|
+
"allow", "deny", "apply_security_profile_group" or "goto_next".
|
5199
|
+
:param 'FirewallPolicyWithRulesRuleMatchArgs' match: A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding 'action' is enforced.
|
5200
|
+
Structure is documented below.
|
5201
|
+
:param int priority: An integer indicating the priority of a rule in the list. The priority must be a value
|
5202
|
+
between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the
|
5203
|
+
highest priority and 2147483647 is the lowest priority.
|
5204
|
+
:param str description: A description of the rule.
|
5205
|
+
:param str direction: The direction in which this rule applies. If unspecified an INGRESS rule is created.
|
5206
|
+
Possible values are: `INGRESS`, `EGRESS`.
|
5207
|
+
:param bool disabled: Denotes whether the firewall policy rule is disabled. When set to true,
|
5208
|
+
the firewall policy rule is not enforced and traffic behaves as if it did
|
5209
|
+
not exist. If this is unspecified, the firewall policy rule will be
|
5210
|
+
enabled.
|
5211
|
+
:param bool enable_logging: Denotes whether to enable logging for a particular rule.
|
5212
|
+
If logging is enabled, logs will be exported to the
|
5213
|
+
configured export destination in Stackdriver.
|
5214
|
+
:param str rule_name: An optional name for the rule. This field is not a unique identifier
|
5215
|
+
and can be updated.
|
5216
|
+
:param str security_profile_group: A fully-qualified URL of a SecurityProfile resource instance.
|
5217
|
+
Example:
|
5218
|
+
https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group
|
5219
|
+
Must be specified if action is 'apply_security_profile_group'.
|
5220
|
+
:param Sequence[str] target_resources: A list of network resource URLs to which this rule applies.
|
5221
|
+
This field allows you to control which network's VMs get
|
5222
|
+
this rule. If this field is left blank, all VMs
|
5223
|
+
within the organization will receive the rule.
|
5224
|
+
:param Sequence[str] target_service_accounts: A list of service accounts indicating the sets of
|
5225
|
+
instances that are applied with this rule.
|
5226
|
+
:param bool tls_inspect: Boolean flag indicating if the traffic should be TLS decrypted.
|
5227
|
+
It can be set only if action = 'apply_security_profile_group' and cannot be set for other actions.
|
5228
|
+
"""
|
5229
|
+
pulumi.set(__self__, "action", action)
|
5230
|
+
pulumi.set(__self__, "match", match)
|
5231
|
+
pulumi.set(__self__, "priority", priority)
|
5232
|
+
if description is not None:
|
5233
|
+
pulumi.set(__self__, "description", description)
|
5234
|
+
if direction is not None:
|
5235
|
+
pulumi.set(__self__, "direction", direction)
|
5236
|
+
if disabled is not None:
|
5237
|
+
pulumi.set(__self__, "disabled", disabled)
|
5238
|
+
if enable_logging is not None:
|
5239
|
+
pulumi.set(__self__, "enable_logging", enable_logging)
|
5240
|
+
if rule_name is not None:
|
5241
|
+
pulumi.set(__self__, "rule_name", rule_name)
|
5242
|
+
if security_profile_group is not None:
|
5243
|
+
pulumi.set(__self__, "security_profile_group", security_profile_group)
|
5244
|
+
if target_resources is not None:
|
5245
|
+
pulumi.set(__self__, "target_resources", target_resources)
|
5246
|
+
if target_service_accounts is not None:
|
5247
|
+
pulumi.set(__self__, "target_service_accounts", target_service_accounts)
|
5248
|
+
if tls_inspect is not None:
|
5249
|
+
pulumi.set(__self__, "tls_inspect", tls_inspect)
|
5250
|
+
|
5251
|
+
@property
|
5252
|
+
@pulumi.getter
|
5253
|
+
def action(self) -> str:
|
5254
|
+
"""
|
5255
|
+
The Action to perform when the client connection triggers the rule. Can currently be either
|
5256
|
+
"allow", "deny", "apply_security_profile_group" or "goto_next".
|
5257
|
+
"""
|
5258
|
+
return pulumi.get(self, "action")
|
5259
|
+
|
5260
|
+
@property
|
5261
|
+
@pulumi.getter
|
5262
|
+
def match(self) -> 'outputs.FirewallPolicyWithRulesRuleMatch':
|
5263
|
+
"""
|
5264
|
+
A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding 'action' is enforced.
|
5265
|
+
Structure is documented below.
|
5266
|
+
"""
|
5267
|
+
return pulumi.get(self, "match")
|
5268
|
+
|
5269
|
+
@property
|
5270
|
+
@pulumi.getter
|
5271
|
+
def priority(self) -> int:
|
5272
|
+
"""
|
5273
|
+
An integer indicating the priority of a rule in the list. The priority must be a value
|
5274
|
+
between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the
|
5275
|
+
highest priority and 2147483647 is the lowest priority.
|
5276
|
+
"""
|
5277
|
+
return pulumi.get(self, "priority")
|
5278
|
+
|
5279
|
+
@property
|
5280
|
+
@pulumi.getter
|
5281
|
+
def description(self) -> Optional[str]:
|
5282
|
+
"""
|
5283
|
+
A description of the rule.
|
5284
|
+
"""
|
5285
|
+
return pulumi.get(self, "description")
|
5286
|
+
|
5287
|
+
@property
|
5288
|
+
@pulumi.getter
|
5289
|
+
def direction(self) -> Optional[str]:
|
5290
|
+
"""
|
5291
|
+
The direction in which this rule applies. If unspecified an INGRESS rule is created.
|
5292
|
+
Possible values are: `INGRESS`, `EGRESS`.
|
5293
|
+
"""
|
5294
|
+
return pulumi.get(self, "direction")
|
5295
|
+
|
5296
|
+
@property
|
5297
|
+
@pulumi.getter
|
5298
|
+
def disabled(self) -> Optional[bool]:
|
5299
|
+
"""
|
5300
|
+
Denotes whether the firewall policy rule is disabled. When set to true,
|
5301
|
+
the firewall policy rule is not enforced and traffic behaves as if it did
|
5302
|
+
not exist. If this is unspecified, the firewall policy rule will be
|
5303
|
+
enabled.
|
5304
|
+
"""
|
5305
|
+
return pulumi.get(self, "disabled")
|
5306
|
+
|
5307
|
+
@property
|
5308
|
+
@pulumi.getter(name="enableLogging")
|
5309
|
+
def enable_logging(self) -> Optional[bool]:
|
5310
|
+
"""
|
5311
|
+
Denotes whether to enable logging for a particular rule.
|
5312
|
+
If logging is enabled, logs will be exported to the
|
5313
|
+
configured export destination in Stackdriver.
|
5314
|
+
"""
|
5315
|
+
return pulumi.get(self, "enable_logging")
|
5316
|
+
|
5317
|
+
@property
|
5318
|
+
@pulumi.getter(name="ruleName")
|
5319
|
+
def rule_name(self) -> Optional[str]:
|
5320
|
+
"""
|
5321
|
+
An optional name for the rule. This field is not a unique identifier
|
5322
|
+
and can be updated.
|
5323
|
+
"""
|
5324
|
+
return pulumi.get(self, "rule_name")
|
5325
|
+
|
5326
|
+
@property
|
5327
|
+
@pulumi.getter(name="securityProfileGroup")
|
5328
|
+
def security_profile_group(self) -> Optional[str]:
|
5329
|
+
"""
|
5330
|
+
A fully-qualified URL of a SecurityProfile resource instance.
|
5331
|
+
Example:
|
5332
|
+
https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group
|
5333
|
+
Must be specified if action is 'apply_security_profile_group'.
|
5334
|
+
"""
|
5335
|
+
return pulumi.get(self, "security_profile_group")
|
5336
|
+
|
5337
|
+
@property
|
5338
|
+
@pulumi.getter(name="targetResources")
|
5339
|
+
def target_resources(self) -> Optional[Sequence[str]]:
|
5340
|
+
"""
|
5341
|
+
A list of network resource URLs to which this rule applies.
|
5342
|
+
This field allows you to control which network's VMs get
|
5343
|
+
this rule. If this field is left blank, all VMs
|
5344
|
+
within the organization will receive the rule.
|
5345
|
+
"""
|
5346
|
+
return pulumi.get(self, "target_resources")
|
5347
|
+
|
5348
|
+
@property
|
5349
|
+
@pulumi.getter(name="targetServiceAccounts")
|
5350
|
+
def target_service_accounts(self) -> Optional[Sequence[str]]:
|
5351
|
+
"""
|
5352
|
+
A list of service accounts indicating the sets of
|
5353
|
+
instances that are applied with this rule.
|
5354
|
+
"""
|
5355
|
+
return pulumi.get(self, "target_service_accounts")
|
5356
|
+
|
5357
|
+
@property
|
5358
|
+
@pulumi.getter(name="tlsInspect")
|
5359
|
+
def tls_inspect(self) -> Optional[bool]:
|
5360
|
+
"""
|
5361
|
+
Boolean flag indicating if the traffic should be TLS decrypted.
|
5362
|
+
It can be set only if action = 'apply_security_profile_group' and cannot be set for other actions.
|
5363
|
+
"""
|
5364
|
+
return pulumi.get(self, "tls_inspect")
|
5365
|
+
|
5366
|
+
|
5367
|
+
@pulumi.output_type
|
5368
|
+
class FirewallPolicyWithRulesRuleMatch(dict):
|
5369
|
+
@staticmethod
|
5370
|
+
def __key_warning(key: str):
|
5371
|
+
suggest = None
|
5372
|
+
if key == "layer4Configs":
|
5373
|
+
suggest = "layer4_configs"
|
5374
|
+
elif key == "destAddressGroups":
|
5375
|
+
suggest = "dest_address_groups"
|
5376
|
+
elif key == "destFqdns":
|
5377
|
+
suggest = "dest_fqdns"
|
5378
|
+
elif key == "destIpRanges":
|
5379
|
+
suggest = "dest_ip_ranges"
|
5380
|
+
elif key == "destRegionCodes":
|
5381
|
+
suggest = "dest_region_codes"
|
5382
|
+
elif key == "destThreatIntelligences":
|
5383
|
+
suggest = "dest_threat_intelligences"
|
5384
|
+
elif key == "srcAddressGroups":
|
5385
|
+
suggest = "src_address_groups"
|
5386
|
+
elif key == "srcFqdns":
|
5387
|
+
suggest = "src_fqdns"
|
5388
|
+
elif key == "srcIpRanges":
|
5389
|
+
suggest = "src_ip_ranges"
|
5390
|
+
elif key == "srcRegionCodes":
|
5391
|
+
suggest = "src_region_codes"
|
5392
|
+
elif key == "srcThreatIntelligences":
|
5393
|
+
suggest = "src_threat_intelligences"
|
5394
|
+
|
5395
|
+
if suggest:
|
5396
|
+
pulumi.log.warn(f"Key '{key}' not found in FirewallPolicyWithRulesRuleMatch. Access the value via the '{suggest}' property getter instead.")
|
5397
|
+
|
5398
|
+
def __getitem__(self, key: str) -> Any:
|
5399
|
+
FirewallPolicyWithRulesRuleMatch.__key_warning(key)
|
5400
|
+
return super().__getitem__(key)
|
5401
|
+
|
5402
|
+
def get(self, key: str, default = None) -> Any:
|
5403
|
+
FirewallPolicyWithRulesRuleMatch.__key_warning(key)
|
5404
|
+
return super().get(key, default)
|
5405
|
+
|
5406
|
+
def __init__(__self__, *,
|
5407
|
+
layer4_configs: Sequence['outputs.FirewallPolicyWithRulesRuleMatchLayer4Config'],
|
5408
|
+
dest_address_groups: Optional[Sequence[str]] = None,
|
5409
|
+
dest_fqdns: Optional[Sequence[str]] = None,
|
5410
|
+
dest_ip_ranges: Optional[Sequence[str]] = None,
|
5411
|
+
dest_region_codes: Optional[Sequence[str]] = None,
|
5412
|
+
dest_threat_intelligences: Optional[Sequence[str]] = None,
|
5413
|
+
src_address_groups: Optional[Sequence[str]] = None,
|
5414
|
+
src_fqdns: Optional[Sequence[str]] = None,
|
5415
|
+
src_ip_ranges: Optional[Sequence[str]] = None,
|
5416
|
+
src_region_codes: Optional[Sequence[str]] = None,
|
5417
|
+
src_threat_intelligences: Optional[Sequence[str]] = None):
|
5418
|
+
"""
|
5419
|
+
:param Sequence['FirewallPolicyWithRulesRuleMatchLayer4ConfigArgs'] layer4_configs: Pairs of IP protocols and ports that the rule should match.
|
5420
|
+
Structure is documented below.
|
5421
|
+
|
5422
|
+
|
5423
|
+
<a name="nested_layer4_config"></a>The `layer4_config` block supports:
|
5424
|
+
:param Sequence[str] dest_address_groups: Address groups which should be matched against the traffic destination.
|
5425
|
+
Maximum number of destination address groups is 10.
|
5426
|
+
:param Sequence[str] dest_fqdns: Fully Qualified Domain Name (FQDN) which should be matched against
|
5427
|
+
traffic destination. Maximum number of destination fqdn allowed is 100.
|
5428
|
+
:param Sequence[str] dest_ip_ranges: Destination IP address range in CIDR format. Required for
|
5429
|
+
EGRESS rules.
|
5430
|
+
:param Sequence[str] dest_region_codes: Region codes whose IP addresses will be used to match for destination
|
5431
|
+
of traffic. Should be specified as 2 letter country code defined as per
|
5432
|
+
ISO 3166 alpha-2 country codes. ex."US"
|
5433
|
+
Maximum number of destination region codes allowed is 5000.
|
5434
|
+
:param Sequence[str] dest_threat_intelligences: Names of Network Threat Intelligence lists.
|
5435
|
+
The IPs in these lists will be matched against traffic destination.
|
5436
|
+
:param Sequence[str] src_address_groups: Address groups which should be matched against the traffic source.
|
5437
|
+
Maximum number of source address groups is 10.
|
5438
|
+
:param Sequence[str] src_fqdns: Fully Qualified Domain Name (FQDN) which should be matched against
|
5439
|
+
traffic source. Maximum number of source fqdn allowed is 100.
|
5440
|
+
:param Sequence[str] src_ip_ranges: Source IP address range in CIDR format. Required for
|
5441
|
+
INGRESS rules.
|
5442
|
+
:param Sequence[str] src_region_codes: Region codes whose IP addresses will be used to match for source
|
5443
|
+
of traffic. Should be specified as 2 letter country code defined as per
|
5444
|
+
ISO 3166 alpha-2 country codes. ex."US"
|
5445
|
+
Maximum number of source region codes allowed is 5000.
|
5446
|
+
:param Sequence[str] src_threat_intelligences: Names of Network Threat Intelligence lists.
|
5447
|
+
The IPs in these lists will be matched against traffic source.
|
5448
|
+
"""
|
5449
|
+
pulumi.set(__self__, "layer4_configs", layer4_configs)
|
5450
|
+
if dest_address_groups is not None:
|
5451
|
+
pulumi.set(__self__, "dest_address_groups", dest_address_groups)
|
5452
|
+
if dest_fqdns is not None:
|
5453
|
+
pulumi.set(__self__, "dest_fqdns", dest_fqdns)
|
5454
|
+
if dest_ip_ranges is not None:
|
5455
|
+
pulumi.set(__self__, "dest_ip_ranges", dest_ip_ranges)
|
5456
|
+
if dest_region_codes is not None:
|
5457
|
+
pulumi.set(__self__, "dest_region_codes", dest_region_codes)
|
5458
|
+
if dest_threat_intelligences is not None:
|
5459
|
+
pulumi.set(__self__, "dest_threat_intelligences", dest_threat_intelligences)
|
5460
|
+
if src_address_groups is not None:
|
5461
|
+
pulumi.set(__self__, "src_address_groups", src_address_groups)
|
5462
|
+
if src_fqdns is not None:
|
5463
|
+
pulumi.set(__self__, "src_fqdns", src_fqdns)
|
5464
|
+
if src_ip_ranges is not None:
|
5465
|
+
pulumi.set(__self__, "src_ip_ranges", src_ip_ranges)
|
5466
|
+
if src_region_codes is not None:
|
5467
|
+
pulumi.set(__self__, "src_region_codes", src_region_codes)
|
5468
|
+
if src_threat_intelligences is not None:
|
5469
|
+
pulumi.set(__self__, "src_threat_intelligences", src_threat_intelligences)
|
5470
|
+
|
5471
|
+
@property
|
5472
|
+
@pulumi.getter(name="layer4Configs")
|
5473
|
+
def layer4_configs(self) -> Sequence['outputs.FirewallPolicyWithRulesRuleMatchLayer4Config']:
|
5474
|
+
"""
|
5475
|
+
Pairs of IP protocols and ports that the rule should match.
|
5476
|
+
Structure is documented below.
|
5477
|
+
|
5478
|
+
|
5479
|
+
<a name="nested_layer4_config"></a>The `layer4_config` block supports:
|
5480
|
+
"""
|
5481
|
+
return pulumi.get(self, "layer4_configs")
|
5482
|
+
|
5483
|
+
@property
|
5484
|
+
@pulumi.getter(name="destAddressGroups")
|
5485
|
+
def dest_address_groups(self) -> Optional[Sequence[str]]:
|
5486
|
+
"""
|
5487
|
+
Address groups which should be matched against the traffic destination.
|
5488
|
+
Maximum number of destination address groups is 10.
|
5489
|
+
"""
|
5490
|
+
return pulumi.get(self, "dest_address_groups")
|
5491
|
+
|
5492
|
+
@property
|
5493
|
+
@pulumi.getter(name="destFqdns")
|
5494
|
+
def dest_fqdns(self) -> Optional[Sequence[str]]:
|
5495
|
+
"""
|
5496
|
+
Fully Qualified Domain Name (FQDN) which should be matched against
|
5497
|
+
traffic destination. Maximum number of destination fqdn allowed is 100.
|
5498
|
+
"""
|
5499
|
+
return pulumi.get(self, "dest_fqdns")
|
5500
|
+
|
5501
|
+
@property
|
5502
|
+
@pulumi.getter(name="destIpRanges")
|
5503
|
+
def dest_ip_ranges(self) -> Optional[Sequence[str]]:
|
5504
|
+
"""
|
5505
|
+
Destination IP address range in CIDR format. Required for
|
5506
|
+
EGRESS rules.
|
5507
|
+
"""
|
5508
|
+
return pulumi.get(self, "dest_ip_ranges")
|
5509
|
+
|
5510
|
+
@property
|
5511
|
+
@pulumi.getter(name="destRegionCodes")
|
5512
|
+
def dest_region_codes(self) -> Optional[Sequence[str]]:
|
5513
|
+
"""
|
5514
|
+
Region codes whose IP addresses will be used to match for destination
|
5515
|
+
of traffic. Should be specified as 2 letter country code defined as per
|
5516
|
+
ISO 3166 alpha-2 country codes. ex."US"
|
5517
|
+
Maximum number of destination region codes allowed is 5000.
|
5518
|
+
"""
|
5519
|
+
return pulumi.get(self, "dest_region_codes")
|
5520
|
+
|
5521
|
+
@property
|
5522
|
+
@pulumi.getter(name="destThreatIntelligences")
|
5523
|
+
def dest_threat_intelligences(self) -> Optional[Sequence[str]]:
|
5524
|
+
"""
|
5525
|
+
Names of Network Threat Intelligence lists.
|
5526
|
+
The IPs in these lists will be matched against traffic destination.
|
5527
|
+
"""
|
5528
|
+
return pulumi.get(self, "dest_threat_intelligences")
|
5529
|
+
|
5530
|
+
@property
|
5531
|
+
@pulumi.getter(name="srcAddressGroups")
|
5532
|
+
def src_address_groups(self) -> Optional[Sequence[str]]:
|
5533
|
+
"""
|
5534
|
+
Address groups which should be matched against the traffic source.
|
5535
|
+
Maximum number of source address groups is 10.
|
5536
|
+
"""
|
5537
|
+
return pulumi.get(self, "src_address_groups")
|
5538
|
+
|
5539
|
+
@property
|
5540
|
+
@pulumi.getter(name="srcFqdns")
|
5541
|
+
def src_fqdns(self) -> Optional[Sequence[str]]:
|
5542
|
+
"""
|
5543
|
+
Fully Qualified Domain Name (FQDN) which should be matched against
|
5544
|
+
traffic source. Maximum number of source fqdn allowed is 100.
|
5545
|
+
"""
|
5546
|
+
return pulumi.get(self, "src_fqdns")
|
5547
|
+
|
5548
|
+
@property
|
5549
|
+
@pulumi.getter(name="srcIpRanges")
|
5550
|
+
def src_ip_ranges(self) -> Optional[Sequence[str]]:
|
5551
|
+
"""
|
5552
|
+
Source IP address range in CIDR format. Required for
|
5553
|
+
INGRESS rules.
|
5554
|
+
"""
|
5555
|
+
return pulumi.get(self, "src_ip_ranges")
|
5556
|
+
|
5557
|
+
@property
|
5558
|
+
@pulumi.getter(name="srcRegionCodes")
|
5559
|
+
def src_region_codes(self) -> Optional[Sequence[str]]:
|
5560
|
+
"""
|
5561
|
+
Region codes whose IP addresses will be used to match for source
|
5562
|
+
of traffic. Should be specified as 2 letter country code defined as per
|
5563
|
+
ISO 3166 alpha-2 country codes. ex."US"
|
5564
|
+
Maximum number of source region codes allowed is 5000.
|
5565
|
+
"""
|
5566
|
+
return pulumi.get(self, "src_region_codes")
|
5567
|
+
|
5568
|
+
@property
|
5569
|
+
@pulumi.getter(name="srcThreatIntelligences")
|
5570
|
+
def src_threat_intelligences(self) -> Optional[Sequence[str]]:
|
5571
|
+
"""
|
5572
|
+
Names of Network Threat Intelligence lists.
|
5573
|
+
The IPs in these lists will be matched against traffic source.
|
5574
|
+
"""
|
5575
|
+
return pulumi.get(self, "src_threat_intelligences")
|
5576
|
+
|
5577
|
+
|
5578
|
+
@pulumi.output_type
|
5579
|
+
class FirewallPolicyWithRulesRuleMatchLayer4Config(dict):
|
5580
|
+
@staticmethod
|
5581
|
+
def __key_warning(key: str):
|
5582
|
+
suggest = None
|
5583
|
+
if key == "ipProtocol":
|
5584
|
+
suggest = "ip_protocol"
|
5585
|
+
|
5586
|
+
if suggest:
|
5587
|
+
pulumi.log.warn(f"Key '{key}' not found in FirewallPolicyWithRulesRuleMatchLayer4Config. Access the value via the '{suggest}' property getter instead.")
|
5588
|
+
|
5589
|
+
def __getitem__(self, key: str) -> Any:
|
5590
|
+
FirewallPolicyWithRulesRuleMatchLayer4Config.__key_warning(key)
|
5591
|
+
return super().__getitem__(key)
|
5592
|
+
|
5593
|
+
def get(self, key: str, default = None) -> Any:
|
5594
|
+
FirewallPolicyWithRulesRuleMatchLayer4Config.__key_warning(key)
|
5595
|
+
return super().get(key, default)
|
5596
|
+
|
5597
|
+
def __init__(__self__, *,
|
5598
|
+
ip_protocol: str,
|
5599
|
+
ports: Optional[Sequence[str]] = None):
|
5600
|
+
"""
|
5601
|
+
:param str ip_protocol: (Output)
|
5602
|
+
The IP protocol to which this rule applies. The protocol
|
5603
|
+
type is required when creating a firewall rule.
|
5604
|
+
This value can either be one of the following well
|
5605
|
+
known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp),
|
5606
|
+
or the IP protocol number.
|
5607
|
+
:param Sequence[str] ports: (Output)
|
5608
|
+
An optional list of ports to which this rule applies. This field
|
5609
|
+
is only applicable for UDP or TCP protocol. Each entry must be
|
5610
|
+
either an integer or a range. If not specified, this rule
|
5611
|
+
applies to connections through any port.
|
5612
|
+
Example inputs include: ["22"], ["80","443"], and
|
5613
|
+
["12345-12349"].
|
5614
|
+
"""
|
5615
|
+
pulumi.set(__self__, "ip_protocol", ip_protocol)
|
5616
|
+
if ports is not None:
|
5617
|
+
pulumi.set(__self__, "ports", ports)
|
5618
|
+
|
5619
|
+
@property
|
5620
|
+
@pulumi.getter(name="ipProtocol")
|
5621
|
+
def ip_protocol(self) -> str:
|
5622
|
+
"""
|
5623
|
+
(Output)
|
5624
|
+
The IP protocol to which this rule applies. The protocol
|
5625
|
+
type is required when creating a firewall rule.
|
5626
|
+
This value can either be one of the following well
|
5627
|
+
known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp),
|
5628
|
+
or the IP protocol number.
|
5629
|
+
"""
|
5630
|
+
return pulumi.get(self, "ip_protocol")
|
5631
|
+
|
5632
|
+
@property
|
5633
|
+
@pulumi.getter
|
5634
|
+
def ports(self) -> Optional[Sequence[str]]:
|
5635
|
+
"""
|
5636
|
+
(Output)
|
5637
|
+
An optional list of ports to which this rule applies. This field
|
5638
|
+
is only applicable for UDP or TCP protocol. Each entry must be
|
5639
|
+
either an integer or a range. If not specified, this rule
|
5640
|
+
applies to connections through any port.
|
5641
|
+
Example inputs include: ["22"], ["80","443"], and
|
5642
|
+
["12345-12349"].
|
5643
|
+
"""
|
5644
|
+
return pulumi.get(self, "ports")
|
5645
|
+
|
5646
|
+
|
4628
5647
|
@pulumi.output_type
|
4629
5648
|
class ForwardingRuleServiceDirectoryRegistrations(dict):
|
4630
5649
|
def __init__(__self__, *,
|