pulumi-gcp 8.1.0a1726293903__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 +62 -0
- pulumi_gcp/alloydb/_inputs.py +94 -0
- pulumi_gcp/alloydb/cluster.py +94 -1
- pulumi_gcp/alloydb/outputs.py +79 -0
- pulumi_gcp/assuredworkloads/workload.py +135 -16
- pulumi_gcp/backupdisasterrecovery/__init__.py +1 -0
- pulumi_gcp/backupdisasterrecovery/backup_vault.py +1203 -0
- pulumi_gcp/bigquery/__init__.py +1 -0
- pulumi_gcp/bigquery/_inputs.py +33 -0
- pulumi_gcp/bigquery/data_transfer_config.py +134 -6
- pulumi_gcp/bigquery/get_tables.py +143 -0
- pulumi_gcp/bigquery/outputs.py +66 -0
- pulumi_gcp/bigqueryanalyticshub/_inputs.py +169 -7
- pulumi_gcp/bigqueryanalyticshub/data_exchange.py +96 -3
- pulumi_gcp/bigqueryanalyticshub/listing.py +114 -0
- pulumi_gcp/bigqueryanalyticshub/outputs.py +138 -5
- pulumi_gcp/bigtable/_inputs.py +21 -1
- pulumi_gcp/bigtable/outputs.py +13 -1
- pulumi_gcp/bigtable/table.py +34 -0
- pulumi_gcp/certificateauthority/authority.py +14 -7
- pulumi_gcp/certificatemanager/__init__.py +1 -0
- pulumi_gcp/certificatemanager/certificate.py +28 -0
- pulumi_gcp/certificatemanager/get_certificates.py +150 -0
- pulumi_gcp/certificatemanager/outputs.py +322 -0
- pulumi_gcp/cloudbuild/_inputs.py +6 -6
- pulumi_gcp/cloudbuild/outputs.py +4 -4
- pulumi_gcp/cloudrun/_inputs.py +6 -12
- pulumi_gcp/cloudrun/outputs.py +8 -16
- pulumi_gcp/cloudrunv2/_inputs.py +72 -15
- pulumi_gcp/cloudrunv2/outputs.py +82 -16
- pulumi_gcp/cloudrunv2/service.py +50 -4
- pulumi_gcp/cloudtasks/_inputs.py +630 -0
- pulumi_gcp/cloudtasks/outputs.py +479 -0
- pulumi_gcp/cloudtasks/queue.py +238 -0
- pulumi_gcp/compute/__init__.py +1 -0
- pulumi_gcp/compute/_inputs.py +2300 -257
- pulumi_gcp/compute/get_instance.py +4 -1
- pulumi_gcp/compute/health_check.py +114 -0
- pulumi_gcp/compute/instance.py +86 -4
- pulumi_gcp/compute/instance_template.py +66 -0
- pulumi_gcp/compute/interconnect.py +28 -21
- pulumi_gcp/compute/network_firewall_policy_with_rules.py +826 -0
- pulumi_gcp/compute/node_template.py +93 -0
- pulumi_gcp/compute/outputs.py +1491 -6
- 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 +77 -28
- pulumi_gcp/config/__init__.pyi +4 -0
- pulumi_gcp/config/vars.py +8 -0
- pulumi_gcp/container/_inputs.py +236 -3
- pulumi_gcp/container/attached_cluster.py +61 -8
- pulumi_gcp/container/outputs.py +276 -2
- pulumi_gcp/databasemigrationservice/_inputs.py +176 -148
- pulumi_gcp/databasemigrationservice/connection_profile.py +206 -0
- pulumi_gcp/databasemigrationservice/outputs.py +109 -87
- pulumi_gcp/dataloss/_inputs.py +353 -1
- pulumi_gcp/dataloss/outputs.py +274 -3
- pulumi_gcp/dataproc/_inputs.py +27 -27
- pulumi_gcp/dataproc/metastore_federation.py +8 -8
- pulumi_gcp/dataproc/metastore_service.py +2 -0
- pulumi_gcp/dataproc/outputs.py +18 -18
- pulumi_gcp/datastream/_inputs.py +69 -1
- pulumi_gcp/datastream/outputs.py +44 -2
- pulumi_gcp/datastream/stream.py +201 -7
- 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/discoveryengine/_inputs.py +188 -0
- pulumi_gcp/discoveryengine/data_store.py +14 -14
- pulumi_gcp/discoveryengine/outputs.py +153 -1
- pulumi_gcp/firebase/database_instance.py +7 -7
- pulumi_gcp/gkehub/_inputs.py +25 -1
- pulumi_gcp/gkehub/feature_membership.py +12 -6
- pulumi_gcp/gkehub/outputs.py +17 -1
- pulumi_gcp/gkeonprem/_inputs.py +3 -3
- pulumi_gcp/gkeonprem/outputs.py +2 -2
- pulumi_gcp/iam/_inputs.py +196 -0
- pulumi_gcp/iam/get_workload_identity_pool_provider.py +13 -3
- pulumi_gcp/iam/outputs.py +295 -0
- pulumi_gcp/iam/workload_identity_pool_provider.py +164 -3
- pulumi_gcp/kms/__init__.py +2 -0
- pulumi_gcp/kms/autokey_config.py +10 -2
- pulumi_gcp/kms/get_crypto_key_latest_version.py +222 -0
- pulumi_gcp/kms/get_crypto_key_versions.py +175 -0
- pulumi_gcp/kms/outputs.py +164 -0
- 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/active_directory.py +6 -6
- pulumi_gcp/netapp/backup.py +6 -6
- pulumi_gcp/netapp/backup_policy.py +6 -6
- pulumi_gcp/netapp/backup_vault.py +6 -6
- pulumi_gcp/netapp/storage_pool.py +4 -4
- pulumi_gcp/netapp/volume.py +108 -0
- pulumi_gcp/networkconnectivity/_inputs.py +21 -1
- pulumi_gcp/networkconnectivity/outputs.py +15 -1
- pulumi_gcp/networkconnectivity/spoke.py +8 -0
- pulumi_gcp/networksecurity/client_tls_policy.py +24 -22
- pulumi_gcp/networksecurity/server_tls_policy.py +20 -32
- pulumi_gcp/organizations/folder.py +52 -33
- pulumi_gcp/organizations/get_project.py +13 -3
- pulumi_gcp/organizations/project.py +88 -3
- pulumi_gcp/parallelstore/instance.py +121 -121
- pulumi_gcp/projects/iam_member_remove.py +26 -0
- pulumi_gcp/projects/usage_export_bucket.py +38 -0
- pulumi_gcp/provider.py +40 -0
- pulumi_gcp/pubsub/_inputs.py +40 -0
- pulumi_gcp/pubsub/outputs.py +51 -1
- pulumi_gcp/pubsub/subscription.py +6 -0
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/redis/_inputs.py +419 -0
- pulumi_gcp/redis/cluster.py +123 -0
- pulumi_gcp/redis/outputs.py +315 -0
- pulumi_gcp/securitycenter/__init__.py +2 -0
- pulumi_gcp/securitycenter/v2_folder_scc_big_query_export.py +857 -0
- pulumi_gcp/securitycenter/v2_organization_scc_big_query_exports.py +4 -4
- pulumi_gcp/securitycenter/v2_project_mute_config.py +2 -2
- pulumi_gcp/securitycenter/v2_project_scc_big_query_export.py +796 -0
- pulumi_gcp/vpcaccess/connector.py +21 -28
- {pulumi_gcp-8.1.0a1726293903.dist-info → pulumi_gcp-8.2.0.dist-info}/METADATA +1 -1
- {pulumi_gcp-8.1.0a1726293903.dist-info → pulumi_gcp-8.2.0.dist-info}/RECORD +128 -111
- {pulumi_gcp-8.1.0a1726293903.dist-info → pulumi_gcp-8.2.0.dist-info}/WHEEL +1 -1
- {pulumi_gcp-8.1.0a1726293903.dist-info → pulumi_gcp-8.2.0.dist-info}/top_level.txt +0 -0
pulumi_gcp/compute/outputs.py
CHANGED
@@ -208,10 +208,21 @@ __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',
|
214
224
|
'NodeGroupShareSettingsProjectMap',
|
225
|
+
'NodeTemplateAccelerator',
|
215
226
|
'NodeTemplateNodeTypeFlexibility',
|
216
227
|
'NodeTemplateServerBinding',
|
217
228
|
'OrganizationSecurityPolicyRuleMatch',
|
@@ -4290,7 +4301,7 @@ class FirewallAllow(dict):
|
|
4290
4301
|
is only applicable for UDP or TCP protocol. Each entry must be
|
4291
4302
|
either an integer or a range. If not specified, this rule
|
4292
4303
|
applies to connections through any port.
|
4293
|
-
Example inputs include: [
|
4304
|
+
Example inputs include: [22], [80, 443], and
|
4294
4305
|
["12345-12349"].
|
4295
4306
|
"""
|
4296
4307
|
pulumi.set(__self__, "protocol", protocol)
|
@@ -4316,7 +4327,7 @@ class FirewallAllow(dict):
|
|
4316
4327
|
is only applicable for UDP or TCP protocol. Each entry must be
|
4317
4328
|
either an integer or a range. If not specified, this rule
|
4318
4329
|
applies to connections through any port.
|
4319
|
-
Example inputs include: [
|
4330
|
+
Example inputs include: [22], [80, 443], and
|
4320
4331
|
["12345-12349"].
|
4321
4332
|
"""
|
4322
4333
|
return pulumi.get(self, "ports")
|
@@ -4336,7 +4347,7 @@ class FirewallDeny(dict):
|
|
4336
4347
|
is only applicable for UDP or TCP protocol. Each entry must be
|
4337
4348
|
either an integer or a range. If not specified, this rule
|
4338
4349
|
applies to connections through any port.
|
4339
|
-
Example inputs include: [
|
4350
|
+
Example inputs include: [22], [80, 443], and
|
4340
4351
|
["12345-12349"].
|
4341
4352
|
"""
|
4342
4353
|
pulumi.set(__self__, "protocol", protocol)
|
@@ -4362,7 +4373,7 @@ class FirewallDeny(dict):
|
|
4362
4373
|
is only applicable for UDP or TCP protocol. Each entry must be
|
4363
4374
|
either an integer or a range. If not specified, this rule
|
4364
4375
|
applies to connections through any port.
|
4365
|
-
Example inputs include: [
|
4376
|
+
Example inputs include: [22], [80, 443], and
|
4366
4377
|
["12345-12349"].
|
4367
4378
|
"""
|
4368
4379
|
return pulumi.get(self, "ports")
|
@@ -6218,6 +6229,7 @@ class InstanceBootDisk(dict):
|
|
6218
6229
|
disk_encryption_key_raw: Optional[str] = None,
|
6219
6230
|
disk_encryption_key_sha256: Optional[str] = None,
|
6220
6231
|
initialize_params: Optional['outputs.InstanceBootDiskInitializeParams'] = None,
|
6232
|
+
interface: Optional[str] = None,
|
6221
6233
|
kms_key_self_link: Optional[str] = None,
|
6222
6234
|
mode: Optional[str] = None,
|
6223
6235
|
source: Optional[str] = None):
|
@@ -6237,6 +6249,7 @@ class InstanceBootDisk(dict):
|
|
6237
6249
|
:param 'InstanceBootDiskInitializeParamsArgs' initialize_params: Parameters for a new disk that will be created
|
6238
6250
|
alongside the new instance. Either `initialize_params` or `source` must be set.
|
6239
6251
|
Structure is documented below.
|
6252
|
+
:param str interface: The disk interface used for attaching this disk. One of SCSI or NVME. (This field is shared with attached_disk and only used for specific cases, please don't specify this field without advice from Google.)
|
6240
6253
|
:param str kms_key_self_link: The self_link of the encryption key that is
|
6241
6254
|
stored in Google Cloud KMS to encrypt this disk. Only one of `kms_key_self_link`
|
6242
6255
|
and `disk_encryption_key_raw` may be set.
|
@@ -6256,6 +6269,8 @@ class InstanceBootDisk(dict):
|
|
6256
6269
|
pulumi.set(__self__, "disk_encryption_key_sha256", disk_encryption_key_sha256)
|
6257
6270
|
if initialize_params is not None:
|
6258
6271
|
pulumi.set(__self__, "initialize_params", initialize_params)
|
6272
|
+
if interface is not None:
|
6273
|
+
pulumi.set(__self__, "interface", interface)
|
6259
6274
|
if kms_key_self_link is not None:
|
6260
6275
|
pulumi.set(__self__, "kms_key_self_link", kms_key_self_link)
|
6261
6276
|
if mode is not None:
|
@@ -6313,6 +6328,14 @@ class InstanceBootDisk(dict):
|
|
6313
6328
|
"""
|
6314
6329
|
return pulumi.get(self, "initialize_params")
|
6315
6330
|
|
6331
|
+
@property
|
6332
|
+
@pulumi.getter
|
6333
|
+
def interface(self) -> Optional[str]:
|
6334
|
+
"""
|
6335
|
+
The disk interface used for attaching this disk. One of SCSI or NVME. (This field is shared with attached_disk and only used for specific cases, please don't specify this field without advice from Google.)
|
6336
|
+
"""
|
6337
|
+
return pulumi.get(self, "interface")
|
6338
|
+
|
6316
6339
|
@property
|
6317
6340
|
@pulumi.getter(name="kmsKeySelfLink")
|
6318
6341
|
def kms_key_self_link(self) -> Optional[str]:
|
@@ -6356,6 +6379,8 @@ class InstanceBootDiskInitializeParams(dict):
|
|
6356
6379
|
suggest = "provisioned_throughput"
|
6357
6380
|
elif key == "resourceManagerTags":
|
6358
6381
|
suggest = "resource_manager_tags"
|
6382
|
+
elif key == "resourcePolicies":
|
6383
|
+
suggest = "resource_policies"
|
6359
6384
|
elif key == "storagePool":
|
6360
6385
|
suggest = "storage_pool"
|
6361
6386
|
|
@@ -6377,6 +6402,7 @@ class InstanceBootDiskInitializeParams(dict):
|
|
6377
6402
|
provisioned_iops: Optional[int] = None,
|
6378
6403
|
provisioned_throughput: Optional[int] = None,
|
6379
6404
|
resource_manager_tags: Optional[Mapping[str, str]] = None,
|
6405
|
+
resource_policies: Optional[str] = None,
|
6380
6406
|
size: Optional[int] = None,
|
6381
6407
|
storage_pool: Optional[str] = None,
|
6382
6408
|
type: Optional[str] = None):
|
@@ -6409,6 +6435,7 @@ class InstanceBootDiskInitializeParams(dict):
|
|
6409
6435
|
for an update of throughput every 4 hours. To update your hyperdisk more
|
6410
6436
|
frequently, you'll need to manually delete and recreate it.
|
6411
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.
|
6412
6439
|
:param int size: The size of the image in gigabytes. If not specified, it
|
6413
6440
|
will inherit the size of its base image.
|
6414
6441
|
:param str storage_pool: The URL of the storage pool in which the new disk is created.
|
@@ -6429,6 +6456,8 @@ class InstanceBootDiskInitializeParams(dict):
|
|
6429
6456
|
pulumi.set(__self__, "provisioned_throughput", provisioned_throughput)
|
6430
6457
|
if resource_manager_tags is not None:
|
6431
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)
|
6432
6461
|
if size is not None:
|
6433
6462
|
pulumi.set(__self__, "size", size)
|
6434
6463
|
if storage_pool is not None:
|
@@ -6506,6 +6535,14 @@ class InstanceBootDiskInitializeParams(dict):
|
|
6506
6535
|
"""
|
6507
6536
|
return pulumi.get(self, "resource_manager_tags")
|
6508
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
|
+
|
6509
6546
|
@property
|
6510
6547
|
@pulumi.getter
|
6511
6548
|
def size(self) -> Optional[int]:
|
@@ -6785,6 +6822,7 @@ class InstanceFromMachineImageBootDisk(dict):
|
|
6785
6822
|
disk_encryption_key_raw: Optional[str] = None,
|
6786
6823
|
disk_encryption_key_sha256: Optional[str] = None,
|
6787
6824
|
initialize_params: Optional['outputs.InstanceFromMachineImageBootDiskInitializeParams'] = None,
|
6825
|
+
interface: Optional[str] = None,
|
6788
6826
|
kms_key_self_link: Optional[str] = None,
|
6789
6827
|
mode: Optional[str] = None,
|
6790
6828
|
source: Optional[str] = None):
|
@@ -6794,6 +6832,7 @@ class InstanceFromMachineImageBootDisk(dict):
|
|
6794
6832
|
:param str disk_encryption_key_raw: A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.
|
6795
6833
|
:param str disk_encryption_key_sha256: The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption key that protects this resource.
|
6796
6834
|
:param 'InstanceFromMachineImageBootDiskInitializeParamsArgs' initialize_params: Parameters with which a disk was created alongside the instance.
|
6835
|
+
:param str interface: The disk interface used for attaching this disk. One of SCSI or NVME. (This field is shared with attached_disk and only used for specific cases, please don't specify this field without advice from Google.)
|
6797
6836
|
:param str kms_key_self_link: The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.
|
6798
6837
|
:param str mode: Read/write mode for the disk. One of "READ_ONLY" or "READ_WRITE".
|
6799
6838
|
:param str source: The name or self_link of the disk attached to this instance.
|
@@ -6808,6 +6847,8 @@ class InstanceFromMachineImageBootDisk(dict):
|
|
6808
6847
|
pulumi.set(__self__, "disk_encryption_key_sha256", disk_encryption_key_sha256)
|
6809
6848
|
if initialize_params is not None:
|
6810
6849
|
pulumi.set(__self__, "initialize_params", initialize_params)
|
6850
|
+
if interface is not None:
|
6851
|
+
pulumi.set(__self__, "interface", interface)
|
6811
6852
|
if kms_key_self_link is not None:
|
6812
6853
|
pulumi.set(__self__, "kms_key_self_link", kms_key_self_link)
|
6813
6854
|
if mode is not None:
|
@@ -6855,6 +6896,14 @@ class InstanceFromMachineImageBootDisk(dict):
|
|
6855
6896
|
"""
|
6856
6897
|
return pulumi.get(self, "initialize_params")
|
6857
6898
|
|
6899
|
+
@property
|
6900
|
+
@pulumi.getter
|
6901
|
+
def interface(self) -> Optional[str]:
|
6902
|
+
"""
|
6903
|
+
The disk interface used for attaching this disk. One of SCSI or NVME. (This field is shared with attached_disk and only used for specific cases, please don't specify this field without advice from Google.)
|
6904
|
+
"""
|
6905
|
+
return pulumi.get(self, "interface")
|
6906
|
+
|
6858
6907
|
@property
|
6859
6908
|
@pulumi.getter(name="kmsKeySelfLink")
|
6860
6909
|
def kms_key_self_link(self) -> Optional[str]:
|
@@ -6893,6 +6942,8 @@ class InstanceFromMachineImageBootDiskInitializeParams(dict):
|
|
6893
6942
|
suggest = "provisioned_throughput"
|
6894
6943
|
elif key == "resourceManagerTags":
|
6895
6944
|
suggest = "resource_manager_tags"
|
6945
|
+
elif key == "resourcePolicies":
|
6946
|
+
suggest = "resource_policies"
|
6896
6947
|
elif key == "storagePool":
|
6897
6948
|
suggest = "storage_pool"
|
6898
6949
|
|
@@ -6914,6 +6965,7 @@ class InstanceFromMachineImageBootDiskInitializeParams(dict):
|
|
6914
6965
|
provisioned_iops: Optional[int] = None,
|
6915
6966
|
provisioned_throughput: Optional[int] = None,
|
6916
6967
|
resource_manager_tags: Optional[Mapping[str, str]] = None,
|
6968
|
+
resource_policies: Optional[str] = None,
|
6917
6969
|
size: Optional[int] = None,
|
6918
6970
|
storage_pool: Optional[str] = None,
|
6919
6971
|
type: Optional[str] = None):
|
@@ -6924,6 +6976,7 @@ class InstanceFromMachineImageBootDiskInitializeParams(dict):
|
|
6924
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.
|
6925
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.
|
6926
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.
|
6927
6980
|
:param int size: The size of the image in gigabytes.
|
6928
6981
|
:param str storage_pool: The URL of the storage pool in which the new disk is created
|
6929
6982
|
:param str type: The Google Compute Engine disk type. Such as pd-standard, pd-ssd or pd-balanced.
|
@@ -6940,6 +6993,8 @@ class InstanceFromMachineImageBootDiskInitializeParams(dict):
|
|
6940
6993
|
pulumi.set(__self__, "provisioned_throughput", provisioned_throughput)
|
6941
6994
|
if resource_manager_tags is not None:
|
6942
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)
|
6943
6998
|
if size is not None:
|
6944
6999
|
pulumi.set(__self__, "size", size)
|
6945
7000
|
if storage_pool is not None:
|
@@ -6995,6 +7050,14 @@ class InstanceFromMachineImageBootDiskInitializeParams(dict):
|
|
6995
7050
|
"""
|
6996
7051
|
return pulumi.get(self, "resource_manager_tags")
|
6997
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
|
+
|
6998
7061
|
@property
|
6999
7062
|
@pulumi.getter
|
7000
7063
|
def size(self) -> Optional[int]:
|
@@ -8393,6 +8456,7 @@ class InstanceFromTemplateBootDisk(dict):
|
|
8393
8456
|
disk_encryption_key_raw: Optional[str] = None,
|
8394
8457
|
disk_encryption_key_sha256: Optional[str] = None,
|
8395
8458
|
initialize_params: Optional['outputs.InstanceFromTemplateBootDiskInitializeParams'] = None,
|
8459
|
+
interface: Optional[str] = None,
|
8396
8460
|
kms_key_self_link: Optional[str] = None,
|
8397
8461
|
mode: Optional[str] = None,
|
8398
8462
|
source: Optional[str] = None):
|
@@ -8402,6 +8466,7 @@ class InstanceFromTemplateBootDisk(dict):
|
|
8402
8466
|
:param str disk_encryption_key_raw: A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.
|
8403
8467
|
:param str disk_encryption_key_sha256: The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption key that protects this resource.
|
8404
8468
|
:param 'InstanceFromTemplateBootDiskInitializeParamsArgs' initialize_params: Parameters with which a disk was created alongside the instance.
|
8469
|
+
:param str interface: The disk interface used for attaching this disk. One of SCSI or NVME. (This field is shared with attached_disk and only used for specific cases, please don't specify this field without advice from Google.)
|
8405
8470
|
:param str kms_key_self_link: The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.
|
8406
8471
|
:param str mode: Read/write mode for the disk. One of "READ_ONLY" or "READ_WRITE".
|
8407
8472
|
:param str source: The name or self_link of the disk attached to this instance.
|
@@ -8416,6 +8481,8 @@ class InstanceFromTemplateBootDisk(dict):
|
|
8416
8481
|
pulumi.set(__self__, "disk_encryption_key_sha256", disk_encryption_key_sha256)
|
8417
8482
|
if initialize_params is not None:
|
8418
8483
|
pulumi.set(__self__, "initialize_params", initialize_params)
|
8484
|
+
if interface is not None:
|
8485
|
+
pulumi.set(__self__, "interface", interface)
|
8419
8486
|
if kms_key_self_link is not None:
|
8420
8487
|
pulumi.set(__self__, "kms_key_self_link", kms_key_self_link)
|
8421
8488
|
if mode is not None:
|
@@ -8463,6 +8530,14 @@ class InstanceFromTemplateBootDisk(dict):
|
|
8463
8530
|
"""
|
8464
8531
|
return pulumi.get(self, "initialize_params")
|
8465
8532
|
|
8533
|
+
@property
|
8534
|
+
@pulumi.getter
|
8535
|
+
def interface(self) -> Optional[str]:
|
8536
|
+
"""
|
8537
|
+
The disk interface used for attaching this disk. One of SCSI or NVME. (This field is shared with attached_disk and only used for specific cases, please don't specify this field without advice from Google.)
|
8538
|
+
"""
|
8539
|
+
return pulumi.get(self, "interface")
|
8540
|
+
|
8466
8541
|
@property
|
8467
8542
|
@pulumi.getter(name="kmsKeySelfLink")
|
8468
8543
|
def kms_key_self_link(self) -> Optional[str]:
|
@@ -8501,6 +8576,8 @@ class InstanceFromTemplateBootDiskInitializeParams(dict):
|
|
8501
8576
|
suggest = "provisioned_throughput"
|
8502
8577
|
elif key == "resourceManagerTags":
|
8503
8578
|
suggest = "resource_manager_tags"
|
8579
|
+
elif key == "resourcePolicies":
|
8580
|
+
suggest = "resource_policies"
|
8504
8581
|
elif key == "storagePool":
|
8505
8582
|
suggest = "storage_pool"
|
8506
8583
|
|
@@ -8522,6 +8599,7 @@ class InstanceFromTemplateBootDiskInitializeParams(dict):
|
|
8522
8599
|
provisioned_iops: Optional[int] = None,
|
8523
8600
|
provisioned_throughput: Optional[int] = None,
|
8524
8601
|
resource_manager_tags: Optional[Mapping[str, str]] = None,
|
8602
|
+
resource_policies: Optional[str] = None,
|
8525
8603
|
size: Optional[int] = None,
|
8526
8604
|
storage_pool: Optional[str] = None,
|
8527
8605
|
type: Optional[str] = None):
|
@@ -8532,6 +8610,7 @@ class InstanceFromTemplateBootDiskInitializeParams(dict):
|
|
8532
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.
|
8533
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.
|
8534
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.
|
8535
8614
|
:param int size: The size of the image in gigabytes.
|
8536
8615
|
:param str storage_pool: The URL of the storage pool in which the new disk is created
|
8537
8616
|
:param str type: The Google Compute Engine disk type. Such as pd-standard, pd-ssd or pd-balanced.
|
@@ -8548,6 +8627,8 @@ class InstanceFromTemplateBootDiskInitializeParams(dict):
|
|
8548
8627
|
pulumi.set(__self__, "provisioned_throughput", provisioned_throughput)
|
8549
8628
|
if resource_manager_tags is not None:
|
8550
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)
|
8551
8632
|
if size is not None:
|
8552
8633
|
pulumi.set(__self__, "size", size)
|
8553
8634
|
if storage_pool is not None:
|
@@ -8603,6 +8684,14 @@ class InstanceFromTemplateBootDiskInitializeParams(dict):
|
|
8603
8684
|
"""
|
8604
8685
|
return pulumi.get(self, "resource_manager_tags")
|
8605
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
|
+
|
8606
8695
|
@property
|
8607
8696
|
@pulumi.getter
|
8608
8697
|
def size(self) -> Optional[int]:
|
@@ -10950,7 +11039,7 @@ class InstanceNetworkInterface(dict):
|
|
10950
11039
|
network is in auto subnet mode, specifying the subnetwork is optional. If the network is
|
10951
11040
|
in custom subnet mode, specifying the subnetwork is required.
|
10952
11041
|
:param str subnetwork_project: The project in which the subnetwork belongs.
|
10953
|
-
If the `subnetwork` is a self_link, this field is
|
11042
|
+
If the `subnetwork` is a self_link, this field is set to the project
|
10954
11043
|
defined in the subnetwork self_link. If the `subnetwork` is a name and this
|
10955
11044
|
field is not provided, the provider project is used.
|
10956
11045
|
"""
|
@@ -11127,7 +11216,7 @@ class InstanceNetworkInterface(dict):
|
|
11127
11216
|
def subnetwork_project(self) -> Optional[str]:
|
11128
11217
|
"""
|
11129
11218
|
The project in which the subnetwork belongs.
|
11130
|
-
If the `subnetwork` is a self_link, this field is
|
11219
|
+
If the `subnetwork` is a self_link, this field is set to the project
|
11131
11220
|
defined in the subnetwork self_link. If the `subnetwork` is a name and this
|
11132
11221
|
field is not provided, the provider project is used.
|
11133
11222
|
"""
|
@@ -14870,6 +14959,1263 @@ class NetworkFirewallPolicyRuleTargetSecureTag(dict):
|
|
14870
14959
|
return pulumi.get(self, "state")
|
14871
14960
|
|
14872
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
|
+
|
14873
16219
|
@pulumi.output_type
|
14874
16220
|
class NodeGroupAutoscalingPolicy(dict):
|
14875
16221
|
@staticmethod
|
@@ -15082,6 +16428,60 @@ class NodeGroupShareSettingsProjectMap(dict):
|
|
15082
16428
|
return pulumi.get(self, "project_id")
|
15083
16429
|
|
15084
16430
|
|
16431
|
+
@pulumi.output_type
|
16432
|
+
class NodeTemplateAccelerator(dict):
|
16433
|
+
@staticmethod
|
16434
|
+
def __key_warning(key: str):
|
16435
|
+
suggest = None
|
16436
|
+
if key == "acceleratorCount":
|
16437
|
+
suggest = "accelerator_count"
|
16438
|
+
elif key == "acceleratorType":
|
16439
|
+
suggest = "accelerator_type"
|
16440
|
+
|
16441
|
+
if suggest:
|
16442
|
+
pulumi.log.warn(f"Key '{key}' not found in NodeTemplateAccelerator. Access the value via the '{suggest}' property getter instead.")
|
16443
|
+
|
16444
|
+
def __getitem__(self, key: str) -> Any:
|
16445
|
+
NodeTemplateAccelerator.__key_warning(key)
|
16446
|
+
return super().__getitem__(key)
|
16447
|
+
|
16448
|
+
def get(self, key: str, default = None) -> Any:
|
16449
|
+
NodeTemplateAccelerator.__key_warning(key)
|
16450
|
+
return super().get(key, default)
|
16451
|
+
|
16452
|
+
def __init__(__self__, *,
|
16453
|
+
accelerator_count: Optional[int] = None,
|
16454
|
+
accelerator_type: Optional[str] = None):
|
16455
|
+
"""
|
16456
|
+
:param int accelerator_count: The number of the guest accelerator cards exposed to this
|
16457
|
+
node template.
|
16458
|
+
:param str accelerator_type: Full or partial URL of the accelerator type resource to expose
|
16459
|
+
to this node template.
|
16460
|
+
"""
|
16461
|
+
if accelerator_count is not None:
|
16462
|
+
pulumi.set(__self__, "accelerator_count", accelerator_count)
|
16463
|
+
if accelerator_type is not None:
|
16464
|
+
pulumi.set(__self__, "accelerator_type", accelerator_type)
|
16465
|
+
|
16466
|
+
@property
|
16467
|
+
@pulumi.getter(name="acceleratorCount")
|
16468
|
+
def accelerator_count(self) -> Optional[int]:
|
16469
|
+
"""
|
16470
|
+
The number of the guest accelerator cards exposed to this
|
16471
|
+
node template.
|
16472
|
+
"""
|
16473
|
+
return pulumi.get(self, "accelerator_count")
|
16474
|
+
|
16475
|
+
@property
|
16476
|
+
@pulumi.getter(name="acceleratorType")
|
16477
|
+
def accelerator_type(self) -> Optional[str]:
|
16478
|
+
"""
|
16479
|
+
Full or partial URL of the accelerator type resource to expose
|
16480
|
+
to this node template.
|
16481
|
+
"""
|
16482
|
+
return pulumi.get(self, "accelerator_type")
|
16483
|
+
|
16484
|
+
|
15085
16485
|
@pulumi.output_type
|
15086
16486
|
class NodeTemplateNodeTypeFlexibility(dict):
|
15087
16487
|
@staticmethod
|
@@ -34482,21 +35882,66 @@ class SecurityScanConfigSchedule(dict):
|
|
34482
35882
|
|
34483
35883
|
@pulumi.output_type
|
34484
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
|
+
|
34485
35906
|
def __init__(__self__, *,
|
35907
|
+
consumer_network: Optional[str] = None,
|
34486
35908
|
endpoint: Optional[str] = None,
|
35909
|
+
propagated_connection_count: Optional[int] = None,
|
35910
|
+
psc_connection_id: Optional[str] = None,
|
34487
35911
|
status: Optional[str] = None):
|
34488
35912
|
"""
|
35913
|
+
:param str consumer_network: (Output)
|
35914
|
+
The url of the consumer network.
|
34489
35915
|
:param str endpoint: (Output)
|
34490
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.
|
34491
35921
|
:param str status: (Output)
|
34492
35922
|
The status of the connection from the consumer forwarding rule to
|
34493
35923
|
this service attachment.
|
34494
35924
|
"""
|
35925
|
+
if consumer_network is not None:
|
35926
|
+
pulumi.set(__self__, "consumer_network", consumer_network)
|
34495
35927
|
if endpoint is not None:
|
34496
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)
|
34497
35933
|
if status is not None:
|
34498
35934
|
pulumi.set(__self__, "status", status)
|
34499
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
|
+
|
34500
35945
|
@property
|
34501
35946
|
@pulumi.getter
|
34502
35947
|
def endpoint(self) -> Optional[str]:
|
@@ -34506,6 +35951,24 @@ class ServiceAttachmentConnectedEndpoint(dict):
|
|
34506
35951
|
"""
|
34507
35952
|
return pulumi.get(self, "endpoint")
|
34508
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
|
+
|
34509
35972
|
@property
|
34510
35973
|
@pulumi.getter
|
34511
35974
|
def status(self) -> Optional[str]:
|
@@ -45910,6 +47373,7 @@ class GetInstanceBootDiskResult(dict):
|
|
45910
47373
|
disk_encryption_key_raw: str,
|
45911
47374
|
disk_encryption_key_sha256: str,
|
45912
47375
|
initialize_params: Sequence['outputs.GetInstanceBootDiskInitializeParamResult'],
|
47376
|
+
interface: str,
|
45913
47377
|
kms_key_self_link: str,
|
45914
47378
|
mode: str,
|
45915
47379
|
source: str):
|
@@ -45923,6 +47387,7 @@ class GetInstanceBootDiskResult(dict):
|
|
45923
47387
|
(<https://cloud.google.com/compute/docs/disks/customer-supplied-encryption>) that protects this resource.
|
45924
47388
|
:param Sequence['GetInstanceBootDiskInitializeParamArgs'] initialize_params: Parameters with which a disk was created alongside the instance.
|
45925
47389
|
Structure is documented below.
|
47390
|
+
:param str interface: The disk interface used for attaching this disk. One of `SCSI` or `NVME`.
|
45926
47391
|
:param str kms_key_self_link: The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.
|
45927
47392
|
:param str mode: Read/write mode for the disk. One of `"READ_ONLY"` or `"READ_WRITE"`.
|
45928
47393
|
:param str source: The name or self_link of the disk attached to this instance.
|
@@ -45932,6 +47397,7 @@ class GetInstanceBootDiskResult(dict):
|
|
45932
47397
|
pulumi.set(__self__, "disk_encryption_key_raw", disk_encryption_key_raw)
|
45933
47398
|
pulumi.set(__self__, "disk_encryption_key_sha256", disk_encryption_key_sha256)
|
45934
47399
|
pulumi.set(__self__, "initialize_params", initialize_params)
|
47400
|
+
pulumi.set(__self__, "interface", interface)
|
45935
47401
|
pulumi.set(__self__, "kms_key_self_link", kms_key_self_link)
|
45936
47402
|
pulumi.set(__self__, "mode", mode)
|
45937
47403
|
pulumi.set(__self__, "source", source)
|
@@ -45980,6 +47446,14 @@ class GetInstanceBootDiskResult(dict):
|
|
45980
47446
|
"""
|
45981
47447
|
return pulumi.get(self, "initialize_params")
|
45982
47448
|
|
47449
|
+
@property
|
47450
|
+
@pulumi.getter
|
47451
|
+
def interface(self) -> str:
|
47452
|
+
"""
|
47453
|
+
The disk interface used for attaching this disk. One of `SCSI` or `NVME`.
|
47454
|
+
"""
|
47455
|
+
return pulumi.get(self, "interface")
|
47456
|
+
|
45983
47457
|
@property
|
45984
47458
|
@pulumi.getter(name="kmsKeySelfLink")
|
45985
47459
|
def kms_key_self_link(self) -> str:
|
@@ -46014,6 +47488,7 @@ class GetInstanceBootDiskInitializeParamResult(dict):
|
|
46014
47488
|
provisioned_iops: int,
|
46015
47489
|
provisioned_throughput: int,
|
46016
47490
|
resource_manager_tags: Mapping[str, str],
|
47491
|
+
resource_policies: Sequence[str],
|
46017
47492
|
size: int,
|
46018
47493
|
storage_pool: str,
|
46019
47494
|
type: str):
|
@@ -46024,6 +47499,7 @@ class GetInstanceBootDiskInitializeParamResult(dict):
|
|
46024
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.
|
46025
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.
|
46026
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`
|
46027
47503
|
:param int size: The size of the image in gigabytes.
|
46028
47504
|
:param str storage_pool: The URL of the storage pool in which the new disk is created
|
46029
47505
|
:param str type: The accelerator type resource exposed to this instance. E.g. `nvidia-tesla-k80`.
|
@@ -46034,6 +47510,7 @@ class GetInstanceBootDiskInitializeParamResult(dict):
|
|
46034
47510
|
pulumi.set(__self__, "provisioned_iops", provisioned_iops)
|
46035
47511
|
pulumi.set(__self__, "provisioned_throughput", provisioned_throughput)
|
46036
47512
|
pulumi.set(__self__, "resource_manager_tags", resource_manager_tags)
|
47513
|
+
pulumi.set(__self__, "resource_policies", resource_policies)
|
46037
47514
|
pulumi.set(__self__, "size", size)
|
46038
47515
|
pulumi.set(__self__, "storage_pool", storage_pool)
|
46039
47516
|
pulumi.set(__self__, "type", type)
|
@@ -46086,6 +47563,14 @@ class GetInstanceBootDiskInitializeParamResult(dict):
|
|
46086
47563
|
"""
|
46087
47564
|
return pulumi.get(self, "resource_manager_tags")
|
46088
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
|
+
|
46089
47574
|
@property
|
46090
47575
|
@pulumi.getter
|
46091
47576
|
def size(self) -> int:
|