pulumi-gcp 7.24.0a1716588893__py3-none-any.whl → 7.25.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 (179) hide show
  1. pulumi_gcp/__init__.py +88 -0
  2. pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +0 -64
  3. pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +0 -70
  4. pulumi_gcp/alloydb/backup.py +50 -42
  5. pulumi_gcp/alloydb/cluster.py +56 -48
  6. pulumi_gcp/alloydb/instance.py +50 -42
  7. pulumi_gcp/alloydb/user.py +32 -24
  8. pulumi_gcp/apigateway/api_config.py +0 -114
  9. pulumi_gcp/apigateway/gateway.py +0 -44
  10. pulumi_gcp/apigee/addons_config.py +14 -4
  11. pulumi_gcp/apigee/endpoint_attachment.py +4 -2
  12. pulumi_gcp/apigee/env_group.py +4 -2
  13. pulumi_gcp/apigee/environment.py +4 -2
  14. pulumi_gcp/apigee/instance.py +22 -8
  15. pulumi_gcp/apigee/keystores_aliases_self_signed_cert.py +26 -10
  16. pulumi_gcp/apigee/nat_address.py +10 -2
  17. pulumi_gcp/apigee/organization.py +18 -6
  18. pulumi_gcp/apigee/sync_authorization.py +8 -4
  19. pulumi_gcp/apigee/target_server.py +26 -10
  20. pulumi_gcp/appengine/_inputs.py +18 -0
  21. pulumi_gcp/appengine/domain_mapping.py +1 -1
  22. pulumi_gcp/appengine/outputs.py +16 -0
  23. pulumi_gcp/apphub/service.py +40 -20
  24. pulumi_gcp/apphub/service_project_attachment.py +16 -8
  25. pulumi_gcp/apphub/workload.py +0 -418
  26. pulumi_gcp/applicationintegration/auth_config.py +4 -2
  27. pulumi_gcp/artifactregistry/repository.py +14 -12
  28. pulumi_gcp/backupdisasterrecovery/management_server.py +4 -2
  29. pulumi_gcp/bigquery/_inputs.py +286 -2
  30. pulumi_gcp/bigquery/data_transfer_config.py +8 -4
  31. pulumi_gcp/bigquery/job.py +22 -16
  32. pulumi_gcp/bigquery/outputs.py +289 -2
  33. pulumi_gcp/bigquery/table.py +77 -35
  34. pulumi_gcp/certificateauthority/authority.py +10 -2
  35. pulumi_gcp/certificateauthority/certificate.py +8 -4
  36. pulumi_gcp/certificatemanager/certificate.py +84 -80
  37. pulumi_gcp/certificatemanager/certificate_issuance_config.py +32 -30
  38. pulumi_gcp/cloudbuild/bitbucket_server_config.py +12 -6
  39. pulumi_gcp/cloudbuild/trigger.py +22 -14
  40. pulumi_gcp/cloudbuild/worker_pool.py +12 -6
  41. pulumi_gcp/cloudbuildv2/connection.py +10 -2
  42. pulumi_gcp/cloudbuildv2/repository.py +10 -2
  43. pulumi_gcp/cloudfunctionsv2/function.py +110 -66
  44. pulumi_gcp/cloudids/endpoint.py +4 -2
  45. pulumi_gcp/cloudrun/_inputs.py +80 -4
  46. pulumi_gcp/cloudrun/outputs.py +137 -4
  47. pulumi_gcp/cloudrunv2/job.py +32 -20
  48. pulumi_gcp/cloudrunv2/service.py +28 -20
  49. pulumi_gcp/composer/user_workloads_secret.py +4 -4
  50. pulumi_gcp/compute/__init__.py +1 -0
  51. pulumi_gcp/compute/_inputs.py +398 -176
  52. pulumi_gcp/compute/forwarding_rule.py +225 -817
  53. pulumi_gcp/compute/get_subnetworks.py +157 -0
  54. pulumi_gcp/compute/global_forwarding_rule.py +0 -766
  55. pulumi_gcp/compute/instance_group.py +0 -100
  56. pulumi_gcp/compute/instance_group_membership.py +2 -2
  57. pulumi_gcp/compute/interconnect_attachment.py +82 -0
  58. pulumi_gcp/compute/network_endpoint.py +2 -2
  59. pulumi_gcp/compute/network_endpoint_list.py +2 -2
  60. pulumi_gcp/compute/outputs.py +609 -161
  61. pulumi_gcp/compute/packet_mirroring.py +4 -2
  62. pulumi_gcp/compute/region_security_policy_rule.py +4 -2
  63. pulumi_gcp/compute/region_ssl_certificate.py +0 -188
  64. pulumi_gcp/compute/region_ssl_policy.py +39 -40
  65. pulumi_gcp/compute/route.py +10 -2
  66. pulumi_gcp/compute/security_policy_rule.py +55 -1
  67. pulumi_gcp/compute/ssl_certificate.py +0 -166
  68. pulumi_gcp/compute/target_instance.py +4 -2
  69. pulumi_gcp/compute/vpn_gateway.py +12 -2
  70. pulumi_gcp/compute/vpn_tunnel.py +26 -16
  71. pulumi_gcp/container/_inputs.py +560 -0
  72. pulumi_gcp/container/outputs.py +1106 -51
  73. pulumi_gcp/databasemigrationservice/connection_profile.py +32 -16
  74. pulumi_gcp/datacatalog/policy_tag.py +4 -2
  75. pulumi_gcp/datafusion/instance.py +14 -12
  76. pulumi_gcp/dataplex/__init__.py +10 -0
  77. pulumi_gcp/dataplex/_inputs.py +160 -0
  78. pulumi_gcp/dataplex/aspect_type.py +1077 -0
  79. pulumi_gcp/dataplex/aspect_type_iam_binding.py +765 -0
  80. pulumi_gcp/dataplex/aspect_type_iam_member.py +765 -0
  81. pulumi_gcp/dataplex/aspect_type_iam_policy.py +604 -0
  82. pulumi_gcp/dataplex/asset.py +4 -2
  83. pulumi_gcp/dataplex/datascan.py +16 -14
  84. pulumi_gcp/dataplex/entry_group.py +722 -0
  85. pulumi_gcp/dataplex/entry_group_iam_binding.py +765 -0
  86. pulumi_gcp/dataplex/entry_group_iam_member.py +765 -0
  87. pulumi_gcp/dataplex/entry_group_iam_policy.py +604 -0
  88. pulumi_gcp/dataplex/get_aspect_type_iam_policy.py +164 -0
  89. pulumi_gcp/dataplex/get_entry_group_iam_policy.py +164 -0
  90. pulumi_gcp/dataplex/outputs.py +112 -0
  91. pulumi_gcp/datastore/data_store_index.py +4 -2
  92. pulumi_gcp/datastream/connection_profile.py +47 -0
  93. pulumi_gcp/datastream/private_connection.py +47 -0
  94. pulumi_gcp/datastream/stream.py +63 -10
  95. pulumi_gcp/diagflow/cx_test_case.py +4 -4
  96. pulumi_gcp/diagflow/entity_type.py +4 -2
  97. pulumi_gcp/diagflow/fulfillment.py +4 -2
  98. pulumi_gcp/diagflow/intent.py +8 -4
  99. pulumi_gcp/dns/get_managed_zone.py +3 -3
  100. pulumi_gcp/dns/managed_zone.py +7 -7
  101. pulumi_gcp/dns/outputs.py +2 -2
  102. pulumi_gcp/edgecontainer/node_pool.py +4 -2
  103. pulumi_gcp/edgecontainer/vpn_connection.py +4 -2
  104. pulumi_gcp/eventarc/channel.py +4 -2
  105. pulumi_gcp/eventarc/google_channel_config.py +4 -2
  106. pulumi_gcp/firebase/app_check_app_attest_config.py +16 -8
  107. pulumi_gcp/firebase/app_check_debug_token.py +8 -4
  108. pulumi_gcp/firebase/app_check_device_check_config.py +8 -4
  109. pulumi_gcp/firebase/app_check_play_integrity_config.py +16 -8
  110. pulumi_gcp/firebase/app_check_recaptcha_enterprise_config.py +8 -4
  111. pulumi_gcp/firebase/app_check_recaptcha_v3_config.py +8 -4
  112. pulumi_gcp/firebase/app_check_service_config.py +12 -6
  113. pulumi_gcp/firebase/database_instance.py +4 -2
  114. pulumi_gcp/firebaserules/release.py +0 -98
  115. pulumi_gcp/firestore/database.py +24 -20
  116. pulumi_gcp/firestore/document.py +24 -12
  117. pulumi_gcp/folder/access_approval_settings.py +4 -2
  118. pulumi_gcp/gkehub/membership_binding.py +14 -4
  119. pulumi_gcp/gkehub/membership_rbac_role_binding.py +8 -4
  120. pulumi_gcp/gkehub/namespace.py +4 -2
  121. pulumi_gcp/gkehub/scope_rbac_role_binding.py +4 -2
  122. pulumi_gcp/integrationconnectors/connection.py +4 -2
  123. pulumi_gcp/integrationconnectors/managed_zone.py +18 -6
  124. pulumi_gcp/kms/__init__.py +2 -0
  125. pulumi_gcp/kms/autokey_config.py +366 -0
  126. pulumi_gcp/kms/key_handle.py +548 -0
  127. pulumi_gcp/logging/folder_settings.py +12 -10
  128. pulumi_gcp/logging/linked_dataset.py +4 -2
  129. pulumi_gcp/logging/organization_settings.py +12 -10
  130. pulumi_gcp/logging/project_bucket_config.py +4 -2
  131. pulumi_gcp/looker/instance.py +12 -10
  132. pulumi_gcp/netapp/volume_replication.py +4 -2
  133. pulumi_gcp/netapp/volume_snapshot.py +4 -2
  134. pulumi_gcp/networkconnectivity/internal_range.py +14 -12
  135. pulumi_gcp/networksecurity/gateway_security_policy.py +16 -4
  136. pulumi_gcp/networksecurity/tls_inspection_policy.py +22 -4
  137. pulumi_gcp/networkservices/__init__.py +1 -0
  138. pulumi_gcp/networkservices/_inputs.py +245 -27
  139. pulumi_gcp/networkservices/gateway.py +12 -6
  140. pulumi_gcp/networkservices/lb_route_extension.py +663 -0
  141. pulumi_gcp/networkservices/lb_traffic_extension.py +28 -540
  142. pulumi_gcp/networkservices/outputs.py +251 -20
  143. pulumi_gcp/organizations/access_approval_settings.py +4 -2
  144. pulumi_gcp/orgpolicy/policy.py +2 -2
  145. pulumi_gcp/parallelstore/instance.py +20 -18
  146. pulumi_gcp/projects/access_approval_settings.py +4 -2
  147. pulumi_gcp/pubsub/_inputs.py +16 -0
  148. pulumi_gcp/pubsub/outputs.py +25 -0
  149. pulumi_gcp/pubsub/schema.py +4 -2
  150. pulumi_gcp/pubsub/subscription.py +102 -66
  151. pulumi_gcp/pubsub/topic.py +4 -2
  152. pulumi_gcp/pulumi-plugin.json +1 -1
  153. pulumi_gcp/redis/cluster.py +30 -28
  154. pulumi_gcp/redis/instance.py +4 -2
  155. pulumi_gcp/secretmanager/secret.py +4 -2
  156. pulumi_gcp/securesourcemanager/instance.py +20 -8
  157. pulumi_gcp/securitycenter/instance_iam_binding.py +14 -12
  158. pulumi_gcp/securitycenter/instance_iam_member.py +14 -12
  159. pulumi_gcp/securitycenter/instance_iam_policy.py +14 -12
  160. pulumi_gcp/serviceaccount/key.py +2 -2
  161. pulumi_gcp/sql/database_instance.py +4 -2
  162. pulumi_gcp/sql/user.py +4 -4
  163. pulumi_gcp/storage/get_project_service_account.py +4 -2
  164. pulumi_gcp/storage/insights_report_config.py +12 -10
  165. pulumi_gcp/storage/notification.py +18 -16
  166. pulumi_gcp/storage/transfer_agent_pool.py +4 -2
  167. pulumi_gcp/storage/transfer_job.py +14 -4
  168. pulumi_gcp/tpu/_inputs.py +2 -2
  169. pulumi_gcp/tpu/outputs.py +2 -2
  170. pulumi_gcp/tpu/v2_vm.py +10 -6
  171. pulumi_gcp/vertex/ai_endpoint.py +24 -22
  172. pulumi_gcp/vertex/ai_index_endpoint.py +20 -18
  173. pulumi_gcp/vertex/ai_tensorboard.py +14 -12
  174. pulumi_gcp/vmwareengine/external_address.py +4 -2
  175. pulumi_gcp/vmwareengine/network.py +8 -4
  176. {pulumi_gcp-7.24.0a1716588893.dist-info → pulumi_gcp-7.25.0.dist-info}/METADATA +1 -1
  177. {pulumi_gcp-7.24.0a1716588893.dist-info → pulumi_gcp-7.25.0.dist-info}/RECORD +179 -165
  178. {pulumi_gcp-7.24.0a1716588893.dist-info → pulumi_gcp-7.25.0.dist-info}/WHEEL +0 -0
  179. {pulumi_gcp-7.24.0a1716588893.dist-info → pulumi_gcp-7.25.0.dist-info}/top_level.txt +0 -0
@@ -73,6 +73,9 @@ __all__ = [
73
73
  'HttpRouteRuleMatchHeader',
74
74
  'HttpRouteRuleMatchHeaderRangeMatch',
75
75
  'HttpRouteRuleMatchQueryParameter',
76
+ 'LbRouteExtensionExtensionChain',
77
+ 'LbRouteExtensionExtensionChainExtension',
78
+ 'LbRouteExtensionExtensionChainMatchCondition',
76
79
  'LbTrafficExtensionExtensionChain',
77
80
  'LbTrafficExtensionExtensionChainExtension',
78
81
  'LbTrafficExtensionExtensionChainMatchCondition',
@@ -4500,6 +4503,232 @@ class HttpRouteRuleMatchQueryParameter(dict):
4500
4503
  return pulumi.get(self, "regex_match")
4501
4504
 
4502
4505
 
4506
+ @pulumi.output_type
4507
+ class LbRouteExtensionExtensionChain(dict):
4508
+ @staticmethod
4509
+ def __key_warning(key: str):
4510
+ suggest = None
4511
+ if key == "matchCondition":
4512
+ suggest = "match_condition"
4513
+
4514
+ if suggest:
4515
+ pulumi.log.warn(f"Key '{key}' not found in LbRouteExtensionExtensionChain. Access the value via the '{suggest}' property getter instead.")
4516
+
4517
+ def __getitem__(self, key: str) -> Any:
4518
+ LbRouteExtensionExtensionChain.__key_warning(key)
4519
+ return super().__getitem__(key)
4520
+
4521
+ def get(self, key: str, default = None) -> Any:
4522
+ LbRouteExtensionExtensionChain.__key_warning(key)
4523
+ return super().get(key, default)
4524
+
4525
+ def __init__(__self__, *,
4526
+ extensions: Sequence['outputs.LbRouteExtensionExtensionChainExtension'],
4527
+ match_condition: 'outputs.LbRouteExtensionExtensionChainMatchCondition',
4528
+ name: str):
4529
+ """
4530
+ :param Sequence['LbRouteExtensionExtensionChainExtensionArgs'] extensions: A set of extensions to execute for the matching request.
4531
+ At least one extension is required. Up to 3 extensions can be defined for each extension chain for
4532
+ LbTrafficExtension resource. LbRouteExtension chains are limited to 1 extension per extension chain.
4533
+ Structure is documented below.
4534
+ :param 'LbRouteExtensionExtensionChainMatchConditionArgs' match_condition: Conditions under which this chain is invoked for a request.
4535
+ Structure is documented below.
4536
+ :param str name: The name for this extension chain. The name is logged as part of the HTTP request logs.
4537
+ The name must conform with RFC-1034, is restricted to lower-cased letters, numbers and hyphens,
4538
+ and can have a maximum length of 63 characters. Additionally, the first character must be a letter
4539
+ and the last character must be a letter or a number.
4540
+ """
4541
+ pulumi.set(__self__, "extensions", extensions)
4542
+ pulumi.set(__self__, "match_condition", match_condition)
4543
+ pulumi.set(__self__, "name", name)
4544
+
4545
+ @property
4546
+ @pulumi.getter
4547
+ def extensions(self) -> Sequence['outputs.LbRouteExtensionExtensionChainExtension']:
4548
+ """
4549
+ A set of extensions to execute for the matching request.
4550
+ At least one extension is required. Up to 3 extensions can be defined for each extension chain for
4551
+ LbTrafficExtension resource. LbRouteExtension chains are limited to 1 extension per extension chain.
4552
+ Structure is documented below.
4553
+ """
4554
+ return pulumi.get(self, "extensions")
4555
+
4556
+ @property
4557
+ @pulumi.getter(name="matchCondition")
4558
+ def match_condition(self) -> 'outputs.LbRouteExtensionExtensionChainMatchCondition':
4559
+ """
4560
+ Conditions under which this chain is invoked for a request.
4561
+ Structure is documented below.
4562
+ """
4563
+ return pulumi.get(self, "match_condition")
4564
+
4565
+ @property
4566
+ @pulumi.getter
4567
+ def name(self) -> str:
4568
+ """
4569
+ The name for this extension chain. The name is logged as part of the HTTP request logs.
4570
+ The name must conform with RFC-1034, is restricted to lower-cased letters, numbers and hyphens,
4571
+ and can have a maximum length of 63 characters. Additionally, the first character must be a letter
4572
+ and the last character must be a letter or a number.
4573
+ """
4574
+ return pulumi.get(self, "name")
4575
+
4576
+
4577
+ @pulumi.output_type
4578
+ class LbRouteExtensionExtensionChainExtension(dict):
4579
+ @staticmethod
4580
+ def __key_warning(key: str):
4581
+ suggest = None
4582
+ if key == "failOpen":
4583
+ suggest = "fail_open"
4584
+ elif key == "forwardHeaders":
4585
+ suggest = "forward_headers"
4586
+
4587
+ if suggest:
4588
+ pulumi.log.warn(f"Key '{key}' not found in LbRouteExtensionExtensionChainExtension. Access the value via the '{suggest}' property getter instead.")
4589
+
4590
+ def __getitem__(self, key: str) -> Any:
4591
+ LbRouteExtensionExtensionChainExtension.__key_warning(key)
4592
+ return super().__getitem__(key)
4593
+
4594
+ def get(self, key: str, default = None) -> Any:
4595
+ LbRouteExtensionExtensionChainExtension.__key_warning(key)
4596
+ return super().get(key, default)
4597
+
4598
+ def __init__(__self__, *,
4599
+ name: str,
4600
+ service: str,
4601
+ authority: Optional[str] = None,
4602
+ fail_open: Optional[bool] = None,
4603
+ forward_headers: Optional[Sequence[str]] = None,
4604
+ timeout: Optional[str] = None):
4605
+ """
4606
+ :param str name: The name for this extension. The name is logged as part of the HTTP request logs.
4607
+ The name must conform with RFC-1034, is restricted to lower-cased letters, numbers and hyphens,
4608
+ and can have a maximum length of 63 characters. Additionally, the first character must be a letter
4609
+ and the last a letter or a number.
4610
+ :param str service: The reference to the service that runs the extension. Must be a reference to a backend service
4611
+ :param str authority: The :authority header in the gRPC request sent from Envoy to the extension service.
4612
+ :param bool fail_open: Determines how the proxy behaves if the call to the extension fails or times out.
4613
+ When set to TRUE, request or response processing continues without error.
4614
+ Any subsequent extensions in the extension chain are also executed.
4615
+ When set to FALSE: * If response headers have not been delivered to the downstream client,
4616
+ a generic 500 error is returned to the client. The error response can be tailored by
4617
+ configuring a custom error response in the load balancer.
4618
+ :param Sequence[str] forward_headers: List of the HTTP headers to forward to the extension (from the client or backend).
4619
+ If omitted, all headers are sent. Each element is a string indicating the header name.
4620
+
4621
+ - - -
4622
+ :param str timeout: Specifies the timeout for each individual message on the stream. The timeout must be between 10-1000 milliseconds.
4623
+ A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
4624
+ """
4625
+ pulumi.set(__self__, "name", name)
4626
+ pulumi.set(__self__, "service", service)
4627
+ if authority is not None:
4628
+ pulumi.set(__self__, "authority", authority)
4629
+ if fail_open is not None:
4630
+ pulumi.set(__self__, "fail_open", fail_open)
4631
+ if forward_headers is not None:
4632
+ pulumi.set(__self__, "forward_headers", forward_headers)
4633
+ if timeout is not None:
4634
+ pulumi.set(__self__, "timeout", timeout)
4635
+
4636
+ @property
4637
+ @pulumi.getter
4638
+ def name(self) -> str:
4639
+ """
4640
+ The name for this extension. The name is logged as part of the HTTP request logs.
4641
+ The name must conform with RFC-1034, is restricted to lower-cased letters, numbers and hyphens,
4642
+ and can have a maximum length of 63 characters. Additionally, the first character must be a letter
4643
+ and the last a letter or a number.
4644
+ """
4645
+ return pulumi.get(self, "name")
4646
+
4647
+ @property
4648
+ @pulumi.getter
4649
+ def service(self) -> str:
4650
+ """
4651
+ The reference to the service that runs the extension. Must be a reference to a backend service
4652
+ """
4653
+ return pulumi.get(self, "service")
4654
+
4655
+ @property
4656
+ @pulumi.getter
4657
+ def authority(self) -> Optional[str]:
4658
+ """
4659
+ The :authority header in the gRPC request sent from Envoy to the extension service.
4660
+ """
4661
+ return pulumi.get(self, "authority")
4662
+
4663
+ @property
4664
+ @pulumi.getter(name="failOpen")
4665
+ def fail_open(self) -> Optional[bool]:
4666
+ """
4667
+ Determines how the proxy behaves if the call to the extension fails or times out.
4668
+ When set to TRUE, request or response processing continues without error.
4669
+ Any subsequent extensions in the extension chain are also executed.
4670
+ When set to FALSE: * If response headers have not been delivered to the downstream client,
4671
+ a generic 500 error is returned to the client. The error response can be tailored by
4672
+ configuring a custom error response in the load balancer.
4673
+ """
4674
+ return pulumi.get(self, "fail_open")
4675
+
4676
+ @property
4677
+ @pulumi.getter(name="forwardHeaders")
4678
+ def forward_headers(self) -> Optional[Sequence[str]]:
4679
+ """
4680
+ List of the HTTP headers to forward to the extension (from the client or backend).
4681
+ If omitted, all headers are sent. Each element is a string indicating the header name.
4682
+
4683
+ - - -
4684
+ """
4685
+ return pulumi.get(self, "forward_headers")
4686
+
4687
+ @property
4688
+ @pulumi.getter
4689
+ def timeout(self) -> Optional[str]:
4690
+ """
4691
+ Specifies the timeout for each individual message on the stream. The timeout must be between 10-1000 milliseconds.
4692
+ A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
4693
+ """
4694
+ return pulumi.get(self, "timeout")
4695
+
4696
+
4697
+ @pulumi.output_type
4698
+ class LbRouteExtensionExtensionChainMatchCondition(dict):
4699
+ @staticmethod
4700
+ def __key_warning(key: str):
4701
+ suggest = None
4702
+ if key == "celExpression":
4703
+ suggest = "cel_expression"
4704
+
4705
+ if suggest:
4706
+ pulumi.log.warn(f"Key '{key}' not found in LbRouteExtensionExtensionChainMatchCondition. Access the value via the '{suggest}' property getter instead.")
4707
+
4708
+ def __getitem__(self, key: str) -> Any:
4709
+ LbRouteExtensionExtensionChainMatchCondition.__key_warning(key)
4710
+ return super().__getitem__(key)
4711
+
4712
+ def get(self, key: str, default = None) -> Any:
4713
+ LbRouteExtensionExtensionChainMatchCondition.__key_warning(key)
4714
+ return super().get(key, default)
4715
+
4716
+ def __init__(__self__, *,
4717
+ cel_expression: str):
4718
+ """
4719
+ :param str cel_expression: A Common Expression Language (CEL) expression that is used to match requests for which the extension chain is executed.
4720
+ """
4721
+ pulumi.set(__self__, "cel_expression", cel_expression)
4722
+
4723
+ @property
4724
+ @pulumi.getter(name="celExpression")
4725
+ def cel_expression(self) -> str:
4726
+ """
4727
+ A Common Expression Language (CEL) expression that is used to match requests for which the extension chain is executed.
4728
+ """
4729
+ return pulumi.get(self, "cel_expression")
4730
+
4731
+
4503
4732
  @pulumi.output_type
4504
4733
  class LbTrafficExtensionExtensionChain(dict):
4505
4734
  @staticmethod
@@ -4595,22 +4824,20 @@ class LbTrafficExtensionExtensionChainExtension(dict):
4595
4824
  return super().get(key, default)
4596
4825
 
4597
4826
  def __init__(__self__, *,
4598
- authority: str,
4599
4827
  name: str,
4600
4828
  service: str,
4601
- timeout: str,
4829
+ authority: Optional[str] = None,
4602
4830
  fail_open: Optional[bool] = None,
4603
4831
  forward_headers: Optional[Sequence[str]] = None,
4604
- supported_events: Optional[Sequence[str]] = None):
4832
+ supported_events: Optional[Sequence[str]] = None,
4833
+ timeout: Optional[str] = None):
4605
4834
  """
4606
- :param str authority: The :authority header in the gRPC request sent from Envoy to the extension service.
4607
4835
  :param str name: The name for this extension. The name is logged as part of the HTTP request logs.
4608
4836
  The name must conform with RFC-1034, is restricted to lower-cased letters, numbers and hyphens,
4609
4837
  and can have a maximum length of 63 characters. Additionally, the first character must be a letter
4610
4838
  and the last a letter or a number.
4611
4839
  :param str service: The reference to the service that runs the extension. Must be a reference to a backend service
4612
- :param str timeout: Specifies the timeout for each individual message on the stream. The timeout must be between 10-1000 milliseconds.
4613
- A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
4840
+ :param str authority: The :authority header in the gRPC request sent from Envoy to the extension service.
4614
4841
  :param bool fail_open: Determines how the proxy behaves if the call to the extension fails or times out.
4615
4842
  When set to TRUE, request or response processing continues without error.
4616
4843
  Any subsequent extensions in the extension chain are also executed.
@@ -4625,25 +4852,21 @@ class LbTrafficExtensionExtensionChainExtension(dict):
4625
4852
  `RESPONSE_BODY`, `RESPONSE_BODY` and `RESPONSE_BODY`.
4626
4853
 
4627
4854
  - - -
4855
+ :param str timeout: Specifies the timeout for each individual message on the stream. The timeout must be between 10-1000 milliseconds.
4856
+ A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
4628
4857
  """
4629
- pulumi.set(__self__, "authority", authority)
4630
4858
  pulumi.set(__self__, "name", name)
4631
4859
  pulumi.set(__self__, "service", service)
4632
- pulumi.set(__self__, "timeout", timeout)
4860
+ if authority is not None:
4861
+ pulumi.set(__self__, "authority", authority)
4633
4862
  if fail_open is not None:
4634
4863
  pulumi.set(__self__, "fail_open", fail_open)
4635
4864
  if forward_headers is not None:
4636
4865
  pulumi.set(__self__, "forward_headers", forward_headers)
4637
4866
  if supported_events is not None:
4638
4867
  pulumi.set(__self__, "supported_events", supported_events)
4639
-
4640
- @property
4641
- @pulumi.getter
4642
- def authority(self) -> str:
4643
- """
4644
- The :authority header in the gRPC request sent from Envoy to the extension service.
4645
- """
4646
- return pulumi.get(self, "authority")
4868
+ if timeout is not None:
4869
+ pulumi.set(__self__, "timeout", timeout)
4647
4870
 
4648
4871
  @property
4649
4872
  @pulumi.getter
@@ -4666,12 +4889,11 @@ class LbTrafficExtensionExtensionChainExtension(dict):
4666
4889
 
4667
4890
  @property
4668
4891
  @pulumi.getter
4669
- def timeout(self) -> str:
4892
+ def authority(self) -> Optional[str]:
4670
4893
  """
4671
- Specifies the timeout for each individual message on the stream. The timeout must be between 10-1000 milliseconds.
4672
- A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
4894
+ The :authority header in the gRPC request sent from Envoy to the extension service.
4673
4895
  """
4674
- return pulumi.get(self, "timeout")
4896
+ return pulumi.get(self, "authority")
4675
4897
 
4676
4898
  @property
4677
4899
  @pulumi.getter(name="failOpen")
@@ -4708,6 +4930,15 @@ class LbTrafficExtensionExtensionChainExtension(dict):
4708
4930
  """
4709
4931
  return pulumi.get(self, "supported_events")
4710
4932
 
4933
+ @property
4934
+ @pulumi.getter
4935
+ def timeout(self) -> Optional[str]:
4936
+ """
4937
+ Specifies the timeout for each individual message on the stream. The timeout must be between 10-1000 milliseconds.
4938
+ A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
4939
+ """
4940
+ return pulumi.get(self, "timeout")
4941
+
4711
4942
 
4712
4943
  @pulumi.output_type
4713
4944
  class LbTrafficExtensionExtensionChainMatchCondition(dict):
@@ -324,7 +324,8 @@ class AccessApprovalSettings(pulumi.CustomResource):
324
324
  active_key_version=crypto_key_version.name,
325
325
  enrolled_services=[gcp.organizations.AccessApprovalSettingsEnrolledServiceArgs(
326
326
  cloud_product="all",
327
- )])
327
+ )],
328
+ opts=pulumi.ResourceOptions(depends_on=[iam]))
328
329
  ```
329
330
 
330
331
  ## Import
@@ -428,7 +429,8 @@ class AccessApprovalSettings(pulumi.CustomResource):
428
429
  active_key_version=crypto_key_version.name,
429
430
  enrolled_services=[gcp.organizations.AccessApprovalSettingsEnrolledServiceArgs(
430
431
  cloud_product="all",
431
- )])
432
+ )],
433
+ opts=pulumi.ResourceOptions(depends_on=[iam]))
432
434
  ```
433
435
 
434
436
  ## Import
@@ -297,7 +297,7 @@ class Policy(pulumi.CustomResource):
297
297
  import pulumi_gcp as gcp
298
298
 
299
299
  constraint = gcp.orgpolicy.CustomConstraint("constraint",
300
- name="custom.disableGkeAutoUpgrade_87786",
300
+ name="custom.disableGkeAutoUpgrade_2067",
301
301
  parent="organizations/123456789",
302
302
  display_name="Disable GKE auto upgrade",
303
303
  description="Only allow GKE NodePool resource to be created or updated if AutoUpgrade is not enabled where this custom constraint is enforced.",
@@ -449,7 +449,7 @@ class Policy(pulumi.CustomResource):
449
449
  import pulumi_gcp as gcp
450
450
 
451
451
  constraint = gcp.orgpolicy.CustomConstraint("constraint",
452
- name="custom.disableGkeAutoUpgrade_87786",
452
+ name="custom.disableGkeAutoUpgrade_2067",
453
453
  parent="organizations/123456789",
454
454
  display_name="Disable GKE auto upgrade",
455
455
  description="Only allow GKE NodePool resource to be created or updated if AutoUpgrade is not enabled where this custom constraint is enforced.",
@@ -607,15 +607,6 @@ class Instance(pulumi.CustomResource):
607
607
  name="network",
608
608
  auto_create_subnetworks=True,
609
609
  mtu=8896)
610
- instance = gcp.parallelstore.Instance("instance",
611
- instance_id="instance",
612
- location="us-central1-a",
613
- description="test instance",
614
- capacity_gib="12000",
615
- network=network.name,
616
- labels={
617
- "test": "value",
618
- })
619
610
  # Create an IP address
620
611
  private_ip_alloc = gcp.compute.GlobalAddress("private_ip_alloc",
621
612
  name="address",
@@ -628,6 +619,16 @@ class Instance(pulumi.CustomResource):
628
619
  network=network.id,
629
620
  service="servicenetworking.googleapis.com",
630
621
  reserved_peering_ranges=[private_ip_alloc.name])
622
+ instance = gcp.parallelstore.Instance("instance",
623
+ instance_id="instance",
624
+ location="us-central1-a",
625
+ description="test instance",
626
+ capacity_gib="12000",
627
+ network=network.name,
628
+ labels={
629
+ "test": "value",
630
+ },
631
+ opts=pulumi.ResourceOptions(depends_on=[default]))
631
632
  ```
632
633
 
633
634
  ## Import
@@ -717,15 +718,6 @@ class Instance(pulumi.CustomResource):
717
718
  name="network",
718
719
  auto_create_subnetworks=True,
719
720
  mtu=8896)
720
- instance = gcp.parallelstore.Instance("instance",
721
- instance_id="instance",
722
- location="us-central1-a",
723
- description="test instance",
724
- capacity_gib="12000",
725
- network=network.name,
726
- labels={
727
- "test": "value",
728
- })
729
721
  # Create an IP address
730
722
  private_ip_alloc = gcp.compute.GlobalAddress("private_ip_alloc",
731
723
  name="address",
@@ -738,6 +730,16 @@ class Instance(pulumi.CustomResource):
738
730
  network=network.id,
739
731
  service="servicenetworking.googleapis.com",
740
732
  reserved_peering_ranges=[private_ip_alloc.name])
733
+ instance = gcp.parallelstore.Instance("instance",
734
+ instance_id="instance",
735
+ location="us-central1-a",
736
+ description="test instance",
737
+ capacity_gib="12000",
738
+ network=network.name,
739
+ labels={
740
+ "test": "value",
741
+ },
742
+ opts=pulumi.ResourceOptions(depends_on=[default]))
741
743
  ```
742
744
 
743
745
  ## Import
@@ -366,7 +366,8 @@ class AccessApprovalSettings(pulumi.CustomResource):
366
366
  active_key_version=crypto_key_version.name,
367
367
  enrolled_services=[gcp.projects.AccessApprovalSettingsEnrolledServiceArgs(
368
368
  cloud_product="all",
369
- )])
369
+ )],
370
+ opts=pulumi.ResourceOptions(depends_on=[iam]))
370
371
  ```
371
372
 
372
373
  ## Import
@@ -463,7 +464,8 @@ class AccessApprovalSettings(pulumi.CustomResource):
463
464
  active_key_version=crypto_key_version.name,
464
465
  enrolled_services=[gcp.projects.AccessApprovalSettingsEnrolledServiceArgs(
465
466
  cloud_product="all",
466
- )])
467
+ )],
468
+ opts=pulumi.ResourceOptions(depends_on=[iam]))
467
469
  ```
468
470
 
469
471
  ## Import
@@ -387,6 +387,7 @@ class SubscriptionCloudStorageConfigArgs:
387
387
  def __init__(__self__, *,
388
388
  bucket: pulumi.Input[str],
389
389
  avro_config: Optional[pulumi.Input['SubscriptionCloudStorageConfigAvroConfigArgs']] = None,
390
+ filename_datetime_format: Optional[pulumi.Input[str]] = None,
390
391
  filename_prefix: Optional[pulumi.Input[str]] = None,
391
392
  filename_suffix: Optional[pulumi.Input[str]] = None,
392
393
  max_bytes: Optional[pulumi.Input[int]] = None,
@@ -396,6 +397,7 @@ class SubscriptionCloudStorageConfigArgs:
396
397
  :param pulumi.Input[str] bucket: User-provided name for the Cloud Storage bucket. The bucket must be created by the user. The bucket name must be without any prefix like "gs://".
397
398
  :param pulumi.Input['SubscriptionCloudStorageConfigAvroConfigArgs'] avro_config: If set, message data will be written to Cloud Storage in Avro format.
398
399
  Structure is documented below.
400
+ :param pulumi.Input[str] filename_datetime_format: User-provided format string specifying how to represent datetimes in Cloud Storage filenames.
399
401
  :param pulumi.Input[str] filename_prefix: User-provided prefix for Cloud Storage filename.
400
402
  :param pulumi.Input[str] filename_suffix: User-provided suffix for Cloud Storage filename. Must not end in "/".
401
403
  :param pulumi.Input[int] max_bytes: The maximum bytes that can be written to a Cloud Storage file before a new file is created. Min 1 KB, max 10 GiB.
@@ -409,6 +411,8 @@ class SubscriptionCloudStorageConfigArgs:
409
411
  pulumi.set(__self__, "bucket", bucket)
410
412
  if avro_config is not None:
411
413
  pulumi.set(__self__, "avro_config", avro_config)
414
+ if filename_datetime_format is not None:
415
+ pulumi.set(__self__, "filename_datetime_format", filename_datetime_format)
412
416
  if filename_prefix is not None:
413
417
  pulumi.set(__self__, "filename_prefix", filename_prefix)
414
418
  if filename_suffix is not None:
@@ -445,6 +449,18 @@ class SubscriptionCloudStorageConfigArgs:
445
449
  def avro_config(self, value: Optional[pulumi.Input['SubscriptionCloudStorageConfigAvroConfigArgs']]):
446
450
  pulumi.set(self, "avro_config", value)
447
451
 
452
+ @property
453
+ @pulumi.getter(name="filenameDatetimeFormat")
454
+ def filename_datetime_format(self) -> Optional[pulumi.Input[str]]:
455
+ """
456
+ User-provided format string specifying how to represent datetimes in Cloud Storage filenames.
457
+ """
458
+ return pulumi.get(self, "filename_datetime_format")
459
+
460
+ @filename_datetime_format.setter
461
+ def filename_datetime_format(self, value: Optional[pulumi.Input[str]]):
462
+ pulumi.set(self, "filename_datetime_format", value)
463
+
448
464
  @property
449
465
  @pulumi.getter(name="filenamePrefix")
450
466
  def filename_prefix(self) -> Optional[pulumi.Input[str]]:
@@ -420,6 +420,8 @@ class SubscriptionCloudStorageConfig(dict):
420
420
  suggest = None
421
421
  if key == "avroConfig":
422
422
  suggest = "avro_config"
423
+ elif key == "filenameDatetimeFormat":
424
+ suggest = "filename_datetime_format"
423
425
  elif key == "filenamePrefix":
424
426
  suggest = "filename_prefix"
425
427
  elif key == "filenameSuffix":
@@ -443,6 +445,7 @@ class SubscriptionCloudStorageConfig(dict):
443
445
  def __init__(__self__, *,
444
446
  bucket: str,
445
447
  avro_config: Optional['outputs.SubscriptionCloudStorageConfigAvroConfig'] = None,
448
+ filename_datetime_format: Optional[str] = None,
446
449
  filename_prefix: Optional[str] = None,
447
450
  filename_suffix: Optional[str] = None,
448
451
  max_bytes: Optional[int] = None,
@@ -452,6 +455,7 @@ class SubscriptionCloudStorageConfig(dict):
452
455
  :param str bucket: User-provided name for the Cloud Storage bucket. The bucket must be created by the user. The bucket name must be without any prefix like "gs://".
453
456
  :param 'SubscriptionCloudStorageConfigAvroConfigArgs' avro_config: If set, message data will be written to Cloud Storage in Avro format.
454
457
  Structure is documented below.
458
+ :param str filename_datetime_format: User-provided format string specifying how to represent datetimes in Cloud Storage filenames.
455
459
  :param str filename_prefix: User-provided prefix for Cloud Storage filename.
456
460
  :param str filename_suffix: User-provided suffix for Cloud Storage filename. Must not end in "/".
457
461
  :param int max_bytes: The maximum bytes that can be written to a Cloud Storage file before a new file is created. Min 1 KB, max 10 GiB.
@@ -465,6 +469,8 @@ class SubscriptionCloudStorageConfig(dict):
465
469
  pulumi.set(__self__, "bucket", bucket)
466
470
  if avro_config is not None:
467
471
  pulumi.set(__self__, "avro_config", avro_config)
472
+ if filename_datetime_format is not None:
473
+ pulumi.set(__self__, "filename_datetime_format", filename_datetime_format)
468
474
  if filename_prefix is not None:
469
475
  pulumi.set(__self__, "filename_prefix", filename_prefix)
470
476
  if filename_suffix is not None:
@@ -493,6 +499,14 @@ class SubscriptionCloudStorageConfig(dict):
493
499
  """
494
500
  return pulumi.get(self, "avro_config")
495
501
 
502
+ @property
503
+ @pulumi.getter(name="filenameDatetimeFormat")
504
+ def filename_datetime_format(self) -> Optional[str]:
505
+ """
506
+ User-provided format string specifying how to represent datetimes in Cloud Storage filenames.
507
+ """
508
+ return pulumi.get(self, "filename_datetime_format")
509
+
496
510
  @property
497
511
  @pulumi.getter(name="filenamePrefix")
498
512
  def filename_prefix(self) -> Optional[str]:
@@ -1353,6 +1367,7 @@ class GetSubscriptionCloudStorageConfigResult(dict):
1353
1367
  def __init__(__self__, *,
1354
1368
  avro_configs: Sequence['outputs.GetSubscriptionCloudStorageConfigAvroConfigResult'],
1355
1369
  bucket: str,
1370
+ filename_datetime_format: str,
1356
1371
  filename_prefix: str,
1357
1372
  filename_suffix: str,
1358
1373
  max_bytes: int,
@@ -1361,6 +1376,7 @@ class GetSubscriptionCloudStorageConfigResult(dict):
1361
1376
  """
1362
1377
  :param Sequence['GetSubscriptionCloudStorageConfigAvroConfigArgs'] avro_configs: If set, message data will be written to Cloud Storage in Avro format.
1363
1378
  :param str bucket: User-provided name for the Cloud Storage bucket. The bucket must be created by the user. The bucket name must be without any prefix like "gs://".
1379
+ :param str filename_datetime_format: User-provided format string specifying how to represent datetimes in Cloud Storage filenames.
1364
1380
  :param str filename_prefix: User-provided prefix for Cloud Storage filename.
1365
1381
  :param str filename_suffix: User-provided suffix for Cloud Storage filename. Must not end in "/".
1366
1382
  :param int max_bytes: The maximum bytes that can be written to a Cloud Storage file before a new file is created. Min 1 KB, max 10 GiB.
@@ -1372,6 +1388,7 @@ class GetSubscriptionCloudStorageConfigResult(dict):
1372
1388
  """
1373
1389
  pulumi.set(__self__, "avro_configs", avro_configs)
1374
1390
  pulumi.set(__self__, "bucket", bucket)
1391
+ pulumi.set(__self__, "filename_datetime_format", filename_datetime_format)
1375
1392
  pulumi.set(__self__, "filename_prefix", filename_prefix)
1376
1393
  pulumi.set(__self__, "filename_suffix", filename_suffix)
1377
1394
  pulumi.set(__self__, "max_bytes", max_bytes)
@@ -1394,6 +1411,14 @@ class GetSubscriptionCloudStorageConfigResult(dict):
1394
1411
  """
1395
1412
  return pulumi.get(self, "bucket")
1396
1413
 
1414
+ @property
1415
+ @pulumi.getter(name="filenameDatetimeFormat")
1416
+ def filename_datetime_format(self) -> str:
1417
+ """
1418
+ User-provided format string specifying how to represent datetimes in Cloud Storage filenames.
1419
+ """
1420
+ return pulumi.get(self, "filename_datetime_format")
1421
+
1397
1422
  @property
1398
1423
  @pulumi.getter(name="filenamePrefix")
1399
1424
  def filename_prefix(self) -> str:
@@ -271,7 +271,8 @@ class Schema(pulumi.CustomResource):
271
271
  schema_settings=gcp.pubsub.TopicSchemaSettingsArgs(
272
272
  schema="projects/my-project-name/schemas/example",
273
273
  encoding="JSON",
274
- ))
274
+ ),
275
+ opts=pulumi.ResourceOptions(depends_on=[example]))
275
276
  ```
276
277
 
277
278
  ## Import
@@ -381,7 +382,8 @@ class Schema(pulumi.CustomResource):
381
382
  schema_settings=gcp.pubsub.TopicSchemaSettingsArgs(
382
383
  schema="projects/my-project-name/schemas/example",
383
384
  encoding="JSON",
384
- ))
385
+ ),
386
+ opts=pulumi.ResourceOptions(depends_on=[example]))
385
387
  ```
386
388
 
387
389
  ## Import