pulumi-gcp 8.7.0__py3-none-any.whl → 8.7.0a1729107581__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 (111) hide show
  1. pulumi_gcp/__init__.py +0 -70
  2. pulumi_gcp/accesscontextmanager/service_perimeter.py +0 -2
  3. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_egress_policy.py +0 -4
  4. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_ingress_policy.py +0 -4
  5. pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +0 -4
  6. pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +0 -4
  7. pulumi_gcp/accesscontextmanager/service_perimeters.py +0 -2
  8. pulumi_gcp/apigee/__init__.py +0 -2
  9. pulumi_gcp/apigee/_inputs.py +0 -108
  10. pulumi_gcp/apigee/outputs.py +0 -64
  11. pulumi_gcp/artifactregistry/get_docker_image.py +0 -40
  12. pulumi_gcp/bigquery/connection.py +12 -12
  13. pulumi_gcp/bigquery/job.py +6 -6
  14. pulumi_gcp/cloudrunv2/get_service.py +1 -12
  15. pulumi_gcp/cloudrunv2/service.py +0 -92
  16. pulumi_gcp/compute/_inputs.py +116 -214
  17. pulumi_gcp/compute/backend_service.py +0 -76
  18. pulumi_gcp/compute/get_backend_service.py +1 -12
  19. pulumi_gcp/compute/get_instance.py +1 -29
  20. pulumi_gcp/compute/get_instance_template.py +1 -29
  21. pulumi_gcp/compute/get_region_instance_group_manager.py +18 -0
  22. pulumi_gcp/compute/get_region_instance_template.py +1 -29
  23. pulumi_gcp/compute/instance.py +0 -89
  24. pulumi_gcp/compute/instance_from_machine_image.py +0 -82
  25. pulumi_gcp/compute/instance_from_template.py +0 -82
  26. pulumi_gcp/compute/instance_template.py +0 -75
  27. pulumi_gcp/compute/network_firewall_policy_association.py +50 -76
  28. pulumi_gcp/compute/network_firewall_policy_rule.py +103 -149
  29. pulumi_gcp/compute/outputs.py +80 -170
  30. pulumi_gcp/compute/region_backend_service.py +0 -94
  31. pulumi_gcp/compute/region_instance_template.py +0 -75
  32. pulumi_gcp/compute/region_network_endpoint_group.py +4 -6
  33. pulumi_gcp/compute/region_network_firewall_policy_association.py +54 -104
  34. pulumi_gcp/compute/region_network_firewall_policy_rule.py +107 -160
  35. pulumi_gcp/config/__init__.pyi +0 -4
  36. pulumi_gcp/config/vars.py +0 -8
  37. pulumi_gcp/container/attached_cluster.py +6 -9
  38. pulumi_gcp/container/outputs.py +2 -2
  39. pulumi_gcp/datastream/stream.py +2 -2
  40. pulumi_gcp/diagflow/_inputs.py +2 -472
  41. pulumi_gcp/diagflow/cx_agent.py +4 -64
  42. pulumi_gcp/diagflow/cx_flow.py +0 -30
  43. pulumi_gcp/diagflow/outputs.py +2 -378
  44. pulumi_gcp/gkehub/feature.py +4 -2
  45. pulumi_gcp/iam/workload_identity_pool_provider.py +0 -56
  46. pulumi_gcp/looker/instance.py +2 -104
  47. pulumi_gcp/monitoring/_inputs.py +0 -23
  48. pulumi_gcp/monitoring/get_secret_version.py +3 -22
  49. pulumi_gcp/monitoring/outputs.py +0 -16
  50. pulumi_gcp/networkconnectivity/__init__.py +0 -1
  51. pulumi_gcp/networkconnectivity/_inputs.py +0 -148
  52. pulumi_gcp/networkconnectivity/outputs.py +0 -125
  53. pulumi_gcp/networkconnectivity/spoke.py +0 -144
  54. pulumi_gcp/networksecurity/server_tls_policy.py +2 -2
  55. pulumi_gcp/organizations/folder.py +7 -7
  56. pulumi_gcp/organizations/project.py +7 -7
  57. pulumi_gcp/orgpolicy/_inputs.py +3 -3
  58. pulumi_gcp/orgpolicy/outputs.py +2 -2
  59. pulumi_gcp/privilegedaccessmanager/get_entitlement.py +2 -46
  60. pulumi_gcp/provider.py +0 -40
  61. pulumi_gcp/pulumi-plugin.json +1 -1
  62. pulumi_gcp/secretmanager/get_regional_secret_version.py +5 -24
  63. pulumi_gcp/secretmanager/get_regional_secret_version_access.py +5 -24
  64. pulumi_gcp/secretmanager/get_secret_version.py +3 -22
  65. pulumi_gcp/secretmanager/get_secret_version_access.py +3 -22
  66. pulumi_gcp/secretmanager/regional_secret.py +2 -2
  67. pulumi_gcp/siteverification/get_token.py +16 -0
  68. pulumi_gcp/siteverification/owner.py +16 -0
  69. pulumi_gcp/spanner/_inputs.py +5 -29
  70. pulumi_gcp/spanner/outputs.py +3 -20
  71. pulumi_gcp/sql/_inputs.py +6 -6
  72. pulumi_gcp/sql/outputs.py +4 -4
  73. pulumi_gcp/sql/user.py +21 -28
  74. pulumi_gcp/storage/_inputs.py +0 -36
  75. pulumi_gcp/storage/bucket.py +0 -47
  76. pulumi_gcp/storage/get_bucket.py +1 -12
  77. pulumi_gcp/storage/outputs.py +0 -40
  78. pulumi_gcp/vertex/ai_deployment_resource_pool.py +2 -2
  79. pulumi_gcp/vmwareengine/_inputs.py +0 -440
  80. pulumi_gcp/vmwareengine/cluster.py +2 -100
  81. pulumi_gcp/vmwareengine/get_cluster.py +1 -12
  82. pulumi_gcp/vmwareengine/outputs.py +0 -615
  83. pulumi_gcp/workstations/_inputs.py +0 -54
  84. pulumi_gcp/workstations/outputs.py +0 -32
  85. pulumi_gcp/workstations/workstation_config.py +0 -205
  86. {pulumi_gcp-8.7.0.dist-info → pulumi_gcp-8.7.0a1729107581.dist-info}/METADATA +1 -1
  87. {pulumi_gcp-8.7.0.dist-info → pulumi_gcp-8.7.0a1729107581.dist-info}/RECORD +89 -111
  88. {pulumi_gcp-8.7.0.dist-info → pulumi_gcp-8.7.0a1729107581.dist-info}/WHEEL +1 -1
  89. pulumi_gcp/apigee/app_group.py +0 -811
  90. pulumi_gcp/apigee/developer.py +0 -757
  91. pulumi_gcp/networkconnectivity/group.py +0 -764
  92. pulumi_gcp/oracledatabase/__init__.py +0 -20
  93. pulumi_gcp/oracledatabase/_inputs.py +0 -4745
  94. pulumi_gcp/oracledatabase/autonomous_database.py +0 -983
  95. pulumi_gcp/oracledatabase/cloud_exadata_infrastructure.py +0 -842
  96. pulumi_gcp/oracledatabase/cloud_vm_cluster.py +0 -1086
  97. pulumi_gcp/oracledatabase/get_autonomous_database.py +0 -290
  98. pulumi_gcp/oracledatabase/get_autonomous_databases.py +0 -150
  99. pulumi_gcp/oracledatabase/get_cloud_exadata_infrastructure.py +0 -257
  100. pulumi_gcp/oracledatabase/get_cloud_exadata_infrastructures.py +0 -150
  101. pulumi_gcp/oracledatabase/get_cloud_vm_cluster.py +0 -290
  102. pulumi_gcp/oracledatabase/get_cloud_vm_clusters.py +0 -150
  103. pulumi_gcp/oracledatabase/get_db_nodes.py +0 -245
  104. pulumi_gcp/oracledatabase/get_db_servers.py +0 -245
  105. pulumi_gcp/oracledatabase/outputs.py +0 -9304
  106. pulumi_gcp/transcoder/__init__.py +0 -11
  107. pulumi_gcp/transcoder/_inputs.py +0 -3991
  108. pulumi_gcp/transcoder/job.py +0 -2134
  109. pulumi_gcp/transcoder/job_template.py +0 -1524
  110. pulumi_gcp/transcoder/outputs.py +0 -2918
  111. {pulumi_gcp-8.7.0.dist-info → pulumi_gcp-8.7.0a1729107581.dist-info}/top_level.txt +0 -0
@@ -16,7 +16,6 @@ from .. import _utilities
16
16
  from . import outputs
17
17
 
18
18
  __all__ = [
19
- 'GroupAutoAccept',
20
19
  'HubRoutingVpc',
21
20
  'InternalRangeMigration',
22
21
  'PolicyBasedRouteFilter',
@@ -28,48 +27,12 @@ __all__ = [
28
27
  'ServiceConnectionPolicyPscConnectionError',
29
28
  'ServiceConnectionPolicyPscConnectionErrorInfo',
30
29
  'SpokeLinkedInterconnectAttachments',
31
- 'SpokeLinkedProducerVpcNetwork',
32
30
  'SpokeLinkedRouterApplianceInstances',
33
31
  'SpokeLinkedRouterApplianceInstancesInstance',
34
32
  'SpokeLinkedVpcNetwork',
35
33
  'SpokeLinkedVpnTunnels',
36
34
  ]
37
35
 
38
- @pulumi.output_type
39
- class GroupAutoAccept(dict):
40
- @staticmethod
41
- def __key_warning(key: str):
42
- suggest = None
43
- if key == "autoAcceptProjects":
44
- suggest = "auto_accept_projects"
45
-
46
- if suggest:
47
- pulumi.log.warn(f"Key '{key}' not found in GroupAutoAccept. Access the value via the '{suggest}' property getter instead.")
48
-
49
- def __getitem__(self, key: str) -> Any:
50
- GroupAutoAccept.__key_warning(key)
51
- return super().__getitem__(key)
52
-
53
- def get(self, key: str, default = None) -> Any:
54
- GroupAutoAccept.__key_warning(key)
55
- return super().get(key, default)
56
-
57
- def __init__(__self__, *,
58
- auto_accept_projects: Sequence[str]):
59
- """
60
- :param Sequence[str] auto_accept_projects: A list of project ids or project numbers for which you want to enable auto-accept. The auto-accept setting is applied to spokes being created or updated in these projects.
61
- """
62
- pulumi.set(__self__, "auto_accept_projects", auto_accept_projects)
63
-
64
- @property
65
- @pulumi.getter(name="autoAcceptProjects")
66
- def auto_accept_projects(self) -> Sequence[str]:
67
- """
68
- A list of project ids or project numbers for which you want to enable auto-accept. The auto-accept setting is applied to spokes being created or updated in these projects.
69
- """
70
- return pulumi.get(self, "auto_accept_projects")
71
-
72
-
73
36
  @pulumi.output_type
74
37
  class HubRoutingVpc(dict):
75
38
  def __init__(__self__, *,
@@ -649,94 +612,6 @@ class SpokeLinkedInterconnectAttachments(dict):
649
612
  return pulumi.get(self, "include_import_ranges")
650
613
 
651
614
 
652
- @pulumi.output_type
653
- class SpokeLinkedProducerVpcNetwork(dict):
654
- @staticmethod
655
- def __key_warning(key: str):
656
- suggest = None
657
- if key == "excludeExportRanges":
658
- suggest = "exclude_export_ranges"
659
- elif key == "includeExportRanges":
660
- suggest = "include_export_ranges"
661
- elif key == "producerNetwork":
662
- suggest = "producer_network"
663
-
664
- if suggest:
665
- pulumi.log.warn(f"Key '{key}' not found in SpokeLinkedProducerVpcNetwork. Access the value via the '{suggest}' property getter instead.")
666
-
667
- def __getitem__(self, key: str) -> Any:
668
- SpokeLinkedProducerVpcNetwork.__key_warning(key)
669
- return super().__getitem__(key)
670
-
671
- def get(self, key: str, default = None) -> Any:
672
- SpokeLinkedProducerVpcNetwork.__key_warning(key)
673
- return super().get(key, default)
674
-
675
- def __init__(__self__, *,
676
- network: str,
677
- peering: str,
678
- exclude_export_ranges: Optional[Sequence[str]] = None,
679
- include_export_ranges: Optional[Sequence[str]] = None,
680
- producer_network: Optional[str] = None):
681
- """
682
- :param str network: The URI of the Service Consumer VPC that the Producer VPC is peered with.
683
- :param str peering: The name of the VPC peering between the Service Consumer VPC and the Producer VPC (defined in the Tenant project) which is added to the NCC hub. This peering must be in ACTIVE state.
684
- :param Sequence[str] exclude_export_ranges: IP ranges encompassing the subnets to be excluded from peering.
685
- :param Sequence[str] include_export_ranges: IP ranges allowed to be included from peering.
686
- :param str producer_network: (Output)
687
- The URI of the Producer VPC.
688
- """
689
- pulumi.set(__self__, "network", network)
690
- pulumi.set(__self__, "peering", peering)
691
- if exclude_export_ranges is not None:
692
- pulumi.set(__self__, "exclude_export_ranges", exclude_export_ranges)
693
- if include_export_ranges is not None:
694
- pulumi.set(__self__, "include_export_ranges", include_export_ranges)
695
- if producer_network is not None:
696
- pulumi.set(__self__, "producer_network", producer_network)
697
-
698
- @property
699
- @pulumi.getter
700
- def network(self) -> str:
701
- """
702
- The URI of the Service Consumer VPC that the Producer VPC is peered with.
703
- """
704
- return pulumi.get(self, "network")
705
-
706
- @property
707
- @pulumi.getter
708
- def peering(self) -> str:
709
- """
710
- The name of the VPC peering between the Service Consumer VPC and the Producer VPC (defined in the Tenant project) which is added to the NCC hub. This peering must be in ACTIVE state.
711
- """
712
- return pulumi.get(self, "peering")
713
-
714
- @property
715
- @pulumi.getter(name="excludeExportRanges")
716
- def exclude_export_ranges(self) -> Optional[Sequence[str]]:
717
- """
718
- IP ranges encompassing the subnets to be excluded from peering.
719
- """
720
- return pulumi.get(self, "exclude_export_ranges")
721
-
722
- @property
723
- @pulumi.getter(name="includeExportRanges")
724
- def include_export_ranges(self) -> Optional[Sequence[str]]:
725
- """
726
- IP ranges allowed to be included from peering.
727
- """
728
- return pulumi.get(self, "include_export_ranges")
729
-
730
- @property
731
- @pulumi.getter(name="producerNetwork")
732
- def producer_network(self) -> Optional[str]:
733
- """
734
- (Output)
735
- The URI of the Producer VPC.
736
- """
737
- return pulumi.get(self, "producer_network")
738
-
739
-
740
615
  @pulumi.output_type
741
616
  class SpokeLinkedRouterApplianceInstances(dict):
742
617
  @staticmethod
@@ -26,7 +26,6 @@ class SpokeArgs:
26
26
  description: Optional[pulumi.Input[str]] = None,
27
27
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
28
28
  linked_interconnect_attachments: Optional[pulumi.Input['SpokeLinkedInterconnectAttachmentsArgs']] = None,
29
- linked_producer_vpc_network: Optional[pulumi.Input['SpokeLinkedProducerVpcNetworkArgs']] = None,
30
29
  linked_router_appliance_instances: Optional[pulumi.Input['SpokeLinkedRouterApplianceInstancesArgs']] = None,
31
30
  linked_vpc_network: Optional[pulumi.Input['SpokeLinkedVpcNetworkArgs']] = None,
32
31
  linked_vpn_tunnels: Optional[pulumi.Input['SpokeLinkedVpnTunnelsArgs']] = None,
@@ -45,8 +44,6 @@ class SpokeArgs:
45
44
  Please refer to the field `effective_labels` for all of the labels present on the resource.
46
45
  :param pulumi.Input['SpokeLinkedInterconnectAttachmentsArgs'] linked_interconnect_attachments: A collection of VLAN attachment resources. These resources should be redundant attachments that all advertise the same prefixes to Google Cloud. Alternatively, in active/passive configurations, all attachments should be capable of advertising the same prefixes.
47
46
  Structure is documented below.
48
- :param pulumi.Input['SpokeLinkedProducerVpcNetworkArgs'] linked_producer_vpc_network: Producer VPC network that is associated with the spoke.
49
- Structure is documented below.
50
47
  :param pulumi.Input['SpokeLinkedRouterApplianceInstancesArgs'] linked_router_appliance_instances: The URIs of linked Router appliance resources
51
48
  Structure is documented below.
52
49
  :param pulumi.Input['SpokeLinkedVpcNetworkArgs'] linked_vpc_network: VPC network that is associated with the spoke.
@@ -65,8 +62,6 @@ class SpokeArgs:
65
62
  pulumi.set(__self__, "labels", labels)
66
63
  if linked_interconnect_attachments is not None:
67
64
  pulumi.set(__self__, "linked_interconnect_attachments", linked_interconnect_attachments)
68
- if linked_producer_vpc_network is not None:
69
- pulumi.set(__self__, "linked_producer_vpc_network", linked_producer_vpc_network)
70
65
  if linked_router_appliance_instances is not None:
71
66
  pulumi.set(__self__, "linked_router_appliance_instances", linked_router_appliance_instances)
72
67
  if linked_vpc_network is not None:
@@ -144,19 +139,6 @@ class SpokeArgs:
144
139
  def linked_interconnect_attachments(self, value: Optional[pulumi.Input['SpokeLinkedInterconnectAttachmentsArgs']]):
145
140
  pulumi.set(self, "linked_interconnect_attachments", value)
146
141
 
147
- @property
148
- @pulumi.getter(name="linkedProducerVpcNetwork")
149
- def linked_producer_vpc_network(self) -> Optional[pulumi.Input['SpokeLinkedProducerVpcNetworkArgs']]:
150
- """
151
- Producer VPC network that is associated with the spoke.
152
- Structure is documented below.
153
- """
154
- return pulumi.get(self, "linked_producer_vpc_network")
155
-
156
- @linked_producer_vpc_network.setter
157
- def linked_producer_vpc_network(self, value: Optional[pulumi.Input['SpokeLinkedProducerVpcNetworkArgs']]):
158
- pulumi.set(self, "linked_producer_vpc_network", value)
159
-
160
142
  @property
161
143
  @pulumi.getter(name="linkedRouterApplianceInstances")
162
144
  def linked_router_appliance_instances(self) -> Optional[pulumi.Input['SpokeLinkedRouterApplianceInstancesArgs']]:
@@ -231,7 +213,6 @@ class _SpokeState:
231
213
  hub: Optional[pulumi.Input[str]] = None,
232
214
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
233
215
  linked_interconnect_attachments: Optional[pulumi.Input['SpokeLinkedInterconnectAttachmentsArgs']] = None,
234
- linked_producer_vpc_network: Optional[pulumi.Input['SpokeLinkedProducerVpcNetworkArgs']] = None,
235
216
  linked_router_appliance_instances: Optional[pulumi.Input['SpokeLinkedRouterApplianceInstancesArgs']] = None,
236
217
  linked_vpc_network: Optional[pulumi.Input['SpokeLinkedVpcNetworkArgs']] = None,
237
218
  linked_vpn_tunnels: Optional[pulumi.Input['SpokeLinkedVpnTunnelsArgs']] = None,
@@ -253,8 +234,6 @@ class _SpokeState:
253
234
  Please refer to the field `effective_labels` for all of the labels present on the resource.
254
235
  :param pulumi.Input['SpokeLinkedInterconnectAttachmentsArgs'] linked_interconnect_attachments: A collection of VLAN attachment resources. These resources should be redundant attachments that all advertise the same prefixes to Google Cloud. Alternatively, in active/passive configurations, all attachments should be capable of advertising the same prefixes.
255
236
  Structure is documented below.
256
- :param pulumi.Input['SpokeLinkedProducerVpcNetworkArgs'] linked_producer_vpc_network: Producer VPC network that is associated with the spoke.
257
- Structure is documented below.
258
237
  :param pulumi.Input['SpokeLinkedRouterApplianceInstancesArgs'] linked_router_appliance_instances: The URIs of linked Router appliance resources
259
238
  Structure is documented below.
260
239
  :param pulumi.Input['SpokeLinkedVpcNetworkArgs'] linked_vpc_network: VPC network that is associated with the spoke.
@@ -286,8 +265,6 @@ class _SpokeState:
286
265
  pulumi.set(__self__, "labels", labels)
287
266
  if linked_interconnect_attachments is not None:
288
267
  pulumi.set(__self__, "linked_interconnect_attachments", linked_interconnect_attachments)
289
- if linked_producer_vpc_network is not None:
290
- pulumi.set(__self__, "linked_producer_vpc_network", linked_producer_vpc_network)
291
268
  if linked_router_appliance_instances is not None:
292
269
  pulumi.set(__self__, "linked_router_appliance_instances", linked_router_appliance_instances)
293
270
  if linked_vpc_network is not None:
@@ -384,19 +361,6 @@ class _SpokeState:
384
361
  def linked_interconnect_attachments(self, value: Optional[pulumi.Input['SpokeLinkedInterconnectAttachmentsArgs']]):
385
362
  pulumi.set(self, "linked_interconnect_attachments", value)
386
363
 
387
- @property
388
- @pulumi.getter(name="linkedProducerVpcNetwork")
389
- def linked_producer_vpc_network(self) -> Optional[pulumi.Input['SpokeLinkedProducerVpcNetworkArgs']]:
390
- """
391
- Producer VPC network that is associated with the spoke.
392
- Structure is documented below.
393
- """
394
- return pulumi.get(self, "linked_producer_vpc_network")
395
-
396
- @linked_producer_vpc_network.setter
397
- def linked_producer_vpc_network(self, value: Optional[pulumi.Input['SpokeLinkedProducerVpcNetworkArgs']]):
398
- pulumi.set(self, "linked_producer_vpc_network", value)
399
-
400
364
  @property
401
365
  @pulumi.getter(name="linkedRouterApplianceInstances")
402
366
  def linked_router_appliance_instances(self) -> Optional[pulumi.Input['SpokeLinkedRouterApplianceInstancesArgs']]:
@@ -535,7 +499,6 @@ class Spoke(pulumi.CustomResource):
535
499
  hub: Optional[pulumi.Input[str]] = None,
536
500
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
537
501
  linked_interconnect_attachments: Optional[pulumi.Input[Union['SpokeLinkedInterconnectAttachmentsArgs', 'SpokeLinkedInterconnectAttachmentsArgsDict']]] = None,
538
- linked_producer_vpc_network: Optional[pulumi.Input[Union['SpokeLinkedProducerVpcNetworkArgs', 'SpokeLinkedProducerVpcNetworkArgsDict']]] = None,
539
502
  linked_router_appliance_instances: Optional[pulumi.Input[Union['SpokeLinkedRouterApplianceInstancesArgs', 'SpokeLinkedRouterApplianceInstancesArgsDict']]] = None,
540
503
  linked_vpc_network: Optional[pulumi.Input[Union['SpokeLinkedVpcNetworkArgs', 'SpokeLinkedVpcNetworkArgsDict']]] = None,
541
504
  linked_vpn_tunnels: Optional[pulumi.Input[Union['SpokeLinkedVpnTunnelsArgs', 'SpokeLinkedVpnTunnelsArgsDict']]] = None,
@@ -797,51 +760,6 @@ class Spoke(pulumi.CustomResource):
797
760
  "include_import_ranges": ["ALL_IPV4_RANGES"],
798
761
  })
799
762
  ```
800
- ### Network Connectivity Spoke Linked Producer Vpc Network Basic
801
-
802
- ```python
803
- import pulumi
804
- import pulumi_gcp as gcp
805
-
806
- network = gcp.compute.Network("network",
807
- name="net-spoke",
808
- auto_create_subnetworks=False)
809
- address = gcp.compute.GlobalAddress("address",
810
- name="test-address",
811
- purpose="VPC_PEERING",
812
- address_type="INTERNAL",
813
- prefix_length=16,
814
- network=network.id)
815
- peering = gcp.servicenetworking.Connection("peering",
816
- network=network.id,
817
- service="servicenetworking.googleapis.com",
818
- reserved_peering_ranges=[address.name])
819
- basic_hub = gcp.networkconnectivity.Hub("basic_hub", name="hub-basic")
820
- linked_vpc_spoke = gcp.networkconnectivity.Spoke("linked_vpc_spoke",
821
- name="vpc-spoke",
822
- location="global",
823
- hub=basic_hub.id,
824
- linked_vpc_network={
825
- "uri": network.self_link,
826
- })
827
- primary = gcp.networkconnectivity.Spoke("primary",
828
- name="producer-spoke",
829
- location="global",
830
- description="A sample spoke with a linked router appliance instance",
831
- labels={
832
- "label-one": "value-one",
833
- },
834
- hub=basic_hub.id,
835
- linked_producer_vpc_network={
836
- "network": network.name,
837
- "peering": peering.peering,
838
- "exclude_export_ranges": [
839
- "198.51.100.0/24",
840
- "10.10.0.0/16",
841
- ],
842
- },
843
- opts = pulumi.ResourceOptions(depends_on=[linked_vpc_spoke]))
844
- ```
845
763
 
846
764
  ## Import
847
765
 
@@ -876,8 +794,6 @@ class Spoke(pulumi.CustomResource):
876
794
  Please refer to the field `effective_labels` for all of the labels present on the resource.
877
795
  :param pulumi.Input[Union['SpokeLinkedInterconnectAttachmentsArgs', 'SpokeLinkedInterconnectAttachmentsArgsDict']] linked_interconnect_attachments: A collection of VLAN attachment resources. These resources should be redundant attachments that all advertise the same prefixes to Google Cloud. Alternatively, in active/passive configurations, all attachments should be capable of advertising the same prefixes.
878
796
  Structure is documented below.
879
- :param pulumi.Input[Union['SpokeLinkedProducerVpcNetworkArgs', 'SpokeLinkedProducerVpcNetworkArgsDict']] linked_producer_vpc_network: Producer VPC network that is associated with the spoke.
880
- Structure is documented below.
881
797
  :param pulumi.Input[Union['SpokeLinkedRouterApplianceInstancesArgs', 'SpokeLinkedRouterApplianceInstancesArgsDict']] linked_router_appliance_instances: The URIs of linked Router appliance resources
882
798
  Structure is documented below.
883
799
  :param pulumi.Input[Union['SpokeLinkedVpcNetworkArgs', 'SpokeLinkedVpcNetworkArgsDict']] linked_vpc_network: VPC network that is associated with the spoke.
@@ -1152,51 +1068,6 @@ class Spoke(pulumi.CustomResource):
1152
1068
  "include_import_ranges": ["ALL_IPV4_RANGES"],
1153
1069
  })
1154
1070
  ```
1155
- ### Network Connectivity Spoke Linked Producer Vpc Network Basic
1156
-
1157
- ```python
1158
- import pulumi
1159
- import pulumi_gcp as gcp
1160
-
1161
- network = gcp.compute.Network("network",
1162
- name="net-spoke",
1163
- auto_create_subnetworks=False)
1164
- address = gcp.compute.GlobalAddress("address",
1165
- name="test-address",
1166
- purpose="VPC_PEERING",
1167
- address_type="INTERNAL",
1168
- prefix_length=16,
1169
- network=network.id)
1170
- peering = gcp.servicenetworking.Connection("peering",
1171
- network=network.id,
1172
- service="servicenetworking.googleapis.com",
1173
- reserved_peering_ranges=[address.name])
1174
- basic_hub = gcp.networkconnectivity.Hub("basic_hub", name="hub-basic")
1175
- linked_vpc_spoke = gcp.networkconnectivity.Spoke("linked_vpc_spoke",
1176
- name="vpc-spoke",
1177
- location="global",
1178
- hub=basic_hub.id,
1179
- linked_vpc_network={
1180
- "uri": network.self_link,
1181
- })
1182
- primary = gcp.networkconnectivity.Spoke("primary",
1183
- name="producer-spoke",
1184
- location="global",
1185
- description="A sample spoke with a linked router appliance instance",
1186
- labels={
1187
- "label-one": "value-one",
1188
- },
1189
- hub=basic_hub.id,
1190
- linked_producer_vpc_network={
1191
- "network": network.name,
1192
- "peering": peering.peering,
1193
- "exclude_export_ranges": [
1194
- "198.51.100.0/24",
1195
- "10.10.0.0/16",
1196
- ],
1197
- },
1198
- opts = pulumi.ResourceOptions(depends_on=[linked_vpc_spoke]))
1199
- ```
1200
1071
 
1201
1072
  ## Import
1202
1073
 
@@ -1241,7 +1112,6 @@ class Spoke(pulumi.CustomResource):
1241
1112
  hub: Optional[pulumi.Input[str]] = None,
1242
1113
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1243
1114
  linked_interconnect_attachments: Optional[pulumi.Input[Union['SpokeLinkedInterconnectAttachmentsArgs', 'SpokeLinkedInterconnectAttachmentsArgsDict']]] = None,
1244
- linked_producer_vpc_network: Optional[pulumi.Input[Union['SpokeLinkedProducerVpcNetworkArgs', 'SpokeLinkedProducerVpcNetworkArgsDict']]] = None,
1245
1115
  linked_router_appliance_instances: Optional[pulumi.Input[Union['SpokeLinkedRouterApplianceInstancesArgs', 'SpokeLinkedRouterApplianceInstancesArgsDict']]] = None,
1246
1116
  linked_vpc_network: Optional[pulumi.Input[Union['SpokeLinkedVpcNetworkArgs', 'SpokeLinkedVpcNetworkArgsDict']]] = None,
1247
1117
  linked_vpn_tunnels: Optional[pulumi.Input[Union['SpokeLinkedVpnTunnelsArgs', 'SpokeLinkedVpnTunnelsArgsDict']]] = None,
@@ -1263,7 +1133,6 @@ class Spoke(pulumi.CustomResource):
1263
1133
  __props__.__dict__["hub"] = hub
1264
1134
  __props__.__dict__["labels"] = labels
1265
1135
  __props__.__dict__["linked_interconnect_attachments"] = linked_interconnect_attachments
1266
- __props__.__dict__["linked_producer_vpc_network"] = linked_producer_vpc_network
1267
1136
  __props__.__dict__["linked_router_appliance_instances"] = linked_router_appliance_instances
1268
1137
  __props__.__dict__["linked_vpc_network"] = linked_vpc_network
1269
1138
  __props__.__dict__["linked_vpn_tunnels"] = linked_vpn_tunnels
@@ -1296,7 +1165,6 @@ class Spoke(pulumi.CustomResource):
1296
1165
  hub: Optional[pulumi.Input[str]] = None,
1297
1166
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1298
1167
  linked_interconnect_attachments: Optional[pulumi.Input[Union['SpokeLinkedInterconnectAttachmentsArgs', 'SpokeLinkedInterconnectAttachmentsArgsDict']]] = None,
1299
- linked_producer_vpc_network: Optional[pulumi.Input[Union['SpokeLinkedProducerVpcNetworkArgs', 'SpokeLinkedProducerVpcNetworkArgsDict']]] = None,
1300
1168
  linked_router_appliance_instances: Optional[pulumi.Input[Union['SpokeLinkedRouterApplianceInstancesArgs', 'SpokeLinkedRouterApplianceInstancesArgsDict']]] = None,
1301
1169
  linked_vpc_network: Optional[pulumi.Input[Union['SpokeLinkedVpcNetworkArgs', 'SpokeLinkedVpcNetworkArgsDict']]] = None,
1302
1170
  linked_vpn_tunnels: Optional[pulumi.Input[Union['SpokeLinkedVpnTunnelsArgs', 'SpokeLinkedVpnTunnelsArgsDict']]] = None,
@@ -1323,8 +1191,6 @@ class Spoke(pulumi.CustomResource):
1323
1191
  Please refer to the field `effective_labels` for all of the labels present on the resource.
1324
1192
  :param pulumi.Input[Union['SpokeLinkedInterconnectAttachmentsArgs', 'SpokeLinkedInterconnectAttachmentsArgsDict']] linked_interconnect_attachments: A collection of VLAN attachment resources. These resources should be redundant attachments that all advertise the same prefixes to Google Cloud. Alternatively, in active/passive configurations, all attachments should be capable of advertising the same prefixes.
1325
1193
  Structure is documented below.
1326
- :param pulumi.Input[Union['SpokeLinkedProducerVpcNetworkArgs', 'SpokeLinkedProducerVpcNetworkArgsDict']] linked_producer_vpc_network: Producer VPC network that is associated with the spoke.
1327
- Structure is documented below.
1328
1194
  :param pulumi.Input[Union['SpokeLinkedRouterApplianceInstancesArgs', 'SpokeLinkedRouterApplianceInstancesArgsDict']] linked_router_appliance_instances: The URIs of linked Router appliance resources
1329
1195
  Structure is documented below.
1330
1196
  :param pulumi.Input[Union['SpokeLinkedVpcNetworkArgs', 'SpokeLinkedVpcNetworkArgsDict']] linked_vpc_network: VPC network that is associated with the spoke.
@@ -1354,7 +1220,6 @@ class Spoke(pulumi.CustomResource):
1354
1220
  __props__.__dict__["hub"] = hub
1355
1221
  __props__.__dict__["labels"] = labels
1356
1222
  __props__.__dict__["linked_interconnect_attachments"] = linked_interconnect_attachments
1357
- __props__.__dict__["linked_producer_vpc_network"] = linked_producer_vpc_network
1358
1223
  __props__.__dict__["linked_router_appliance_instances"] = linked_router_appliance_instances
1359
1224
  __props__.__dict__["linked_vpc_network"] = linked_vpc_network
1360
1225
  __props__.__dict__["linked_vpn_tunnels"] = linked_vpn_tunnels
@@ -1418,15 +1283,6 @@ class Spoke(pulumi.CustomResource):
1418
1283
  """
1419
1284
  return pulumi.get(self, "linked_interconnect_attachments")
1420
1285
 
1421
- @property
1422
- @pulumi.getter(name="linkedProducerVpcNetwork")
1423
- def linked_producer_vpc_network(self) -> pulumi.Output[Optional['outputs.SpokeLinkedProducerVpcNetwork']]:
1424
- """
1425
- Producer VPC network that is associated with the spoke.
1426
- Structure is documented below.
1427
- """
1428
- return pulumi.get(self, "linked_producer_vpc_network")
1429
-
1430
1286
  @property
1431
1287
  @pulumi.getter(name="linkedRouterApplianceInstances")
1432
1288
  def linked_router_appliance_instances(self) -> pulumi.Output[Optional['outputs.SpokeLinkedRouterApplianceInstances']]:
@@ -419,7 +419,7 @@ class ServerTlsPolicy(pulumi.CustomResource):
419
419
  server_certificate: Optional[pulumi.Input[Union['ServerTlsPolicyServerCertificateArgs', 'ServerTlsPolicyServerCertificateArgsDict']]] = None,
420
420
  __props__=None):
421
421
  """
422
- ServerTlsPolicy is a resource that specifies how a server should authenticate incoming requests. This resource itself does not affect configuration unless it is attached to a target HTTPS proxy or endpoint config selector resource.
422
+ ClientTlsPolicy is a resource that specifies how a client should authenticate connections to backends of a service. This resource itself does not affect configuration unless it is attached to a backend service resource.
423
423
 
424
424
  To get more information about ServerTlsPolicy, see:
425
425
 
@@ -582,7 +582,7 @@ class ServerTlsPolicy(pulumi.CustomResource):
582
582
  args: Optional[ServerTlsPolicyArgs] = None,
583
583
  opts: Optional[pulumi.ResourceOptions] = None):
584
584
  """
585
- ServerTlsPolicy is a resource that specifies how a server should authenticate incoming requests. This resource itself does not affect configuration unless it is attached to a target HTTPS proxy or endpoint config selector resource.
585
+ ClientTlsPolicy is a resource that specifies how a client should authenticate connections to backends of a service. This resource itself does not affect configuration unless it is attached to a backend service resource.
586
586
 
587
587
  To get more information about ServerTlsPolicy, see:
588
588
 
@@ -29,7 +29,7 @@ class FolderArgs:
29
29
  A folder’s display name must be unique amongst its siblings, e.g. no two folders with the same parent can share the same display name. The display name must start and end with a letter or digit, may contain letters, digits, spaces, hyphens and underscores and can be no longer than 30 characters.
30
30
  :param pulumi.Input[str] parent: The resource name of the parent Folder or Organization.
31
31
  Must be of the form `folders/{folder_id}` or `organizations/{org_id}`.
32
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored when empty. The field is immutable and causes resource replacement when mutated. This field is only set at create time and modifying this field after creation will trigger recreation. To apply tags to an existing resource, see the `tags.TagValue` resource.
32
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored when empty. The field is immutable and causes resource replacement when mutated.
33
33
  """
34
34
  pulumi.set(__self__, "display_name", display_name)
35
35
  pulumi.set(__self__, "parent", parent)
@@ -77,7 +77,7 @@ class FolderArgs:
77
77
  @pulumi.getter
78
78
  def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
79
79
  """
80
- A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored when empty. The field is immutable and causes resource replacement when mutated. This field is only set at create time and modifying this field after creation will trigger recreation. To apply tags to an existing resource, see the `tags.TagValue` resource.
80
+ A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored when empty. The field is immutable and causes resource replacement when mutated.
81
81
  """
82
82
  return pulumi.get(self, "tags")
83
83
 
@@ -108,7 +108,7 @@ class _FolderState:
108
108
  :param pulumi.Input[str] name: The resource name of the Folder. Its format is folders/{folder_id}.
109
109
  :param pulumi.Input[str] parent: The resource name of the parent Folder or Organization.
110
110
  Must be of the form `folders/{folder_id}` or `organizations/{org_id}`.
111
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored when empty. The field is immutable and causes resource replacement when mutated. This field is only set at create time and modifying this field after creation will trigger recreation. To apply tags to an existing resource, see the `tags.TagValue` resource.
111
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored when empty. The field is immutable and causes resource replacement when mutated.
112
112
  """
113
113
  if create_time is not None:
114
114
  pulumi.set(__self__, "create_time", create_time)
@@ -215,7 +215,7 @@ class _FolderState:
215
215
  @pulumi.getter
216
216
  def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
217
217
  """
218
- A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored when empty. The field is immutable and causes resource replacement when mutated. This field is only set at create time and modifying this field after creation will trigger recreation. To apply tags to an existing resource, see the `tags.TagValue` resource.
218
+ A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored when empty. The field is immutable and causes resource replacement when mutated.
219
219
  """
220
220
  return pulumi.get(self, "tags")
221
221
 
@@ -275,7 +275,7 @@ class Folder(pulumi.CustomResource):
275
275
  A folder’s display name must be unique amongst its siblings, e.g. no two folders with the same parent can share the same display name. The display name must start and end with a letter or digit, may contain letters, digits, spaces, hyphens and underscores and can be no longer than 30 characters.
276
276
  :param pulumi.Input[str] parent: The resource name of the parent Folder or Organization.
277
277
  Must be of the form `folders/{folder_id}` or `organizations/{org_id}`.
278
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored when empty. The field is immutable and causes resource replacement when mutated. This field is only set at create time and modifying this field after creation will trigger recreation. To apply tags to an existing resource, see the `tags.TagValue` resource.
278
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored when empty. The field is immutable and causes resource replacement when mutated.
279
279
  """
280
280
  ...
281
281
  @overload
@@ -392,7 +392,7 @@ class Folder(pulumi.CustomResource):
392
392
  :param pulumi.Input[str] name: The resource name of the Folder. Its format is folders/{folder_id}.
393
393
  :param pulumi.Input[str] parent: The resource name of the parent Folder or Organization.
394
394
  Must be of the form `folders/{folder_id}` or `organizations/{org_id}`.
395
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored when empty. The field is immutable and causes resource replacement when mutated. This field is only set at create time and modifying this field after creation will trigger recreation. To apply tags to an existing resource, see the `tags.TagValue` resource.
395
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored when empty. The field is immutable and causes resource replacement when mutated.
396
396
  """
397
397
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
398
398
 
@@ -468,7 +468,7 @@ class Folder(pulumi.CustomResource):
468
468
  @pulumi.getter
469
469
  def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
470
470
  """
471
- A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored when empty. The field is immutable and causes resource replacement when mutated. This field is only set at create time and modifying this field after creation will trigger recreation. To apply tags to an existing resource, see the `tags.TagValue` resource.
471
+ A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored when empty. The field is immutable and causes resource replacement when mutated.
472
472
  """
473
473
  return pulumi.get(self, "tags")
474
474
 
@@ -54,7 +54,7 @@ class ProjectArgs:
54
54
  this forces the project to be migrated to the newly specified
55
55
  organization.
56
56
  :param pulumi.Input[str] project_id: The project ID. Changing this forces a new project to be created.
57
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored when empty. The field is immutable and causes resource replacement when mutated. This field is only set at create time and modifying this field after creation will trigger recreation. To apply tags to an existing resource, see the `tags.TagValue` resource.
57
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored when empty. The field is immutable and causes resource replacement when mutated.
58
58
  """
59
59
  if auto_create_network is not None:
60
60
  pulumi.set(__self__, "auto_create_network", auto_create_network)
@@ -189,7 +189,7 @@ class ProjectArgs:
189
189
  @pulumi.getter
190
190
  def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
191
191
  """
192
- A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored when empty. The field is immutable and causes resource replacement when mutated. This field is only set at create time and modifying this field after creation will trigger recreation. To apply tags to an existing resource, see the `tags.TagValue` resource.
192
+ A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored when empty. The field is immutable and causes resource replacement when mutated.
193
193
  """
194
194
  return pulumi.get(self, "tags")
195
195
 
@@ -242,7 +242,7 @@ class _ProjectState:
242
242
  organization.
243
243
  :param pulumi.Input[str] project_id: The project ID. Changing this forces a new project to be created.
244
244
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource and default labels configured on the provider.
245
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored when empty. The field is immutable and causes resource replacement when mutated. This field is only set at create time and modifying this field after creation will trigger recreation. To apply tags to an existing resource, see the `tags.TagValue` resource.
245
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored when empty. The field is immutable and causes resource replacement when mutated.
246
246
  """
247
247
  if auto_create_network is not None:
248
248
  pulumi.set(__self__, "auto_create_network", auto_create_network)
@@ -419,7 +419,7 @@ class _ProjectState:
419
419
  @pulumi.getter
420
420
  def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
421
421
  """
422
- A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored when empty. The field is immutable and causes resource replacement when mutated. This field is only set at create time and modifying this field after creation will trigger recreation. To apply tags to an existing resource, see the `tags.TagValue` resource.
422
+ A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored when empty. The field is immutable and causes resource replacement when mutated.
423
423
  """
424
424
  return pulumi.get(self, "tags")
425
425
 
@@ -546,7 +546,7 @@ class Project(pulumi.CustomResource):
546
546
  this forces the project to be migrated to the newly specified
547
547
  organization.
548
548
  :param pulumi.Input[str] project_id: The project ID. Changing this forces a new project to be created.
549
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored when empty. The field is immutable and causes resource replacement when mutated. This field is only set at create time and modifying this field after creation will trigger recreation. To apply tags to an existing resource, see the `tags.TagValue` resource.
549
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored when empty. The field is immutable and causes resource replacement when mutated.
550
550
  """
551
551
  ...
552
552
  @overload
@@ -734,7 +734,7 @@ class Project(pulumi.CustomResource):
734
734
  organization.
735
735
  :param pulumi.Input[str] project_id: The project ID. Changing this forces a new project to be created.
736
736
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource and default labels configured on the provider.
737
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored when empty. The field is immutable and causes resource replacement when mutated. This field is only set at create time and modifying this field after creation will trigger recreation. To apply tags to an existing resource, see the `tags.TagValue` resource.
737
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored when empty. The field is immutable and causes resource replacement when mutated.
738
738
  """
739
739
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
740
740
 
@@ -860,7 +860,7 @@ class Project(pulumi.CustomResource):
860
860
  @pulumi.getter
861
861
  def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
862
862
  """
863
- A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored when empty. The field is immutable and causes resource replacement when mutated. This field is only set at create time and modifying this field after creation will trigger recreation. To apply tags to an existing resource, see the `tags.TagValue` resource.
863
+ A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored when empty. The field is immutable and causes resource replacement when mutated.
864
864
  """
865
865
  return pulumi.get(self, "tags")
866
866
 
@@ -435,7 +435,7 @@ if not MYPY:
435
435
  """
436
436
  rules: NotRequired[pulumi.Input[Sequence[pulumi.Input['PolicySpecRuleArgsDict']]]]
437
437
  """
438
- In Policies for boolean constraints, the following requirements apply: - There must be one and only one PolicyRule where condition is unset. - BooleanPolicyRules with conditions must set `enforced` to the opposite of the PolicyRule without a condition. - During policy evaluation, PolicyRules with conditions that are true for a target resource take precedence.
438
+ Up to 10 PolicyRules are allowed. In Policies for boolean constraints, the following requirements apply: - There must be one and only one PolicyRule where condition is unset. - BooleanPolicyRules with conditions must set `enforced` to the opposite of the PolicyRule without a condition. - During policy evaluation, PolicyRules with conditions that are true for a target resource take precedence.
439
439
  Structure is documented below.
440
440
  """
441
441
  update_time: NotRequired[pulumi.Input[str]]
@@ -459,7 +459,7 @@ class PolicySpecArgs:
459
459
  An opaque tag indicating the current version of the `Policy`, used for concurrency control. This field is ignored if used in a `CreatePolicy` request. When the `Policy` is returned from either a `GetPolicy` or a `ListPolicies` request, this `etag` indicates the version of the current `Policy` to use when executing a read-modify-write loop. When the `Policy` is returned from a `GetEffectivePolicy` request, the `etag` will be unset.
460
460
  :param pulumi.Input[bool] inherit_from_parent: Determines the inheritance behavior for this `Policy`. If `inherit_from_parent` is true, PolicyRules set higher up in the hierarchy (up to the closest root) are inherited and present in the effective policy. If it is false, then no rules are inherited, and this Policy becomes the new root for evaluation. This field can be set only for Policies which configure list constraints.
461
461
  :param pulumi.Input[bool] reset: Ignores policies set above this resource and restores the `constraint_default` enforcement behavior of the specific `Constraint` at this resource. This field can be set in policies for either list or boolean constraints. If set, `rules` must be empty and `inherit_from_parent` must be set to false.
462
- :param pulumi.Input[Sequence[pulumi.Input['PolicySpecRuleArgs']]] rules: In Policies for boolean constraints, the following requirements apply: - There must be one and only one PolicyRule where condition is unset. - BooleanPolicyRules with conditions must set `enforced` to the opposite of the PolicyRule without a condition. - During policy evaluation, PolicyRules with conditions that are true for a target resource take precedence.
462
+ :param pulumi.Input[Sequence[pulumi.Input['PolicySpecRuleArgs']]] rules: Up to 10 PolicyRules are allowed. In Policies for boolean constraints, the following requirements apply: - There must be one and only one PolicyRule where condition is unset. - BooleanPolicyRules with conditions must set `enforced` to the opposite of the PolicyRule without a condition. - During policy evaluation, PolicyRules with conditions that are true for a target resource take precedence.
463
463
  Structure is documented below.
464
464
  :param pulumi.Input[str] update_time: (Output)
465
465
  Output only. The time stamp this was previously updated. This represents the last time a call to `CreatePolicy` or `UpdatePolicy` was made for that `Policy`.
@@ -516,7 +516,7 @@ class PolicySpecArgs:
516
516
  @pulumi.getter
517
517
  def rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['PolicySpecRuleArgs']]]]:
518
518
  """
519
- In Policies for boolean constraints, the following requirements apply: - There must be one and only one PolicyRule where condition is unset. - BooleanPolicyRules with conditions must set `enforced` to the opposite of the PolicyRule without a condition. - During policy evaluation, PolicyRules with conditions that are true for a target resource take precedence.
519
+ Up to 10 PolicyRules are allowed. In Policies for boolean constraints, the following requirements apply: - There must be one and only one PolicyRule where condition is unset. - BooleanPolicyRules with conditions must set `enforced` to the opposite of the PolicyRule without a condition. - During policy evaluation, PolicyRules with conditions that are true for a target resource take precedence.
520
520
  Structure is documented below.
521
521
  """
522
522
  return pulumi.get(self, "rules")
@@ -345,7 +345,7 @@ class PolicySpec(dict):
345
345
  An opaque tag indicating the current version of the `Policy`, used for concurrency control. This field is ignored if used in a `CreatePolicy` request. When the `Policy` is returned from either a `GetPolicy` or a `ListPolicies` request, this `etag` indicates the version of the current `Policy` to use when executing a read-modify-write loop. When the `Policy` is returned from a `GetEffectivePolicy` request, the `etag` will be unset.
346
346
  :param bool inherit_from_parent: Determines the inheritance behavior for this `Policy`. If `inherit_from_parent` is true, PolicyRules set higher up in the hierarchy (up to the closest root) are inherited and present in the effective policy. If it is false, then no rules are inherited, and this Policy becomes the new root for evaluation. This field can be set only for Policies which configure list constraints.
347
347
  :param bool reset: Ignores policies set above this resource and restores the `constraint_default` enforcement behavior of the specific `Constraint` at this resource. This field can be set in policies for either list or boolean constraints. If set, `rules` must be empty and `inherit_from_parent` must be set to false.
348
- :param Sequence['PolicySpecRuleArgs'] rules: In Policies for boolean constraints, the following requirements apply: - There must be one and only one PolicyRule where condition is unset. - BooleanPolicyRules with conditions must set `enforced` to the opposite of the PolicyRule without a condition. - During policy evaluation, PolicyRules with conditions that are true for a target resource take precedence.
348
+ :param Sequence['PolicySpecRuleArgs'] rules: Up to 10 PolicyRules are allowed. In Policies for boolean constraints, the following requirements apply: - There must be one and only one PolicyRule where condition is unset. - BooleanPolicyRules with conditions must set `enforced` to the opposite of the PolicyRule without a condition. - During policy evaluation, PolicyRules with conditions that are true for a target resource take precedence.
349
349
  Structure is documented below.
350
350
  :param str update_time: (Output)
351
351
  Output only. The time stamp this was previously updated. This represents the last time a call to `CreatePolicy` or `UpdatePolicy` was made for that `Policy`.
@@ -390,7 +390,7 @@ class PolicySpec(dict):
390
390
  @pulumi.getter
391
391
  def rules(self) -> Optional[Sequence['outputs.PolicySpecRule']]:
392
392
  """
393
- In Policies for boolean constraints, the following requirements apply: - There must be one and only one PolicyRule where condition is unset. - BooleanPolicyRules with conditions must set `enforced` to the opposite of the PolicyRule without a condition. - During policy evaluation, PolicyRules with conditions that are true for a target resource take precedence.
393
+ Up to 10 PolicyRules are allowed. In Policies for boolean constraints, the following requirements apply: - There must be one and only one PolicyRule where condition is unset. - BooleanPolicyRules with conditions must set `enforced` to the opposite of the PolicyRule without a condition. - During policy evaluation, PolicyRules with conditions that are true for a target resource take precedence.
394
394
  Structure is documented below.
395
395
  """
396
396
  return pulumi.get(self, "rules")