pulumi-gcp 7.25.0a1717135845__py3-none-any.whl → 7.26.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 (203) hide show
  1. pulumi_gcp/__init__.py +144 -0
  2. pulumi_gcp/alloydb/_inputs.py +92 -0
  3. pulumi_gcp/alloydb/backup.py +12 -4
  4. pulumi_gcp/alloydb/cluster.py +72 -6
  5. pulumi_gcp/alloydb/instance.py +60 -2
  6. pulumi_gcp/alloydb/outputs.py +114 -0
  7. pulumi_gcp/appengine/_inputs.py +18 -0
  8. pulumi_gcp/appengine/domain_mapping.py +1 -1
  9. pulumi_gcp/appengine/outputs.py +16 -0
  10. pulumi_gcp/artifactregistry/get_repository_iam_policy.py +6 -2
  11. pulumi_gcp/artifactregistry/repository_iam_binding.py +21 -7
  12. pulumi_gcp/artifactregistry/repository_iam_member.py +21 -7
  13. pulumi_gcp/artifactregistry/repository_iam_policy.py +21 -7
  14. pulumi_gcp/bigquery/_inputs.py +286 -2
  15. pulumi_gcp/bigquery/connection_iam_binding.py +21 -7
  16. pulumi_gcp/bigquery/connection_iam_member.py +21 -7
  17. pulumi_gcp/bigquery/connection_iam_policy.py +21 -7
  18. pulumi_gcp/bigquery/data_transfer_config.py +14 -7
  19. pulumi_gcp/bigquery/get_connection_iam_policy.py +6 -2
  20. pulumi_gcp/bigquery/outputs.py +289 -2
  21. pulumi_gcp/bigquery/table.py +77 -35
  22. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_binding.py +21 -7
  23. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_member.py +21 -7
  24. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_policy.py +21 -7
  25. pulumi_gcp/bigqueryanalyticshub/get_data_exchange_iam_policy.py +6 -2
  26. pulumi_gcp/bigqueryanalyticshub/get_listing_iam_policy.py +6 -2
  27. pulumi_gcp/bigqueryanalyticshub/listing_iam_binding.py +21 -7
  28. pulumi_gcp/bigqueryanalyticshub/listing_iam_member.py +21 -7
  29. pulumi_gcp/bigqueryanalyticshub/listing_iam_policy.py +21 -7
  30. pulumi_gcp/bigquerydatapolicy/data_policy_iam_binding.py +21 -7
  31. pulumi_gcp/bigquerydatapolicy/data_policy_iam_member.py +21 -7
  32. pulumi_gcp/bigquerydatapolicy/data_policy_iam_policy.py +21 -7
  33. pulumi_gcp/bigquerydatapolicy/get_iam_policy.py +6 -2
  34. pulumi_gcp/certificateauthority/_inputs.py +20 -4
  35. pulumi_gcp/certificateauthority/ca_pool_iam_binding.py +21 -7
  36. pulumi_gcp/certificateauthority/ca_pool_iam_member.py +21 -7
  37. pulumi_gcp/certificateauthority/ca_pool_iam_policy.py +21 -7
  38. pulumi_gcp/certificateauthority/certificate_template.py +157 -173
  39. pulumi_gcp/certificateauthority/certificate_template_iam_binding.py +27 -0
  40. pulumi_gcp/certificateauthority/certificate_template_iam_member.py +27 -0
  41. pulumi_gcp/certificateauthority/certificate_template_iam_policy.py +27 -0
  42. pulumi_gcp/certificateauthority/get_ca_pool_iam_policy.py +6 -2
  43. pulumi_gcp/certificateauthority/get_certificate_template_iam_policy.py +6 -0
  44. pulumi_gcp/certificateauthority/outputs.py +20 -4
  45. pulumi_gcp/cloudbuildv2/connection_iam_binding.py +21 -7
  46. pulumi_gcp/cloudbuildv2/connection_iam_member.py +21 -7
  47. pulumi_gcp/cloudbuildv2/connection_iam_policy.py +21 -7
  48. pulumi_gcp/cloudbuildv2/get_connection_iam_policy.py +6 -2
  49. pulumi_gcp/clouddeploy/get_custom_target_type_iam_policy.py +6 -2
  50. pulumi_gcp/cloudfunctionsv2/function.py +0 -4
  51. pulumi_gcp/cloudfunctionsv2/function_iam_binding.py +21 -7
  52. pulumi_gcp/cloudfunctionsv2/function_iam_member.py +21 -7
  53. pulumi_gcp/cloudfunctionsv2/function_iam_policy.py +21 -7
  54. pulumi_gcp/cloudfunctionsv2/get_function_iam_policy.py +6 -2
  55. pulumi_gcp/cloudrun/_inputs.py +80 -4
  56. pulumi_gcp/cloudrun/get_service_iam_policy.py +6 -2
  57. pulumi_gcp/cloudrun/iam_binding.py +21 -7
  58. pulumi_gcp/cloudrun/iam_member.py +21 -7
  59. pulumi_gcp/cloudrun/iam_policy.py +21 -7
  60. pulumi_gcp/cloudrun/outputs.py +137 -4
  61. pulumi_gcp/cloudrunv2/get_job_iam_policy.py +6 -2
  62. pulumi_gcp/cloudrunv2/get_service.py +11 -1
  63. pulumi_gcp/cloudrunv2/get_service_iam_policy.py +6 -2
  64. pulumi_gcp/cloudrunv2/job_iam_binding.py +21 -7
  65. pulumi_gcp/cloudrunv2/job_iam_member.py +21 -7
  66. pulumi_gcp/cloudrunv2/job_iam_policy.py +21 -7
  67. pulumi_gcp/cloudrunv2/service.py +47 -0
  68. pulumi_gcp/cloudrunv2/service_iam_binding.py +21 -7
  69. pulumi_gcp/cloudrunv2/service_iam_member.py +21 -7
  70. pulumi_gcp/cloudrunv2/service_iam_policy.py +21 -7
  71. pulumi_gcp/cloudtasks/get_queue_iam_policy.py +6 -2
  72. pulumi_gcp/cloudtasks/queue_iam_binding.py +21 -7
  73. pulumi_gcp/cloudtasks/queue_iam_member.py +21 -7
  74. pulumi_gcp/cloudtasks/queue_iam_policy.py +21 -7
  75. pulumi_gcp/composer/user_workloads_secret.py +4 -4
  76. pulumi_gcp/compute/__init__.py +1 -0
  77. pulumi_gcp/compute/_inputs.py +416 -194
  78. pulumi_gcp/compute/get_subnetworks.py +157 -0
  79. pulumi_gcp/compute/instance_group_membership.py +2 -2
  80. pulumi_gcp/compute/interconnect_attachment.py +82 -0
  81. pulumi_gcp/compute/network_endpoint.py +2 -2
  82. pulumi_gcp/compute/network_endpoint_list.py +2 -2
  83. pulumi_gcp/compute/outputs.py +629 -181
  84. pulumi_gcp/compute/region_ssl_policy.py +39 -40
  85. pulumi_gcp/compute/security_policy_rule.py +55 -1
  86. pulumi_gcp/container/_inputs.py +560 -0
  87. pulumi_gcp/container/outputs.py +1106 -51
  88. pulumi_gcp/dataplex/__init__.py +15 -0
  89. pulumi_gcp/dataplex/_inputs.py +264 -0
  90. pulumi_gcp/dataplex/aspect_type.py +1077 -0
  91. pulumi_gcp/dataplex/aspect_type_iam_binding.py +779 -0
  92. pulumi_gcp/dataplex/aspect_type_iam_member.py +779 -0
  93. pulumi_gcp/dataplex/aspect_type_iam_policy.py +618 -0
  94. pulumi_gcp/dataplex/datascan_iam_binding.py +21 -7
  95. pulumi_gcp/dataplex/datascan_iam_member.py +21 -7
  96. pulumi_gcp/dataplex/datascan_iam_policy.py +21 -7
  97. pulumi_gcp/dataplex/entry_group.py +722 -0
  98. pulumi_gcp/dataplex/entry_group_iam_binding.py +779 -0
  99. pulumi_gcp/dataplex/entry_group_iam_member.py +779 -0
  100. pulumi_gcp/dataplex/entry_group_iam_policy.py +618 -0
  101. pulumi_gcp/dataplex/entry_type.py +963 -0
  102. pulumi_gcp/dataplex/entry_type_iam_binding.py +779 -0
  103. pulumi_gcp/dataplex/entry_type_iam_member.py +779 -0
  104. pulumi_gcp/dataplex/entry_type_iam_policy.py +618 -0
  105. pulumi_gcp/dataplex/get_aspect_type_iam_policy.py +168 -0
  106. pulumi_gcp/dataplex/get_datascan_iam_policy.py +6 -2
  107. pulumi_gcp/dataplex/get_entry_group_iam_policy.py +168 -0
  108. pulumi_gcp/dataplex/get_entry_type_iam_policy.py +168 -0
  109. pulumi_gcp/dataplex/get_task_iam_policy.py +6 -2
  110. pulumi_gcp/dataplex/outputs.py +188 -0
  111. pulumi_gcp/dataplex/task.py +16 -16
  112. pulumi_gcp/dataplex/task_iam_binding.py +21 -7
  113. pulumi_gcp/dataplex/task_iam_member.py +21 -7
  114. pulumi_gcp/dataplex/task_iam_policy.py +21 -7
  115. pulumi_gcp/dataproc/autoscaling_policy_iam_binding.py +21 -7
  116. pulumi_gcp/dataproc/autoscaling_policy_iam_member.py +21 -7
  117. pulumi_gcp/dataproc/autoscaling_policy_iam_policy.py +21 -7
  118. pulumi_gcp/dataproc/get_autoscaling_policy_iam_policy.py +6 -2
  119. pulumi_gcp/dataproc/get_metastore_federation_iam_policy.py +6 -2
  120. pulumi_gcp/dataproc/get_metastore_service_iam_policy.py +6 -2
  121. pulumi_gcp/dataproc/metastore_federation_iam_binding.py +21 -7
  122. pulumi_gcp/dataproc/metastore_federation_iam_member.py +21 -7
  123. pulumi_gcp/dataproc/metastore_federation_iam_policy.py +21 -7
  124. pulumi_gcp/dataproc/metastore_service_iam_binding.py +21 -7
  125. pulumi_gcp/dataproc/metastore_service_iam_member.py +21 -7
  126. pulumi_gcp/dataproc/metastore_service_iam_policy.py +21 -7
  127. pulumi_gcp/datastream/connection_profile.py +47 -0
  128. pulumi_gcp/datastream/private_connection.py +47 -0
  129. pulumi_gcp/datastream/stream.py +47 -0
  130. pulumi_gcp/firestore/field.py +4 -4
  131. pulumi_gcp/gkebackup/backup_plan_iam_binding.py +21 -7
  132. pulumi_gcp/gkebackup/backup_plan_iam_member.py +21 -7
  133. pulumi_gcp/gkebackup/backup_plan_iam_policy.py +21 -7
  134. pulumi_gcp/gkebackup/get_backup_plan_iam_policy.py +6 -2
  135. pulumi_gcp/gkebackup/get_restore_plan_iam_policy.py +6 -2
  136. pulumi_gcp/gkehub/feature_iam_binding.py +21 -7
  137. pulumi_gcp/gkehub/feature_iam_member.py +21 -7
  138. pulumi_gcp/gkehub/feature_iam_policy.py +21 -7
  139. pulumi_gcp/gkehub/get_feature_iam_policy.py +6 -2
  140. pulumi_gcp/gkehub/get_membership_iam_policy.py +6 -2
  141. pulumi_gcp/gkehub/membership_binding.py +6 -6
  142. pulumi_gcp/gkehub/membership_iam_binding.py +21 -7
  143. pulumi_gcp/gkehub/membership_iam_member.py +21 -7
  144. pulumi_gcp/gkehub/membership_iam_policy.py +21 -7
  145. pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
  146. pulumi_gcp/gkehub/namespace.py +4 -4
  147. pulumi_gcp/gkehub/scope_rbac_role_binding.py +4 -4
  148. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  149. pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
  150. pulumi_gcp/kms/__init__.py +2 -0
  151. pulumi_gcp/kms/autokey_config.py +366 -0
  152. pulumi_gcp/kms/key_handle.py +548 -0
  153. pulumi_gcp/logging/__init__.py +4 -0
  154. pulumi_gcp/logging/_inputs.py +100 -0
  155. pulumi_gcp/logging/get_log_view_iam_policy.py +157 -0
  156. pulumi_gcp/logging/log_view_iam_binding.py +630 -0
  157. pulumi_gcp/logging/log_view_iam_member.py +630 -0
  158. pulumi_gcp/logging/log_view_iam_policy.py +449 -0
  159. pulumi_gcp/logging/outputs.py +76 -0
  160. pulumi_gcp/netapp/storage_pool.py +9 -9
  161. pulumi_gcp/networksecurity/address_group_iam_policy.py +21 -7
  162. pulumi_gcp/networksecurity/get_address_group_iam_policy.py +6 -2
  163. pulumi_gcp/networkservices/__init__.py +1 -0
  164. pulumi_gcp/networkservices/_inputs.py +245 -27
  165. pulumi_gcp/networkservices/lb_route_extension.py +663 -0
  166. pulumi_gcp/networkservices/lb_traffic_extension.py +28 -14
  167. pulumi_gcp/networkservices/outputs.py +251 -20
  168. pulumi_gcp/notebooks/get_instance_iam_policy.py +6 -2
  169. pulumi_gcp/notebooks/get_runtime_iam_policy.py +6 -2
  170. pulumi_gcp/notebooks/instance_iam_binding.py +21 -7
  171. pulumi_gcp/notebooks/instance_iam_member.py +21 -7
  172. pulumi_gcp/notebooks/instance_iam_policy.py +21 -7
  173. pulumi_gcp/notebooks/runtime_iam_binding.py +21 -7
  174. pulumi_gcp/notebooks/runtime_iam_member.py +21 -7
  175. pulumi_gcp/notebooks/runtime_iam_policy.py +21 -7
  176. pulumi_gcp/orgpolicy/policy.py +2 -2
  177. pulumi_gcp/privilegedaccessmanager/entitlement.py +7 -7
  178. pulumi_gcp/pubsub/_inputs.py +16 -0
  179. pulumi_gcp/pubsub/outputs.py +25 -0
  180. pulumi_gcp/pubsub/subscription.py +8 -4
  181. pulumi_gcp/pulumi-plugin.json +1 -1
  182. pulumi_gcp/securesourcemanager/get_instance_iam_policy.py +6 -2
  183. pulumi_gcp/sql/_inputs.py +2 -4
  184. pulumi_gcp/sql/outputs.py +6 -8
  185. pulumi_gcp/sql/user.py +4 -4
  186. pulumi_gcp/storage/_inputs.py +48 -0
  187. pulumi_gcp/storage/outputs.py +75 -0
  188. pulumi_gcp/tpu/_inputs.py +2 -2
  189. pulumi_gcp/tpu/outputs.py +2 -2
  190. pulumi_gcp/vertex/get_ai_endpoint_iam_policy.py +6 -2
  191. pulumi_gcp/workbench/get_instance_iam_policy.py +6 -2
  192. pulumi_gcp/workstations/get_workstation_config_iam_policy.py +6 -2
  193. pulumi_gcp/workstations/get_workstation_iam_policy.py +6 -2
  194. pulumi_gcp/workstations/workstation_config_iam_binding.py +21 -7
  195. pulumi_gcp/workstations/workstation_config_iam_member.py +21 -7
  196. pulumi_gcp/workstations/workstation_config_iam_policy.py +21 -7
  197. pulumi_gcp/workstations/workstation_iam_binding.py +21 -7
  198. pulumi_gcp/workstations/workstation_iam_member.py +21 -7
  199. pulumi_gcp/workstations/workstation_iam_policy.py +21 -7
  200. {pulumi_gcp-7.25.0a1717135845.dist-info → pulumi_gcp-7.26.0.dist-info}/METADATA +1 -1
  201. {pulumi_gcp-7.25.0a1717135845.dist-info → pulumi_gcp-7.26.0.dist-info}/RECORD +203 -180
  202. {pulumi_gcp-7.25.0a1717135845.dist-info → pulumi_gcp-7.26.0.dist-info}/WHEEL +0 -0
  203. {pulumi_gcp-7.25.0a1717135845.dist-info → pulumi_gcp-7.26.0.dist-info}/top_level.txt +0 -0
@@ -23,7 +23,9 @@ class AddressGroupIamPolicyArgs:
23
23
  :param pulumi.Input[str] policy_data: The policy data generated by
24
24
  a `organizations_get_iam_policy` data source.
25
25
  :param pulumi.Input[str] location: The location of the gateway security policy.
26
- Used to find the parent resource to bind the IAM policy to
26
+ Used to find the parent resource to bind the IAM policy to. If not specified,
27
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
28
+ location is specified, it is taken from the provider configuration.
27
29
  :param pulumi.Input[str] name: Used to find the parent resource to bind the IAM policy to
28
30
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
29
31
  If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
@@ -54,7 +56,9 @@ class AddressGroupIamPolicyArgs:
54
56
  def location(self) -> Optional[pulumi.Input[str]]:
55
57
  """
56
58
  The location of the gateway security policy.
57
- Used to find the parent resource to bind the IAM policy to
59
+ Used to find the parent resource to bind the IAM policy to. If not specified,
60
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
61
+ location is specified, it is taken from the provider configuration.
58
62
  """
59
63
  return pulumi.get(self, "location")
60
64
 
@@ -100,7 +104,9 @@ class _AddressGroupIamPolicyState:
100
104
  Input properties used for looking up and filtering AddressGroupIamPolicy resources.
101
105
  :param pulumi.Input[str] etag: (Computed) The etag of the IAM policy.
102
106
  :param pulumi.Input[str] location: The location of the gateway security policy.
103
- Used to find the parent resource to bind the IAM policy to
107
+ Used to find the parent resource to bind the IAM policy to. If not specified,
108
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
109
+ location is specified, it is taken from the provider configuration.
104
110
  :param pulumi.Input[str] name: Used to find the parent resource to bind the IAM policy to
105
111
  :param pulumi.Input[str] policy_data: The policy data generated by
106
112
  a `organizations_get_iam_policy` data source.
@@ -135,7 +141,9 @@ class _AddressGroupIamPolicyState:
135
141
  def location(self) -> Optional[pulumi.Input[str]]:
136
142
  """
137
143
  The location of the gateway security policy.
138
- Used to find the parent resource to bind the IAM policy to
144
+ Used to find the parent resource to bind the IAM policy to. If not specified,
145
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
146
+ location is specified, it is taken from the provider configuration.
139
147
  """
140
148
  return pulumi.get(self, "location")
141
149
 
@@ -248,7 +256,9 @@ class AddressGroupIamPolicy(pulumi.CustomResource):
248
256
  :param str resource_name: The name of the resource.
249
257
  :param pulumi.ResourceOptions opts: Options for the resource.
250
258
  :param pulumi.Input[str] location: The location of the gateway security policy.
251
- Used to find the parent resource to bind the IAM policy to
259
+ Used to find the parent resource to bind the IAM policy to. If not specified,
260
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
261
+ location is specified, it is taken from the provider configuration.
252
262
  :param pulumi.Input[str] name: Used to find the parent resource to bind the IAM policy to
253
263
  :param pulumi.Input[str] policy_data: The policy data generated by
254
264
  a `organizations_get_iam_policy` data source.
@@ -373,7 +383,9 @@ class AddressGroupIamPolicy(pulumi.CustomResource):
373
383
  :param pulumi.ResourceOptions opts: Options for the resource.
374
384
  :param pulumi.Input[str] etag: (Computed) The etag of the IAM policy.
375
385
  :param pulumi.Input[str] location: The location of the gateway security policy.
376
- Used to find the parent resource to bind the IAM policy to
386
+ Used to find the parent resource to bind the IAM policy to. If not specified,
387
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
388
+ location is specified, it is taken from the provider configuration.
377
389
  :param pulumi.Input[str] name: Used to find the parent resource to bind the IAM policy to
378
390
  :param pulumi.Input[str] policy_data: The policy data generated by
379
391
  a `organizations_get_iam_policy` data source.
@@ -404,7 +416,9 @@ class AddressGroupIamPolicy(pulumi.CustomResource):
404
416
  def location(self) -> pulumi.Output[str]:
405
417
  """
406
418
  The location of the gateway security policy.
407
- Used to find the parent resource to bind the IAM policy to
419
+ Used to find the parent resource to bind the IAM policy to. If not specified,
420
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
421
+ location is specified, it is taken from the provider configuration.
408
422
  """
409
423
  return pulumi.get(self, "location")
410
424
 
@@ -105,7 +105,9 @@ def get_address_group_iam_policy(location: Optional[str] = None,
105
105
 
106
106
 
107
107
  :param str location: The location of the gateway security policy.
108
- Used to find the parent resource to bind the IAM policy to
108
+ Used to find the parent resource to bind the IAM policy to. If not specified,
109
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
110
+ location is specified, it is taken from the provider configuration.
109
111
  :param str name: Used to find the parent resource to bind the IAM policy to
110
112
  :param str project: The ID of the project in which the resource belongs.
111
113
  If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
@@ -136,7 +138,9 @@ def get_address_group_iam_policy_output(location: Optional[pulumi.Input[Optional
136
138
 
137
139
 
138
140
  :param str location: The location of the gateway security policy.
139
- Used to find the parent resource to bind the IAM policy to
141
+ Used to find the parent resource to bind the IAM policy to. If not specified,
142
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
143
+ location is specified, it is taken from the provider configuration.
140
144
  :param str name: Used to find the parent resource to bind the IAM policy to
141
145
  :param str project: The ID of the project in which the resource belongs.
142
146
  If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
@@ -12,6 +12,7 @@ from .endpoint_policy import *
12
12
  from .gateway import *
13
13
  from .grpc_route import *
14
14
  from .http_route import *
15
+ from .lb_route_extension import *
15
16
  from .lb_traffic_extension import *
16
17
  from .mesh import *
17
18
  from .service_binding import *
@@ -72,6 +72,9 @@ __all__ = [
72
72
  'HttpRouteRuleMatchHeaderArgs',
73
73
  'HttpRouteRuleMatchHeaderRangeMatchArgs',
74
74
  'HttpRouteRuleMatchQueryParameterArgs',
75
+ 'LbRouteExtensionExtensionChainArgs',
76
+ 'LbRouteExtensionExtensionChainExtensionArgs',
77
+ 'LbRouteExtensionExtensionChainMatchConditionArgs',
75
78
  'LbTrafficExtensionExtensionChainArgs',
76
79
  'LbTrafficExtensionExtensionChainExtensionArgs',
77
80
  'LbTrafficExtensionExtensionChainMatchConditionArgs',
@@ -4275,6 +4278,219 @@ class HttpRouteRuleMatchQueryParameterArgs:
4275
4278
  pulumi.set(self, "regex_match", value)
4276
4279
 
4277
4280
 
4281
+ @pulumi.input_type
4282
+ class LbRouteExtensionExtensionChainArgs:
4283
+ def __init__(__self__, *,
4284
+ extensions: pulumi.Input[Sequence[pulumi.Input['LbRouteExtensionExtensionChainExtensionArgs']]],
4285
+ match_condition: pulumi.Input['LbRouteExtensionExtensionChainMatchConditionArgs'],
4286
+ name: pulumi.Input[str]):
4287
+ """
4288
+ :param pulumi.Input[Sequence[pulumi.Input['LbRouteExtensionExtensionChainExtensionArgs']]] extensions: A set of extensions to execute for the matching request.
4289
+ At least one extension is required. Up to 3 extensions can be defined for each extension chain for
4290
+ LbTrafficExtension resource. LbRouteExtension chains are limited to 1 extension per extension chain.
4291
+ Structure is documented below.
4292
+ :param pulumi.Input['LbRouteExtensionExtensionChainMatchConditionArgs'] match_condition: Conditions under which this chain is invoked for a request.
4293
+ Structure is documented below.
4294
+ :param pulumi.Input[str] name: The name for this extension chain. The name is logged as part of the HTTP request logs.
4295
+ The name must conform with RFC-1034, is restricted to lower-cased letters, numbers and hyphens,
4296
+ and can have a maximum length of 63 characters. Additionally, the first character must be a letter
4297
+ and the last character must be a letter or a number.
4298
+ """
4299
+ pulumi.set(__self__, "extensions", extensions)
4300
+ pulumi.set(__self__, "match_condition", match_condition)
4301
+ pulumi.set(__self__, "name", name)
4302
+
4303
+ @property
4304
+ @pulumi.getter
4305
+ def extensions(self) -> pulumi.Input[Sequence[pulumi.Input['LbRouteExtensionExtensionChainExtensionArgs']]]:
4306
+ """
4307
+ A set of extensions to execute for the matching request.
4308
+ At least one extension is required. Up to 3 extensions can be defined for each extension chain for
4309
+ LbTrafficExtension resource. LbRouteExtension chains are limited to 1 extension per extension chain.
4310
+ Structure is documented below.
4311
+ """
4312
+ return pulumi.get(self, "extensions")
4313
+
4314
+ @extensions.setter
4315
+ def extensions(self, value: pulumi.Input[Sequence[pulumi.Input['LbRouteExtensionExtensionChainExtensionArgs']]]):
4316
+ pulumi.set(self, "extensions", value)
4317
+
4318
+ @property
4319
+ @pulumi.getter(name="matchCondition")
4320
+ def match_condition(self) -> pulumi.Input['LbRouteExtensionExtensionChainMatchConditionArgs']:
4321
+ """
4322
+ Conditions under which this chain is invoked for a request.
4323
+ Structure is documented below.
4324
+ """
4325
+ return pulumi.get(self, "match_condition")
4326
+
4327
+ @match_condition.setter
4328
+ def match_condition(self, value: pulumi.Input['LbRouteExtensionExtensionChainMatchConditionArgs']):
4329
+ pulumi.set(self, "match_condition", value)
4330
+
4331
+ @property
4332
+ @pulumi.getter
4333
+ def name(self) -> pulumi.Input[str]:
4334
+ """
4335
+ The name for this extension chain. The name is logged as part of the HTTP request logs.
4336
+ The name must conform with RFC-1034, is restricted to lower-cased letters, numbers and hyphens,
4337
+ and can have a maximum length of 63 characters. Additionally, the first character must be a letter
4338
+ and the last character must be a letter or a number.
4339
+ """
4340
+ return pulumi.get(self, "name")
4341
+
4342
+ @name.setter
4343
+ def name(self, value: pulumi.Input[str]):
4344
+ pulumi.set(self, "name", value)
4345
+
4346
+
4347
+ @pulumi.input_type
4348
+ class LbRouteExtensionExtensionChainExtensionArgs:
4349
+ def __init__(__self__, *,
4350
+ name: pulumi.Input[str],
4351
+ service: pulumi.Input[str],
4352
+ authority: Optional[pulumi.Input[str]] = None,
4353
+ fail_open: Optional[pulumi.Input[bool]] = None,
4354
+ forward_headers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
4355
+ timeout: Optional[pulumi.Input[str]] = None):
4356
+ """
4357
+ :param pulumi.Input[str] name: The name for this extension. The name is logged as part of the HTTP request logs.
4358
+ The name must conform with RFC-1034, is restricted to lower-cased letters, numbers and hyphens,
4359
+ and can have a maximum length of 63 characters. Additionally, the first character must be a letter
4360
+ and the last a letter or a number.
4361
+ :param pulumi.Input[str] service: The reference to the service that runs the extension. Must be a reference to a backend service
4362
+ :param pulumi.Input[str] authority: The :authority header in the gRPC request sent from Envoy to the extension service.
4363
+ :param pulumi.Input[bool] fail_open: Determines how the proxy behaves if the call to the extension fails or times out.
4364
+ When set to TRUE, request or response processing continues without error.
4365
+ Any subsequent extensions in the extension chain are also executed.
4366
+ When set to FALSE: * If response headers have not been delivered to the downstream client,
4367
+ a generic 500 error is returned to the client. The error response can be tailored by
4368
+ configuring a custom error response in the load balancer.
4369
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] forward_headers: List of the HTTP headers to forward to the extension (from the client or backend).
4370
+ If omitted, all headers are sent. Each element is a string indicating the header name.
4371
+
4372
+ - - -
4373
+ :param pulumi.Input[str] timeout: Specifies the timeout for each individual message on the stream. The timeout must be between 10-1000 milliseconds.
4374
+ A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
4375
+ """
4376
+ pulumi.set(__self__, "name", name)
4377
+ pulumi.set(__self__, "service", service)
4378
+ if authority is not None:
4379
+ pulumi.set(__self__, "authority", authority)
4380
+ if fail_open is not None:
4381
+ pulumi.set(__self__, "fail_open", fail_open)
4382
+ if forward_headers is not None:
4383
+ pulumi.set(__self__, "forward_headers", forward_headers)
4384
+ if timeout is not None:
4385
+ pulumi.set(__self__, "timeout", timeout)
4386
+
4387
+ @property
4388
+ @pulumi.getter
4389
+ def name(self) -> pulumi.Input[str]:
4390
+ """
4391
+ The name for this extension. The name is logged as part of the HTTP request logs.
4392
+ The name must conform with RFC-1034, is restricted to lower-cased letters, numbers and hyphens,
4393
+ and can have a maximum length of 63 characters. Additionally, the first character must be a letter
4394
+ and the last a letter or a number.
4395
+ """
4396
+ return pulumi.get(self, "name")
4397
+
4398
+ @name.setter
4399
+ def name(self, value: pulumi.Input[str]):
4400
+ pulumi.set(self, "name", value)
4401
+
4402
+ @property
4403
+ @pulumi.getter
4404
+ def service(self) -> pulumi.Input[str]:
4405
+ """
4406
+ The reference to the service that runs the extension. Must be a reference to a backend service
4407
+ """
4408
+ return pulumi.get(self, "service")
4409
+
4410
+ @service.setter
4411
+ def service(self, value: pulumi.Input[str]):
4412
+ pulumi.set(self, "service", value)
4413
+
4414
+ @property
4415
+ @pulumi.getter
4416
+ def authority(self) -> Optional[pulumi.Input[str]]:
4417
+ """
4418
+ The :authority header in the gRPC request sent from Envoy to the extension service.
4419
+ """
4420
+ return pulumi.get(self, "authority")
4421
+
4422
+ @authority.setter
4423
+ def authority(self, value: Optional[pulumi.Input[str]]):
4424
+ pulumi.set(self, "authority", value)
4425
+
4426
+ @property
4427
+ @pulumi.getter(name="failOpen")
4428
+ def fail_open(self) -> Optional[pulumi.Input[bool]]:
4429
+ """
4430
+ Determines how the proxy behaves if the call to the extension fails or times out.
4431
+ When set to TRUE, request or response processing continues without error.
4432
+ Any subsequent extensions in the extension chain are also executed.
4433
+ When set to FALSE: * If response headers have not been delivered to the downstream client,
4434
+ a generic 500 error is returned to the client. The error response can be tailored by
4435
+ configuring a custom error response in the load balancer.
4436
+ """
4437
+ return pulumi.get(self, "fail_open")
4438
+
4439
+ @fail_open.setter
4440
+ def fail_open(self, value: Optional[pulumi.Input[bool]]):
4441
+ pulumi.set(self, "fail_open", value)
4442
+
4443
+ @property
4444
+ @pulumi.getter(name="forwardHeaders")
4445
+ def forward_headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
4446
+ """
4447
+ List of the HTTP headers to forward to the extension (from the client or backend).
4448
+ If omitted, all headers are sent. Each element is a string indicating the header name.
4449
+
4450
+ - - -
4451
+ """
4452
+ return pulumi.get(self, "forward_headers")
4453
+
4454
+ @forward_headers.setter
4455
+ def forward_headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
4456
+ pulumi.set(self, "forward_headers", value)
4457
+
4458
+ @property
4459
+ @pulumi.getter
4460
+ def timeout(self) -> Optional[pulumi.Input[str]]:
4461
+ """
4462
+ Specifies the timeout for each individual message on the stream. The timeout must be between 10-1000 milliseconds.
4463
+ A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
4464
+ """
4465
+ return pulumi.get(self, "timeout")
4466
+
4467
+ @timeout.setter
4468
+ def timeout(self, value: Optional[pulumi.Input[str]]):
4469
+ pulumi.set(self, "timeout", value)
4470
+
4471
+
4472
+ @pulumi.input_type
4473
+ class LbRouteExtensionExtensionChainMatchConditionArgs:
4474
+ def __init__(__self__, *,
4475
+ cel_expression: pulumi.Input[str]):
4476
+ """
4477
+ :param pulumi.Input[str] cel_expression: A Common Expression Language (CEL) expression that is used to match requests for which the extension chain is executed.
4478
+ """
4479
+ pulumi.set(__self__, "cel_expression", cel_expression)
4480
+
4481
+ @property
4482
+ @pulumi.getter(name="celExpression")
4483
+ def cel_expression(self) -> pulumi.Input[str]:
4484
+ """
4485
+ A Common Expression Language (CEL) expression that is used to match requests for which the extension chain is executed.
4486
+ """
4487
+ return pulumi.get(self, "cel_expression")
4488
+
4489
+ @cel_expression.setter
4490
+ def cel_expression(self, value: pulumi.Input[str]):
4491
+ pulumi.set(self, "cel_expression", value)
4492
+
4493
+
4278
4494
  @pulumi.input_type
4279
4495
  class LbTrafficExtensionExtensionChainArgs:
4280
4496
  def __init__(__self__, *,
@@ -4344,22 +4560,20 @@ class LbTrafficExtensionExtensionChainArgs:
4344
4560
  @pulumi.input_type
4345
4561
  class LbTrafficExtensionExtensionChainExtensionArgs:
4346
4562
  def __init__(__self__, *,
4347
- authority: pulumi.Input[str],
4348
4563
  name: pulumi.Input[str],
4349
4564
  service: pulumi.Input[str],
4350
- timeout: pulumi.Input[str],
4565
+ authority: Optional[pulumi.Input[str]] = None,
4351
4566
  fail_open: Optional[pulumi.Input[bool]] = None,
4352
4567
  forward_headers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
4353
- supported_events: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
4568
+ supported_events: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
4569
+ timeout: Optional[pulumi.Input[str]] = None):
4354
4570
  """
4355
- :param pulumi.Input[str] authority: The :authority header in the gRPC request sent from Envoy to the extension service.
4356
4571
  :param pulumi.Input[str] name: The name for this extension. The name is logged as part of the HTTP request logs.
4357
4572
  The name must conform with RFC-1034, is restricted to lower-cased letters, numbers and hyphens,
4358
4573
  and can have a maximum length of 63 characters. Additionally, the first character must be a letter
4359
4574
  and the last a letter or a number.
4360
4575
  :param pulumi.Input[str] service: The reference to the service that runs the extension. Must be a reference to a backend service
4361
- :param pulumi.Input[str] timeout: Specifies the timeout for each individual message on the stream. The timeout must be between 10-1000 milliseconds.
4362
- A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
4576
+ :param pulumi.Input[str] authority: The :authority header in the gRPC request sent from Envoy to the extension service.
4363
4577
  :param pulumi.Input[bool] fail_open: Determines how the proxy behaves if the call to the extension fails or times out.
4364
4578
  When set to TRUE, request or response processing continues without error.
4365
4579
  Any subsequent extensions in the extension chain are also executed.
@@ -4374,29 +4588,21 @@ class LbTrafficExtensionExtensionChainExtensionArgs:
4374
4588
  `RESPONSE_BODY`, `RESPONSE_BODY` and `RESPONSE_BODY`.
4375
4589
 
4376
4590
  - - -
4591
+ :param pulumi.Input[str] timeout: Specifies the timeout for each individual message on the stream. The timeout must be between 10-1000 milliseconds.
4592
+ A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
4377
4593
  """
4378
- pulumi.set(__self__, "authority", authority)
4379
4594
  pulumi.set(__self__, "name", name)
4380
4595
  pulumi.set(__self__, "service", service)
4381
- pulumi.set(__self__, "timeout", timeout)
4596
+ if authority is not None:
4597
+ pulumi.set(__self__, "authority", authority)
4382
4598
  if fail_open is not None:
4383
4599
  pulumi.set(__self__, "fail_open", fail_open)
4384
4600
  if forward_headers is not None:
4385
4601
  pulumi.set(__self__, "forward_headers", forward_headers)
4386
4602
  if supported_events is not None:
4387
4603
  pulumi.set(__self__, "supported_events", supported_events)
4388
-
4389
- @property
4390
- @pulumi.getter
4391
- def authority(self) -> pulumi.Input[str]:
4392
- """
4393
- The :authority header in the gRPC request sent from Envoy to the extension service.
4394
- """
4395
- return pulumi.get(self, "authority")
4396
-
4397
- @authority.setter
4398
- def authority(self, value: pulumi.Input[str]):
4399
- pulumi.set(self, "authority", value)
4604
+ if timeout is not None:
4605
+ pulumi.set(__self__, "timeout", timeout)
4400
4606
 
4401
4607
  @property
4402
4608
  @pulumi.getter
@@ -4427,16 +4633,15 @@ class LbTrafficExtensionExtensionChainExtensionArgs:
4427
4633
 
4428
4634
  @property
4429
4635
  @pulumi.getter
4430
- def timeout(self) -> pulumi.Input[str]:
4636
+ def authority(self) -> Optional[pulumi.Input[str]]:
4431
4637
  """
4432
- Specifies the timeout for each individual message on the stream. The timeout must be between 10-1000 milliseconds.
4433
- A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
4638
+ The :authority header in the gRPC request sent from Envoy to the extension service.
4434
4639
  """
4435
- return pulumi.get(self, "timeout")
4640
+ return pulumi.get(self, "authority")
4436
4641
 
4437
- @timeout.setter
4438
- def timeout(self, value: pulumi.Input[str]):
4439
- pulumi.set(self, "timeout", value)
4642
+ @authority.setter
4643
+ def authority(self, value: Optional[pulumi.Input[str]]):
4644
+ pulumi.set(self, "authority", value)
4440
4645
 
4441
4646
  @property
4442
4647
  @pulumi.getter(name="failOpen")
@@ -4485,6 +4690,19 @@ class LbTrafficExtensionExtensionChainExtensionArgs:
4485
4690
  def supported_events(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
4486
4691
  pulumi.set(self, "supported_events", value)
4487
4692
 
4693
+ @property
4694
+ @pulumi.getter
4695
+ def timeout(self) -> Optional[pulumi.Input[str]]:
4696
+ """
4697
+ Specifies the timeout for each individual message on the stream. The timeout must be between 10-1000 milliseconds.
4698
+ A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
4699
+ """
4700
+ return pulumi.get(self, "timeout")
4701
+
4702
+ @timeout.setter
4703
+ def timeout(self, value: Optional[pulumi.Input[str]]):
4704
+ pulumi.set(self, "timeout", value)
4705
+
4488
4706
 
4489
4707
  @pulumi.input_type
4490
4708
  class LbTrafficExtensionExtensionChainMatchConditionArgs: