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
@@ -80,6 +80,8 @@ __all__ = [
80
80
  'FirewallLogConfig',
81
81
  'FirewallPolicyRuleMatch',
82
82
  'FirewallPolicyRuleMatchLayer4Config',
83
+ 'FirewallPolicyRuleMatchSrcSecureTag',
84
+ 'FirewallPolicyRuleTargetSecureTag',
83
85
  'FirewallPolicyWithRulesPredefinedRule',
84
86
  'FirewallPolicyWithRulesPredefinedRuleMatch',
85
87
  'FirewallPolicyWithRulesPredefinedRuleMatchLayer4Config',
@@ -202,6 +204,7 @@ __all__ = [
202
204
  'InstanceGroupManagerInstanceLifecyclePolicy',
203
205
  'InstanceGroupManagerNamedPort',
204
206
  'InstanceGroupManagerParams',
207
+ 'InstanceGroupManagerResourcePolicies',
205
208
  'InstanceGroupManagerStandbyPolicy',
206
209
  'InstanceGroupManagerStatefulDisk',
207
210
  'InstanceGroupManagerStatefulExternalIp',
@@ -313,6 +316,7 @@ __all__ = [
313
316
  'NetworkFirewallPolicyWithRulesRuleMatchLayer4Config',
314
317
  'NetworkFirewallPolicyWithRulesRuleMatchSrcSecureTag',
315
318
  'NetworkFirewallPolicyWithRulesRuleTargetSecureTag',
319
+ 'NetworkParams',
316
320
  'NodeGroupAutoscalingPolicy',
317
321
  'NodeGroupMaintenanceWindow',
318
322
  'NodeGroupShareSettings',
@@ -784,6 +788,15 @@ __all__ = [
784
788
  'VPNTunnelCipherSuite',
785
789
  'VPNTunnelCipherSuitePhase1',
786
790
  'VPNTunnelCipherSuitePhase2',
791
+ 'WireGroupEndpoint',
792
+ 'WireGroupEndpointInterconnect',
793
+ 'WireGroupTopology',
794
+ 'WireGroupTopologyEndpoint',
795
+ 'WireGroupWire',
796
+ 'WireGroupWireEndpoint',
797
+ 'WireGroupWireGroupProperties',
798
+ 'WireGroupWireProperties',
799
+ 'WireGroupWireWireProperty',
787
800
  'GetAddressesAddressResult',
788
801
  'GetBackendBucketCdnPolicyResult',
789
802
  'GetBackendBucketCdnPolicyBypassCacheOnRequestHeaderResult',
@@ -854,6 +867,7 @@ __all__ = [
854
867
  'GetInstanceGroupManagerInstanceLifecyclePolicyResult',
855
868
  'GetInstanceGroupManagerNamedPortResult',
856
869
  'GetInstanceGroupManagerParamResult',
870
+ 'GetInstanceGroupManagerResourcePolicyResult',
857
871
  'GetInstanceGroupManagerStandbyPolicyResult',
858
872
  'GetInstanceGroupManagerStatefulDiskResult',
859
873
  'GetInstanceGroupManagerStatefulExternalIpResult',
@@ -5403,6 +5417,8 @@ class FirewallPolicyRuleMatch(dict):
5403
5417
  suggest = "src_networks"
5404
5418
  elif key == "srcRegionCodes":
5405
5419
  suggest = "src_region_codes"
5420
+ elif key == "srcSecureTags":
5421
+ suggest = "src_secure_tags"
5406
5422
  elif key == "srcThreatIntelligences":
5407
5423
  suggest = "src_threat_intelligences"
5408
5424
 
@@ -5431,6 +5447,7 @@ class FirewallPolicyRuleMatch(dict):
5431
5447
  src_network_scope: Optional[builtins.str] = None,
5432
5448
  src_networks: Optional[Sequence[builtins.str]] = None,
5433
5449
  src_region_codes: Optional[Sequence[builtins.str]] = None,
5450
+ src_secure_tags: Optional[Sequence['outputs.FirewallPolicyRuleMatchSrcSecureTag']] = None,
5434
5451
  src_threat_intelligences: Optional[Sequence[builtins.str]] = None):
5435
5452
  """
5436
5453
  :param Sequence['FirewallPolicyRuleMatchLayer4ConfigArgs'] layer4_configs: Pairs of IP protocols and ports that the rule should match.
@@ -5449,10 +5466,12 @@ class FirewallPolicyRuleMatch(dict):
5449
5466
  Possible values are: `INTERNET`, `INTRA_VPC`, `NON_INTERNET`, `VPC_NETWORKS`.
5450
5467
  :param Sequence[builtins.str] src_networks: Networks of the traffic source. It can be either a full or partial url.
5451
5468
  :param Sequence[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.
5452
- :param Sequence[builtins.str] src_threat_intelligences: Names of Network Threat Intelligence lists. The IPs in these lists will be matched against traffic source.
5469
+ :param Sequence['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.
5470
+ Structure is documented below.
5453
5471
 
5454
5472
 
5455
5473
  <a name="nested_match_layer4_configs"></a>The `layer4_configs` block supports:
5474
+ :param Sequence[builtins.str] src_threat_intelligences: Names of Network Threat Intelligence lists. The IPs in these lists will be matched against traffic source.
5456
5475
  """
5457
5476
  pulumi.set(__self__, "layer4_configs", layer4_configs)
5458
5477
  if dest_address_groups is not None:
@@ -5479,6 +5498,8 @@ class FirewallPolicyRuleMatch(dict):
5479
5498
  pulumi.set(__self__, "src_networks", src_networks)
5480
5499
  if src_region_codes is not None:
5481
5500
  pulumi.set(__self__, "src_region_codes", src_region_codes)
5501
+ if src_secure_tags is not None:
5502
+ pulumi.set(__self__, "src_secure_tags", src_secure_tags)
5482
5503
  if src_threat_intelligences is not None:
5483
5504
  pulumi.set(__self__, "src_threat_intelligences", src_threat_intelligences)
5484
5505
 
@@ -5590,14 +5611,23 @@ class FirewallPolicyRuleMatch(dict):
5590
5611
  return pulumi.get(self, "src_region_codes")
5591
5612
 
5592
5613
  @property
5593
- @pulumi.getter(name="srcThreatIntelligences")
5594
- def src_threat_intelligences(self) -> Optional[Sequence[builtins.str]]:
5614
+ @pulumi.getter(name="srcSecureTags")
5615
+ def src_secure_tags(self) -> Optional[Sequence['outputs.FirewallPolicyRuleMatchSrcSecureTag']]:
5595
5616
  """
5596
- Names of Network Threat Intelligence lists. The IPs in these lists will be matched against traffic source.
5617
+ 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.
5618
+ Structure is documented below.
5597
5619
 
5598
5620
 
5599
5621
  <a name="nested_match_layer4_configs"></a>The `layer4_configs` block supports:
5600
5622
  """
5623
+ return pulumi.get(self, "src_secure_tags")
5624
+
5625
+ @property
5626
+ @pulumi.getter(name="srcThreatIntelligences")
5627
+ def src_threat_intelligences(self) -> Optional[Sequence[builtins.str]]:
5628
+ """
5629
+ Names of Network Threat Intelligence lists. The IPs in these lists will be matched against traffic source.
5630
+ """
5601
5631
  return pulumi.get(self, "src_threat_intelligences")
5602
5632
 
5603
5633
 
@@ -5652,6 +5682,76 @@ class FirewallPolicyRuleMatchLayer4Config(dict):
5652
5682
  return pulumi.get(self, "ports")
5653
5683
 
5654
5684
 
5685
+ @pulumi.output_type
5686
+ class FirewallPolicyRuleMatchSrcSecureTag(dict):
5687
+ def __init__(__self__, *,
5688
+ name: Optional[builtins.str] = None,
5689
+ state: Optional[builtins.str] = None):
5690
+ """
5691
+ :param builtins.str name: Name of the secure tag, created with TagManager's TagValue API.
5692
+ :param builtins.str state: (Output)
5693
+ State of the secure tag, either EFFECTIVE or INEFFECTIVE. A secure tag is INEFFECTIVE when it is deleted or its network is deleted.
5694
+
5695
+ - - -
5696
+ """
5697
+ if name is not None:
5698
+ pulumi.set(__self__, "name", name)
5699
+ if state is not None:
5700
+ pulumi.set(__self__, "state", state)
5701
+
5702
+ @property
5703
+ @pulumi.getter
5704
+ def name(self) -> Optional[builtins.str]:
5705
+ """
5706
+ Name of the secure tag, created with TagManager's TagValue API.
5707
+ """
5708
+ return pulumi.get(self, "name")
5709
+
5710
+ @property
5711
+ @pulumi.getter
5712
+ def state(self) -> Optional[builtins.str]:
5713
+ """
5714
+ (Output)
5715
+ State of the secure tag, either EFFECTIVE or INEFFECTIVE. A secure tag is INEFFECTIVE when it is deleted or its network is deleted.
5716
+
5717
+ - - -
5718
+ """
5719
+ return pulumi.get(self, "state")
5720
+
5721
+
5722
+ @pulumi.output_type
5723
+ class FirewallPolicyRuleTargetSecureTag(dict):
5724
+ def __init__(__self__, *,
5725
+ name: Optional[builtins.str] = None,
5726
+ state: Optional[builtins.str] = None):
5727
+ """
5728
+ :param builtins.str name: Name of the secure tag, created with TagManager's TagValue API.
5729
+ :param builtins.str state: (Output)
5730
+ State of the secure tag, either EFFECTIVE or INEFFECTIVE. A secure tag is INEFFECTIVE when it is deleted or its network is deleted.
5731
+ """
5732
+ if name is not None:
5733
+ pulumi.set(__self__, "name", name)
5734
+ if state is not None:
5735
+ pulumi.set(__self__, "state", state)
5736
+
5737
+ @property
5738
+ @pulumi.getter
5739
+ def name(self) -> Optional[builtins.str]:
5740
+ """
5741
+ Name of the secure tag, created with TagManager's TagValue API.
5742
+ """
5743
+ return pulumi.get(self, "name")
5744
+
5745
+ @property
5746
+ @pulumi.getter
5747
+ def state(self) -> Optional[builtins.str]:
5748
+ """
5749
+ (Output)
5750
+ State of the secure tag, either EFFECTIVE or INEFFECTIVE. A secure tag is INEFFECTIVE when it is deleted or its network is deleted.
5751
+ """
5752
+ return pulumi.get(self, "state")
5753
+
5754
+
5655
5755
  @pulumi.output_type
5656
5756
  class FirewallPolicyWithRulesPredefinedRule(dict):
5657
5757
  @staticmethod
@@ -16014,6 +16114,8 @@ class InstanceGroupManagerParams(dict):
16014
16114
  resource_manager_tags: Optional[Mapping[str, builtins.str]] = None):
16015
16115
  """
16016
16116
  :param Mapping[str, 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)
16117
+
16118
+ - - -
16017
16119
  """
16018
16120
  if resource_manager_tags is not None:
16019
16121
  pulumi.set(__self__, "resource_manager_tags", resource_manager_tags)
@@ -16023,10 +16125,48 @@ class InstanceGroupManagerParams(dict):
16023
16125
  def resource_manager_tags(self) -> Optional[Mapping[str, builtins.str]]:
16024
16126
  """
16025
16127
  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)
16128
+
16129
+ - - -
16026
16130
  """
16027
16131
  return pulumi.get(self, "resource_manager_tags")
16028
16132
 
16029
16133
 
16134
+ @pulumi.output_type
16135
+ class InstanceGroupManagerResourcePolicies(dict):
16136
+ @staticmethod
16137
+ def __key_warning(key: str):
16138
+ suggest = None
16139
+ if key == "workloadPolicy":
16140
+ suggest = "workload_policy"
16141
+
16142
+ if suggest:
16143
+ pulumi.log.warn(f"Key '{key}' not found in InstanceGroupManagerResourcePolicies. Access the value via the '{suggest}' property getter instead.")
16144
+
16145
+ def __getitem__(self, key: str) -> Any:
16146
+ InstanceGroupManagerResourcePolicies.__key_warning(key)
16147
+ return super().__getitem__(key)
16148
+
16149
+ def get(self, key: str, default = None) -> Any:
16150
+ InstanceGroupManagerResourcePolicies.__key_warning(key)
16151
+ return super().get(key, default)
16152
+
16153
+ def __init__(__self__, *,
16154
+ workload_policy: Optional[builtins.str] = None):
16155
+ """
16156
+ :param 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.
16157
+ """
16158
+ if workload_policy is not None:
16159
+ pulumi.set(__self__, "workload_policy", workload_policy)
16160
+
16161
+ @property
16162
+ @pulumi.getter(name="workloadPolicy")
16163
+ def workload_policy(self) -> Optional[builtins.str]:
16164
+ """
16165
+ The URL of the workload policy that is specified for this managed instance group. It can be a full or partial URL.
16166
+ """
16167
+ return pulumi.get(self, "workload_policy")
16168
+
16169
+
16030
16170
  @pulumi.output_type
16031
16171
  class InstanceGroupManagerStandbyPolicy(dict):
16032
16172
  @staticmethod
@@ -24133,6 +24273,46 @@ class NetworkFirewallPolicyWithRulesRuleTargetSecureTag(dict):
24133
24273
  return pulumi.get(self, "state")
24134
24274
 
24135
24275
 
24276
+ @pulumi.output_type
24277
+ class NetworkParams(dict):
24278
+ @staticmethod
24279
+ def __key_warning(key: str):
24280
+ suggest = None
24281
+ if key == "resourceManagerTags":
24282
+ suggest = "resource_manager_tags"
24283
+
24284
+ if suggest:
24285
+ pulumi.log.warn(f"Key '{key}' not found in NetworkParams. Access the value via the '{suggest}' property getter instead.")
24286
+
24287
+ def __getitem__(self, key: str) -> Any:
24288
+ NetworkParams.__key_warning(key)
24289
+ return super().__getitem__(key)
24290
+
24291
+ def get(self, key: str, default = None) -> Any:
24292
+ NetworkParams.__key_warning(key)
24293
+ return super().get(key, default)
24294
+
24295
+ def __init__(__self__, *,
24296
+ resource_manager_tags: Optional[Mapping[str, builtins.str]] = None):
24297
+ """
24298
+ :param Mapping[str, builtins.str] resource_manager_tags: Resource manager tags to be bound to the network. Tag keys and values have the
24299
+ same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id},
24300
+ and values are in the format tagValues/456.
24301
+ """
24302
+ if resource_manager_tags is not None:
24303
+ pulumi.set(__self__, "resource_manager_tags", resource_manager_tags)
24304
+
24305
+ @property
24306
+ @pulumi.getter(name="resourceManagerTags")
24307
+ def resource_manager_tags(self) -> Optional[Mapping[str, builtins.str]]:
24308
+ """
24309
+ Resource manager tags to be bound to the network. Tag keys and values have the
24310
+ same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id},
24311
+ and values are in the format tagValues/456.
24312
+ """
24313
+ return pulumi.get(self, "resource_manager_tags")
24314
+
24315
+
24136
24316
  @pulumi.output_type
24137
24317
  class NodeGroupAutoscalingPolicy(dict):
24138
24318
  @staticmethod
@@ -36815,8 +36995,9 @@ class RegionSecurityPolicyRuleRateLimitOptions(dict):
36815
36995
  * 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.
36816
36996
  * REGION_CODE: The country/region from which the request originates.
36817
36997
  * 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.
36998
+ * 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.
36818
36999
  * 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.
36819
- Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `USER_IP`.
37000
+ Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `TLS_JA4_FINGERPRINT`, `USER_IP`.
36820
37001
  :param Sequence['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.
36821
37002
  You can specify up to 3 enforceOnKeyConfigs.
36822
37003
  If enforceOnKeyConfigs is specified, enforceOnKey must not be specified.
@@ -36888,8 +37069,9 @@ class RegionSecurityPolicyRuleRateLimitOptions(dict):
36888
37069
  * 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.
36889
37070
  * REGION_CODE: The country/region from which the request originates.
36890
37071
  * 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.
37072
+ * 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.
36891
37073
  * 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.
36892
- Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `USER_IP`.
37074
+ Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `TLS_JA4_FINGERPRINT`, `USER_IP`.
36893
37075
  """
36894
37076
  return pulumi.get(self, "enforce_on_key")
36895
37077
 
@@ -37019,8 +37201,9 @@ class RegionSecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig(dict):
37019
37201
  * 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.
37020
37202
  * REGION_CODE: The country/region from which the request originates.
37021
37203
  * 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.
37204
+ * 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.
37022
37205
  * 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.
37023
- Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `USER_IP`.
37206
+ Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `TLS_JA4_FINGERPRINT`, `USER_IP`.
37024
37207
  """
37025
37208
  if enforce_on_key_name is not None:
37026
37209
  pulumi.set(__self__, "enforce_on_key_name", enforce_on_key_name)
@@ -37051,8 +37234,9 @@ class RegionSecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig(dict):
37051
37234
  * 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.
37052
37235
  * REGION_CODE: The country/region from which the request originates.
37053
37236
  * 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.
37237
+ * 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.
37054
37238
  * 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.
37055
- Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `USER_IP`.
37239
+ Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `TLS_JA4_FINGERPRINT`, `USER_IP`.
37056
37240
  """
37057
37241
  return pulumi.get(self, "enforce_on_key_type")
37058
37242
 
@@ -48910,8 +49094,9 @@ class SecurityPolicyRuleRateLimitOptions(dict):
48910
49094
  * 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.
48911
49095
  * REGION_CODE: The country/region from which the request originates.
48912
49096
  * 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.
49097
+ * 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.
48913
49098
  * 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.
48914
- Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `USER_IP`.
49099
+ Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `TLS_JA4_FINGERPRINT`, `USER_IP`.
48915
49100
  :param Sequence['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.
48916
49101
  You can specify up to 3 enforceOnKeyConfigs.
48917
49102
  If enforceOnKeyConfigs is specified, enforceOnKey must not be specified.
@@ -48987,8 +49172,9 @@ class SecurityPolicyRuleRateLimitOptions(dict):
48987
49172
  * 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.
48988
49173
  * REGION_CODE: The country/region from which the request originates.
48989
49174
  * 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.
49175
+ * 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.
48990
49176
  * 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.
48991
- Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `USER_IP`.
49177
+ Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `TLS_JA4_FINGERPRINT`, `USER_IP`.
48992
49178
  """
48993
49179
  return pulumi.get(self, "enforce_on_key")
48994
49180
 
@@ -49127,8 +49313,9 @@ class SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig(dict):
49127
49313
  * 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.
49128
49314
  * REGION_CODE: The country/region from which the request originates.
49129
49315
  * 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.
49316
+ * 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.
49130
49317
  * 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.
49131
- Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `USER_IP`.
49318
+ Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `TLS_JA4_FINGERPRINT`, `USER_IP`.
49132
49319
  """
49133
49320
  if enforce_on_key_name is not None:
49134
49321
  pulumi.set(__self__, "enforce_on_key_name", enforce_on_key_name)
@@ -49159,8 +49346,9 @@ class SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig(dict):
49159
49346
  * 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.
49160
49347
  * REGION_CODE: The country/region from which the request originates.
49161
49348
  * 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.
49349
+ * 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.
49162
49350
  * 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.
49163
- Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `USER_IP`.
49351
+ Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `TLS_JA4_FINGERPRINT`, `USER_IP`.
49164
49352
  """
49165
49353
  return pulumi.get(self, "enforce_on_key_type")
49166
49354
 
@@ -58624,6 +58812,408 @@ class VPNTunnelCipherSuitePhase2(dict):
58624
58812
  return pulumi.get(self, "pfs")
58625
58813
 
58626
58814
 
58815
+ @pulumi.output_type
58816
+ class WireGroupEndpoint(dict):
58817
+ def __init__(__self__, *,
58818
+ endpoint: builtins.str,
58819
+ interconnects: Optional[Sequence['outputs.WireGroupEndpointInterconnect']] = None):
58820
+ """
58821
+ :param builtins.str endpoint: The identifier for this object. Format specified above.
58822
+ :param Sequence['WireGroupEndpointInterconnectArgs'] interconnects: Structure is documented below.
58823
+ """
58824
+ pulumi.set(__self__, "endpoint", endpoint)
58825
+ if interconnects is not None:
58826
+ pulumi.set(__self__, "interconnects", interconnects)
58827
+
58828
+ @property
58829
+ @pulumi.getter
58830
+ def endpoint(self) -> builtins.str:
58831
+ """
58832
+ The identifier for this object. Format specified above.
58833
+ """
58834
+ return pulumi.get(self, "endpoint")
58835
+
58836
+ @property
58837
+ @pulumi.getter
58838
+ def interconnects(self) -> Optional[Sequence['outputs.WireGroupEndpointInterconnect']]:
58839
+ """
58840
+ Structure is documented below.
58841
+ """
58842
+ return pulumi.get(self, "interconnects")
58843
+
58844
+
58845
+ @pulumi.output_type
58846
+ class WireGroupEndpointInterconnect(dict):
58847
+ @staticmethod
58848
+ def __key_warning(key: str):
58849
+ suggest = None
58850
+ if key == "interconnectName":
58851
+ suggest = "interconnect_name"
58852
+ elif key == "vlanTags":
58853
+ suggest = "vlan_tags"
58854
+
58855
+ if suggest:
58856
+ pulumi.log.warn(f"Key '{key}' not found in WireGroupEndpointInterconnect. Access the value via the '{suggest}' property getter instead.")
58857
+
58858
+ def __getitem__(self, key: str) -> Any:
58859
+ WireGroupEndpointInterconnect.__key_warning(key)
58860
+ return super().__getitem__(key)
58861
+
58862
+ def get(self, key: str, default = None) -> Any:
58863
+ WireGroupEndpointInterconnect.__key_warning(key)
58864
+ return super().get(key, default)
58865
+
58866
+ def __init__(__self__, *,
58867
+ interconnect_name: builtins.str,
58868
+ interconnect: Optional[builtins.str] = None,
58869
+ vlan_tags: Optional[Sequence[builtins.int]] = None):
58870
+ """
58871
+ :param builtins.str interconnect_name: The identifier for this object. Format specified above.
58872
+ :param builtins.str interconnect: (Optional)
58873
+ :param Sequence[builtins.int] vlan_tags: VLAN tags for the interconnect.
58874
+ """
58875
+ pulumi.set(__self__, "interconnect_name", interconnect_name)
58876
+ if interconnect is not None:
58877
+ pulumi.set(__self__, "interconnect", interconnect)
58878
+ if vlan_tags is not None:
58879
+ pulumi.set(__self__, "vlan_tags", vlan_tags)
58880
+
58881
+ @property
58882
+ @pulumi.getter(name="interconnectName")
58883
+ def interconnect_name(self) -> builtins.str:
58884
+ """
58885
+ The identifier for this object. Format specified above.
58886
+ """
58887
+ return pulumi.get(self, "interconnect_name")
58888
+
58889
+ @property
58890
+ @pulumi.getter
58891
+ def interconnect(self) -> Optional[builtins.str]:
58892
+ """
58893
+ (Optional)
58894
+ """
58895
+ return pulumi.get(self, "interconnect")
58896
+
58897
+ @property
58898
+ @pulumi.getter(name="vlanTags")
58899
+ def vlan_tags(self) -> Optional[Sequence[builtins.int]]:
58900
+ """
58901
+ VLAN tags for the interconnect.
58902
+ """
58903
+ return pulumi.get(self, "vlan_tags")
58904
+
58905
+
58906
+ @pulumi.output_type
58907
+ class WireGroupTopology(dict):
58908
+ def __init__(__self__, *,
58909
+ endpoints: Optional[Sequence['outputs.WireGroupTopologyEndpoint']] = None):
58910
+ """
58911
+ :param Sequence['WireGroupTopologyEndpointArgs'] endpoints: Endpoints grouped by location, each mapping to interconnect configurations.
58912
+ Structure is documented below.
58913
+ """
58914
+ if endpoints is not None:
58915
+ pulumi.set(__self__, "endpoints", endpoints)
58916
+
58917
+ @property
58918
+ @pulumi.getter
58919
+ def endpoints(self) -> Optional[Sequence['outputs.WireGroupTopologyEndpoint']]:
58920
+ """
58921
+ Endpoints grouped by location, each mapping to interconnect configurations.
58922
+ Structure is documented below.
58923
+ """
58924
+ return pulumi.get(self, "endpoints")
58925
+
58926
+
58927
+ @pulumi.output_type
58928
+ class WireGroupTopologyEndpoint(dict):
58929
+ def __init__(__self__, *,
58930
+ city: Optional[builtins.str] = None,
58931
+ label: Optional[builtins.str] = None):
58932
+ """
58933
+ :param builtins.str city: (Output)
58934
+ :param builtins.str label: (Output)
58935
+ """
58936
+ if city is not None:
58937
+ pulumi.set(__self__, "city", city)
58938
+ if label is not None:
58939
+ pulumi.set(__self__, "label", label)
58940
+
58941
+ @property
58942
+ @pulumi.getter
58943
+ def city(self) -> Optional[builtins.str]:
58944
+ """
58945
+ (Output)
58946
+ """
58947
+ return pulumi.get(self, "city")
58948
+
58949
+ @property
58950
+ @pulumi.getter
58951
+ def label(self) -> Optional[builtins.str]:
58952
+ """
58953
+ (Output)
58954
+ """
58955
+ return pulumi.get(self, "label")
58956
+
58957
+
58958
+ @pulumi.output_type
58959
+ class WireGroupWire(dict):
58960
+ @staticmethod
58961
+ def __key_warning(key: str):
58962
+ suggest = None
58963
+ if key == "adminEnabled":
58964
+ suggest = "admin_enabled"
58965
+ elif key == "wireProperties":
58966
+ suggest = "wire_properties"
58967
+
58968
+ if suggest:
58969
+ pulumi.log.warn(f"Key '{key}' not found in WireGroupWire. Access the value via the '{suggest}' property getter instead.")
58970
+
58971
+ def __getitem__(self, key: str) -> Any:
58972
+ WireGroupWire.__key_warning(key)
58973
+ return super().__getitem__(key)
58974
+
58975
+ def get(self, key: str, default = None) -> Any:
58976
+ WireGroupWire.__key_warning(key)
58977
+ return super().get(key, default)
58978
+
58979
+ def __init__(__self__, *,
58980
+ admin_enabled: Optional[builtins.bool] = None,
58981
+ endpoints: Optional[Sequence['outputs.WireGroupWireEndpoint']] = None,
58982
+ label: Optional[builtins.str] = None,
58983
+ wire_properties: Optional[Sequence['outputs.WireGroupWireWireProperty']] = None):
58984
+ """
58985
+ :param builtins.bool admin_enabled: Indicates whether the wire group is administratively enabled.
58986
+ :param Sequence['WireGroupWireEndpointArgs'] endpoints: Endpoints grouped by location, each mapping to interconnect configurations.
58987
+ Structure is documented below.
58988
+ :param builtins.str label: (Output)
58989
+ :param Sequence['WireGroupWireWirePropertyArgs'] wire_properties: Default properties for wires within the group.
58990
+ Structure is documented below.
58991
+ """
58992
+ if admin_enabled is not None:
58993
+ pulumi.set(__self__, "admin_enabled", admin_enabled)
58994
+ if endpoints is not None:
58995
+ pulumi.set(__self__, "endpoints", endpoints)
58996
+ if label is not None:
58997
+ pulumi.set(__self__, "label", label)
58998
+ if wire_properties is not None:
58999
+ pulumi.set(__self__, "wire_properties", wire_properties)
59000
+
59001
+ @property
59002
+ @pulumi.getter(name="adminEnabled")
59003
+ def admin_enabled(self) -> Optional[builtins.bool]:
59004
+ """
59005
+ Indicates whether the wire group is administratively enabled.
59006
+ """
59007
+ return pulumi.get(self, "admin_enabled")
59008
+
59009
+ @property
59010
+ @pulumi.getter
59011
+ def endpoints(self) -> Optional[Sequence['outputs.WireGroupWireEndpoint']]:
59012
+ """
59013
+ Endpoints grouped by location, each mapping to interconnect configurations.
59014
+ Structure is documented below.
59015
+ """
59016
+ return pulumi.get(self, "endpoints")
59017
+
59018
+ @property
59019
+ @pulumi.getter
59020
+ def label(self) -> Optional[builtins.str]:
59021
+ """
59022
+ (Output)
59023
+ """
59024
+ return pulumi.get(self, "label")
59025
+
59026
+ @property
59027
+ @pulumi.getter(name="wireProperties")
59028
+ def wire_properties(self) -> Optional[Sequence['outputs.WireGroupWireWireProperty']]:
59029
+ """
59030
+ Default properties for wires within the group.
59031
+ Structure is documented below.
59032
+ """
59033
+ return pulumi.get(self, "wire_properties")
59034
+
59035
+
59036
+ @pulumi.output_type
59037
+ class WireGroupWireEndpoint(dict):
59038
+ @staticmethod
59039
+ def __key_warning(key: str):
59040
+ suggest = None
59041
+ if key == "vlanTag":
59042
+ suggest = "vlan_tag"
59043
+
59044
+ if suggest:
59045
+ pulumi.log.warn(f"Key '{key}' not found in WireGroupWireEndpoint. Access the value via the '{suggest}' property getter instead.")
59046
+
59047
+ def __getitem__(self, key: str) -> Any:
59048
+ WireGroupWireEndpoint.__key_warning(key)
59049
+ return super().__getitem__(key)
59050
+
59051
+ def get(self, key: str, default = None) -> Any:
59052
+ WireGroupWireEndpoint.__key_warning(key)
59053
+ return super().get(key, default)
59054
+
59055
+ def __init__(__self__, *,
59056
+ interconnect: Optional[builtins.str] = None,
59057
+ vlan_tag: Optional[builtins.int] = None):
59058
+ """
59059
+ :param builtins.str interconnect: (Output)
59060
+ :param builtins.int vlan_tag: (Output)
59061
+ """
59062
+ if interconnect is not None:
59063
+ pulumi.set(__self__, "interconnect", interconnect)
59064
+ if vlan_tag is not None:
59065
+ pulumi.set(__self__, "vlan_tag", vlan_tag)
59066
+
59067
+ @property
59068
+ @pulumi.getter
59069
+ def interconnect(self) -> Optional[builtins.str]:
59070
+ """
59071
+ (Output)
59072
+ """
59073
+ return pulumi.get(self, "interconnect")
59074
+
59075
+ @property
59076
+ @pulumi.getter(name="vlanTag")
59077
+ def vlan_tag(self) -> Optional[builtins.int]:
59078
+ """
59079
+ (Output)
59080
+ """
59081
+ return pulumi.get(self, "vlan_tag")
59082
+
59083
+
59084
+ @pulumi.output_type
59085
+ class WireGroupWireGroupProperties(dict):
59086
+ def __init__(__self__, *,
59087
+ type: Optional[builtins.str] = None):
59088
+ """
59089
+ :param builtins.str type: Type of wire group (enum).
59090
+ WIRE: a single pseudowire over two Interconnect connections with no redundancy.
59091
+ REDUNDANT: two pseudowires over four Interconnect connections, with two connections in one metro and two connections in another metro.
59092
+ BOX_AND_CROSS: four pseudowires over four Interconnect connections, with two connections in one metro and two connections in another metro.
59093
+ """
59094
+ if type is not None:
59095
+ pulumi.set(__self__, "type", type)
59096
+
59097
+ @property
59098
+ @pulumi.getter
59099
+ def type(self) -> Optional[builtins.str]:
59100
+ """
59101
+ Type of wire group (enum).
59102
+ WIRE: a single pseudowire over two Interconnect connections with no redundancy.
59103
+ REDUNDANT: two pseudowires over four Interconnect connections, with two connections in one metro and two connections in another metro.
59104
+ BOX_AND_CROSS: four pseudowires over four Interconnect connections, with two connections in one metro and two connections in another metro.
59105
+ """
59106
+ return pulumi.get(self, "type")
59107
+
59108
+
59109
+ @pulumi.output_type
59110
+ class WireGroupWireProperties(dict):
59111
+ @staticmethod
59112
+ def __key_warning(key: str):
59113
+ suggest = None
59114
+ if key == "bandwidthUnmetered":
59115
+ suggest = "bandwidth_unmetered"
59116
+ elif key == "faultResponse":
59117
+ suggest = "fault_response"
59118
+
59119
+ if suggest:
59120
+ pulumi.log.warn(f"Key '{key}' not found in WireGroupWireProperties. Access the value via the '{suggest}' property getter instead.")
59121
+
59122
+ def __getitem__(self, key: str) -> Any:
59123
+ WireGroupWireProperties.__key_warning(key)
59124
+ return super().__getitem__(key)
59125
+
59126
+ def get(self, key: str, default = None) -> Any:
59127
+ WireGroupWireProperties.__key_warning(key)
59128
+ return super().get(key, default)
59129
+
59130
+ def __init__(__self__, *,
59131
+ bandwidth_unmetered: Optional[builtins.int] = None,
59132
+ fault_response: Optional[builtins.str] = None):
59133
+ """
59134
+ :param builtins.int bandwidth_unmetered: The unmetered bandwidth setting.
59135
+ :param builtins.str fault_response: Response when a fault is detected in a pseudowire:
59136
+ NONE: default.
59137
+ DISABLE_PORT: set the port line protocol down when inline probes detect a fault. This setting is only permitted on port mode pseudowires.
59138
+ """
59139
+ if bandwidth_unmetered is not None:
59140
+ pulumi.set(__self__, "bandwidth_unmetered", bandwidth_unmetered)
59141
+ if fault_response is not None:
59142
+ pulumi.set(__self__, "fault_response", fault_response)
59143
+
59144
+ @property
59145
+ @pulumi.getter(name="bandwidthUnmetered")
59146
+ def bandwidth_unmetered(self) -> Optional[builtins.int]:
59147
+ """
59148
+ The unmetered bandwidth setting.
59149
+ """
59150
+ return pulumi.get(self, "bandwidth_unmetered")
59151
+
59152
+ @property
59153
+ @pulumi.getter(name="faultResponse")
59154
+ def fault_response(self) -> Optional[builtins.str]:
59155
+ """
59156
+ Response when a fault is detected in a pseudowire:
59157
+ NONE: default.
59158
+ DISABLE_PORT: set the port line protocol down when inline probes detect a fault. This setting is only permitted on port mode pseudowires.
59159
+ """
59160
+ return pulumi.get(self, "fault_response")
59161
+
59162
+
59163
+ @pulumi.output_type
59164
+ class WireGroupWireWireProperty(dict):
59165
+ @staticmethod
59166
+ def __key_warning(key: str):
59167
+ suggest = None
59168
+ if key == "bandwidthUnmetered":
59169
+ suggest = "bandwidth_unmetered"
59170
+ elif key == "faultResponse":
59171
+ suggest = "fault_response"
59172
+
59173
+ if suggest:
59174
+ pulumi.log.warn(f"Key '{key}' not found in WireGroupWireWireProperty. Access the value via the '{suggest}' property getter instead.")
59175
+
59176
+ def __getitem__(self, key: str) -> Any:
59177
+ WireGroupWireWireProperty.__key_warning(key)
59178
+ return super().__getitem__(key)
59179
+
59180
+ def get(self, key: str, default = None) -> Any:
59181
+ WireGroupWireWireProperty.__key_warning(key)
59182
+ return super().get(key, default)
59183
+
59184
+ def __init__(__self__, *,
59185
+ bandwidth_unmetered: Optional[builtins.int] = None,
59186
+ fault_response: Optional[builtins.str] = None):
59187
+ """
59188
+ :param builtins.int bandwidth_unmetered: The unmetered bandwidth setting.
59189
+ :param builtins.str fault_response: Response when a fault is detected in a pseudowire:
59190
+ NONE: default.
59191
+ DISABLE_PORT: set the port line protocol down when inline probes detect a fault. This setting is only permitted on port mode pseudowires.
59192
+ """
59193
+ if bandwidth_unmetered is not None:
59194
+ pulumi.set(__self__, "bandwidth_unmetered", bandwidth_unmetered)
59195
+ if fault_response is not None:
59196
+ pulumi.set(__self__, "fault_response", fault_response)
59197
+
59198
+ @property
59199
+ @pulumi.getter(name="bandwidthUnmetered")
59200
+ def bandwidth_unmetered(self) -> Optional[builtins.int]:
59201
+ """
59202
+ The unmetered bandwidth setting.
59203
+ """
59204
+ return pulumi.get(self, "bandwidth_unmetered")
59205
+
59206
+ @property
59207
+ @pulumi.getter(name="faultResponse")
59208
+ def fault_response(self) -> Optional[builtins.str]:
59209
+ """
59210
+ Response when a fault is detected in a pseudowire:
59211
+ NONE: default.
59212
+ DISABLE_PORT: set the port line protocol down when inline probes detect a fault. This setting is only permitted on port mode pseudowires.
59213
+ """
59214
+ return pulumi.get(self, "fault_response")
59215
+
59216
+
58627
59217
  @pulumi.output_type
58628
59218
  class GetAddressesAddressResult(dict):
58629
59219
  def __init__(__self__, *,
@@ -63815,6 +64405,24 @@ class GetInstanceGroupManagerParamResult(dict):
63815
64405
  return pulumi.get(self, "resource_manager_tags")
63816
64406
 
63817
64407
 
64408
+ @pulumi.output_type
64409
+ class GetInstanceGroupManagerResourcePolicyResult(dict):
64410
+ def __init__(__self__, *,
64411
+ workload_policy: builtins.str):
64412
+ """
64413
+ :param 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.
64414
+ """
64415
+ pulumi.set(__self__, "workload_policy", workload_policy)
64416
+
64417
+ @property
64418
+ @pulumi.getter(name="workloadPolicy")
64419
+ def workload_policy(self) -> builtins.str:
64420
+ """
64421
+ The URL of the workload policy that is specified for this managed instance group. It can be a full or partial URL.
64422
+ """
64423
+ return pulumi.get(self, "workload_policy")
64424
+
64425
+
63818
64426
  @pulumi.output_type
63819
64427
  class GetInstanceGroupManagerStandbyPolicyResult(dict):
63820
64428
  def __init__(__self__, *,