pulumi-gcp 8.1.0a1726492828__py3-none-any.whl → 8.2.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pulumi_gcp/__init__.py +38 -0
- pulumi_gcp/bigquery/__init__.py +1 -0
- pulumi_gcp/bigquery/get_tables.py +143 -0
- pulumi_gcp/bigquery/outputs.py +30 -0
- pulumi_gcp/compute/__init__.py +1 -0
- pulumi_gcp/compute/_inputs.py +2208 -285
- pulumi_gcp/compute/get_instance.py +3 -0
- pulumi_gcp/compute/network_firewall_policy_with_rules.py +826 -0
- pulumi_gcp/compute/outputs.py +1383 -0
- pulumi_gcp/compute/region_target_http_proxy.py +159 -0
- pulumi_gcp/compute/region_target_https_proxy.py +175 -0
- pulumi_gcp/compute/service_attachment.py +75 -0
- pulumi_gcp/compute/target_http_proxy.py +49 -28
- pulumi_gcp/compute/target_https_proxy.py +49 -28
- pulumi_gcp/config/__init__.pyi +4 -0
- pulumi_gcp/config/vars.py +8 -0
- pulumi_gcp/container/_inputs.py +96 -0
- pulumi_gcp/container/attached_cluster.py +54 -1
- pulumi_gcp/container/outputs.py +102 -0
- pulumi_gcp/dataproc/metastore_federation.py +8 -8
- pulumi_gcp/dataproc/metastore_service.py +2 -0
- pulumi_gcp/datastream/stream.py +21 -14
- pulumi_gcp/developerconnect/__init__.py +11 -0
- pulumi_gcp/developerconnect/_inputs.py +301 -0
- pulumi_gcp/developerconnect/connection.py +1034 -0
- pulumi_gcp/developerconnect/git_repository_link.py +873 -0
- pulumi_gcp/developerconnect/outputs.py +247 -0
- pulumi_gcp/gkeonprem/_inputs.py +3 -3
- pulumi_gcp/gkeonprem/outputs.py +2 -2
- pulumi_gcp/memorystore/__init__.py +10 -0
- pulumi_gcp/memorystore/_inputs.py +731 -0
- pulumi_gcp/memorystore/instance.py +1663 -0
- pulumi_gcp/memorystore/outputs.py +598 -0
- pulumi_gcp/netapp/volume.py +101 -0
- pulumi_gcp/organizations/folder.py +52 -33
- pulumi_gcp/provider.py +40 -0
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/securitycenter/v2_project_mute_config.py +2 -2
- pulumi_gcp/vpcaccess/connector.py +21 -28
- {pulumi_gcp-8.1.0a1726492828.dist-info → pulumi_gcp-8.2.0.dist-info}/METADATA +1 -1
- {pulumi_gcp-8.1.0a1726492828.dist-info → pulumi_gcp-8.2.0.dist-info}/RECORD +43 -32
- {pulumi_gcp-8.1.0a1726492828.dist-info → pulumi_gcp-8.2.0.dist-info}/WHEEL +0 -0
- {pulumi_gcp-8.1.0a1726492828.dist-info → pulumi_gcp-8.2.0.dist-info}/top_level.txt +0 -0
pulumi_gcp/compute/outputs.py
CHANGED
@@ -208,6 +208,16 @@ __all__ = [
|
|
208
208
|
'NetworkFirewallPolicyRuleMatchLayer4Config',
|
209
209
|
'NetworkFirewallPolicyRuleMatchSrcSecureTag',
|
210
210
|
'NetworkFirewallPolicyRuleTargetSecureTag',
|
211
|
+
'NetworkFirewallPolicyWithRulesPredefinedRule',
|
212
|
+
'NetworkFirewallPolicyWithRulesPredefinedRuleMatch',
|
213
|
+
'NetworkFirewallPolicyWithRulesPredefinedRuleMatchLayer4Config',
|
214
|
+
'NetworkFirewallPolicyWithRulesPredefinedRuleMatchSrcSecureTag',
|
215
|
+
'NetworkFirewallPolicyWithRulesPredefinedRuleTargetSecureTag',
|
216
|
+
'NetworkFirewallPolicyWithRulesRule',
|
217
|
+
'NetworkFirewallPolicyWithRulesRuleMatch',
|
218
|
+
'NetworkFirewallPolicyWithRulesRuleMatchLayer4Config',
|
219
|
+
'NetworkFirewallPolicyWithRulesRuleMatchSrcSecureTag',
|
220
|
+
'NetworkFirewallPolicyWithRulesRuleTargetSecureTag',
|
211
221
|
'NodeGroupAutoscalingPolicy',
|
212
222
|
'NodeGroupMaintenanceWindow',
|
213
223
|
'NodeGroupShareSettings',
|
@@ -6369,6 +6379,8 @@ class InstanceBootDiskInitializeParams(dict):
|
|
6369
6379
|
suggest = "provisioned_throughput"
|
6370
6380
|
elif key == "resourceManagerTags":
|
6371
6381
|
suggest = "resource_manager_tags"
|
6382
|
+
elif key == "resourcePolicies":
|
6383
|
+
suggest = "resource_policies"
|
6372
6384
|
elif key == "storagePool":
|
6373
6385
|
suggest = "storage_pool"
|
6374
6386
|
|
@@ -6390,6 +6402,7 @@ class InstanceBootDiskInitializeParams(dict):
|
|
6390
6402
|
provisioned_iops: Optional[int] = None,
|
6391
6403
|
provisioned_throughput: Optional[int] = None,
|
6392
6404
|
resource_manager_tags: Optional[Mapping[str, str]] = None,
|
6405
|
+
resource_policies: Optional[str] = None,
|
6393
6406
|
size: Optional[int] = None,
|
6394
6407
|
storage_pool: Optional[str] = None,
|
6395
6408
|
type: Optional[str] = None):
|
@@ -6422,6 +6435,7 @@ class InstanceBootDiskInitializeParams(dict):
|
|
6422
6435
|
for an update of throughput every 4 hours. To update your hyperdisk more
|
6423
6436
|
frequently, you'll need to manually delete and recreate it.
|
6424
6437
|
:param Mapping[str, str] resource_manager_tags: A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored (both PUT & PATCH) when empty.
|
6438
|
+
:param str resource_policies: A list of self_links of resource policies to attach to the instance's boot disk. Modifying this list will cause the instance to recreate. Currently a max of 1 resource policy is supported.
|
6425
6439
|
:param int size: The size of the image in gigabytes. If not specified, it
|
6426
6440
|
will inherit the size of its base image.
|
6427
6441
|
:param str storage_pool: The URL of the storage pool in which the new disk is created.
|
@@ -6442,6 +6456,8 @@ class InstanceBootDiskInitializeParams(dict):
|
|
6442
6456
|
pulumi.set(__self__, "provisioned_throughput", provisioned_throughput)
|
6443
6457
|
if resource_manager_tags is not None:
|
6444
6458
|
pulumi.set(__self__, "resource_manager_tags", resource_manager_tags)
|
6459
|
+
if resource_policies is not None:
|
6460
|
+
pulumi.set(__self__, "resource_policies", resource_policies)
|
6445
6461
|
if size is not None:
|
6446
6462
|
pulumi.set(__self__, "size", size)
|
6447
6463
|
if storage_pool is not None:
|
@@ -6519,6 +6535,14 @@ class InstanceBootDiskInitializeParams(dict):
|
|
6519
6535
|
"""
|
6520
6536
|
return pulumi.get(self, "resource_manager_tags")
|
6521
6537
|
|
6538
|
+
@property
|
6539
|
+
@pulumi.getter(name="resourcePolicies")
|
6540
|
+
def resource_policies(self) -> Optional[str]:
|
6541
|
+
"""
|
6542
|
+
A list of self_links of resource policies to attach to the instance's boot disk. Modifying this list will cause the instance to recreate. Currently a max of 1 resource policy is supported.
|
6543
|
+
"""
|
6544
|
+
return pulumi.get(self, "resource_policies")
|
6545
|
+
|
6522
6546
|
@property
|
6523
6547
|
@pulumi.getter
|
6524
6548
|
def size(self) -> Optional[int]:
|
@@ -6918,6 +6942,8 @@ class InstanceFromMachineImageBootDiskInitializeParams(dict):
|
|
6918
6942
|
suggest = "provisioned_throughput"
|
6919
6943
|
elif key == "resourceManagerTags":
|
6920
6944
|
suggest = "resource_manager_tags"
|
6945
|
+
elif key == "resourcePolicies":
|
6946
|
+
suggest = "resource_policies"
|
6921
6947
|
elif key == "storagePool":
|
6922
6948
|
suggest = "storage_pool"
|
6923
6949
|
|
@@ -6939,6 +6965,7 @@ class InstanceFromMachineImageBootDiskInitializeParams(dict):
|
|
6939
6965
|
provisioned_iops: Optional[int] = None,
|
6940
6966
|
provisioned_throughput: Optional[int] = None,
|
6941
6967
|
resource_manager_tags: Optional[Mapping[str, str]] = None,
|
6968
|
+
resource_policies: Optional[str] = None,
|
6942
6969
|
size: Optional[int] = None,
|
6943
6970
|
storage_pool: Optional[str] = None,
|
6944
6971
|
type: Optional[str] = None):
|
@@ -6949,6 +6976,7 @@ class InstanceFromMachineImageBootDiskInitializeParams(dict):
|
|
6949
6976
|
:param int provisioned_iops: Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle.
|
6950
6977
|
:param int provisioned_throughput: Indicates how much throughput to provision for the disk. This sets the number of throughput mb per second that the disk can handle.
|
6951
6978
|
:param Mapping[str, str] resource_manager_tags: A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored (both PUT & PATCH) when empty.
|
6979
|
+
:param str resource_policies: A list of self_links of resource policies to attach to the instance's boot disk. Modifying this list will cause the instance to recreate. Currently a max of 1 resource policy is supported.
|
6952
6980
|
:param int size: The size of the image in gigabytes.
|
6953
6981
|
:param str storage_pool: The URL of the storage pool in which the new disk is created
|
6954
6982
|
:param str type: The Google Compute Engine disk type. Such as pd-standard, pd-ssd or pd-balanced.
|
@@ -6965,6 +6993,8 @@ class InstanceFromMachineImageBootDiskInitializeParams(dict):
|
|
6965
6993
|
pulumi.set(__self__, "provisioned_throughput", provisioned_throughput)
|
6966
6994
|
if resource_manager_tags is not None:
|
6967
6995
|
pulumi.set(__self__, "resource_manager_tags", resource_manager_tags)
|
6996
|
+
if resource_policies is not None:
|
6997
|
+
pulumi.set(__self__, "resource_policies", resource_policies)
|
6968
6998
|
if size is not None:
|
6969
6999
|
pulumi.set(__self__, "size", size)
|
6970
7000
|
if storage_pool is not None:
|
@@ -7020,6 +7050,14 @@ class InstanceFromMachineImageBootDiskInitializeParams(dict):
|
|
7020
7050
|
"""
|
7021
7051
|
return pulumi.get(self, "resource_manager_tags")
|
7022
7052
|
|
7053
|
+
@property
|
7054
|
+
@pulumi.getter(name="resourcePolicies")
|
7055
|
+
def resource_policies(self) -> Optional[str]:
|
7056
|
+
"""
|
7057
|
+
A list of self_links of resource policies to attach to the instance's boot disk. Modifying this list will cause the instance to recreate. Currently a max of 1 resource policy is supported.
|
7058
|
+
"""
|
7059
|
+
return pulumi.get(self, "resource_policies")
|
7060
|
+
|
7023
7061
|
@property
|
7024
7062
|
@pulumi.getter
|
7025
7063
|
def size(self) -> Optional[int]:
|
@@ -8538,6 +8576,8 @@ class InstanceFromTemplateBootDiskInitializeParams(dict):
|
|
8538
8576
|
suggest = "provisioned_throughput"
|
8539
8577
|
elif key == "resourceManagerTags":
|
8540
8578
|
suggest = "resource_manager_tags"
|
8579
|
+
elif key == "resourcePolicies":
|
8580
|
+
suggest = "resource_policies"
|
8541
8581
|
elif key == "storagePool":
|
8542
8582
|
suggest = "storage_pool"
|
8543
8583
|
|
@@ -8559,6 +8599,7 @@ class InstanceFromTemplateBootDiskInitializeParams(dict):
|
|
8559
8599
|
provisioned_iops: Optional[int] = None,
|
8560
8600
|
provisioned_throughput: Optional[int] = None,
|
8561
8601
|
resource_manager_tags: Optional[Mapping[str, str]] = None,
|
8602
|
+
resource_policies: Optional[str] = None,
|
8562
8603
|
size: Optional[int] = None,
|
8563
8604
|
storage_pool: Optional[str] = None,
|
8564
8605
|
type: Optional[str] = None):
|
@@ -8569,6 +8610,7 @@ class InstanceFromTemplateBootDiskInitializeParams(dict):
|
|
8569
8610
|
:param int provisioned_iops: Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle.
|
8570
8611
|
:param int provisioned_throughput: Indicates how much throughput to provision for the disk. This sets the number of throughput mb per second that the disk can handle.
|
8571
8612
|
:param Mapping[str, str] resource_manager_tags: A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored (both PUT & PATCH) when empty.
|
8613
|
+
:param str resource_policies: A list of self_links of resource policies to attach to the instance's boot disk. Modifying this list will cause the instance to recreate. Currently a max of 1 resource policy is supported.
|
8572
8614
|
:param int size: The size of the image in gigabytes.
|
8573
8615
|
:param str storage_pool: The URL of the storage pool in which the new disk is created
|
8574
8616
|
:param str type: The Google Compute Engine disk type. Such as pd-standard, pd-ssd or pd-balanced.
|
@@ -8585,6 +8627,8 @@ class InstanceFromTemplateBootDiskInitializeParams(dict):
|
|
8585
8627
|
pulumi.set(__self__, "provisioned_throughput", provisioned_throughput)
|
8586
8628
|
if resource_manager_tags is not None:
|
8587
8629
|
pulumi.set(__self__, "resource_manager_tags", resource_manager_tags)
|
8630
|
+
if resource_policies is not None:
|
8631
|
+
pulumi.set(__self__, "resource_policies", resource_policies)
|
8588
8632
|
if size is not None:
|
8589
8633
|
pulumi.set(__self__, "size", size)
|
8590
8634
|
if storage_pool is not None:
|
@@ -8640,6 +8684,14 @@ class InstanceFromTemplateBootDiskInitializeParams(dict):
|
|
8640
8684
|
"""
|
8641
8685
|
return pulumi.get(self, "resource_manager_tags")
|
8642
8686
|
|
8687
|
+
@property
|
8688
|
+
@pulumi.getter(name="resourcePolicies")
|
8689
|
+
def resource_policies(self) -> Optional[str]:
|
8690
|
+
"""
|
8691
|
+
A list of self_links of resource policies to attach to the instance's boot disk. Modifying this list will cause the instance to recreate. Currently a max of 1 resource policy is supported.
|
8692
|
+
"""
|
8693
|
+
return pulumi.get(self, "resource_policies")
|
8694
|
+
|
8643
8695
|
@property
|
8644
8696
|
@pulumi.getter
|
8645
8697
|
def size(self) -> Optional[int]:
|
@@ -14907,6 +14959,1263 @@ class NetworkFirewallPolicyRuleTargetSecureTag(dict):
|
|
14907
14959
|
return pulumi.get(self, "state")
|
14908
14960
|
|
14909
14961
|
|
14962
|
+
@pulumi.output_type
|
14963
|
+
class NetworkFirewallPolicyWithRulesPredefinedRule(dict):
|
14964
|
+
@staticmethod
|
14965
|
+
def __key_warning(key: str):
|
14966
|
+
suggest = None
|
14967
|
+
if key == "enableLogging":
|
14968
|
+
suggest = "enable_logging"
|
14969
|
+
elif key == "ruleName":
|
14970
|
+
suggest = "rule_name"
|
14971
|
+
elif key == "securityProfileGroup":
|
14972
|
+
suggest = "security_profile_group"
|
14973
|
+
elif key == "targetSecureTags":
|
14974
|
+
suggest = "target_secure_tags"
|
14975
|
+
elif key == "targetServiceAccounts":
|
14976
|
+
suggest = "target_service_accounts"
|
14977
|
+
elif key == "tlsInspect":
|
14978
|
+
suggest = "tls_inspect"
|
14979
|
+
|
14980
|
+
if suggest:
|
14981
|
+
pulumi.log.warn(f"Key '{key}' not found in NetworkFirewallPolicyWithRulesPredefinedRule. Access the value via the '{suggest}' property getter instead.")
|
14982
|
+
|
14983
|
+
def __getitem__(self, key: str) -> Any:
|
14984
|
+
NetworkFirewallPolicyWithRulesPredefinedRule.__key_warning(key)
|
14985
|
+
return super().__getitem__(key)
|
14986
|
+
|
14987
|
+
def get(self, key: str, default = None) -> Any:
|
14988
|
+
NetworkFirewallPolicyWithRulesPredefinedRule.__key_warning(key)
|
14989
|
+
return super().get(key, default)
|
14990
|
+
|
14991
|
+
def __init__(__self__, *,
|
14992
|
+
action: Optional[str] = None,
|
14993
|
+
description: Optional[str] = None,
|
14994
|
+
direction: Optional[str] = None,
|
14995
|
+
disabled: Optional[bool] = None,
|
14996
|
+
enable_logging: Optional[bool] = None,
|
14997
|
+
matches: Optional[Sequence['outputs.NetworkFirewallPolicyWithRulesPredefinedRuleMatch']] = None,
|
14998
|
+
priority: Optional[int] = None,
|
14999
|
+
rule_name: Optional[str] = None,
|
15000
|
+
security_profile_group: Optional[str] = None,
|
15001
|
+
target_secure_tags: Optional[Sequence['outputs.NetworkFirewallPolicyWithRulesPredefinedRuleTargetSecureTag']] = None,
|
15002
|
+
target_service_accounts: Optional[Sequence[str]] = None,
|
15003
|
+
tls_inspect: Optional[bool] = None):
|
15004
|
+
"""
|
15005
|
+
:param str action: (Output)
|
15006
|
+
The Action to perform when the client connection triggers the rule. Can currently be either
|
15007
|
+
"allow", "deny", "apply_security_profile_group" or "goto_next".
|
15008
|
+
:param str description: (Output)
|
15009
|
+
A description of the rule.
|
15010
|
+
:param str direction: (Output)
|
15011
|
+
The direction in which this rule applies. If unspecified an INGRESS rule is created.
|
15012
|
+
:param bool disabled: (Output)
|
15013
|
+
Denotes whether the firewall policy rule is disabled. When set to true,
|
15014
|
+
the firewall policy rule is not enforced and traffic behaves as if it did
|
15015
|
+
not exist. If this is unspecified, the firewall policy rule will be
|
15016
|
+
enabled.
|
15017
|
+
:param bool enable_logging: (Output)
|
15018
|
+
Denotes whether to enable logging for a particular rule.
|
15019
|
+
If logging is enabled, logs will be exported to the
|
15020
|
+
configured export destination in Stackdriver.
|
15021
|
+
:param Sequence['NetworkFirewallPolicyWithRulesPredefinedRuleMatchArgs'] matches: (Output)
|
15022
|
+
A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding 'action' is enforced.
|
15023
|
+
Structure is documented below.
|
15024
|
+
:param int priority: (Output)
|
15025
|
+
An integer indicating the priority of a rule in the list. The priority must be a value
|
15026
|
+
between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the
|
15027
|
+
highest priority and 2147483647 is the lowest priority.
|
15028
|
+
:param str rule_name: (Output)
|
15029
|
+
An optional name for the rule. This field is not a unique identifier
|
15030
|
+
and can be updated.
|
15031
|
+
:param str security_profile_group: (Output)
|
15032
|
+
A fully-qualified URL of a SecurityProfile resource instance.
|
15033
|
+
Example:
|
15034
|
+
https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group
|
15035
|
+
Must be specified if action is 'apply_security_profile_group'.
|
15036
|
+
:param Sequence['NetworkFirewallPolicyWithRulesPredefinedRuleTargetSecureTagArgs'] target_secure_tags: (Output)
|
15037
|
+
A list of secure tags that controls which instances the firewall rule
|
15038
|
+
applies to. If <code>targetSecureTag</code> are specified, then the
|
15039
|
+
firewall rule applies only to instances in the VPC network that have one
|
15040
|
+
of those EFFECTIVE secure tags, if all the target_secure_tag are in
|
15041
|
+
INEFFECTIVE state, then this rule will be ignored.
|
15042
|
+
<code>targetSecureTag</code> may not be set at the same time as
|
15043
|
+
<code>targetServiceAccounts</code>.
|
15044
|
+
If neither <code>targetServiceAccounts</code> nor
|
15045
|
+
<code>targetSecureTag</code> are specified, the firewall rule applies
|
15046
|
+
to all instances on the specified network.
|
15047
|
+
Maximum number of target label tags allowed is 256.
|
15048
|
+
Structure is documented below.
|
15049
|
+
:param Sequence[str] target_service_accounts: (Output)
|
15050
|
+
A list of service accounts indicating the sets of
|
15051
|
+
instances that are applied with this rule.
|
15052
|
+
:param bool tls_inspect: (Output)
|
15053
|
+
Boolean flag indicating if the traffic should be TLS decrypted.
|
15054
|
+
It can be set only if action = 'apply_security_profile_group' and cannot be set for other actions.
|
15055
|
+
"""
|
15056
|
+
if action is not None:
|
15057
|
+
pulumi.set(__self__, "action", action)
|
15058
|
+
if description is not None:
|
15059
|
+
pulumi.set(__self__, "description", description)
|
15060
|
+
if direction is not None:
|
15061
|
+
pulumi.set(__self__, "direction", direction)
|
15062
|
+
if disabled is not None:
|
15063
|
+
pulumi.set(__self__, "disabled", disabled)
|
15064
|
+
if enable_logging is not None:
|
15065
|
+
pulumi.set(__self__, "enable_logging", enable_logging)
|
15066
|
+
if matches is not None:
|
15067
|
+
pulumi.set(__self__, "matches", matches)
|
15068
|
+
if priority is not None:
|
15069
|
+
pulumi.set(__self__, "priority", priority)
|
15070
|
+
if rule_name is not None:
|
15071
|
+
pulumi.set(__self__, "rule_name", rule_name)
|
15072
|
+
if security_profile_group is not None:
|
15073
|
+
pulumi.set(__self__, "security_profile_group", security_profile_group)
|
15074
|
+
if target_secure_tags is not None:
|
15075
|
+
pulumi.set(__self__, "target_secure_tags", target_secure_tags)
|
15076
|
+
if target_service_accounts is not None:
|
15077
|
+
pulumi.set(__self__, "target_service_accounts", target_service_accounts)
|
15078
|
+
if tls_inspect is not None:
|
15079
|
+
pulumi.set(__self__, "tls_inspect", tls_inspect)
|
15080
|
+
|
15081
|
+
@property
|
15082
|
+
@pulumi.getter
|
15083
|
+
def action(self) -> Optional[str]:
|
15084
|
+
"""
|
15085
|
+
(Output)
|
15086
|
+
The Action to perform when the client connection triggers the rule. Can currently be either
|
15087
|
+
"allow", "deny", "apply_security_profile_group" or "goto_next".
|
15088
|
+
"""
|
15089
|
+
return pulumi.get(self, "action")
|
15090
|
+
|
15091
|
+
@property
|
15092
|
+
@pulumi.getter
|
15093
|
+
def description(self) -> Optional[str]:
|
15094
|
+
"""
|
15095
|
+
(Output)
|
15096
|
+
A description of the rule.
|
15097
|
+
"""
|
15098
|
+
return pulumi.get(self, "description")
|
15099
|
+
|
15100
|
+
@property
|
15101
|
+
@pulumi.getter
|
15102
|
+
def direction(self) -> Optional[str]:
|
15103
|
+
"""
|
15104
|
+
(Output)
|
15105
|
+
The direction in which this rule applies. If unspecified an INGRESS rule is created.
|
15106
|
+
"""
|
15107
|
+
return pulumi.get(self, "direction")
|
15108
|
+
|
15109
|
+
@property
|
15110
|
+
@pulumi.getter
|
15111
|
+
def disabled(self) -> Optional[bool]:
|
15112
|
+
"""
|
15113
|
+
(Output)
|
15114
|
+
Denotes whether the firewall policy rule is disabled. When set to true,
|
15115
|
+
the firewall policy rule is not enforced and traffic behaves as if it did
|
15116
|
+
not exist. If this is unspecified, the firewall policy rule will be
|
15117
|
+
enabled.
|
15118
|
+
"""
|
15119
|
+
return pulumi.get(self, "disabled")
|
15120
|
+
|
15121
|
+
@property
|
15122
|
+
@pulumi.getter(name="enableLogging")
|
15123
|
+
def enable_logging(self) -> Optional[bool]:
|
15124
|
+
"""
|
15125
|
+
(Output)
|
15126
|
+
Denotes whether to enable logging for a particular rule.
|
15127
|
+
If logging is enabled, logs will be exported to the
|
15128
|
+
configured export destination in Stackdriver.
|
15129
|
+
"""
|
15130
|
+
return pulumi.get(self, "enable_logging")
|
15131
|
+
|
15132
|
+
@property
|
15133
|
+
@pulumi.getter
|
15134
|
+
def matches(self) -> Optional[Sequence['outputs.NetworkFirewallPolicyWithRulesPredefinedRuleMatch']]:
|
15135
|
+
"""
|
15136
|
+
(Output)
|
15137
|
+
A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding 'action' is enforced.
|
15138
|
+
Structure is documented below.
|
15139
|
+
"""
|
15140
|
+
return pulumi.get(self, "matches")
|
15141
|
+
|
15142
|
+
@property
|
15143
|
+
@pulumi.getter
|
15144
|
+
def priority(self) -> Optional[int]:
|
15145
|
+
"""
|
15146
|
+
(Output)
|
15147
|
+
An integer indicating the priority of a rule in the list. The priority must be a value
|
15148
|
+
between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the
|
15149
|
+
highest priority and 2147483647 is the lowest priority.
|
15150
|
+
"""
|
15151
|
+
return pulumi.get(self, "priority")
|
15152
|
+
|
15153
|
+
@property
|
15154
|
+
@pulumi.getter(name="ruleName")
|
15155
|
+
def rule_name(self) -> Optional[str]:
|
15156
|
+
"""
|
15157
|
+
(Output)
|
15158
|
+
An optional name for the rule. This field is not a unique identifier
|
15159
|
+
and can be updated.
|
15160
|
+
"""
|
15161
|
+
return pulumi.get(self, "rule_name")
|
15162
|
+
|
15163
|
+
@property
|
15164
|
+
@pulumi.getter(name="securityProfileGroup")
|
15165
|
+
def security_profile_group(self) -> Optional[str]:
|
15166
|
+
"""
|
15167
|
+
(Output)
|
15168
|
+
A fully-qualified URL of a SecurityProfile resource instance.
|
15169
|
+
Example:
|
15170
|
+
https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group
|
15171
|
+
Must be specified if action is 'apply_security_profile_group'.
|
15172
|
+
"""
|
15173
|
+
return pulumi.get(self, "security_profile_group")
|
15174
|
+
|
15175
|
+
@property
|
15176
|
+
@pulumi.getter(name="targetSecureTags")
|
15177
|
+
def target_secure_tags(self) -> Optional[Sequence['outputs.NetworkFirewallPolicyWithRulesPredefinedRuleTargetSecureTag']]:
|
15178
|
+
"""
|
15179
|
+
(Output)
|
15180
|
+
A list of secure tags that controls which instances the firewall rule
|
15181
|
+
applies to. If <code>targetSecureTag</code> are specified, then the
|
15182
|
+
firewall rule applies only to instances in the VPC network that have one
|
15183
|
+
of those EFFECTIVE secure tags, if all the target_secure_tag are in
|
15184
|
+
INEFFECTIVE state, then this rule will be ignored.
|
15185
|
+
<code>targetSecureTag</code> may not be set at the same time as
|
15186
|
+
<code>targetServiceAccounts</code>.
|
15187
|
+
If neither <code>targetServiceAccounts</code> nor
|
15188
|
+
<code>targetSecureTag</code> are specified, the firewall rule applies
|
15189
|
+
to all instances on the specified network.
|
15190
|
+
Maximum number of target label tags allowed is 256.
|
15191
|
+
Structure is documented below.
|
15192
|
+
"""
|
15193
|
+
return pulumi.get(self, "target_secure_tags")
|
15194
|
+
|
15195
|
+
@property
|
15196
|
+
@pulumi.getter(name="targetServiceAccounts")
|
15197
|
+
def target_service_accounts(self) -> Optional[Sequence[str]]:
|
15198
|
+
"""
|
15199
|
+
(Output)
|
15200
|
+
A list of service accounts indicating the sets of
|
15201
|
+
instances that are applied with this rule.
|
15202
|
+
"""
|
15203
|
+
return pulumi.get(self, "target_service_accounts")
|
15204
|
+
|
15205
|
+
@property
|
15206
|
+
@pulumi.getter(name="tlsInspect")
|
15207
|
+
def tls_inspect(self) -> Optional[bool]:
|
15208
|
+
"""
|
15209
|
+
(Output)
|
15210
|
+
Boolean flag indicating if the traffic should be TLS decrypted.
|
15211
|
+
It can be set only if action = 'apply_security_profile_group' and cannot be set for other actions.
|
15212
|
+
"""
|
15213
|
+
return pulumi.get(self, "tls_inspect")
|
15214
|
+
|
15215
|
+
|
15216
|
+
@pulumi.output_type
|
15217
|
+
class NetworkFirewallPolicyWithRulesPredefinedRuleMatch(dict):
|
15218
|
+
@staticmethod
|
15219
|
+
def __key_warning(key: str):
|
15220
|
+
suggest = None
|
15221
|
+
if key == "destAddressGroups":
|
15222
|
+
suggest = "dest_address_groups"
|
15223
|
+
elif key == "destFqdns":
|
15224
|
+
suggest = "dest_fqdns"
|
15225
|
+
elif key == "destIpRanges":
|
15226
|
+
suggest = "dest_ip_ranges"
|
15227
|
+
elif key == "destRegionCodes":
|
15228
|
+
suggest = "dest_region_codes"
|
15229
|
+
elif key == "destThreatIntelligences":
|
15230
|
+
suggest = "dest_threat_intelligences"
|
15231
|
+
elif key == "layer4Configs":
|
15232
|
+
suggest = "layer4_configs"
|
15233
|
+
elif key == "srcAddressGroups":
|
15234
|
+
suggest = "src_address_groups"
|
15235
|
+
elif key == "srcFqdns":
|
15236
|
+
suggest = "src_fqdns"
|
15237
|
+
elif key == "srcIpRanges":
|
15238
|
+
suggest = "src_ip_ranges"
|
15239
|
+
elif key == "srcRegionCodes":
|
15240
|
+
suggest = "src_region_codes"
|
15241
|
+
elif key == "srcSecureTags":
|
15242
|
+
suggest = "src_secure_tags"
|
15243
|
+
elif key == "srcThreatIntelligences":
|
15244
|
+
suggest = "src_threat_intelligences"
|
15245
|
+
|
15246
|
+
if suggest:
|
15247
|
+
pulumi.log.warn(f"Key '{key}' not found in NetworkFirewallPolicyWithRulesPredefinedRuleMatch. Access the value via the '{suggest}' property getter instead.")
|
15248
|
+
|
15249
|
+
def __getitem__(self, key: str) -> Any:
|
15250
|
+
NetworkFirewallPolicyWithRulesPredefinedRuleMatch.__key_warning(key)
|
15251
|
+
return super().__getitem__(key)
|
15252
|
+
|
15253
|
+
def get(self, key: str, default = None) -> Any:
|
15254
|
+
NetworkFirewallPolicyWithRulesPredefinedRuleMatch.__key_warning(key)
|
15255
|
+
return super().get(key, default)
|
15256
|
+
|
15257
|
+
def __init__(__self__, *,
|
15258
|
+
dest_address_groups: Optional[Sequence[str]] = None,
|
15259
|
+
dest_fqdns: Optional[Sequence[str]] = None,
|
15260
|
+
dest_ip_ranges: Optional[Sequence[str]] = None,
|
15261
|
+
dest_region_codes: Optional[Sequence[str]] = None,
|
15262
|
+
dest_threat_intelligences: Optional[Sequence[str]] = None,
|
15263
|
+
layer4_configs: Optional[Sequence['outputs.NetworkFirewallPolicyWithRulesPredefinedRuleMatchLayer4Config']] = None,
|
15264
|
+
src_address_groups: Optional[Sequence[str]] = None,
|
15265
|
+
src_fqdns: Optional[Sequence[str]] = None,
|
15266
|
+
src_ip_ranges: Optional[Sequence[str]] = None,
|
15267
|
+
src_region_codes: Optional[Sequence[str]] = None,
|
15268
|
+
src_secure_tags: Optional[Sequence['outputs.NetworkFirewallPolicyWithRulesPredefinedRuleMatchSrcSecureTag']] = None,
|
15269
|
+
src_threat_intelligences: Optional[Sequence[str]] = None):
|
15270
|
+
"""
|
15271
|
+
:param Sequence[str] dest_address_groups: Address groups which should be matched against the traffic destination.
|
15272
|
+
Maximum number of destination address groups is 10.
|
15273
|
+
:param Sequence[str] dest_fqdns: Fully Qualified Domain Name (FQDN) which should be matched against
|
15274
|
+
traffic destination. Maximum number of destination fqdn allowed is 100.
|
15275
|
+
:param Sequence[str] dest_ip_ranges: Destination IP address range in CIDR format. Required for
|
15276
|
+
EGRESS rules.
|
15277
|
+
:param Sequence[str] dest_region_codes: Region codes whose IP addresses will be used to match for destination
|
15278
|
+
of traffic. Should be specified as 2 letter country code defined as per
|
15279
|
+
ISO 3166 alpha-2 country codes. ex."US"
|
15280
|
+
Maximum number of destination region codes allowed is 5000.
|
15281
|
+
:param Sequence[str] dest_threat_intelligences: Names of Network Threat Intelligence lists.
|
15282
|
+
The IPs in these lists will be matched against traffic destination.
|
15283
|
+
:param Sequence['NetworkFirewallPolicyWithRulesPredefinedRuleMatchLayer4ConfigArgs'] layer4_configs: Pairs of IP protocols and ports that the rule should match.
|
15284
|
+
Structure is documented below.
|
15285
|
+
:param Sequence[str] src_address_groups: Address groups which should be matched against the traffic source.
|
15286
|
+
Maximum number of source address groups is 10.
|
15287
|
+
:param Sequence[str] src_fqdns: Fully Qualified Domain Name (FQDN) which should be matched against
|
15288
|
+
traffic source. Maximum number of source fqdn allowed is 100.
|
15289
|
+
:param Sequence[str] src_ip_ranges: Source IP address range in CIDR format. Required for
|
15290
|
+
INGRESS rules.
|
15291
|
+
:param Sequence[str] src_region_codes: Region codes whose IP addresses will be used to match for source
|
15292
|
+
of traffic. Should be specified as 2 letter country code defined as per
|
15293
|
+
ISO 3166 alpha-2 country codes. ex."US"
|
15294
|
+
Maximum number of source region codes allowed is 5000.
|
15295
|
+
:param Sequence['NetworkFirewallPolicyWithRulesPredefinedRuleMatchSrcSecureTagArgs'] src_secure_tags: List of secure tag values, which should be matched at the source
|
15296
|
+
of the traffic.
|
15297
|
+
For INGRESS rule, if all the <code>srcSecureTag</code> are INEFFECTIVE,
|
15298
|
+
and there is no <code>srcIpRange</code>, this rule will be ignored.
|
15299
|
+
Maximum number of source tag values allowed is 256.
|
15300
|
+
Structure is documented below.
|
15301
|
+
|
15302
|
+
|
15303
|
+
<a name="nested_layer4_config"></a>The `layer4_config` block supports:
|
15304
|
+
:param Sequence[str] src_threat_intelligences: Names of Network Threat Intelligence lists.
|
15305
|
+
The IPs in these lists will be matched against traffic source.
|
15306
|
+
"""
|
15307
|
+
if dest_address_groups is not None:
|
15308
|
+
pulumi.set(__self__, "dest_address_groups", dest_address_groups)
|
15309
|
+
if dest_fqdns is not None:
|
15310
|
+
pulumi.set(__self__, "dest_fqdns", dest_fqdns)
|
15311
|
+
if dest_ip_ranges is not None:
|
15312
|
+
pulumi.set(__self__, "dest_ip_ranges", dest_ip_ranges)
|
15313
|
+
if dest_region_codes is not None:
|
15314
|
+
pulumi.set(__self__, "dest_region_codes", dest_region_codes)
|
15315
|
+
if dest_threat_intelligences is not None:
|
15316
|
+
pulumi.set(__self__, "dest_threat_intelligences", dest_threat_intelligences)
|
15317
|
+
if layer4_configs is not None:
|
15318
|
+
pulumi.set(__self__, "layer4_configs", layer4_configs)
|
15319
|
+
if src_address_groups is not None:
|
15320
|
+
pulumi.set(__self__, "src_address_groups", src_address_groups)
|
15321
|
+
if src_fqdns is not None:
|
15322
|
+
pulumi.set(__self__, "src_fqdns", src_fqdns)
|
15323
|
+
if src_ip_ranges is not None:
|
15324
|
+
pulumi.set(__self__, "src_ip_ranges", src_ip_ranges)
|
15325
|
+
if src_region_codes is not None:
|
15326
|
+
pulumi.set(__self__, "src_region_codes", src_region_codes)
|
15327
|
+
if src_secure_tags is not None:
|
15328
|
+
pulumi.set(__self__, "src_secure_tags", src_secure_tags)
|
15329
|
+
if src_threat_intelligences is not None:
|
15330
|
+
pulumi.set(__self__, "src_threat_intelligences", src_threat_intelligences)
|
15331
|
+
|
15332
|
+
@property
|
15333
|
+
@pulumi.getter(name="destAddressGroups")
|
15334
|
+
def dest_address_groups(self) -> Optional[Sequence[str]]:
|
15335
|
+
"""
|
15336
|
+
Address groups which should be matched against the traffic destination.
|
15337
|
+
Maximum number of destination address groups is 10.
|
15338
|
+
"""
|
15339
|
+
return pulumi.get(self, "dest_address_groups")
|
15340
|
+
|
15341
|
+
@property
|
15342
|
+
@pulumi.getter(name="destFqdns")
|
15343
|
+
def dest_fqdns(self) -> Optional[Sequence[str]]:
|
15344
|
+
"""
|
15345
|
+
Fully Qualified Domain Name (FQDN) which should be matched against
|
15346
|
+
traffic destination. Maximum number of destination fqdn allowed is 100.
|
15347
|
+
"""
|
15348
|
+
return pulumi.get(self, "dest_fqdns")
|
15349
|
+
|
15350
|
+
@property
|
15351
|
+
@pulumi.getter(name="destIpRanges")
|
15352
|
+
def dest_ip_ranges(self) -> Optional[Sequence[str]]:
|
15353
|
+
"""
|
15354
|
+
Destination IP address range in CIDR format. Required for
|
15355
|
+
EGRESS rules.
|
15356
|
+
"""
|
15357
|
+
return pulumi.get(self, "dest_ip_ranges")
|
15358
|
+
|
15359
|
+
@property
|
15360
|
+
@pulumi.getter(name="destRegionCodes")
|
15361
|
+
def dest_region_codes(self) -> Optional[Sequence[str]]:
|
15362
|
+
"""
|
15363
|
+
Region codes whose IP addresses will be used to match for destination
|
15364
|
+
of traffic. Should be specified as 2 letter country code defined as per
|
15365
|
+
ISO 3166 alpha-2 country codes. ex."US"
|
15366
|
+
Maximum number of destination region codes allowed is 5000.
|
15367
|
+
"""
|
15368
|
+
return pulumi.get(self, "dest_region_codes")
|
15369
|
+
|
15370
|
+
@property
|
15371
|
+
@pulumi.getter(name="destThreatIntelligences")
|
15372
|
+
def dest_threat_intelligences(self) -> Optional[Sequence[str]]:
|
15373
|
+
"""
|
15374
|
+
Names of Network Threat Intelligence lists.
|
15375
|
+
The IPs in these lists will be matched against traffic destination.
|
15376
|
+
"""
|
15377
|
+
return pulumi.get(self, "dest_threat_intelligences")
|
15378
|
+
|
15379
|
+
@property
|
15380
|
+
@pulumi.getter(name="layer4Configs")
|
15381
|
+
def layer4_configs(self) -> Optional[Sequence['outputs.NetworkFirewallPolicyWithRulesPredefinedRuleMatchLayer4Config']]:
|
15382
|
+
"""
|
15383
|
+
Pairs of IP protocols and ports that the rule should match.
|
15384
|
+
Structure is documented below.
|
15385
|
+
"""
|
15386
|
+
return pulumi.get(self, "layer4_configs")
|
15387
|
+
|
15388
|
+
@property
|
15389
|
+
@pulumi.getter(name="srcAddressGroups")
|
15390
|
+
def src_address_groups(self) -> Optional[Sequence[str]]:
|
15391
|
+
"""
|
15392
|
+
Address groups which should be matched against the traffic source.
|
15393
|
+
Maximum number of source address groups is 10.
|
15394
|
+
"""
|
15395
|
+
return pulumi.get(self, "src_address_groups")
|
15396
|
+
|
15397
|
+
@property
|
15398
|
+
@pulumi.getter(name="srcFqdns")
|
15399
|
+
def src_fqdns(self) -> Optional[Sequence[str]]:
|
15400
|
+
"""
|
15401
|
+
Fully Qualified Domain Name (FQDN) which should be matched against
|
15402
|
+
traffic source. Maximum number of source fqdn allowed is 100.
|
15403
|
+
"""
|
15404
|
+
return pulumi.get(self, "src_fqdns")
|
15405
|
+
|
15406
|
+
@property
|
15407
|
+
@pulumi.getter(name="srcIpRanges")
|
15408
|
+
def src_ip_ranges(self) -> Optional[Sequence[str]]:
|
15409
|
+
"""
|
15410
|
+
Source IP address range in CIDR format. Required for
|
15411
|
+
INGRESS rules.
|
15412
|
+
"""
|
15413
|
+
return pulumi.get(self, "src_ip_ranges")
|
15414
|
+
|
15415
|
+
@property
|
15416
|
+
@pulumi.getter(name="srcRegionCodes")
|
15417
|
+
def src_region_codes(self) -> Optional[Sequence[str]]:
|
15418
|
+
"""
|
15419
|
+
Region codes whose IP addresses will be used to match for source
|
15420
|
+
of traffic. Should be specified as 2 letter country code defined as per
|
15421
|
+
ISO 3166 alpha-2 country codes. ex."US"
|
15422
|
+
Maximum number of source region codes allowed is 5000.
|
15423
|
+
"""
|
15424
|
+
return pulumi.get(self, "src_region_codes")
|
15425
|
+
|
15426
|
+
@property
|
15427
|
+
@pulumi.getter(name="srcSecureTags")
|
15428
|
+
def src_secure_tags(self) -> Optional[Sequence['outputs.NetworkFirewallPolicyWithRulesPredefinedRuleMatchSrcSecureTag']]:
|
15429
|
+
"""
|
15430
|
+
List of secure tag values, which should be matched at the source
|
15431
|
+
of the traffic.
|
15432
|
+
For INGRESS rule, if all the <code>srcSecureTag</code> are INEFFECTIVE,
|
15433
|
+
and there is no <code>srcIpRange</code>, this rule will be ignored.
|
15434
|
+
Maximum number of source tag values allowed is 256.
|
15435
|
+
Structure is documented below.
|
15436
|
+
|
15437
|
+
|
15438
|
+
<a name="nested_layer4_config"></a>The `layer4_config` block supports:
|
15439
|
+
"""
|
15440
|
+
return pulumi.get(self, "src_secure_tags")
|
15441
|
+
|
15442
|
+
@property
|
15443
|
+
@pulumi.getter(name="srcThreatIntelligences")
|
15444
|
+
def src_threat_intelligences(self) -> Optional[Sequence[str]]:
|
15445
|
+
"""
|
15446
|
+
Names of Network Threat Intelligence lists.
|
15447
|
+
The IPs in these lists will be matched against traffic source.
|
15448
|
+
"""
|
15449
|
+
return pulumi.get(self, "src_threat_intelligences")
|
15450
|
+
|
15451
|
+
|
15452
|
+
@pulumi.output_type
|
15453
|
+
class NetworkFirewallPolicyWithRulesPredefinedRuleMatchLayer4Config(dict):
|
15454
|
+
@staticmethod
|
15455
|
+
def __key_warning(key: str):
|
15456
|
+
suggest = None
|
15457
|
+
if key == "ipProtocol":
|
15458
|
+
suggest = "ip_protocol"
|
15459
|
+
|
15460
|
+
if suggest:
|
15461
|
+
pulumi.log.warn(f"Key '{key}' not found in NetworkFirewallPolicyWithRulesPredefinedRuleMatchLayer4Config. Access the value via the '{suggest}' property getter instead.")
|
15462
|
+
|
15463
|
+
def __getitem__(self, key: str) -> Any:
|
15464
|
+
NetworkFirewallPolicyWithRulesPredefinedRuleMatchLayer4Config.__key_warning(key)
|
15465
|
+
return super().__getitem__(key)
|
15466
|
+
|
15467
|
+
def get(self, key: str, default = None) -> Any:
|
15468
|
+
NetworkFirewallPolicyWithRulesPredefinedRuleMatchLayer4Config.__key_warning(key)
|
15469
|
+
return super().get(key, default)
|
15470
|
+
|
15471
|
+
def __init__(__self__, *,
|
15472
|
+
ip_protocol: Optional[str] = None,
|
15473
|
+
ports: Optional[Sequence[str]] = None):
|
15474
|
+
"""
|
15475
|
+
:param str ip_protocol: (Output)
|
15476
|
+
The IP protocol to which this rule applies. The protocol
|
15477
|
+
type is required when creating a firewall rule.
|
15478
|
+
This value can either be one of the following well
|
15479
|
+
known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp),
|
15480
|
+
or the IP protocol number.
|
15481
|
+
:param Sequence[str] ports: (Output)
|
15482
|
+
An optional list of ports to which this rule applies. This field
|
15483
|
+
is only applicable for UDP or TCP protocol. Each entry must be
|
15484
|
+
either an integer or a range. If not specified, this rule
|
15485
|
+
applies to connections through any port.
|
15486
|
+
Example inputs include: ["22"], ["80","443"], and
|
15487
|
+
["12345-12349"].
|
15488
|
+
"""
|
15489
|
+
if ip_protocol is not None:
|
15490
|
+
pulumi.set(__self__, "ip_protocol", ip_protocol)
|
15491
|
+
if ports is not None:
|
15492
|
+
pulumi.set(__self__, "ports", ports)
|
15493
|
+
|
15494
|
+
@property
|
15495
|
+
@pulumi.getter(name="ipProtocol")
|
15496
|
+
def ip_protocol(self) -> Optional[str]:
|
15497
|
+
"""
|
15498
|
+
(Output)
|
15499
|
+
The IP protocol to which this rule applies. The protocol
|
15500
|
+
type is required when creating a firewall rule.
|
15501
|
+
This value can either be one of the following well
|
15502
|
+
known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp),
|
15503
|
+
or the IP protocol number.
|
15504
|
+
"""
|
15505
|
+
return pulumi.get(self, "ip_protocol")
|
15506
|
+
|
15507
|
+
@property
|
15508
|
+
@pulumi.getter
|
15509
|
+
def ports(self) -> Optional[Sequence[str]]:
|
15510
|
+
"""
|
15511
|
+
(Output)
|
15512
|
+
An optional list of ports to which this rule applies. This field
|
15513
|
+
is only applicable for UDP or TCP protocol. Each entry must be
|
15514
|
+
either an integer or a range. If not specified, this rule
|
15515
|
+
applies to connections through any port.
|
15516
|
+
Example inputs include: ["22"], ["80","443"], and
|
15517
|
+
["12345-12349"].
|
15518
|
+
"""
|
15519
|
+
return pulumi.get(self, "ports")
|
15520
|
+
|
15521
|
+
|
15522
|
+
@pulumi.output_type
|
15523
|
+
class NetworkFirewallPolicyWithRulesPredefinedRuleMatchSrcSecureTag(dict):
|
15524
|
+
def __init__(__self__, *,
|
15525
|
+
name: Optional[str] = None,
|
15526
|
+
state: Optional[str] = None):
|
15527
|
+
"""
|
15528
|
+
:param str name: Name of the secure tag, created with TagManager's TagValue API.
|
15529
|
+
@pattern tagValues/[0-9]+
|
15530
|
+
:param str state: (Output)
|
15531
|
+
[Output Only] State of the secure tag, either `EFFECTIVE` or
|
15532
|
+
`INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted
|
15533
|
+
or its network is deleted.
|
15534
|
+
"""
|
15535
|
+
if name is not None:
|
15536
|
+
pulumi.set(__self__, "name", name)
|
15537
|
+
if state is not None:
|
15538
|
+
pulumi.set(__self__, "state", state)
|
15539
|
+
|
15540
|
+
@property
|
15541
|
+
@pulumi.getter
|
15542
|
+
def name(self) -> Optional[str]:
|
15543
|
+
"""
|
15544
|
+
Name of the secure tag, created with TagManager's TagValue API.
|
15545
|
+
@pattern tagValues/[0-9]+
|
15546
|
+
"""
|
15547
|
+
return pulumi.get(self, "name")
|
15548
|
+
|
15549
|
+
@property
|
15550
|
+
@pulumi.getter
|
15551
|
+
def state(self) -> Optional[str]:
|
15552
|
+
"""
|
15553
|
+
(Output)
|
15554
|
+
[Output Only] State of the secure tag, either `EFFECTIVE` or
|
15555
|
+
`INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted
|
15556
|
+
or its network is deleted.
|
15557
|
+
"""
|
15558
|
+
return pulumi.get(self, "state")
|
15559
|
+
|
15560
|
+
|
15561
|
+
@pulumi.output_type
|
15562
|
+
class NetworkFirewallPolicyWithRulesPredefinedRuleTargetSecureTag(dict):
|
15563
|
+
def __init__(__self__, *,
|
15564
|
+
name: Optional[str] = None,
|
15565
|
+
state: Optional[str] = None):
|
15566
|
+
"""
|
15567
|
+
:param str name: Name of the secure tag, created with TagManager's TagValue API.
|
15568
|
+
@pattern tagValues/[0-9]+
|
15569
|
+
:param str state: (Output)
|
15570
|
+
[Output Only] State of the secure tag, either `EFFECTIVE` or
|
15571
|
+
`INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted
|
15572
|
+
or its network is deleted.
|
15573
|
+
|
15574
|
+
- - -
|
15575
|
+
"""
|
15576
|
+
if name is not None:
|
15577
|
+
pulumi.set(__self__, "name", name)
|
15578
|
+
if state is not None:
|
15579
|
+
pulumi.set(__self__, "state", state)
|
15580
|
+
|
15581
|
+
@property
|
15582
|
+
@pulumi.getter
|
15583
|
+
def name(self) -> Optional[str]:
|
15584
|
+
"""
|
15585
|
+
Name of the secure tag, created with TagManager's TagValue API.
|
15586
|
+
@pattern tagValues/[0-9]+
|
15587
|
+
"""
|
15588
|
+
return pulumi.get(self, "name")
|
15589
|
+
|
15590
|
+
@property
|
15591
|
+
@pulumi.getter
|
15592
|
+
def state(self) -> Optional[str]:
|
15593
|
+
"""
|
15594
|
+
(Output)
|
15595
|
+
[Output Only] State of the secure tag, either `EFFECTIVE` or
|
15596
|
+
`INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted
|
15597
|
+
or its network is deleted.
|
15598
|
+
|
15599
|
+
- - -
|
15600
|
+
"""
|
15601
|
+
return pulumi.get(self, "state")
|
15602
|
+
|
15603
|
+
|
15604
|
+
@pulumi.output_type
|
15605
|
+
class NetworkFirewallPolicyWithRulesRule(dict):
|
15606
|
+
@staticmethod
|
15607
|
+
def __key_warning(key: str):
|
15608
|
+
suggest = None
|
15609
|
+
if key == "enableLogging":
|
15610
|
+
suggest = "enable_logging"
|
15611
|
+
elif key == "ruleName":
|
15612
|
+
suggest = "rule_name"
|
15613
|
+
elif key == "securityProfileGroup":
|
15614
|
+
suggest = "security_profile_group"
|
15615
|
+
elif key == "targetSecureTags":
|
15616
|
+
suggest = "target_secure_tags"
|
15617
|
+
elif key == "targetServiceAccounts":
|
15618
|
+
suggest = "target_service_accounts"
|
15619
|
+
elif key == "tlsInspect":
|
15620
|
+
suggest = "tls_inspect"
|
15621
|
+
|
15622
|
+
if suggest:
|
15623
|
+
pulumi.log.warn(f"Key '{key}' not found in NetworkFirewallPolicyWithRulesRule. Access the value via the '{suggest}' property getter instead.")
|
15624
|
+
|
15625
|
+
def __getitem__(self, key: str) -> Any:
|
15626
|
+
NetworkFirewallPolicyWithRulesRule.__key_warning(key)
|
15627
|
+
return super().__getitem__(key)
|
15628
|
+
|
15629
|
+
def get(self, key: str, default = None) -> Any:
|
15630
|
+
NetworkFirewallPolicyWithRulesRule.__key_warning(key)
|
15631
|
+
return super().get(key, default)
|
15632
|
+
|
15633
|
+
def __init__(__self__, *,
|
15634
|
+
action: str,
|
15635
|
+
match: 'outputs.NetworkFirewallPolicyWithRulesRuleMatch',
|
15636
|
+
priority: int,
|
15637
|
+
description: Optional[str] = None,
|
15638
|
+
direction: Optional[str] = None,
|
15639
|
+
disabled: Optional[bool] = None,
|
15640
|
+
enable_logging: Optional[bool] = None,
|
15641
|
+
rule_name: Optional[str] = None,
|
15642
|
+
security_profile_group: Optional[str] = None,
|
15643
|
+
target_secure_tags: Optional[Sequence['outputs.NetworkFirewallPolicyWithRulesRuleTargetSecureTag']] = None,
|
15644
|
+
target_service_accounts: Optional[Sequence[str]] = None,
|
15645
|
+
tls_inspect: Optional[bool] = None):
|
15646
|
+
"""
|
15647
|
+
:param str action: The Action to perform when the client connection triggers the rule. Can currently be either
|
15648
|
+
"allow", "deny", "apply_security_profile_group" or "goto_next".
|
15649
|
+
:param 'NetworkFirewallPolicyWithRulesRuleMatchArgs' match: A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding 'action' is enforced.
|
15650
|
+
Structure is documented below.
|
15651
|
+
:param int priority: An integer indicating the priority of a rule in the list. The priority must be a value
|
15652
|
+
between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the
|
15653
|
+
highest priority and 2147483647 is the lowest priority.
|
15654
|
+
:param str description: A description of the rule.
|
15655
|
+
:param str direction: The direction in which this rule applies. If unspecified an INGRESS rule is created.
|
15656
|
+
Possible values are: `INGRESS`, `EGRESS`.
|
15657
|
+
:param bool disabled: Denotes whether the firewall policy rule is disabled. When set to true,
|
15658
|
+
the firewall policy rule is not enforced and traffic behaves as if it did
|
15659
|
+
not exist. If this is unspecified, the firewall policy rule will be
|
15660
|
+
enabled.
|
15661
|
+
:param bool enable_logging: Denotes whether to enable logging for a particular rule.
|
15662
|
+
If logging is enabled, logs will be exported to the
|
15663
|
+
configured export destination in Stackdriver.
|
15664
|
+
:param str rule_name: An optional name for the rule. This field is not a unique identifier
|
15665
|
+
and can be updated.
|
15666
|
+
:param str security_profile_group: A fully-qualified URL of a SecurityProfile resource instance.
|
15667
|
+
Example:
|
15668
|
+
https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group
|
15669
|
+
Must be specified if action is 'apply_security_profile_group'.
|
15670
|
+
:param Sequence['NetworkFirewallPolicyWithRulesRuleTargetSecureTagArgs'] target_secure_tags: A list of secure tags that controls which instances the firewall rule
|
15671
|
+
applies to. If <code>targetSecureTag</code> are specified, then the
|
15672
|
+
firewall rule applies only to instances in the VPC network that have one
|
15673
|
+
of those EFFECTIVE secure tags, if all the target_secure_tag are in
|
15674
|
+
INEFFECTIVE state, then this rule will be ignored.
|
15675
|
+
<code>targetSecureTag</code> may not be set at the same time as
|
15676
|
+
<code>targetServiceAccounts</code>.
|
15677
|
+
If neither <code>targetServiceAccounts</code> nor
|
15678
|
+
<code>targetSecureTag</code> are specified, the firewall rule applies
|
15679
|
+
to all instances on the specified network.
|
15680
|
+
Maximum number of target label tags allowed is 256.
|
15681
|
+
Structure is documented below.
|
15682
|
+
:param Sequence[str] target_service_accounts: A list of service accounts indicating the sets of
|
15683
|
+
instances that are applied with this rule.
|
15684
|
+
:param bool tls_inspect: Boolean flag indicating if the traffic should be TLS decrypted.
|
15685
|
+
It can be set only if action = 'apply_security_profile_group' and cannot be set for other actions.
|
15686
|
+
"""
|
15687
|
+
pulumi.set(__self__, "action", action)
|
15688
|
+
pulumi.set(__self__, "match", match)
|
15689
|
+
pulumi.set(__self__, "priority", priority)
|
15690
|
+
if description is not None:
|
15691
|
+
pulumi.set(__self__, "description", description)
|
15692
|
+
if direction is not None:
|
15693
|
+
pulumi.set(__self__, "direction", direction)
|
15694
|
+
if disabled is not None:
|
15695
|
+
pulumi.set(__self__, "disabled", disabled)
|
15696
|
+
if enable_logging is not None:
|
15697
|
+
pulumi.set(__self__, "enable_logging", enable_logging)
|
15698
|
+
if rule_name is not None:
|
15699
|
+
pulumi.set(__self__, "rule_name", rule_name)
|
15700
|
+
if security_profile_group is not None:
|
15701
|
+
pulumi.set(__self__, "security_profile_group", security_profile_group)
|
15702
|
+
if target_secure_tags is not None:
|
15703
|
+
pulumi.set(__self__, "target_secure_tags", target_secure_tags)
|
15704
|
+
if target_service_accounts is not None:
|
15705
|
+
pulumi.set(__self__, "target_service_accounts", target_service_accounts)
|
15706
|
+
if tls_inspect is not None:
|
15707
|
+
pulumi.set(__self__, "tls_inspect", tls_inspect)
|
15708
|
+
|
15709
|
+
@property
|
15710
|
+
@pulumi.getter
|
15711
|
+
def action(self) -> str:
|
15712
|
+
"""
|
15713
|
+
The Action to perform when the client connection triggers the rule. Can currently be either
|
15714
|
+
"allow", "deny", "apply_security_profile_group" or "goto_next".
|
15715
|
+
"""
|
15716
|
+
return pulumi.get(self, "action")
|
15717
|
+
|
15718
|
+
@property
|
15719
|
+
@pulumi.getter
|
15720
|
+
def match(self) -> 'outputs.NetworkFirewallPolicyWithRulesRuleMatch':
|
15721
|
+
"""
|
15722
|
+
A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding 'action' is enforced.
|
15723
|
+
Structure is documented below.
|
15724
|
+
"""
|
15725
|
+
return pulumi.get(self, "match")
|
15726
|
+
|
15727
|
+
@property
|
15728
|
+
@pulumi.getter
|
15729
|
+
def priority(self) -> int:
|
15730
|
+
"""
|
15731
|
+
An integer indicating the priority of a rule in the list. The priority must be a value
|
15732
|
+
between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the
|
15733
|
+
highest priority and 2147483647 is the lowest priority.
|
15734
|
+
"""
|
15735
|
+
return pulumi.get(self, "priority")
|
15736
|
+
|
15737
|
+
@property
|
15738
|
+
@pulumi.getter
|
15739
|
+
def description(self) -> Optional[str]:
|
15740
|
+
"""
|
15741
|
+
A description of the rule.
|
15742
|
+
"""
|
15743
|
+
return pulumi.get(self, "description")
|
15744
|
+
|
15745
|
+
@property
|
15746
|
+
@pulumi.getter
|
15747
|
+
def direction(self) -> Optional[str]:
|
15748
|
+
"""
|
15749
|
+
The direction in which this rule applies. If unspecified an INGRESS rule is created.
|
15750
|
+
Possible values are: `INGRESS`, `EGRESS`.
|
15751
|
+
"""
|
15752
|
+
return pulumi.get(self, "direction")
|
15753
|
+
|
15754
|
+
@property
|
15755
|
+
@pulumi.getter
|
15756
|
+
def disabled(self) -> Optional[bool]:
|
15757
|
+
"""
|
15758
|
+
Denotes whether the firewall policy rule is disabled. When set to true,
|
15759
|
+
the firewall policy rule is not enforced and traffic behaves as if it did
|
15760
|
+
not exist. If this is unspecified, the firewall policy rule will be
|
15761
|
+
enabled.
|
15762
|
+
"""
|
15763
|
+
return pulumi.get(self, "disabled")
|
15764
|
+
|
15765
|
+
@property
|
15766
|
+
@pulumi.getter(name="enableLogging")
|
15767
|
+
def enable_logging(self) -> Optional[bool]:
|
15768
|
+
"""
|
15769
|
+
Denotes whether to enable logging for a particular rule.
|
15770
|
+
If logging is enabled, logs will be exported to the
|
15771
|
+
configured export destination in Stackdriver.
|
15772
|
+
"""
|
15773
|
+
return pulumi.get(self, "enable_logging")
|
15774
|
+
|
15775
|
+
@property
|
15776
|
+
@pulumi.getter(name="ruleName")
|
15777
|
+
def rule_name(self) -> Optional[str]:
|
15778
|
+
"""
|
15779
|
+
An optional name for the rule. This field is not a unique identifier
|
15780
|
+
and can be updated.
|
15781
|
+
"""
|
15782
|
+
return pulumi.get(self, "rule_name")
|
15783
|
+
|
15784
|
+
@property
|
15785
|
+
@pulumi.getter(name="securityProfileGroup")
|
15786
|
+
def security_profile_group(self) -> Optional[str]:
|
15787
|
+
"""
|
15788
|
+
A fully-qualified URL of a SecurityProfile resource instance.
|
15789
|
+
Example:
|
15790
|
+
https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group
|
15791
|
+
Must be specified if action is 'apply_security_profile_group'.
|
15792
|
+
"""
|
15793
|
+
return pulumi.get(self, "security_profile_group")
|
15794
|
+
|
15795
|
+
@property
|
15796
|
+
@pulumi.getter(name="targetSecureTags")
|
15797
|
+
def target_secure_tags(self) -> Optional[Sequence['outputs.NetworkFirewallPolicyWithRulesRuleTargetSecureTag']]:
|
15798
|
+
"""
|
15799
|
+
A list of secure tags that controls which instances the firewall rule
|
15800
|
+
applies to. If <code>targetSecureTag</code> are specified, then the
|
15801
|
+
firewall rule applies only to instances in the VPC network that have one
|
15802
|
+
of those EFFECTIVE secure tags, if all the target_secure_tag are in
|
15803
|
+
INEFFECTIVE state, then this rule will be ignored.
|
15804
|
+
<code>targetSecureTag</code> may not be set at the same time as
|
15805
|
+
<code>targetServiceAccounts</code>.
|
15806
|
+
If neither <code>targetServiceAccounts</code> nor
|
15807
|
+
<code>targetSecureTag</code> are specified, the firewall rule applies
|
15808
|
+
to all instances on the specified network.
|
15809
|
+
Maximum number of target label tags allowed is 256.
|
15810
|
+
Structure is documented below.
|
15811
|
+
"""
|
15812
|
+
return pulumi.get(self, "target_secure_tags")
|
15813
|
+
|
15814
|
+
@property
|
15815
|
+
@pulumi.getter(name="targetServiceAccounts")
|
15816
|
+
def target_service_accounts(self) -> Optional[Sequence[str]]:
|
15817
|
+
"""
|
15818
|
+
A list of service accounts indicating the sets of
|
15819
|
+
instances that are applied with this rule.
|
15820
|
+
"""
|
15821
|
+
return pulumi.get(self, "target_service_accounts")
|
15822
|
+
|
15823
|
+
@property
|
15824
|
+
@pulumi.getter(name="tlsInspect")
|
15825
|
+
def tls_inspect(self) -> Optional[bool]:
|
15826
|
+
"""
|
15827
|
+
Boolean flag indicating if the traffic should be TLS decrypted.
|
15828
|
+
It can be set only if action = 'apply_security_profile_group' and cannot be set for other actions.
|
15829
|
+
"""
|
15830
|
+
return pulumi.get(self, "tls_inspect")
|
15831
|
+
|
15832
|
+
|
15833
|
+
@pulumi.output_type
|
15834
|
+
class NetworkFirewallPolicyWithRulesRuleMatch(dict):
|
15835
|
+
@staticmethod
|
15836
|
+
def __key_warning(key: str):
|
15837
|
+
suggest = None
|
15838
|
+
if key == "layer4Configs":
|
15839
|
+
suggest = "layer4_configs"
|
15840
|
+
elif key == "destAddressGroups":
|
15841
|
+
suggest = "dest_address_groups"
|
15842
|
+
elif key == "destFqdns":
|
15843
|
+
suggest = "dest_fqdns"
|
15844
|
+
elif key == "destIpRanges":
|
15845
|
+
suggest = "dest_ip_ranges"
|
15846
|
+
elif key == "destRegionCodes":
|
15847
|
+
suggest = "dest_region_codes"
|
15848
|
+
elif key == "destThreatIntelligences":
|
15849
|
+
suggest = "dest_threat_intelligences"
|
15850
|
+
elif key == "srcAddressGroups":
|
15851
|
+
suggest = "src_address_groups"
|
15852
|
+
elif key == "srcFqdns":
|
15853
|
+
suggest = "src_fqdns"
|
15854
|
+
elif key == "srcIpRanges":
|
15855
|
+
suggest = "src_ip_ranges"
|
15856
|
+
elif key == "srcRegionCodes":
|
15857
|
+
suggest = "src_region_codes"
|
15858
|
+
elif key == "srcSecureTags":
|
15859
|
+
suggest = "src_secure_tags"
|
15860
|
+
elif key == "srcThreatIntelligences":
|
15861
|
+
suggest = "src_threat_intelligences"
|
15862
|
+
|
15863
|
+
if suggest:
|
15864
|
+
pulumi.log.warn(f"Key '{key}' not found in NetworkFirewallPolicyWithRulesRuleMatch. Access the value via the '{suggest}' property getter instead.")
|
15865
|
+
|
15866
|
+
def __getitem__(self, key: str) -> Any:
|
15867
|
+
NetworkFirewallPolicyWithRulesRuleMatch.__key_warning(key)
|
15868
|
+
return super().__getitem__(key)
|
15869
|
+
|
15870
|
+
def get(self, key: str, default = None) -> Any:
|
15871
|
+
NetworkFirewallPolicyWithRulesRuleMatch.__key_warning(key)
|
15872
|
+
return super().get(key, default)
|
15873
|
+
|
15874
|
+
def __init__(__self__, *,
|
15875
|
+
layer4_configs: Sequence['outputs.NetworkFirewallPolicyWithRulesRuleMatchLayer4Config'],
|
15876
|
+
dest_address_groups: Optional[Sequence[str]] = None,
|
15877
|
+
dest_fqdns: Optional[Sequence[str]] = None,
|
15878
|
+
dest_ip_ranges: Optional[Sequence[str]] = None,
|
15879
|
+
dest_region_codes: Optional[Sequence[str]] = None,
|
15880
|
+
dest_threat_intelligences: Optional[Sequence[str]] = None,
|
15881
|
+
src_address_groups: Optional[Sequence[str]] = None,
|
15882
|
+
src_fqdns: Optional[Sequence[str]] = None,
|
15883
|
+
src_ip_ranges: Optional[Sequence[str]] = None,
|
15884
|
+
src_region_codes: Optional[Sequence[str]] = None,
|
15885
|
+
src_secure_tags: Optional[Sequence['outputs.NetworkFirewallPolicyWithRulesRuleMatchSrcSecureTag']] = None,
|
15886
|
+
src_threat_intelligences: Optional[Sequence[str]] = None):
|
15887
|
+
"""
|
15888
|
+
:param Sequence['NetworkFirewallPolicyWithRulesRuleMatchLayer4ConfigArgs'] layer4_configs: Pairs of IP protocols and ports that the rule should match.
|
15889
|
+
Structure is documented below.
|
15890
|
+
:param Sequence[str] dest_address_groups: Address groups which should be matched against the traffic destination.
|
15891
|
+
Maximum number of destination address groups is 10.
|
15892
|
+
:param Sequence[str] dest_fqdns: Fully Qualified Domain Name (FQDN) which should be matched against
|
15893
|
+
traffic destination. Maximum number of destination fqdn allowed is 100.
|
15894
|
+
:param Sequence[str] dest_ip_ranges: Destination IP address range in CIDR format. Required for
|
15895
|
+
EGRESS rules.
|
15896
|
+
:param Sequence[str] dest_region_codes: Region codes whose IP addresses will be used to match for destination
|
15897
|
+
of traffic. Should be specified as 2 letter country code defined as per
|
15898
|
+
ISO 3166 alpha-2 country codes. ex."US"
|
15899
|
+
Maximum number of destination region codes allowed is 5000.
|
15900
|
+
:param Sequence[str] dest_threat_intelligences: Names of Network Threat Intelligence lists.
|
15901
|
+
The IPs in these lists will be matched against traffic destination.
|
15902
|
+
:param Sequence[str] src_address_groups: Address groups which should be matched against the traffic source.
|
15903
|
+
Maximum number of source address groups is 10.
|
15904
|
+
:param Sequence[str] src_fqdns: Fully Qualified Domain Name (FQDN) which should be matched against
|
15905
|
+
traffic source. Maximum number of source fqdn allowed is 100.
|
15906
|
+
:param Sequence[str] src_ip_ranges: Source IP address range in CIDR format. Required for
|
15907
|
+
INGRESS rules.
|
15908
|
+
:param Sequence[str] src_region_codes: Region codes whose IP addresses will be used to match for source
|
15909
|
+
of traffic. Should be specified as 2 letter country code defined as per
|
15910
|
+
ISO 3166 alpha-2 country codes. ex."US"
|
15911
|
+
Maximum number of source region codes allowed is 5000.
|
15912
|
+
:param Sequence['NetworkFirewallPolicyWithRulesRuleMatchSrcSecureTagArgs'] src_secure_tags: List of secure tag values, which should be matched at the source
|
15913
|
+
of the traffic.
|
15914
|
+
For INGRESS rule, if all the <code>srcSecureTag</code> are INEFFECTIVE,
|
15915
|
+
and there is no <code>srcIpRange</code>, this rule will be ignored.
|
15916
|
+
Maximum number of source tag values allowed is 256.
|
15917
|
+
Structure is documented below.
|
15918
|
+
|
15919
|
+
|
15920
|
+
<a name="nested_layer4_config"></a>The `layer4_config` block supports:
|
15921
|
+
:param Sequence[str] src_threat_intelligences: Names of Network Threat Intelligence lists.
|
15922
|
+
The IPs in these lists will be matched against traffic source.
|
15923
|
+
"""
|
15924
|
+
pulumi.set(__self__, "layer4_configs", layer4_configs)
|
15925
|
+
if dest_address_groups is not None:
|
15926
|
+
pulumi.set(__self__, "dest_address_groups", dest_address_groups)
|
15927
|
+
if dest_fqdns is not None:
|
15928
|
+
pulumi.set(__self__, "dest_fqdns", dest_fqdns)
|
15929
|
+
if dest_ip_ranges is not None:
|
15930
|
+
pulumi.set(__self__, "dest_ip_ranges", dest_ip_ranges)
|
15931
|
+
if dest_region_codes is not None:
|
15932
|
+
pulumi.set(__self__, "dest_region_codes", dest_region_codes)
|
15933
|
+
if dest_threat_intelligences is not None:
|
15934
|
+
pulumi.set(__self__, "dest_threat_intelligences", dest_threat_intelligences)
|
15935
|
+
if src_address_groups is not None:
|
15936
|
+
pulumi.set(__self__, "src_address_groups", src_address_groups)
|
15937
|
+
if src_fqdns is not None:
|
15938
|
+
pulumi.set(__self__, "src_fqdns", src_fqdns)
|
15939
|
+
if src_ip_ranges is not None:
|
15940
|
+
pulumi.set(__self__, "src_ip_ranges", src_ip_ranges)
|
15941
|
+
if src_region_codes is not None:
|
15942
|
+
pulumi.set(__self__, "src_region_codes", src_region_codes)
|
15943
|
+
if src_secure_tags is not None:
|
15944
|
+
pulumi.set(__self__, "src_secure_tags", src_secure_tags)
|
15945
|
+
if src_threat_intelligences is not None:
|
15946
|
+
pulumi.set(__self__, "src_threat_intelligences", src_threat_intelligences)
|
15947
|
+
|
15948
|
+
@property
|
15949
|
+
@pulumi.getter(name="layer4Configs")
|
15950
|
+
def layer4_configs(self) -> Sequence['outputs.NetworkFirewallPolicyWithRulesRuleMatchLayer4Config']:
|
15951
|
+
"""
|
15952
|
+
Pairs of IP protocols and ports that the rule should match.
|
15953
|
+
Structure is documented below.
|
15954
|
+
"""
|
15955
|
+
return pulumi.get(self, "layer4_configs")
|
15956
|
+
|
15957
|
+
@property
|
15958
|
+
@pulumi.getter(name="destAddressGroups")
|
15959
|
+
def dest_address_groups(self) -> Optional[Sequence[str]]:
|
15960
|
+
"""
|
15961
|
+
Address groups which should be matched against the traffic destination.
|
15962
|
+
Maximum number of destination address groups is 10.
|
15963
|
+
"""
|
15964
|
+
return pulumi.get(self, "dest_address_groups")
|
15965
|
+
|
15966
|
+
@property
|
15967
|
+
@pulumi.getter(name="destFqdns")
|
15968
|
+
def dest_fqdns(self) -> Optional[Sequence[str]]:
|
15969
|
+
"""
|
15970
|
+
Fully Qualified Domain Name (FQDN) which should be matched against
|
15971
|
+
traffic destination. Maximum number of destination fqdn allowed is 100.
|
15972
|
+
"""
|
15973
|
+
return pulumi.get(self, "dest_fqdns")
|
15974
|
+
|
15975
|
+
@property
|
15976
|
+
@pulumi.getter(name="destIpRanges")
|
15977
|
+
def dest_ip_ranges(self) -> Optional[Sequence[str]]:
|
15978
|
+
"""
|
15979
|
+
Destination IP address range in CIDR format. Required for
|
15980
|
+
EGRESS rules.
|
15981
|
+
"""
|
15982
|
+
return pulumi.get(self, "dest_ip_ranges")
|
15983
|
+
|
15984
|
+
@property
|
15985
|
+
@pulumi.getter(name="destRegionCodes")
|
15986
|
+
def dest_region_codes(self) -> Optional[Sequence[str]]:
|
15987
|
+
"""
|
15988
|
+
Region codes whose IP addresses will be used to match for destination
|
15989
|
+
of traffic. Should be specified as 2 letter country code defined as per
|
15990
|
+
ISO 3166 alpha-2 country codes. ex."US"
|
15991
|
+
Maximum number of destination region codes allowed is 5000.
|
15992
|
+
"""
|
15993
|
+
return pulumi.get(self, "dest_region_codes")
|
15994
|
+
|
15995
|
+
@property
|
15996
|
+
@pulumi.getter(name="destThreatIntelligences")
|
15997
|
+
def dest_threat_intelligences(self) -> Optional[Sequence[str]]:
|
15998
|
+
"""
|
15999
|
+
Names of Network Threat Intelligence lists.
|
16000
|
+
The IPs in these lists will be matched against traffic destination.
|
16001
|
+
"""
|
16002
|
+
return pulumi.get(self, "dest_threat_intelligences")
|
16003
|
+
|
16004
|
+
@property
|
16005
|
+
@pulumi.getter(name="srcAddressGroups")
|
16006
|
+
def src_address_groups(self) -> Optional[Sequence[str]]:
|
16007
|
+
"""
|
16008
|
+
Address groups which should be matched against the traffic source.
|
16009
|
+
Maximum number of source address groups is 10.
|
16010
|
+
"""
|
16011
|
+
return pulumi.get(self, "src_address_groups")
|
16012
|
+
|
16013
|
+
@property
|
16014
|
+
@pulumi.getter(name="srcFqdns")
|
16015
|
+
def src_fqdns(self) -> Optional[Sequence[str]]:
|
16016
|
+
"""
|
16017
|
+
Fully Qualified Domain Name (FQDN) which should be matched against
|
16018
|
+
traffic source. Maximum number of source fqdn allowed is 100.
|
16019
|
+
"""
|
16020
|
+
return pulumi.get(self, "src_fqdns")
|
16021
|
+
|
16022
|
+
@property
|
16023
|
+
@pulumi.getter(name="srcIpRanges")
|
16024
|
+
def src_ip_ranges(self) -> Optional[Sequence[str]]:
|
16025
|
+
"""
|
16026
|
+
Source IP address range in CIDR format. Required for
|
16027
|
+
INGRESS rules.
|
16028
|
+
"""
|
16029
|
+
return pulumi.get(self, "src_ip_ranges")
|
16030
|
+
|
16031
|
+
@property
|
16032
|
+
@pulumi.getter(name="srcRegionCodes")
|
16033
|
+
def src_region_codes(self) -> Optional[Sequence[str]]:
|
16034
|
+
"""
|
16035
|
+
Region codes whose IP addresses will be used to match for source
|
16036
|
+
of traffic. Should be specified as 2 letter country code defined as per
|
16037
|
+
ISO 3166 alpha-2 country codes. ex."US"
|
16038
|
+
Maximum number of source region codes allowed is 5000.
|
16039
|
+
"""
|
16040
|
+
return pulumi.get(self, "src_region_codes")
|
16041
|
+
|
16042
|
+
@property
|
16043
|
+
@pulumi.getter(name="srcSecureTags")
|
16044
|
+
def src_secure_tags(self) -> Optional[Sequence['outputs.NetworkFirewallPolicyWithRulesRuleMatchSrcSecureTag']]:
|
16045
|
+
"""
|
16046
|
+
List of secure tag values, which should be matched at the source
|
16047
|
+
of the traffic.
|
16048
|
+
For INGRESS rule, if all the <code>srcSecureTag</code> are INEFFECTIVE,
|
16049
|
+
and there is no <code>srcIpRange</code>, this rule will be ignored.
|
16050
|
+
Maximum number of source tag values allowed is 256.
|
16051
|
+
Structure is documented below.
|
16052
|
+
|
16053
|
+
|
16054
|
+
<a name="nested_layer4_config"></a>The `layer4_config` block supports:
|
16055
|
+
"""
|
16056
|
+
return pulumi.get(self, "src_secure_tags")
|
16057
|
+
|
16058
|
+
@property
|
16059
|
+
@pulumi.getter(name="srcThreatIntelligences")
|
16060
|
+
def src_threat_intelligences(self) -> Optional[Sequence[str]]:
|
16061
|
+
"""
|
16062
|
+
Names of Network Threat Intelligence lists.
|
16063
|
+
The IPs in these lists will be matched against traffic source.
|
16064
|
+
"""
|
16065
|
+
return pulumi.get(self, "src_threat_intelligences")
|
16066
|
+
|
16067
|
+
|
16068
|
+
@pulumi.output_type
|
16069
|
+
class NetworkFirewallPolicyWithRulesRuleMatchLayer4Config(dict):
|
16070
|
+
@staticmethod
|
16071
|
+
def __key_warning(key: str):
|
16072
|
+
suggest = None
|
16073
|
+
if key == "ipProtocol":
|
16074
|
+
suggest = "ip_protocol"
|
16075
|
+
|
16076
|
+
if suggest:
|
16077
|
+
pulumi.log.warn(f"Key '{key}' not found in NetworkFirewallPolicyWithRulesRuleMatchLayer4Config. Access the value via the '{suggest}' property getter instead.")
|
16078
|
+
|
16079
|
+
def __getitem__(self, key: str) -> Any:
|
16080
|
+
NetworkFirewallPolicyWithRulesRuleMatchLayer4Config.__key_warning(key)
|
16081
|
+
return super().__getitem__(key)
|
16082
|
+
|
16083
|
+
def get(self, key: str, default = None) -> Any:
|
16084
|
+
NetworkFirewallPolicyWithRulesRuleMatchLayer4Config.__key_warning(key)
|
16085
|
+
return super().get(key, default)
|
16086
|
+
|
16087
|
+
def __init__(__self__, *,
|
16088
|
+
ip_protocol: str,
|
16089
|
+
ports: Optional[Sequence[str]] = None):
|
16090
|
+
"""
|
16091
|
+
:param str ip_protocol: (Output)
|
16092
|
+
The IP protocol to which this rule applies. The protocol
|
16093
|
+
type is required when creating a firewall rule.
|
16094
|
+
This value can either be one of the following well
|
16095
|
+
known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp),
|
16096
|
+
or the IP protocol number.
|
16097
|
+
:param Sequence[str] ports: (Output)
|
16098
|
+
An optional list of ports to which this rule applies. This field
|
16099
|
+
is only applicable for UDP or TCP protocol. Each entry must be
|
16100
|
+
either an integer or a range. If not specified, this rule
|
16101
|
+
applies to connections through any port.
|
16102
|
+
Example inputs include: ["22"], ["80","443"], and
|
16103
|
+
["12345-12349"].
|
16104
|
+
"""
|
16105
|
+
pulumi.set(__self__, "ip_protocol", ip_protocol)
|
16106
|
+
if ports is not None:
|
16107
|
+
pulumi.set(__self__, "ports", ports)
|
16108
|
+
|
16109
|
+
@property
|
16110
|
+
@pulumi.getter(name="ipProtocol")
|
16111
|
+
def ip_protocol(self) -> str:
|
16112
|
+
"""
|
16113
|
+
(Output)
|
16114
|
+
The IP protocol to which this rule applies. The protocol
|
16115
|
+
type is required when creating a firewall rule.
|
16116
|
+
This value can either be one of the following well
|
16117
|
+
known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp),
|
16118
|
+
or the IP protocol number.
|
16119
|
+
"""
|
16120
|
+
return pulumi.get(self, "ip_protocol")
|
16121
|
+
|
16122
|
+
@property
|
16123
|
+
@pulumi.getter
|
16124
|
+
def ports(self) -> Optional[Sequence[str]]:
|
16125
|
+
"""
|
16126
|
+
(Output)
|
16127
|
+
An optional list of ports to which this rule applies. This field
|
16128
|
+
is only applicable for UDP or TCP protocol. Each entry must be
|
16129
|
+
either an integer or a range. If not specified, this rule
|
16130
|
+
applies to connections through any port.
|
16131
|
+
Example inputs include: ["22"], ["80","443"], and
|
16132
|
+
["12345-12349"].
|
16133
|
+
"""
|
16134
|
+
return pulumi.get(self, "ports")
|
16135
|
+
|
16136
|
+
|
16137
|
+
@pulumi.output_type
|
16138
|
+
class NetworkFirewallPolicyWithRulesRuleMatchSrcSecureTag(dict):
|
16139
|
+
def __init__(__self__, *,
|
16140
|
+
name: Optional[str] = None,
|
16141
|
+
state: Optional[str] = None):
|
16142
|
+
"""
|
16143
|
+
:param str name: Name of the secure tag, created with TagManager's TagValue API.
|
16144
|
+
@pattern tagValues/[0-9]+
|
16145
|
+
:param str state: (Output)
|
16146
|
+
[Output Only] State of the secure tag, either `EFFECTIVE` or
|
16147
|
+
`INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted
|
16148
|
+
or its network is deleted.
|
16149
|
+
"""
|
16150
|
+
if name is not None:
|
16151
|
+
pulumi.set(__self__, "name", name)
|
16152
|
+
if state is not None:
|
16153
|
+
pulumi.set(__self__, "state", state)
|
16154
|
+
|
16155
|
+
@property
|
16156
|
+
@pulumi.getter
|
16157
|
+
def name(self) -> Optional[str]:
|
16158
|
+
"""
|
16159
|
+
Name of the secure tag, created with TagManager's TagValue API.
|
16160
|
+
@pattern tagValues/[0-9]+
|
16161
|
+
"""
|
16162
|
+
return pulumi.get(self, "name")
|
16163
|
+
|
16164
|
+
@property
|
16165
|
+
@pulumi.getter
|
16166
|
+
def state(self) -> Optional[str]:
|
16167
|
+
"""
|
16168
|
+
(Output)
|
16169
|
+
[Output Only] State of the secure tag, either `EFFECTIVE` or
|
16170
|
+
`INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted
|
16171
|
+
or its network is deleted.
|
16172
|
+
"""
|
16173
|
+
return pulumi.get(self, "state")
|
16174
|
+
|
16175
|
+
|
16176
|
+
@pulumi.output_type
|
16177
|
+
class NetworkFirewallPolicyWithRulesRuleTargetSecureTag(dict):
|
16178
|
+
def __init__(__self__, *,
|
16179
|
+
name: Optional[str] = None,
|
16180
|
+
state: Optional[str] = None):
|
16181
|
+
"""
|
16182
|
+
:param str name: Name of the secure tag, created with TagManager's TagValue API.
|
16183
|
+
@pattern tagValues/[0-9]+
|
16184
|
+
:param str state: (Output)
|
16185
|
+
[Output Only] State of the secure tag, either `EFFECTIVE` or
|
16186
|
+
`INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted
|
16187
|
+
or its network is deleted.
|
16188
|
+
|
16189
|
+
- - -
|
16190
|
+
"""
|
16191
|
+
if name is not None:
|
16192
|
+
pulumi.set(__self__, "name", name)
|
16193
|
+
if state is not None:
|
16194
|
+
pulumi.set(__self__, "state", state)
|
16195
|
+
|
16196
|
+
@property
|
16197
|
+
@pulumi.getter
|
16198
|
+
def name(self) -> Optional[str]:
|
16199
|
+
"""
|
16200
|
+
Name of the secure tag, created with TagManager's TagValue API.
|
16201
|
+
@pattern tagValues/[0-9]+
|
16202
|
+
"""
|
16203
|
+
return pulumi.get(self, "name")
|
16204
|
+
|
16205
|
+
@property
|
16206
|
+
@pulumi.getter
|
16207
|
+
def state(self) -> Optional[str]:
|
16208
|
+
"""
|
16209
|
+
(Output)
|
16210
|
+
[Output Only] State of the secure tag, either `EFFECTIVE` or
|
16211
|
+
`INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted
|
16212
|
+
or its network is deleted.
|
16213
|
+
|
16214
|
+
- - -
|
16215
|
+
"""
|
16216
|
+
return pulumi.get(self, "state")
|
16217
|
+
|
16218
|
+
|
14910
16219
|
@pulumi.output_type
|
14911
16220
|
class NodeGroupAutoscalingPolicy(dict):
|
14912
16221
|
@staticmethod
|
@@ -34573,21 +35882,66 @@ class SecurityScanConfigSchedule(dict):
|
|
34573
35882
|
|
34574
35883
|
@pulumi.output_type
|
34575
35884
|
class ServiceAttachmentConnectedEndpoint(dict):
|
35885
|
+
@staticmethod
|
35886
|
+
def __key_warning(key: str):
|
35887
|
+
suggest = None
|
35888
|
+
if key == "consumerNetwork":
|
35889
|
+
suggest = "consumer_network"
|
35890
|
+
elif key == "propagatedConnectionCount":
|
35891
|
+
suggest = "propagated_connection_count"
|
35892
|
+
elif key == "pscConnectionId":
|
35893
|
+
suggest = "psc_connection_id"
|
35894
|
+
|
35895
|
+
if suggest:
|
35896
|
+
pulumi.log.warn(f"Key '{key}' not found in ServiceAttachmentConnectedEndpoint. Access the value via the '{suggest}' property getter instead.")
|
35897
|
+
|
35898
|
+
def __getitem__(self, key: str) -> Any:
|
35899
|
+
ServiceAttachmentConnectedEndpoint.__key_warning(key)
|
35900
|
+
return super().__getitem__(key)
|
35901
|
+
|
35902
|
+
def get(self, key: str, default = None) -> Any:
|
35903
|
+
ServiceAttachmentConnectedEndpoint.__key_warning(key)
|
35904
|
+
return super().get(key, default)
|
35905
|
+
|
34576
35906
|
def __init__(__self__, *,
|
35907
|
+
consumer_network: Optional[str] = None,
|
34577
35908
|
endpoint: Optional[str] = None,
|
35909
|
+
propagated_connection_count: Optional[int] = None,
|
35910
|
+
psc_connection_id: Optional[str] = None,
|
34578
35911
|
status: Optional[str] = None):
|
34579
35912
|
"""
|
35913
|
+
:param str consumer_network: (Output)
|
35914
|
+
The url of the consumer network.
|
34580
35915
|
:param str endpoint: (Output)
|
34581
35916
|
The URL of the consumer forwarding rule.
|
35917
|
+
:param int propagated_connection_count: (Output, Beta)
|
35918
|
+
The number of consumer Network Connectivity Center spokes that the connected Private Service Connect endpoint has propagated to.
|
35919
|
+
:param str psc_connection_id: (Output)
|
35920
|
+
The PSC connection id of the connected endpoint.
|
34582
35921
|
:param str status: (Output)
|
34583
35922
|
The status of the connection from the consumer forwarding rule to
|
34584
35923
|
this service attachment.
|
34585
35924
|
"""
|
35925
|
+
if consumer_network is not None:
|
35926
|
+
pulumi.set(__self__, "consumer_network", consumer_network)
|
34586
35927
|
if endpoint is not None:
|
34587
35928
|
pulumi.set(__self__, "endpoint", endpoint)
|
35929
|
+
if propagated_connection_count is not None:
|
35930
|
+
pulumi.set(__self__, "propagated_connection_count", propagated_connection_count)
|
35931
|
+
if psc_connection_id is not None:
|
35932
|
+
pulumi.set(__self__, "psc_connection_id", psc_connection_id)
|
34588
35933
|
if status is not None:
|
34589
35934
|
pulumi.set(__self__, "status", status)
|
34590
35935
|
|
35936
|
+
@property
|
35937
|
+
@pulumi.getter(name="consumerNetwork")
|
35938
|
+
def consumer_network(self) -> Optional[str]:
|
35939
|
+
"""
|
35940
|
+
(Output)
|
35941
|
+
The url of the consumer network.
|
35942
|
+
"""
|
35943
|
+
return pulumi.get(self, "consumer_network")
|
35944
|
+
|
34591
35945
|
@property
|
34592
35946
|
@pulumi.getter
|
34593
35947
|
def endpoint(self) -> Optional[str]:
|
@@ -34597,6 +35951,24 @@ class ServiceAttachmentConnectedEndpoint(dict):
|
|
34597
35951
|
"""
|
34598
35952
|
return pulumi.get(self, "endpoint")
|
34599
35953
|
|
35954
|
+
@property
|
35955
|
+
@pulumi.getter(name="propagatedConnectionCount")
|
35956
|
+
def propagated_connection_count(self) -> Optional[int]:
|
35957
|
+
"""
|
35958
|
+
(Output, Beta)
|
35959
|
+
The number of consumer Network Connectivity Center spokes that the connected Private Service Connect endpoint has propagated to.
|
35960
|
+
"""
|
35961
|
+
return pulumi.get(self, "propagated_connection_count")
|
35962
|
+
|
35963
|
+
@property
|
35964
|
+
@pulumi.getter(name="pscConnectionId")
|
35965
|
+
def psc_connection_id(self) -> Optional[str]:
|
35966
|
+
"""
|
35967
|
+
(Output)
|
35968
|
+
The PSC connection id of the connected endpoint.
|
35969
|
+
"""
|
35970
|
+
return pulumi.get(self, "psc_connection_id")
|
35971
|
+
|
34600
35972
|
@property
|
34601
35973
|
@pulumi.getter
|
34602
35974
|
def status(self) -> Optional[str]:
|
@@ -46116,6 +47488,7 @@ class GetInstanceBootDiskInitializeParamResult(dict):
|
|
46116
47488
|
provisioned_iops: int,
|
46117
47489
|
provisioned_throughput: int,
|
46118
47490
|
resource_manager_tags: Mapping[str, str],
|
47491
|
+
resource_policies: Sequence[str],
|
46119
47492
|
size: int,
|
46120
47493
|
storage_pool: str,
|
46121
47494
|
type: str):
|
@@ -46126,6 +47499,7 @@ class GetInstanceBootDiskInitializeParamResult(dict):
|
|
46126
47499
|
:param int provisioned_iops: Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle.
|
46127
47500
|
:param int provisioned_throughput: Indicates how much throughput to provision for the disk. This sets the number of throughput mb per second that the disk can handle.
|
46128
47501
|
:param Mapping[str, str] resource_manager_tags: A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored (both PUT & PATCH) when empty.
|
47502
|
+
:param Sequence[str] resource_policies: A list of self_links to resource policies attached to the selected `boot_disk`
|
46129
47503
|
:param int size: The size of the image in gigabytes.
|
46130
47504
|
:param str storage_pool: The URL of the storage pool in which the new disk is created
|
46131
47505
|
:param str type: The accelerator type resource exposed to this instance. E.g. `nvidia-tesla-k80`.
|
@@ -46136,6 +47510,7 @@ class GetInstanceBootDiskInitializeParamResult(dict):
|
|
46136
47510
|
pulumi.set(__self__, "provisioned_iops", provisioned_iops)
|
46137
47511
|
pulumi.set(__self__, "provisioned_throughput", provisioned_throughput)
|
46138
47512
|
pulumi.set(__self__, "resource_manager_tags", resource_manager_tags)
|
47513
|
+
pulumi.set(__self__, "resource_policies", resource_policies)
|
46139
47514
|
pulumi.set(__self__, "size", size)
|
46140
47515
|
pulumi.set(__self__, "storage_pool", storage_pool)
|
46141
47516
|
pulumi.set(__self__, "type", type)
|
@@ -46188,6 +47563,14 @@ class GetInstanceBootDiskInitializeParamResult(dict):
|
|
46188
47563
|
"""
|
46189
47564
|
return pulumi.get(self, "resource_manager_tags")
|
46190
47565
|
|
47566
|
+
@property
|
47567
|
+
@pulumi.getter(name="resourcePolicies")
|
47568
|
+
def resource_policies(self) -> Sequence[str]:
|
47569
|
+
"""
|
47570
|
+
A list of self_links to resource policies attached to the selected `boot_disk`
|
47571
|
+
"""
|
47572
|
+
return pulumi.get(self, "resource_policies")
|
47573
|
+
|
46191
47574
|
@property
|
46192
47575
|
@pulumi.getter
|
46193
47576
|
def size(self) -> int:
|