pulumi-gcp 8.36.0a1750484065__py3-none-any.whl → 8.37.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.
Files changed (117) hide show
  1. pulumi_gcp/__init__.py +59 -0
  2. pulumi_gcp/alloydb/_inputs.py +26 -0
  3. pulumi_gcp/alloydb/outputs.py +34 -1
  4. pulumi_gcp/apihub/__init__.py +2 -0
  5. pulumi_gcp/apihub/_inputs.py +1658 -0
  6. pulumi_gcp/apihub/outputs.py +1374 -0
  7. pulumi_gcp/apihub/plugin.py +1146 -0
  8. pulumi_gcp/apihub/plugin_instance.py +808 -0
  9. pulumi_gcp/bigquery/table.py +16 -12
  10. pulumi_gcp/bigqueryanalyticshub/_inputs.py +56 -6
  11. pulumi_gcp/bigqueryanalyticshub/data_exchange.py +73 -0
  12. pulumi_gcp/bigqueryanalyticshub/listing.py +201 -48
  13. pulumi_gcp/bigqueryanalyticshub/listing_subscription.py +28 -0
  14. pulumi_gcp/bigqueryanalyticshub/outputs.py +50 -4
  15. pulumi_gcp/bigtable/table.py +82 -0
  16. pulumi_gcp/cloudidentity/group_membership.py +47 -0
  17. pulumi_gcp/cloudidentity/outputs.py +11 -0
  18. pulumi_gcp/cloudquota/s_quota_adjuster_settings.py +64 -8
  19. pulumi_gcp/cloudrunv2/_inputs.py +65 -9
  20. pulumi_gcp/cloudrunv2/job.py +44 -0
  21. pulumi_gcp/cloudrunv2/outputs.py +73 -8
  22. pulumi_gcp/cloudrunv2/service.py +0 -2
  23. pulumi_gcp/cloudrunv2/worker_pool.py +18 -20
  24. pulumi_gcp/compute/__init__.py +1 -0
  25. pulumi_gcp/compute/_inputs.py +787 -18
  26. pulumi_gcp/compute/disk.py +35 -28
  27. pulumi_gcp/compute/firewall_policy_rule.py +207 -0
  28. pulumi_gcp/compute/get_instance_group_manager.py +12 -1
  29. pulumi_gcp/compute/get_region_disk.py +12 -1
  30. pulumi_gcp/compute/instance.py +2 -2
  31. pulumi_gcp/compute/instance_group_manager.py +165 -14
  32. pulumi_gcp/compute/instance_template.py +2 -2
  33. pulumi_gcp/compute/interconnect.py +43 -11
  34. pulumi_gcp/compute/network.py +56 -0
  35. pulumi_gcp/compute/network_firewall_policy.py +68 -0
  36. pulumi_gcp/compute/network_firewall_policy_with_rules.py +61 -0
  37. pulumi_gcp/compute/node_template.py +21 -0
  38. pulumi_gcp/compute/outputs.py +620 -12
  39. pulumi_gcp/compute/region_disk.py +114 -0
  40. pulumi_gcp/compute/region_network_firewall_policy.py +90 -0
  41. pulumi_gcp/compute/region_network_firewall_policy_with_rules.py +109 -0
  42. pulumi_gcp/compute/service_attachment.py +76 -8
  43. pulumi_gcp/compute/wire_group.py +751 -0
  44. pulumi_gcp/config/__init__.pyi +2 -0
  45. pulumi_gcp/config/vars.py +4 -0
  46. pulumi_gcp/contactcenterinsights/__init__.py +9 -0
  47. pulumi_gcp/contactcenterinsights/view.py +526 -0
  48. pulumi_gcp/container/_inputs.py +207 -28
  49. pulumi_gcp/container/cluster.py +54 -0
  50. pulumi_gcp/container/get_cluster.py +12 -1
  51. pulumi_gcp/container/get_engine_versions.py +15 -1
  52. pulumi_gcp/container/node_pool.py +14 -0
  53. pulumi_gcp/container/outputs.py +295 -21
  54. pulumi_gcp/dataplex/_inputs.py +431 -6
  55. pulumi_gcp/dataplex/datascan.py +251 -0
  56. pulumi_gcp/dataplex/entry_type.py +2 -2
  57. pulumi_gcp/dataplex/glossary_category.py +8 -8
  58. pulumi_gcp/dataplex/glossary_term.py +8 -8
  59. pulumi_gcp/dataplex/outputs.py +353 -4
  60. pulumi_gcp/dataplex/task.py +16 -16
  61. pulumi_gcp/dataproc/__init__.py +1 -0
  62. pulumi_gcp/dataproc/_inputs.py +486 -0
  63. pulumi_gcp/dataproc/batch.py +10 -10
  64. pulumi_gcp/dataproc/outputs.py +407 -0
  65. pulumi_gcp/dataproc/session_template.py +1084 -0
  66. pulumi_gcp/diagflow/__init__.py +2 -0
  67. pulumi_gcp/diagflow/_inputs.py +479 -0
  68. pulumi_gcp/diagflow/cx_generative_settings.py +625 -0
  69. pulumi_gcp/diagflow/cx_tool.py +2 -2
  70. pulumi_gcp/diagflow/encryption_spec.py +382 -0
  71. pulumi_gcp/diagflow/outputs.py +416 -0
  72. pulumi_gcp/dns/record_set.py +4 -2
  73. pulumi_gcp/firestore/database.py +0 -9
  74. pulumi_gcp/firestore/field.py +6 -6
  75. pulumi_gcp/gkehub/membership_binding.py +6 -6
  76. pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
  77. pulumi_gcp/gkehub/namespace.py +4 -4
  78. pulumi_gcp/gkehub/scope_rbac_role_binding.py +8 -8
  79. pulumi_gcp/iam/_inputs.py +36 -0
  80. pulumi_gcp/iam/outputs.py +38 -0
  81. pulumi_gcp/iam/workload_identity_pool_managed_identity.py +88 -2
  82. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  83. pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
  84. pulumi_gcp/kms/autokey_config.py +28 -0
  85. pulumi_gcp/kms/get_autokey_config.py +12 -1
  86. pulumi_gcp/lustre/get_instance.py +12 -1
  87. pulumi_gcp/lustre/instance.py +143 -86
  88. pulumi_gcp/managedkafka/connect_cluster.py +4 -4
  89. pulumi_gcp/managedkafka/connector.py +4 -4
  90. pulumi_gcp/memorystore/get_instance.py +12 -1
  91. pulumi_gcp/memorystore/instance.py +49 -0
  92. pulumi_gcp/monitoring/metric_descriptor.py +55 -57
  93. pulumi_gcp/networkconnectivity/spoke.py +14 -14
  94. pulumi_gcp/notebooks/instance.py +8 -8
  95. pulumi_gcp/orgpolicy/policy.py +2 -2
  96. pulumi_gcp/provider.py +20 -0
  97. pulumi_gcp/pubsub/subscription.py +6 -6
  98. pulumi_gcp/pulumi-plugin.json +1 -1
  99. pulumi_gcp/redis/get_instance.py +12 -1
  100. pulumi_gcp/redis/instance.py +44 -0
  101. pulumi_gcp/secretmanager/get_regional_secret.py +12 -1
  102. pulumi_gcp/secretmanager/outputs.py +7 -0
  103. pulumi_gcp/secretmanager/regional_secret.py +38 -2
  104. pulumi_gcp/spanner/_inputs.py +24 -1
  105. pulumi_gcp/spanner/outputs.py +17 -1
  106. pulumi_gcp/storage/_inputs.py +43 -3
  107. pulumi_gcp/storage/bucket_object.py +56 -0
  108. pulumi_gcp/storage/get_bucket_object.py +12 -1
  109. pulumi_gcp/storage/get_bucket_object_content.py +12 -1
  110. pulumi_gcp/storage/outputs.py +53 -3
  111. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  112. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  113. pulumi_gcp/workbench/instance.py +2 -0
  114. {pulumi_gcp-8.36.0a1750484065.dist-info → pulumi_gcp-8.37.0.dist-info}/METADATA +2 -2
  115. {pulumi_gcp-8.36.0a1750484065.dist-info → pulumi_gcp-8.37.0.dist-info}/RECORD +117 -109
  116. {pulumi_gcp-8.36.0a1750484065.dist-info → pulumi_gcp-8.37.0.dist-info}/WHEEL +0 -0
  117. {pulumi_gcp-8.36.0a1750484065.dist-info → pulumi_gcp-8.37.0.dist-info}/top_level.txt +0 -0
@@ -142,6 +142,10 @@ __all__ = [
142
142
  'FirewallPolicyRuleMatchArgsDict',
143
143
  'FirewallPolicyRuleMatchLayer4ConfigArgs',
144
144
  'FirewallPolicyRuleMatchLayer4ConfigArgsDict',
145
+ 'FirewallPolicyRuleMatchSrcSecureTagArgs',
146
+ 'FirewallPolicyRuleMatchSrcSecureTagArgsDict',
147
+ 'FirewallPolicyRuleTargetSecureTagArgs',
148
+ 'FirewallPolicyRuleTargetSecureTagArgsDict',
145
149
  'FirewallPolicyWithRulesPredefinedRuleArgs',
146
150
  'FirewallPolicyWithRulesPredefinedRuleArgsDict',
147
151
  'FirewallPolicyWithRulesPredefinedRuleMatchArgs',
@@ -386,6 +390,8 @@ __all__ = [
386
390
  'InstanceGroupManagerNamedPortArgsDict',
387
391
  'InstanceGroupManagerParamsArgs',
388
392
  'InstanceGroupManagerParamsArgsDict',
393
+ 'InstanceGroupManagerResourcePoliciesArgs',
394
+ 'InstanceGroupManagerResourcePoliciesArgsDict',
389
395
  'InstanceGroupManagerStandbyPolicyArgs',
390
396
  'InstanceGroupManagerStandbyPolicyArgsDict',
391
397
  'InstanceGroupManagerStatefulDiskArgs',
@@ -608,6 +614,8 @@ __all__ = [
608
614
  'NetworkFirewallPolicyWithRulesRuleMatchSrcSecureTagArgsDict',
609
615
  'NetworkFirewallPolicyWithRulesRuleTargetSecureTagArgs',
610
616
  'NetworkFirewallPolicyWithRulesRuleTargetSecureTagArgsDict',
617
+ 'NetworkParamsArgs',
618
+ 'NetworkParamsArgsDict',
611
619
  'NodeGroupAutoscalingPolicyArgs',
612
620
  'NodeGroupAutoscalingPolicyArgsDict',
613
621
  'NodeGroupMaintenanceWindowArgs',
@@ -1534,6 +1542,24 @@ __all__ = [
1534
1542
  'VPNTunnelCipherSuitePhase1ArgsDict',
1535
1543
  'VPNTunnelCipherSuitePhase2Args',
1536
1544
  'VPNTunnelCipherSuitePhase2ArgsDict',
1545
+ 'WireGroupEndpointArgs',
1546
+ 'WireGroupEndpointArgsDict',
1547
+ 'WireGroupEndpointInterconnectArgs',
1548
+ 'WireGroupEndpointInterconnectArgsDict',
1549
+ 'WireGroupTopologyArgs',
1550
+ 'WireGroupTopologyArgsDict',
1551
+ 'WireGroupTopologyEndpointArgs',
1552
+ 'WireGroupTopologyEndpointArgsDict',
1553
+ 'WireGroupWireArgs',
1554
+ 'WireGroupWireArgsDict',
1555
+ 'WireGroupWireEndpointArgs',
1556
+ 'WireGroupWireEndpointArgsDict',
1557
+ 'WireGroupWireGroupPropertiesArgs',
1558
+ 'WireGroupWireGroupPropertiesArgsDict',
1559
+ 'WireGroupWirePropertiesArgs',
1560
+ 'WireGroupWirePropertiesArgsDict',
1561
+ 'WireGroupWireWirePropertyArgs',
1562
+ 'WireGroupWireWirePropertyArgsDict',
1537
1563
  ]
1538
1564
 
1539
1565
  MYPY = False
@@ -7472,13 +7498,18 @@ if not MYPY:
7472
7498
  """
7473
7499
  Region codes whose IP addresses will be used to match for source of traffic. Should be specified as 2 letter country code defined as per ISO 3166 alpha-2 country codes. ex."US" Maximum number of source region codes allowed is 5000.
7474
7500
  """
7475
- src_threat_intelligences: NotRequired[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]
7501
+ src_secure_tags: NotRequired[pulumi.Input[Sequence[pulumi.Input['FirewallPolicyRuleMatchSrcSecureTagArgsDict']]]]
7476
7502
  """
7477
- Names of Network Threat Intelligence lists. The IPs in these lists will be matched against traffic source.
7503
+ List of secure tag values, which should be matched at the source of the traffic. For INGRESS rule, if all the srcSecureTag are INEFFECTIVE, and there is no srcIpRange, this rule will be ignored. Maximum number of source tag values allowed is 256.
7504
+ Structure is documented below.
7478
7505
 
7479
7506
 
7480
7507
  <a name="nested_match_layer4_configs"></a>The `layer4_configs` block supports:
7481
7508
  """
7509
+ src_threat_intelligences: NotRequired[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]
7510
+ """
7511
+ Names of Network Threat Intelligence lists. The IPs in these lists will be matched against traffic source.
7512
+ """
7482
7513
  elif False:
7483
7514
  FirewallPolicyRuleMatchArgsDict: TypeAlias = Mapping[str, Any]
7484
7515
 
@@ -7498,6 +7529,7 @@ class FirewallPolicyRuleMatchArgs:
7498
7529
  src_network_scope: Optional[pulumi.Input[builtins.str]] = None,
7499
7530
  src_networks: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
7500
7531
  src_region_codes: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
7532
+ src_secure_tags: Optional[pulumi.Input[Sequence[pulumi.Input['FirewallPolicyRuleMatchSrcSecureTagArgs']]]] = None,
7501
7533
  src_threat_intelligences: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None):
7502
7534
  """
7503
7535
  :param pulumi.Input[Sequence[pulumi.Input['FirewallPolicyRuleMatchLayer4ConfigArgs']]] layer4_configs: Pairs of IP protocols and ports that the rule should match.
@@ -7516,10 +7548,12 @@ class FirewallPolicyRuleMatchArgs:
7516
7548
  Possible values are: `INTERNET`, `INTRA_VPC`, `NON_INTERNET`, `VPC_NETWORKS`.
7517
7549
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] src_networks: Networks of the traffic source. It can be either a full or partial url.
7518
7550
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] src_region_codes: Region codes whose IP addresses will be used to match for source of traffic. Should be specified as 2 letter country code defined as per ISO 3166 alpha-2 country codes. ex."US" Maximum number of source region codes allowed is 5000.
7519
- :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] src_threat_intelligences: Names of Network Threat Intelligence lists. The IPs in these lists will be matched against traffic source.
7551
+ :param pulumi.Input[Sequence[pulumi.Input['FirewallPolicyRuleMatchSrcSecureTagArgs']]] src_secure_tags: List of secure tag values, which should be matched at the source of the traffic. For INGRESS rule, if all the srcSecureTag are INEFFECTIVE, and there is no srcIpRange, this rule will be ignored. Maximum number of source tag values allowed is 256.
7552
+ Structure is documented below.
7520
7553
 
7521
7554
 
7522
7555
  <a name="nested_match_layer4_configs"></a>The `layer4_configs` block supports:
7556
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] src_threat_intelligences: Names of Network Threat Intelligence lists. The IPs in these lists will be matched against traffic source.
7523
7557
  """
7524
7558
  pulumi.set(__self__, "layer4_configs", layer4_configs)
7525
7559
  if dest_address_groups is not None:
@@ -7546,6 +7580,8 @@ class FirewallPolicyRuleMatchArgs:
7546
7580
  pulumi.set(__self__, "src_networks", src_networks)
7547
7581
  if src_region_codes is not None:
7548
7582
  pulumi.set(__self__, "src_region_codes", src_region_codes)
7583
+ if src_secure_tags is not None:
7584
+ pulumi.set(__self__, "src_secure_tags", src_secure_tags)
7549
7585
  if src_threat_intelligences is not None:
7550
7586
  pulumi.set(__self__, "src_threat_intelligences", src_threat_intelligences)
7551
7587
 
@@ -7709,14 +7745,27 @@ class FirewallPolicyRuleMatchArgs:
7709
7745
  pulumi.set(self, "src_region_codes", value)
7710
7746
 
7711
7747
  @property
7712
- @pulumi.getter(name="srcThreatIntelligences")
7713
- def src_threat_intelligences(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
7748
+ @pulumi.getter(name="srcSecureTags")
7749
+ def src_secure_tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FirewallPolicyRuleMatchSrcSecureTagArgs']]]]:
7714
7750
  """
7715
- Names of Network Threat Intelligence lists. The IPs in these lists will be matched against traffic source.
7751
+ List of secure tag values, which should be matched at the source of the traffic. For INGRESS rule, if all the srcSecureTag are INEFFECTIVE, and there is no srcIpRange, this rule will be ignored. Maximum number of source tag values allowed is 256.
7752
+ Structure is documented below.
7716
7753
 
7717
7754
 
7718
7755
  <a name="nested_match_layer4_configs"></a>The `layer4_configs` block supports:
7719
7756
  """
7757
+ return pulumi.get(self, "src_secure_tags")
7758
+
7759
+ @src_secure_tags.setter
7760
+ def src_secure_tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FirewallPolicyRuleMatchSrcSecureTagArgs']]]]):
7761
+ pulumi.set(self, "src_secure_tags", value)
7762
+
7763
+ @property
7764
+ @pulumi.getter(name="srcThreatIntelligences")
7765
+ def src_threat_intelligences(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
7766
+ """
7767
+ Names of Network Threat Intelligence lists. The IPs in these lists will be matched against traffic source.
7768
+ """
7720
7769
  return pulumi.get(self, "src_threat_intelligences")
7721
7770
 
7722
7771
  @src_threat_intelligences.setter
@@ -7781,6 +7830,122 @@ class FirewallPolicyRuleMatchLayer4ConfigArgs:
7781
7830
  pulumi.set(self, "ports", value)
7782
7831
 
7783
7832
 
7833
+ if not MYPY:
7834
+ class FirewallPolicyRuleMatchSrcSecureTagArgsDict(TypedDict):
7835
+ name: NotRequired[pulumi.Input[builtins.str]]
7836
+ """
7837
+ Name of the secure tag, created with TagManager's TagValue API.
7838
+ """
7839
+ state: NotRequired[pulumi.Input[builtins.str]]
7840
+ """
7841
+ (Output)
7842
+ State of the secure tag, either EFFECTIVE or INEFFECTIVE. A secure tag is INEFFECTIVE when it is deleted or its network is deleted.
7843
+
7844
+ - - -
7845
+ """
7846
+ elif False:
7847
+ FirewallPolicyRuleMatchSrcSecureTagArgsDict: TypeAlias = Mapping[str, Any]
7848
+
7849
+ @pulumi.input_type
7850
+ class FirewallPolicyRuleMatchSrcSecureTagArgs:
7851
+ def __init__(__self__, *,
7852
+ name: Optional[pulumi.Input[builtins.str]] = None,
7853
+ state: Optional[pulumi.Input[builtins.str]] = None):
7854
+ """
7855
+ :param pulumi.Input[builtins.str] name: Name of the secure tag, created with TagManager's TagValue API.
7856
+ :param pulumi.Input[builtins.str] state: (Output)
7857
+ State of the secure tag, either EFFECTIVE or INEFFECTIVE. A secure tag is INEFFECTIVE when it is deleted or its network is deleted.
7858
+
7859
+ - - -
7860
+ """
7861
+ if name is not None:
7862
+ pulumi.set(__self__, "name", name)
7863
+ if state is not None:
7864
+ pulumi.set(__self__, "state", state)
7865
+
7866
+ @property
7867
+ @pulumi.getter
7868
+ def name(self) -> Optional[pulumi.Input[builtins.str]]:
7869
+ """
7870
+ Name of the secure tag, created with TagManager's TagValue API.
7871
+ """
7872
+ return pulumi.get(self, "name")
7873
+
7874
+ @name.setter
7875
+ def name(self, value: Optional[pulumi.Input[builtins.str]]):
7876
+ pulumi.set(self, "name", value)
7877
+
7878
+ @property
7879
+ @pulumi.getter
7880
+ def state(self) -> Optional[pulumi.Input[builtins.str]]:
7881
+ """
7882
+ (Output)
7883
+ State of the secure tag, either EFFECTIVE or INEFFECTIVE. A secure tag is INEFFECTIVE when it is deleted or its network is deleted.
7884
+
7885
+ - - -
7886
+ """
7887
+ return pulumi.get(self, "state")
7888
+
7889
+ @state.setter
7890
+ def state(self, value: Optional[pulumi.Input[builtins.str]]):
7891
+ pulumi.set(self, "state", value)
7892
+
7893
+
7894
+ if not MYPY:
7895
+ class FirewallPolicyRuleTargetSecureTagArgsDict(TypedDict):
7896
+ name: NotRequired[pulumi.Input[builtins.str]]
7897
+ """
7898
+ Name of the secure tag, created with TagManager's TagValue API.
7899
+ """
7900
+ state: NotRequired[pulumi.Input[builtins.str]]
7901
+ """
7902
+ (Output)
7903
+ State of the secure tag, either EFFECTIVE or INEFFECTIVE. A secure tag is INEFFECTIVE when it is deleted or its network is deleted.
7904
+ """
7905
+ elif False:
7906
+ FirewallPolicyRuleTargetSecureTagArgsDict: TypeAlias = Mapping[str, Any]
7907
+
7908
+ @pulumi.input_type
7909
+ class FirewallPolicyRuleTargetSecureTagArgs:
7910
+ def __init__(__self__, *,
7911
+ name: Optional[pulumi.Input[builtins.str]] = None,
7912
+ state: Optional[pulumi.Input[builtins.str]] = None):
7913
+ """
7914
+ :param pulumi.Input[builtins.str] name: Name of the secure tag, created with TagManager's TagValue API.
7915
+ :param pulumi.Input[builtins.str] state: (Output)
7916
+ State of the secure tag, either EFFECTIVE or INEFFECTIVE. A secure tag is INEFFECTIVE when it is deleted or its network is deleted.
7917
+ """
7918
+ if name is not None:
7919
+ pulumi.set(__self__, "name", name)
7920
+ if state is not None:
7921
+ pulumi.set(__self__, "state", state)
7922
+
7923
+ @property
7924
+ @pulumi.getter
7925
+ def name(self) -> Optional[pulumi.Input[builtins.str]]:
7926
+ """
7927
+ Name of the secure tag, created with TagManager's TagValue API.
7928
+ """
7929
+ return pulumi.get(self, "name")
7930
+
7931
+ @name.setter
7932
+ def name(self, value: Optional[pulumi.Input[builtins.str]]):
7933
+ pulumi.set(self, "name", value)
7934
+
7935
+ @property
7936
+ @pulumi.getter
7937
+ def state(self) -> Optional[pulumi.Input[builtins.str]]:
7938
+ """
7939
+ (Output)
7940
+ State of the secure tag, either EFFECTIVE or INEFFECTIVE. A secure tag is INEFFECTIVE when it is deleted or its network is deleted.
7941
+ """
7942
+ return pulumi.get(self, "state")
7943
+
7944
+ @state.setter
7945
+ def state(self, value: Optional[pulumi.Input[builtins.str]]):
7946
+ pulumi.set(self, "state", value)
7947
+
7948
+
7784
7949
  if not MYPY:
7785
7950
  class FirewallPolicyWithRulesPredefinedRuleArgsDict(TypedDict):
7786
7951
  action: NotRequired[pulumi.Input[builtins.str]]
@@ -21316,6 +21481,8 @@ if not MYPY:
21316
21481
  resource_manager_tags: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]
21317
21482
  """
21318
21483
  Resource manager tags to bind to the managed instance group. The tags are key-value pairs. Keys must be in the format tagKeys/123 and values in the format tagValues/456. For more information, see [Manage tags for resources](https://cloud.google.com/compute/docs/tag-resources)
21484
+
21485
+ - - -
21319
21486
  """
21320
21487
  elif False:
21321
21488
  InstanceGroupManagerParamsArgsDict: TypeAlias = Mapping[str, Any]
@@ -21326,6 +21493,8 @@ class InstanceGroupManagerParamsArgs:
21326
21493
  resource_manager_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None):
21327
21494
  """
21328
21495
  :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] resource_manager_tags: Resource manager tags to bind to the managed instance group. The tags are key-value pairs. Keys must be in the format tagKeys/123 and values in the format tagValues/456. For more information, see [Manage tags for resources](https://cloud.google.com/compute/docs/tag-resources)
21496
+
21497
+ - - -
21329
21498
  """
21330
21499
  if resource_manager_tags is not None:
21331
21500
  pulumi.set(__self__, "resource_manager_tags", resource_manager_tags)
@@ -21335,6 +21504,8 @@ class InstanceGroupManagerParamsArgs:
21335
21504
  def resource_manager_tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]:
21336
21505
  """
21337
21506
  Resource manager tags to bind to the managed instance group. The tags are key-value pairs. Keys must be in the format tagKeys/123 and values in the format tagValues/456. For more information, see [Manage tags for resources](https://cloud.google.com/compute/docs/tag-resources)
21507
+
21508
+ - - -
21338
21509
  """
21339
21510
  return pulumi.get(self, "resource_manager_tags")
21340
21511
 
@@ -21343,6 +21514,38 @@ class InstanceGroupManagerParamsArgs:
21343
21514
  pulumi.set(self, "resource_manager_tags", value)
21344
21515
 
21345
21516
 
21517
+ if not MYPY:
21518
+ class InstanceGroupManagerResourcePoliciesArgsDict(TypedDict):
21519
+ workload_policy: NotRequired[pulumi.Input[builtins.str]]
21520
+ """
21521
+ The URL of the workload policy that is specified for this managed instance group. It can be a full or partial URL.
21522
+ """
21523
+ elif False:
21524
+ InstanceGroupManagerResourcePoliciesArgsDict: TypeAlias = Mapping[str, Any]
21525
+
21526
+ @pulumi.input_type
21527
+ class InstanceGroupManagerResourcePoliciesArgs:
21528
+ def __init__(__self__, *,
21529
+ workload_policy: Optional[pulumi.Input[builtins.str]] = None):
21530
+ """
21531
+ :param pulumi.Input[builtins.str] workload_policy: The URL of the workload policy that is specified for this managed instance group. It can be a full or partial URL.
21532
+ """
21533
+ if workload_policy is not None:
21534
+ pulumi.set(__self__, "workload_policy", workload_policy)
21535
+
21536
+ @property
21537
+ @pulumi.getter(name="workloadPolicy")
21538
+ def workload_policy(self) -> Optional[pulumi.Input[builtins.str]]:
21539
+ """
21540
+ The URL of the workload policy that is specified for this managed instance group. It can be a full or partial URL.
21541
+ """
21542
+ return pulumi.get(self, "workload_policy")
21543
+
21544
+ @workload_policy.setter
21545
+ def workload_policy(self, value: Optional[pulumi.Input[builtins.str]]):
21546
+ pulumi.set(self, "workload_policy", value)
21547
+
21548
+
21346
21549
  if not MYPY:
21347
21550
  class InstanceGroupManagerStandbyPolicyArgsDict(TypedDict):
21348
21551
  initial_delay_sec: NotRequired[pulumi.Input[builtins.int]]
@@ -32322,6 +32525,44 @@ class NetworkFirewallPolicyWithRulesRuleTargetSecureTagArgs:
32322
32525
  pulumi.set(self, "state", value)
32323
32526
 
32324
32527
 
32528
+ if not MYPY:
32529
+ class NetworkParamsArgsDict(TypedDict):
32530
+ resource_manager_tags: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]
32531
+ """
32532
+ Resource manager tags to be bound to the network. Tag keys and values have the
32533
+ same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id},
32534
+ and values are in the format tagValues/456.
32535
+ """
32536
+ elif False:
32537
+ NetworkParamsArgsDict: TypeAlias = Mapping[str, Any]
32538
+
32539
+ @pulumi.input_type
32540
+ class NetworkParamsArgs:
32541
+ def __init__(__self__, *,
32542
+ resource_manager_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None):
32543
+ """
32544
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] resource_manager_tags: Resource manager tags to be bound to the network. Tag keys and values have the
32545
+ same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id},
32546
+ and values are in the format tagValues/456.
32547
+ """
32548
+ if resource_manager_tags is not None:
32549
+ pulumi.set(__self__, "resource_manager_tags", resource_manager_tags)
32550
+
32551
+ @property
32552
+ @pulumi.getter(name="resourceManagerTags")
32553
+ def resource_manager_tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]:
32554
+ """
32555
+ Resource manager tags to be bound to the network. Tag keys and values have the
32556
+ same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id},
32557
+ and values are in the format tagValues/456.
32558
+ """
32559
+ return pulumi.get(self, "resource_manager_tags")
32560
+
32561
+ @resource_manager_tags.setter
32562
+ def resource_manager_tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]):
32563
+ pulumi.set(self, "resource_manager_tags", value)
32564
+
32565
+
32325
32566
  if not MYPY:
32326
32567
  class NodeGroupAutoscalingPolicyArgsDict(TypedDict):
32327
32568
  max_nodes: NotRequired[pulumi.Input[builtins.int]]
@@ -49279,8 +49520,9 @@ if not MYPY:
49279
49520
  * SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session.
49280
49521
  * REGION_CODE: The country/region from which the request originates.
49281
49522
  * TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
49523
+ * TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
49282
49524
  * USER_IP: The IP address of the originating client, which is resolved based on "userIpRequestHeaders" configured with the security policy. If there is no "userIpRequestHeaders" configuration or an IP address cannot be resolved from it, the key type defaults to IP.
49283
- Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `USER_IP`.
49525
+ Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `TLS_JA4_FINGERPRINT`, `USER_IP`.
49284
49526
  """
49285
49527
  enforce_on_key_configs: NotRequired[pulumi.Input[Sequence[pulumi.Input['RegionSecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigArgsDict']]]]
49286
49528
  """
@@ -49337,8 +49579,9 @@ class RegionSecurityPolicyRuleRateLimitOptionsArgs:
49337
49579
  * SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session.
49338
49580
  * REGION_CODE: The country/region from which the request originates.
49339
49581
  * TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
49582
+ * TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
49340
49583
  * USER_IP: The IP address of the originating client, which is resolved based on "userIpRequestHeaders" configured with the security policy. If there is no "userIpRequestHeaders" configuration or an IP address cannot be resolved from it, the key type defaults to IP.
49341
- Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `USER_IP`.
49584
+ Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `TLS_JA4_FINGERPRINT`, `USER_IP`.
49342
49585
  :param pulumi.Input[Sequence[pulumi.Input['RegionSecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigArgs']]] enforce_on_key_configs: If specified, any combination of values of enforceOnKeyType/enforceOnKeyName is treated as the key on which ratelimit threshold/action is enforced.
49343
49586
  You can specify up to 3 enforceOnKeyConfigs.
49344
49587
  If enforceOnKeyConfigs is specified, enforceOnKey must not be specified.
@@ -49422,8 +49665,9 @@ class RegionSecurityPolicyRuleRateLimitOptionsArgs:
49422
49665
  * SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session.
49423
49666
  * REGION_CODE: The country/region from which the request originates.
49424
49667
  * TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
49668
+ * TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
49425
49669
  * USER_IP: The IP address of the originating client, which is resolved based on "userIpRequestHeaders" configured with the security policy. If there is no "userIpRequestHeaders" configuration or an IP address cannot be resolved from it, the key type defaults to IP.
49426
- Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `USER_IP`.
49670
+ Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `TLS_JA4_FINGERPRINT`, `USER_IP`.
49427
49671
  """
49428
49672
  return pulumi.get(self, "enforce_on_key")
49429
49673
 
@@ -49559,8 +49803,9 @@ if not MYPY:
49559
49803
  * SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session.
49560
49804
  * REGION_CODE: The country/region from which the request originates.
49561
49805
  * TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
49806
+ * TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
49562
49807
  * USER_IP: The IP address of the originating client, which is resolved based on "userIpRequestHeaders" configured with the security policy. If there is no "userIpRequestHeaders" configuration or an IP address cannot be resolved from it, the key type defaults to IP.
49563
- Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `USER_IP`.
49808
+ Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `TLS_JA4_FINGERPRINT`, `USER_IP`.
49564
49809
  """
49565
49810
  elif False:
49566
49811
  RegionSecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigArgsDict: TypeAlias = Mapping[str, Any]
@@ -49584,8 +49829,9 @@ class RegionSecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigArgs:
49584
49829
  * SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session.
49585
49830
  * REGION_CODE: The country/region from which the request originates.
49586
49831
  * TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
49832
+ * TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
49587
49833
  * USER_IP: The IP address of the originating client, which is resolved based on "userIpRequestHeaders" configured with the security policy. If there is no "userIpRequestHeaders" configuration or an IP address cannot be resolved from it, the key type defaults to IP.
49588
- Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `USER_IP`.
49834
+ Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `TLS_JA4_FINGERPRINT`, `USER_IP`.
49589
49835
  """
49590
49836
  if enforce_on_key_name is not None:
49591
49837
  pulumi.set(__self__, "enforce_on_key_name", enforce_on_key_name)
@@ -49620,8 +49866,9 @@ class RegionSecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigArgs:
49620
49866
  * SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session.
49621
49867
  * REGION_CODE: The country/region from which the request originates.
49622
49868
  * TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
49869
+ * TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
49623
49870
  * USER_IP: The IP address of the originating client, which is resolved based on "userIpRequestHeaders" configured with the security policy. If there is no "userIpRequestHeaders" configuration or an IP address cannot be resolved from it, the key type defaults to IP.
49624
- Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `USER_IP`.
49871
+ Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `TLS_JA4_FINGERPRINT`, `USER_IP`.
49625
49872
  """
49626
49873
  return pulumi.get(self, "enforce_on_key_type")
49627
49874
 
@@ -63889,8 +64136,9 @@ if not MYPY:
63889
64136
  * SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session.
63890
64137
  * REGION_CODE: The country/region from which the request originates.
63891
64138
  * TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
64139
+ * TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
63892
64140
  * USER_IP: The IP address of the originating client, which is resolved based on "userIpRequestHeaders" configured with the security policy. If there is no "userIpRequestHeaders" configuration or an IP address cannot be resolved from it, the key type defaults to IP.
63893
- Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `USER_IP`.
64141
+ Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `TLS_JA4_FINGERPRINT`, `USER_IP`.
63894
64142
  """
63895
64143
  enforce_on_key_configs: NotRequired[pulumi.Input[Sequence[pulumi.Input['SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigArgsDict']]]]
63896
64144
  """
@@ -63953,8 +64201,9 @@ class SecurityPolicyRuleRateLimitOptionsArgs:
63953
64201
  * SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session.
63954
64202
  * REGION_CODE: The country/region from which the request originates.
63955
64203
  * TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
64204
+ * TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
63956
64205
  * USER_IP: The IP address of the originating client, which is resolved based on "userIpRequestHeaders" configured with the security policy. If there is no "userIpRequestHeaders" configuration or an IP address cannot be resolved from it, the key type defaults to IP.
63957
- Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `USER_IP`.
64206
+ Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `TLS_JA4_FINGERPRINT`, `USER_IP`.
63958
64207
  :param pulumi.Input[Sequence[pulumi.Input['SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigArgs']]] enforce_on_key_configs: If specified, any combination of values of enforceOnKeyType/enforceOnKeyName is treated as the key on which ratelimit threshold/action is enforced.
63959
64208
  You can specify up to 3 enforceOnKeyConfigs.
63960
64209
  If enforceOnKeyConfigs is specified, enforceOnKey must not be specified.
@@ -64042,8 +64291,9 @@ class SecurityPolicyRuleRateLimitOptionsArgs:
64042
64291
  * SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session.
64043
64292
  * REGION_CODE: The country/region from which the request originates.
64044
64293
  * TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
64294
+ * TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
64045
64295
  * USER_IP: The IP address of the originating client, which is resolved based on "userIpRequestHeaders" configured with the security policy. If there is no "userIpRequestHeaders" configuration or an IP address cannot be resolved from it, the key type defaults to IP.
64046
- Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `USER_IP`.
64296
+ Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `TLS_JA4_FINGERPRINT`, `USER_IP`.
64047
64297
  """
64048
64298
  return pulumi.get(self, "enforce_on_key")
64049
64299
 
@@ -64192,8 +64442,9 @@ if not MYPY:
64192
64442
  * SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session.
64193
64443
  * REGION_CODE: The country/region from which the request originates.
64194
64444
  * TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
64445
+ * TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
64195
64446
  * USER_IP: The IP address of the originating client, which is resolved based on "userIpRequestHeaders" configured with the security policy. If there is no "userIpRequestHeaders" configuration or an IP address cannot be resolved from it, the key type defaults to IP.
64196
- Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `USER_IP`.
64447
+ Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `TLS_JA4_FINGERPRINT`, `USER_IP`.
64197
64448
  """
64198
64449
  elif False:
64199
64450
  SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigArgsDict: TypeAlias = Mapping[str, Any]
@@ -64217,8 +64468,9 @@ class SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigArgs:
64217
64468
  * SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session.
64218
64469
  * REGION_CODE: The country/region from which the request originates.
64219
64470
  * TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
64471
+ * TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
64220
64472
  * USER_IP: The IP address of the originating client, which is resolved based on "userIpRequestHeaders" configured with the security policy. If there is no "userIpRequestHeaders" configuration or an IP address cannot be resolved from it, the key type defaults to IP.
64221
- Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `USER_IP`.
64473
+ Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `TLS_JA4_FINGERPRINT`, `USER_IP`.
64222
64474
  """
64223
64475
  if enforce_on_key_name is not None:
64224
64476
  pulumi.set(__self__, "enforce_on_key_name", enforce_on_key_name)
@@ -64253,8 +64505,9 @@ class SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigArgs:
64253
64505
  * SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session.
64254
64506
  * REGION_CODE: The country/region from which the request originates.
64255
64507
  * TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
64508
+ * TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
64256
64509
  * USER_IP: The IP address of the originating client, which is resolved based on "userIpRequestHeaders" configured with the security policy. If there is no "userIpRequestHeaders" configuration or an IP address cannot be resolved from it, the key type defaults to IP.
64257
- Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `USER_IP`.
64510
+ Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `TLS_JA4_FINGERPRINT`, `USER_IP`.
64258
64511
  """
64259
64512
  return pulumi.get(self, "enforce_on_key_type")
64260
64513
 
@@ -76672,3 +76925,519 @@ class VPNTunnelCipherSuitePhase2Args:
76672
76925
  pulumi.set(self, "pfs", value)
76673
76926
 
76674
76927
 
76928
+ if not MYPY:
76929
+ class WireGroupEndpointArgsDict(TypedDict):
76930
+ endpoint: pulumi.Input[builtins.str]
76931
+ """
76932
+ The identifier for this object. Format specified above.
76933
+ """
76934
+ interconnects: NotRequired[pulumi.Input[Sequence[pulumi.Input['WireGroupEndpointInterconnectArgsDict']]]]
76935
+ """
76936
+ Structure is documented below.
76937
+ """
76938
+ elif False:
76939
+ WireGroupEndpointArgsDict: TypeAlias = Mapping[str, Any]
76940
+
76941
+ @pulumi.input_type
76942
+ class WireGroupEndpointArgs:
76943
+ def __init__(__self__, *,
76944
+ endpoint: pulumi.Input[builtins.str],
76945
+ interconnects: Optional[pulumi.Input[Sequence[pulumi.Input['WireGroupEndpointInterconnectArgs']]]] = None):
76946
+ """
76947
+ :param pulumi.Input[builtins.str] endpoint: The identifier for this object. Format specified above.
76948
+ :param pulumi.Input[Sequence[pulumi.Input['WireGroupEndpointInterconnectArgs']]] interconnects: Structure is documented below.
76949
+ """
76950
+ pulumi.set(__self__, "endpoint", endpoint)
76951
+ if interconnects is not None:
76952
+ pulumi.set(__self__, "interconnects", interconnects)
76953
+
76954
+ @property
76955
+ @pulumi.getter
76956
+ def endpoint(self) -> pulumi.Input[builtins.str]:
76957
+ """
76958
+ The identifier for this object. Format specified above.
76959
+ """
76960
+ return pulumi.get(self, "endpoint")
76961
+
76962
+ @endpoint.setter
76963
+ def endpoint(self, value: pulumi.Input[builtins.str]):
76964
+ pulumi.set(self, "endpoint", value)
76965
+
76966
+ @property
76967
+ @pulumi.getter
76968
+ def interconnects(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WireGroupEndpointInterconnectArgs']]]]:
76969
+ """
76970
+ Structure is documented below.
76971
+ """
76972
+ return pulumi.get(self, "interconnects")
76973
+
76974
+ @interconnects.setter
76975
+ def interconnects(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WireGroupEndpointInterconnectArgs']]]]):
76976
+ pulumi.set(self, "interconnects", value)
76977
+
76978
+
76979
+ if not MYPY:
76980
+ class WireGroupEndpointInterconnectArgsDict(TypedDict):
76981
+ interconnect_name: pulumi.Input[builtins.str]
76982
+ """
76983
+ The identifier for this object. Format specified above.
76984
+ """
76985
+ interconnect: NotRequired[pulumi.Input[builtins.str]]
76986
+ """
76987
+ (Optional)
76988
+ """
76989
+ vlan_tags: NotRequired[pulumi.Input[Sequence[pulumi.Input[builtins.int]]]]
76990
+ """
76991
+ VLAN tags for the interconnect.
76992
+ """
76993
+ elif False:
76994
+ WireGroupEndpointInterconnectArgsDict: TypeAlias = Mapping[str, Any]
76995
+
76996
+ @pulumi.input_type
76997
+ class WireGroupEndpointInterconnectArgs:
76998
+ def __init__(__self__, *,
76999
+ interconnect_name: pulumi.Input[builtins.str],
77000
+ interconnect: Optional[pulumi.Input[builtins.str]] = None,
77001
+ vlan_tags: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.int]]]] = None):
77002
+ """
77003
+ :param pulumi.Input[builtins.str] interconnect_name: The identifier for this object. Format specified above.
77004
+ :param pulumi.Input[builtins.str] interconnect: (Optional)
77005
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.int]]] vlan_tags: VLAN tags for the interconnect.
77006
+ """
77007
+ pulumi.set(__self__, "interconnect_name", interconnect_name)
77008
+ if interconnect is not None:
77009
+ pulumi.set(__self__, "interconnect", interconnect)
77010
+ if vlan_tags is not None:
77011
+ pulumi.set(__self__, "vlan_tags", vlan_tags)
77012
+
77013
+ @property
77014
+ @pulumi.getter(name="interconnectName")
77015
+ def interconnect_name(self) -> pulumi.Input[builtins.str]:
77016
+ """
77017
+ The identifier for this object. Format specified above.
77018
+ """
77019
+ return pulumi.get(self, "interconnect_name")
77020
+
77021
+ @interconnect_name.setter
77022
+ def interconnect_name(self, value: pulumi.Input[builtins.str]):
77023
+ pulumi.set(self, "interconnect_name", value)
77024
+
77025
+ @property
77026
+ @pulumi.getter
77027
+ def interconnect(self) -> Optional[pulumi.Input[builtins.str]]:
77028
+ """
77029
+ (Optional)
77030
+ """
77031
+ return pulumi.get(self, "interconnect")
77032
+
77033
+ @interconnect.setter
77034
+ def interconnect(self, value: Optional[pulumi.Input[builtins.str]]):
77035
+ pulumi.set(self, "interconnect", value)
77036
+
77037
+ @property
77038
+ @pulumi.getter(name="vlanTags")
77039
+ def vlan_tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.int]]]]:
77040
+ """
77041
+ VLAN tags for the interconnect.
77042
+ """
77043
+ return pulumi.get(self, "vlan_tags")
77044
+
77045
+ @vlan_tags.setter
77046
+ def vlan_tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.int]]]]):
77047
+ pulumi.set(self, "vlan_tags", value)
77048
+
77049
+
77050
+ if not MYPY:
77051
+ class WireGroupTopologyArgsDict(TypedDict):
77052
+ endpoints: NotRequired[pulumi.Input[Sequence[pulumi.Input['WireGroupTopologyEndpointArgsDict']]]]
77053
+ """
77054
+ Endpoints grouped by location, each mapping to interconnect configurations.
77055
+ Structure is documented below.
77056
+ """
77057
+ elif False:
77058
+ WireGroupTopologyArgsDict: TypeAlias = Mapping[str, Any]
77059
+
77060
+ @pulumi.input_type
77061
+ class WireGroupTopologyArgs:
77062
+ def __init__(__self__, *,
77063
+ endpoints: Optional[pulumi.Input[Sequence[pulumi.Input['WireGroupTopologyEndpointArgs']]]] = None):
77064
+ """
77065
+ :param pulumi.Input[Sequence[pulumi.Input['WireGroupTopologyEndpointArgs']]] endpoints: Endpoints grouped by location, each mapping to interconnect configurations.
77066
+ Structure is documented below.
77067
+ """
77068
+ if endpoints is not None:
77069
+ pulumi.set(__self__, "endpoints", endpoints)
77070
+
77071
+ @property
77072
+ @pulumi.getter
77073
+ def endpoints(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WireGroupTopologyEndpointArgs']]]]:
77074
+ """
77075
+ Endpoints grouped by location, each mapping to interconnect configurations.
77076
+ Structure is documented below.
77077
+ """
77078
+ return pulumi.get(self, "endpoints")
77079
+
77080
+ @endpoints.setter
77081
+ def endpoints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WireGroupTopologyEndpointArgs']]]]):
77082
+ pulumi.set(self, "endpoints", value)
77083
+
77084
+
77085
+ if not MYPY:
77086
+ class WireGroupTopologyEndpointArgsDict(TypedDict):
77087
+ city: NotRequired[pulumi.Input[builtins.str]]
77088
+ """
77089
+ (Output)
77090
+ """
77091
+ label: NotRequired[pulumi.Input[builtins.str]]
77092
+ """
77093
+ (Output)
77094
+ """
77095
+ elif False:
77096
+ WireGroupTopologyEndpointArgsDict: TypeAlias = Mapping[str, Any]
77097
+
77098
+ @pulumi.input_type
77099
+ class WireGroupTopologyEndpointArgs:
77100
+ def __init__(__self__, *,
77101
+ city: Optional[pulumi.Input[builtins.str]] = None,
77102
+ label: Optional[pulumi.Input[builtins.str]] = None):
77103
+ """
77104
+ :param pulumi.Input[builtins.str] city: (Output)
77105
+ :param pulumi.Input[builtins.str] label: (Output)
77106
+ """
77107
+ if city is not None:
77108
+ pulumi.set(__self__, "city", city)
77109
+ if label is not None:
77110
+ pulumi.set(__self__, "label", label)
77111
+
77112
+ @property
77113
+ @pulumi.getter
77114
+ def city(self) -> Optional[pulumi.Input[builtins.str]]:
77115
+ """
77116
+ (Output)
77117
+ """
77118
+ return pulumi.get(self, "city")
77119
+
77120
+ @city.setter
77121
+ def city(self, value: Optional[pulumi.Input[builtins.str]]):
77122
+ pulumi.set(self, "city", value)
77123
+
77124
+ @property
77125
+ @pulumi.getter
77126
+ def label(self) -> Optional[pulumi.Input[builtins.str]]:
77127
+ """
77128
+ (Output)
77129
+ """
77130
+ return pulumi.get(self, "label")
77131
+
77132
+ @label.setter
77133
+ def label(self, value: Optional[pulumi.Input[builtins.str]]):
77134
+ pulumi.set(self, "label", value)
77135
+
77136
+
77137
+ if not MYPY:
77138
+ class WireGroupWireArgsDict(TypedDict):
77139
+ admin_enabled: NotRequired[pulumi.Input[builtins.bool]]
77140
+ """
77141
+ Indicates whether the wire group is administratively enabled.
77142
+ """
77143
+ endpoints: NotRequired[pulumi.Input[Sequence[pulumi.Input['WireGroupWireEndpointArgsDict']]]]
77144
+ """
77145
+ Endpoints grouped by location, each mapping to interconnect configurations.
77146
+ Structure is documented below.
77147
+ """
77148
+ label: NotRequired[pulumi.Input[builtins.str]]
77149
+ """
77150
+ (Output)
77151
+ """
77152
+ wire_properties: NotRequired[pulumi.Input[Sequence[pulumi.Input['WireGroupWireWirePropertyArgsDict']]]]
77153
+ """
77154
+ Default properties for wires within the group.
77155
+ Structure is documented below.
77156
+ """
77157
+ elif False:
77158
+ WireGroupWireArgsDict: TypeAlias = Mapping[str, Any]
77159
+
77160
+ @pulumi.input_type
77161
+ class WireGroupWireArgs:
77162
+ def __init__(__self__, *,
77163
+ admin_enabled: Optional[pulumi.Input[builtins.bool]] = None,
77164
+ endpoints: Optional[pulumi.Input[Sequence[pulumi.Input['WireGroupWireEndpointArgs']]]] = None,
77165
+ label: Optional[pulumi.Input[builtins.str]] = None,
77166
+ wire_properties: Optional[pulumi.Input[Sequence[pulumi.Input['WireGroupWireWirePropertyArgs']]]] = None):
77167
+ """
77168
+ :param pulumi.Input[builtins.bool] admin_enabled: Indicates whether the wire group is administratively enabled.
77169
+ :param pulumi.Input[Sequence[pulumi.Input['WireGroupWireEndpointArgs']]] endpoints: Endpoints grouped by location, each mapping to interconnect configurations.
77170
+ Structure is documented below.
77171
+ :param pulumi.Input[builtins.str] label: (Output)
77172
+ :param pulumi.Input[Sequence[pulumi.Input['WireGroupWireWirePropertyArgs']]] wire_properties: Default properties for wires within the group.
77173
+ Structure is documented below.
77174
+ """
77175
+ if admin_enabled is not None:
77176
+ pulumi.set(__self__, "admin_enabled", admin_enabled)
77177
+ if endpoints is not None:
77178
+ pulumi.set(__self__, "endpoints", endpoints)
77179
+ if label is not None:
77180
+ pulumi.set(__self__, "label", label)
77181
+ if wire_properties is not None:
77182
+ pulumi.set(__self__, "wire_properties", wire_properties)
77183
+
77184
+ @property
77185
+ @pulumi.getter(name="adminEnabled")
77186
+ def admin_enabled(self) -> Optional[pulumi.Input[builtins.bool]]:
77187
+ """
77188
+ Indicates whether the wire group is administratively enabled.
77189
+ """
77190
+ return pulumi.get(self, "admin_enabled")
77191
+
77192
+ @admin_enabled.setter
77193
+ def admin_enabled(self, value: Optional[pulumi.Input[builtins.bool]]):
77194
+ pulumi.set(self, "admin_enabled", value)
77195
+
77196
+ @property
77197
+ @pulumi.getter
77198
+ def endpoints(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WireGroupWireEndpointArgs']]]]:
77199
+ """
77200
+ Endpoints grouped by location, each mapping to interconnect configurations.
77201
+ Structure is documented below.
77202
+ """
77203
+ return pulumi.get(self, "endpoints")
77204
+
77205
+ @endpoints.setter
77206
+ def endpoints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WireGroupWireEndpointArgs']]]]):
77207
+ pulumi.set(self, "endpoints", value)
77208
+
77209
+ @property
77210
+ @pulumi.getter
77211
+ def label(self) -> Optional[pulumi.Input[builtins.str]]:
77212
+ """
77213
+ (Output)
77214
+ """
77215
+ return pulumi.get(self, "label")
77216
+
77217
+ @label.setter
77218
+ def label(self, value: Optional[pulumi.Input[builtins.str]]):
77219
+ pulumi.set(self, "label", value)
77220
+
77221
+ @property
77222
+ @pulumi.getter(name="wireProperties")
77223
+ def wire_properties(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WireGroupWireWirePropertyArgs']]]]:
77224
+ """
77225
+ Default properties for wires within the group.
77226
+ Structure is documented below.
77227
+ """
77228
+ return pulumi.get(self, "wire_properties")
77229
+
77230
+ @wire_properties.setter
77231
+ def wire_properties(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WireGroupWireWirePropertyArgs']]]]):
77232
+ pulumi.set(self, "wire_properties", value)
77233
+
77234
+
77235
+ if not MYPY:
77236
+ class WireGroupWireEndpointArgsDict(TypedDict):
77237
+ interconnect: NotRequired[pulumi.Input[builtins.str]]
77238
+ """
77239
+ (Output)
77240
+ """
77241
+ vlan_tag: NotRequired[pulumi.Input[builtins.int]]
77242
+ """
77243
+ (Output)
77244
+ """
77245
+ elif False:
77246
+ WireGroupWireEndpointArgsDict: TypeAlias = Mapping[str, Any]
77247
+
77248
+ @pulumi.input_type
77249
+ class WireGroupWireEndpointArgs:
77250
+ def __init__(__self__, *,
77251
+ interconnect: Optional[pulumi.Input[builtins.str]] = None,
77252
+ vlan_tag: Optional[pulumi.Input[builtins.int]] = None):
77253
+ """
77254
+ :param pulumi.Input[builtins.str] interconnect: (Output)
77255
+ :param pulumi.Input[builtins.int] vlan_tag: (Output)
77256
+ """
77257
+ if interconnect is not None:
77258
+ pulumi.set(__self__, "interconnect", interconnect)
77259
+ if vlan_tag is not None:
77260
+ pulumi.set(__self__, "vlan_tag", vlan_tag)
77261
+
77262
+ @property
77263
+ @pulumi.getter
77264
+ def interconnect(self) -> Optional[pulumi.Input[builtins.str]]:
77265
+ """
77266
+ (Output)
77267
+ """
77268
+ return pulumi.get(self, "interconnect")
77269
+
77270
+ @interconnect.setter
77271
+ def interconnect(self, value: Optional[pulumi.Input[builtins.str]]):
77272
+ pulumi.set(self, "interconnect", value)
77273
+
77274
+ @property
77275
+ @pulumi.getter(name="vlanTag")
77276
+ def vlan_tag(self) -> Optional[pulumi.Input[builtins.int]]:
77277
+ """
77278
+ (Output)
77279
+ """
77280
+ return pulumi.get(self, "vlan_tag")
77281
+
77282
+ @vlan_tag.setter
77283
+ def vlan_tag(self, value: Optional[pulumi.Input[builtins.int]]):
77284
+ pulumi.set(self, "vlan_tag", value)
77285
+
77286
+
77287
+ if not MYPY:
77288
+ class WireGroupWireGroupPropertiesArgsDict(TypedDict):
77289
+ type: NotRequired[pulumi.Input[builtins.str]]
77290
+ """
77291
+ Type of wire group (enum).
77292
+ WIRE: a single pseudowire over two Interconnect connections with no redundancy.
77293
+ REDUNDANT: two pseudowires over four Interconnect connections, with two connections in one metro and two connections in another metro.
77294
+ BOX_AND_CROSS: four pseudowires over four Interconnect connections, with two connections in one metro and two connections in another metro.
77295
+ """
77296
+ elif False:
77297
+ WireGroupWireGroupPropertiesArgsDict: TypeAlias = Mapping[str, Any]
77298
+
77299
+ @pulumi.input_type
77300
+ class WireGroupWireGroupPropertiesArgs:
77301
+ def __init__(__self__, *,
77302
+ type: Optional[pulumi.Input[builtins.str]] = None):
77303
+ """
77304
+ :param pulumi.Input[builtins.str] type: Type of wire group (enum).
77305
+ WIRE: a single pseudowire over two Interconnect connections with no redundancy.
77306
+ REDUNDANT: two pseudowires over four Interconnect connections, with two connections in one metro and two connections in another metro.
77307
+ BOX_AND_CROSS: four pseudowires over four Interconnect connections, with two connections in one metro and two connections in another metro.
77308
+ """
77309
+ if type is not None:
77310
+ pulumi.set(__self__, "type", type)
77311
+
77312
+ @property
77313
+ @pulumi.getter
77314
+ def type(self) -> Optional[pulumi.Input[builtins.str]]:
77315
+ """
77316
+ Type of wire group (enum).
77317
+ WIRE: a single pseudowire over two Interconnect connections with no redundancy.
77318
+ REDUNDANT: two pseudowires over four Interconnect connections, with two connections in one metro and two connections in another metro.
77319
+ BOX_AND_CROSS: four pseudowires over four Interconnect connections, with two connections in one metro and two connections in another metro.
77320
+ """
77321
+ return pulumi.get(self, "type")
77322
+
77323
+ @type.setter
77324
+ def type(self, value: Optional[pulumi.Input[builtins.str]]):
77325
+ pulumi.set(self, "type", value)
77326
+
77327
+
77328
+ if not MYPY:
77329
+ class WireGroupWirePropertiesArgsDict(TypedDict):
77330
+ bandwidth_unmetered: NotRequired[pulumi.Input[builtins.int]]
77331
+ """
77332
+ The unmetered bandwidth setting.
77333
+ """
77334
+ fault_response: NotRequired[pulumi.Input[builtins.str]]
77335
+ """
77336
+ Response when a fault is detected in a pseudowire:
77337
+ NONE: default.
77338
+ DISABLE_PORT: set the port line protocol down when inline probes detect a fault. This setting is only permitted on port mode pseudowires.
77339
+ """
77340
+ elif False:
77341
+ WireGroupWirePropertiesArgsDict: TypeAlias = Mapping[str, Any]
77342
+
77343
+ @pulumi.input_type
77344
+ class WireGroupWirePropertiesArgs:
77345
+ def __init__(__self__, *,
77346
+ bandwidth_unmetered: Optional[pulumi.Input[builtins.int]] = None,
77347
+ fault_response: Optional[pulumi.Input[builtins.str]] = None):
77348
+ """
77349
+ :param pulumi.Input[builtins.int] bandwidth_unmetered: The unmetered bandwidth setting.
77350
+ :param pulumi.Input[builtins.str] fault_response: Response when a fault is detected in a pseudowire:
77351
+ NONE: default.
77352
+ DISABLE_PORT: set the port line protocol down when inline probes detect a fault. This setting is only permitted on port mode pseudowires.
77353
+ """
77354
+ if bandwidth_unmetered is not None:
77355
+ pulumi.set(__self__, "bandwidth_unmetered", bandwidth_unmetered)
77356
+ if fault_response is not None:
77357
+ pulumi.set(__self__, "fault_response", fault_response)
77358
+
77359
+ @property
77360
+ @pulumi.getter(name="bandwidthUnmetered")
77361
+ def bandwidth_unmetered(self) -> Optional[pulumi.Input[builtins.int]]:
77362
+ """
77363
+ The unmetered bandwidth setting.
77364
+ """
77365
+ return pulumi.get(self, "bandwidth_unmetered")
77366
+
77367
+ @bandwidth_unmetered.setter
77368
+ def bandwidth_unmetered(self, value: Optional[pulumi.Input[builtins.int]]):
77369
+ pulumi.set(self, "bandwidth_unmetered", value)
77370
+
77371
+ @property
77372
+ @pulumi.getter(name="faultResponse")
77373
+ def fault_response(self) -> Optional[pulumi.Input[builtins.str]]:
77374
+ """
77375
+ Response when a fault is detected in a pseudowire:
77376
+ NONE: default.
77377
+ DISABLE_PORT: set the port line protocol down when inline probes detect a fault. This setting is only permitted on port mode pseudowires.
77378
+ """
77379
+ return pulumi.get(self, "fault_response")
77380
+
77381
+ @fault_response.setter
77382
+ def fault_response(self, value: Optional[pulumi.Input[builtins.str]]):
77383
+ pulumi.set(self, "fault_response", value)
77384
+
77385
+
77386
+ if not MYPY:
77387
+ class WireGroupWireWirePropertyArgsDict(TypedDict):
77388
+ bandwidth_unmetered: NotRequired[pulumi.Input[builtins.int]]
77389
+ """
77390
+ The unmetered bandwidth setting.
77391
+ """
77392
+ fault_response: NotRequired[pulumi.Input[builtins.str]]
77393
+ """
77394
+ Response when a fault is detected in a pseudowire:
77395
+ NONE: default.
77396
+ DISABLE_PORT: set the port line protocol down when inline probes detect a fault. This setting is only permitted on port mode pseudowires.
77397
+ """
77398
+ elif False:
77399
+ WireGroupWireWirePropertyArgsDict: TypeAlias = Mapping[str, Any]
77400
+
77401
+ @pulumi.input_type
77402
+ class WireGroupWireWirePropertyArgs:
77403
+ def __init__(__self__, *,
77404
+ bandwidth_unmetered: Optional[pulumi.Input[builtins.int]] = None,
77405
+ fault_response: Optional[pulumi.Input[builtins.str]] = None):
77406
+ """
77407
+ :param pulumi.Input[builtins.int] bandwidth_unmetered: The unmetered bandwidth setting.
77408
+ :param pulumi.Input[builtins.str] fault_response: Response when a fault is detected in a pseudowire:
77409
+ NONE: default.
77410
+ DISABLE_PORT: set the port line protocol down when inline probes detect a fault. This setting is only permitted on port mode pseudowires.
77411
+ """
77412
+ if bandwidth_unmetered is not None:
77413
+ pulumi.set(__self__, "bandwidth_unmetered", bandwidth_unmetered)
77414
+ if fault_response is not None:
77415
+ pulumi.set(__self__, "fault_response", fault_response)
77416
+
77417
+ @property
77418
+ @pulumi.getter(name="bandwidthUnmetered")
77419
+ def bandwidth_unmetered(self) -> Optional[pulumi.Input[builtins.int]]:
77420
+ """
77421
+ The unmetered bandwidth setting.
77422
+ """
77423
+ return pulumi.get(self, "bandwidth_unmetered")
77424
+
77425
+ @bandwidth_unmetered.setter
77426
+ def bandwidth_unmetered(self, value: Optional[pulumi.Input[builtins.int]]):
77427
+ pulumi.set(self, "bandwidth_unmetered", value)
77428
+
77429
+ @property
77430
+ @pulumi.getter(name="faultResponse")
77431
+ def fault_response(self) -> Optional[pulumi.Input[builtins.str]]:
77432
+ """
77433
+ Response when a fault is detected in a pseudowire:
77434
+ NONE: default.
77435
+ DISABLE_PORT: set the port line protocol down when inline probes detect a fault. This setting is only permitted on port mode pseudowires.
77436
+ """
77437
+ return pulumi.get(self, "fault_response")
77438
+
77439
+ @fault_response.setter
77440
+ def fault_response(self, value: Optional[pulumi.Input[builtins.str]]):
77441
+ pulumi.set(self, "fault_response", value)
77442
+
77443
+