pulumi-gcp 7.12.0a1709365001__py3-none-any.whl → 7.13.0a1709814369__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. pulumi_gcp/__init__.py +72 -0
  2. pulumi_gcp/appengine/application_url_dispatch_rules.py +2 -2
  3. pulumi_gcp/appengine/engine_split_traffic.py +4 -4
  4. pulumi_gcp/appengine/service_network_settings.py +2 -2
  5. pulumi_gcp/appengine/standard_app_version.py +4 -4
  6. pulumi_gcp/bigquery/_inputs.py +88 -0
  7. pulumi_gcp/bigquery/dataset_iam_binding.py +35 -28
  8. pulumi_gcp/bigquery/dataset_iam_member.py +35 -28
  9. pulumi_gcp/bigquery/dataset_iam_policy.py +35 -28
  10. pulumi_gcp/bigquery/outputs.py +91 -0
  11. pulumi_gcp/bigquery/routine.py +118 -12
  12. pulumi_gcp/certificatemanager/dns_authorization.py +63 -14
  13. pulumi_gcp/clouddeploy/__init__.py +4 -0
  14. pulumi_gcp/clouddeploy/_inputs.py +80 -0
  15. pulumi_gcp/clouddeploy/automation.py +16 -0
  16. pulumi_gcp/clouddeploy/get_target_iam_policy.py +162 -0
  17. pulumi_gcp/clouddeploy/outputs.py +56 -0
  18. pulumi_gcp/clouddeploy/target_iam_binding.py +324 -0
  19. pulumi_gcp/clouddeploy/target_iam_member.py +324 -0
  20. pulumi_gcp/clouddeploy/target_iam_policy.py +253 -0
  21. pulumi_gcp/cloudfunctionsv2/function.py +0 -2
  22. pulumi_gcp/cloudrunv2/_inputs.py +4 -2
  23. pulumi_gcp/cloudrunv2/outputs.py +8 -4
  24. pulumi_gcp/composer/_inputs.py +18 -2
  25. pulumi_gcp/composer/outputs.py +29 -4
  26. pulumi_gcp/compute/__init__.py +1 -0
  27. pulumi_gcp/compute/get_forwarding_rules.py +142 -0
  28. pulumi_gcp/compute/instance_group_membership.py +4 -4
  29. pulumi_gcp/compute/outputs.py +816 -0
  30. pulumi_gcp/compute/region_network_endpoint.py +2 -2
  31. pulumi_gcp/compute/region_target_https_proxy.py +162 -37
  32. pulumi_gcp/compute/router_nat.py +8 -8
  33. pulumi_gcp/container/_inputs.py +80 -0
  34. pulumi_gcp/container/cluster.py +20 -16
  35. pulumi_gcp/container/outputs.py +115 -1
  36. pulumi_gcp/firebase/__init__.py +4 -0
  37. pulumi_gcp/firebase/app_check_app_attest_config.py +461 -0
  38. pulumi_gcp/firebase/app_check_play_integrity_config.py +465 -0
  39. pulumi_gcp/firebase/app_check_recaptcha_enterprise_config.py +474 -0
  40. pulumi_gcp/firebase/app_check_recaptcha_v3_config.py +511 -0
  41. pulumi_gcp/gkehub/scope.py +85 -0
  42. pulumi_gcp/integrationconnectors/connection.py +4 -4
  43. pulumi_gcp/looker/_inputs.py +42 -0
  44. pulumi_gcp/looker/instance.py +90 -0
  45. pulumi_gcp/looker/outputs.py +34 -0
  46. pulumi_gcp/migrationcenter/__init__.py +3 -0
  47. pulumi_gcp/migrationcenter/_inputs.py +500 -0
  48. pulumi_gcp/migrationcenter/outputs.py +562 -0
  49. pulumi_gcp/migrationcenter/preference_set.py +687 -0
  50. pulumi_gcp/monitoring/custom_service.py +4 -2
  51. pulumi_gcp/monitoring/generic_service.py +4 -2
  52. pulumi_gcp/monitoring/get_app_engine_service.py +2 -2
  53. pulumi_gcp/netapp/__init__.py +1 -0
  54. pulumi_gcp/netapp/_inputs.py +275 -0
  55. pulumi_gcp/netapp/outputs.py +290 -0
  56. pulumi_gcp/netapp/volume.py +140 -2
  57. pulumi_gcp/netapp/volume_replication.py +1292 -0
  58. pulumi_gcp/notebooks/instance.py +1 -1
  59. pulumi_gcp/securityposture/_inputs.py +22 -19
  60. pulumi_gcp/securityposture/outputs.py +18 -15
  61. pulumi_gcp/securityposture/posture.py +28 -48
  62. pulumi_gcp/spanner/_inputs.py +20 -0
  63. pulumi_gcp/spanner/database_iam_binding.py +134 -0
  64. pulumi_gcp/spanner/database_iam_member.py +134 -0
  65. pulumi_gcp/spanner/database_iam_policy.py +114 -0
  66. pulumi_gcp/spanner/outputs.py +20 -0
  67. pulumi_gcp/workbench/_inputs.py +157 -2
  68. pulumi_gcp/workbench/instance.py +52 -0
  69. pulumi_gcp/workbench/outputs.py +154 -2
  70. {pulumi_gcp-7.12.0a1709365001.dist-info → pulumi_gcp-7.13.0a1709814369.dist-info}/METADATA +1 -1
  71. {pulumi_gcp-7.12.0a1709365001.dist-info → pulumi_gcp-7.13.0a1709814369.dist-info}/RECORD +73 -60
  72. {pulumi_gcp-7.12.0a1709365001.dist-info → pulumi_gcp-7.13.0a1709814369.dist-info}/WHEEL +0 -0
  73. {pulumi_gcp-7.12.0a1709365001.dist-info → pulumi_gcp-7.13.0a1709814369.dist-info}/top_level.txt +0 -0
@@ -23,12 +23,13 @@ class DatasetIamPolicyArgs:
23
23
 
24
24
  * `member/members` - (Required) Identities that will be granted the privilege in `role`.
25
25
  Each entry can have one of the following values:
26
- * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
27
26
  * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
28
- * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
29
- * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
30
- * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
27
+ * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
31
28
  * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
29
+ * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
30
+ * **iamMember:{principal}**: Some other type of member that appears in the IAM Policy but isn't a user, group, domain, or special group. This is used for example for workload/workforce federated identities (principal, principalSet).
31
+ * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
32
+ * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
32
33
  :param pulumi.Input[str] policy_data: The policy data generated by
33
34
  a `organizations_get_iam_policy` data source.
34
35
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
@@ -47,12 +48,13 @@ class DatasetIamPolicyArgs:
47
48
 
48
49
  * `member/members` - (Required) Identities that will be granted the privilege in `role`.
49
50
  Each entry can have one of the following values:
50
- * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
51
51
  * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
52
- * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
53
- * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
54
- * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
52
+ * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
55
53
  * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
54
+ * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
55
+ * **iamMember:{principal}**: Some other type of member that appears in the IAM Policy but isn't a user, group, domain, or special group. This is used for example for workload/workforce federated identities (principal, principalSet).
56
+ * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
57
+ * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
56
58
  """
57
59
  return pulumi.get(self, "dataset_id")
58
60
 
@@ -100,12 +102,13 @@ class _DatasetIamPolicyState:
100
102
 
101
103
  * `member/members` - (Required) Identities that will be granted the privilege in `role`.
102
104
  Each entry can have one of the following values:
103
- * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
104
105
  * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
105
- * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
106
- * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
107
- * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
106
+ * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
108
107
  * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
108
+ * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
109
+ * **iamMember:{principal}**: Some other type of member that appears in the IAM Policy but isn't a user, group, domain, or special group. This is used for example for workload/workforce federated identities (principal, principalSet).
110
+ * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
111
+ * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
109
112
  :param pulumi.Input[str] etag: (Computed) The etag of the dataset's IAM policy.
110
113
  :param pulumi.Input[str] policy_data: The policy data generated by
111
114
  a `organizations_get_iam_policy` data source.
@@ -129,12 +132,13 @@ class _DatasetIamPolicyState:
129
132
 
130
133
  * `member/members` - (Required) Identities that will be granted the privilege in `role`.
131
134
  Each entry can have one of the following values:
132
- * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
133
135
  * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
134
- * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
135
- * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
136
- * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
136
+ * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
137
137
  * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
138
+ * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
139
+ * **iamMember:{principal}**: Some other type of member that appears in the IAM Policy but isn't a user, group, domain, or special group. This is used for example for workload/workforce federated identities (principal, principalSet).
140
+ * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
141
+ * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
138
142
  """
139
143
  return pulumi.get(self, "dataset_id")
140
144
 
@@ -283,12 +287,13 @@ class DatasetIamPolicy(pulumi.CustomResource):
283
287
 
284
288
  * `member/members` - (Required) Identities that will be granted the privilege in `role`.
285
289
  Each entry can have one of the following values:
286
- * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
287
290
  * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
288
- * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
289
- * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
290
- * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
291
+ * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
291
292
  * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
293
+ * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
294
+ * **iamMember:{principal}**: Some other type of member that appears in the IAM Policy but isn't a user, group, domain, or special group. This is used for example for workload/workforce federated identities (principal, principalSet).
295
+ * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
296
+ * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
292
297
  :param pulumi.Input[str] policy_data: The policy data generated by
293
298
  a `organizations_get_iam_policy` data source.
294
299
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
@@ -447,12 +452,13 @@ class DatasetIamPolicy(pulumi.CustomResource):
447
452
 
448
453
  * `member/members` - (Required) Identities that will be granted the privilege in `role`.
449
454
  Each entry can have one of the following values:
450
- * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
451
455
  * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
452
- * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
453
- * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
454
- * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
456
+ * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
455
457
  * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
458
+ * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
459
+ * **iamMember:{principal}**: Some other type of member that appears in the IAM Policy but isn't a user, group, domain, or special group. This is used for example for workload/workforce federated identities (principal, principalSet).
460
+ * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
461
+ * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
456
462
  :param pulumi.Input[str] etag: (Computed) The etag of the dataset's IAM policy.
457
463
  :param pulumi.Input[str] policy_data: The policy data generated by
458
464
  a `organizations_get_iam_policy` data source.
@@ -477,12 +483,13 @@ class DatasetIamPolicy(pulumi.CustomResource):
477
483
 
478
484
  * `member/members` - (Required) Identities that will be granted the privilege in `role`.
479
485
  Each entry can have one of the following values:
480
- * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
481
486
  * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
482
- * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
483
- * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
484
- * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
487
+ * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
485
488
  * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
489
+ * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
490
+ * **iamMember:{principal}**: Some other type of member that appears in the IAM Policy but isn't a user, group, domain, or special group. This is used for example for workload/workforce federated identities (principal, principalSet).
491
+ * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
492
+ * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
486
493
  """
487
494
  return pulumi.get(self, "dataset_id")
488
495
 
@@ -65,6 +65,7 @@ __all__ = [
65
65
  'JobStatusErrorResult',
66
66
  'ReservationAutoscale',
67
67
  'RoutineArgument',
68
+ 'RoutineRemoteFunctionOptions',
68
69
  'RoutineSparkOptions',
69
70
  'TableEncryptionConfiguration',
70
71
  'TableExternalDataConfiguration',
@@ -3964,6 +3965,96 @@ class RoutineArgument(dict):
3964
3965
  return pulumi.get(self, "name")
3965
3966
 
3966
3967
 
3968
+ @pulumi.output_type
3969
+ class RoutineRemoteFunctionOptions(dict):
3970
+ @staticmethod
3971
+ def __key_warning(key: str):
3972
+ suggest = None
3973
+ if key == "maxBatchingRows":
3974
+ suggest = "max_batching_rows"
3975
+ elif key == "userDefinedContext":
3976
+ suggest = "user_defined_context"
3977
+
3978
+ if suggest:
3979
+ pulumi.log.warn(f"Key '{key}' not found in RoutineRemoteFunctionOptions. Access the value via the '{suggest}' property getter instead.")
3980
+
3981
+ def __getitem__(self, key: str) -> Any:
3982
+ RoutineRemoteFunctionOptions.__key_warning(key)
3983
+ return super().__getitem__(key)
3984
+
3985
+ def get(self, key: str, default = None) -> Any:
3986
+ RoutineRemoteFunctionOptions.__key_warning(key)
3987
+ return super().get(key, default)
3988
+
3989
+ def __init__(__self__, *,
3990
+ connection: Optional[str] = None,
3991
+ endpoint: Optional[str] = None,
3992
+ max_batching_rows: Optional[str] = None,
3993
+ user_defined_context: Optional[Mapping[str, str]] = None):
3994
+ """
3995
+ :param str connection: Fully qualified name of the user-provided connection object which holds
3996
+ the authentication information to send requests to the remote service.
3997
+ Format: "projects/{projectId}/locations/{locationId}/connections/{connectionId}"
3998
+ :param str endpoint: Endpoint of the user-provided remote service, e.g.
3999
+ `https://us-east1-my_gcf_project.cloudfunctions.net/remote_add`
4000
+ :param str max_batching_rows: Max number of rows in each batch sent to the remote service. If absent or if 0,
4001
+ BigQuery dynamically decides the number of rows in a batch.
4002
+ :param Mapping[str, str] user_defined_context: User-defined context as a set of key/value pairs, which will be sent as function
4003
+ invocation context together with batched arguments in the requests to the remote
4004
+ service. The total number of bytes of keys and values must be less than 8KB.
4005
+ An object containing a list of "key": value pairs. Example:
4006
+ `{ "name": "wrench", "mass": "1.3kg", "count": "3" }`.
4007
+ """
4008
+ if connection is not None:
4009
+ pulumi.set(__self__, "connection", connection)
4010
+ if endpoint is not None:
4011
+ pulumi.set(__self__, "endpoint", endpoint)
4012
+ if max_batching_rows is not None:
4013
+ pulumi.set(__self__, "max_batching_rows", max_batching_rows)
4014
+ if user_defined_context is not None:
4015
+ pulumi.set(__self__, "user_defined_context", user_defined_context)
4016
+
4017
+ @property
4018
+ @pulumi.getter
4019
+ def connection(self) -> Optional[str]:
4020
+ """
4021
+ Fully qualified name of the user-provided connection object which holds
4022
+ the authentication information to send requests to the remote service.
4023
+ Format: "projects/{projectId}/locations/{locationId}/connections/{connectionId}"
4024
+ """
4025
+ return pulumi.get(self, "connection")
4026
+
4027
+ @property
4028
+ @pulumi.getter
4029
+ def endpoint(self) -> Optional[str]:
4030
+ """
4031
+ Endpoint of the user-provided remote service, e.g.
4032
+ `https://us-east1-my_gcf_project.cloudfunctions.net/remote_add`
4033
+ """
4034
+ return pulumi.get(self, "endpoint")
4035
+
4036
+ @property
4037
+ @pulumi.getter(name="maxBatchingRows")
4038
+ def max_batching_rows(self) -> Optional[str]:
4039
+ """
4040
+ Max number of rows in each batch sent to the remote service. If absent or if 0,
4041
+ BigQuery dynamically decides the number of rows in a batch.
4042
+ """
4043
+ return pulumi.get(self, "max_batching_rows")
4044
+
4045
+ @property
4046
+ @pulumi.getter(name="userDefinedContext")
4047
+ def user_defined_context(self) -> Optional[Mapping[str, str]]:
4048
+ """
4049
+ User-defined context as a set of key/value pairs, which will be sent as function
4050
+ invocation context together with batched arguments in the requests to the remote
4051
+ service. The total number of bytes of keys and values must be less than 8KB.
4052
+ An object containing a list of "key": value pairs. Example:
4053
+ `{ "name": "wrench", "mass": "1.3kg", "count": "3" }`.
4054
+ """
4055
+ return pulumi.get(self, "user_defined_context")
4056
+
4057
+
3967
4058
  @pulumi.output_type
3968
4059
  class RoutineSparkOptions(dict):
3969
4060
  @staticmethod
@@ -26,6 +26,7 @@ class RoutineArgs:
26
26
  imported_libraries: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
27
27
  language: Optional[pulumi.Input[str]] = None,
28
28
  project: Optional[pulumi.Input[str]] = None,
29
+ remote_function_options: Optional[pulumi.Input['RoutineRemoteFunctionOptionsArgs']] = None,
29
30
  return_table_type: Optional[pulumi.Input[str]] = None,
30
31
  return_type: Optional[pulumi.Input[str]] = None,
31
32
  spark_options: Optional[pulumi.Input['RoutineSparkOptionsArgs']] = None):
@@ -51,6 +52,8 @@ class RoutineArgs:
51
52
  Possible values are: `SQL`, `JAVASCRIPT`, `PYTHON`, `JAVA`, `SCALA`.
52
53
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
53
54
  If it is not provided, the provider project is used.
55
+ :param pulumi.Input['RoutineRemoteFunctionOptionsArgs'] remote_function_options: Remote function specific options.
56
+ Structure is documented below.
54
57
  :param pulumi.Input[str] return_table_type: Optional. Can be set only if routineType = "TABLE_VALUED_FUNCTION".
55
58
  If absent, the return table type is inferred from definitionBody at query time in each query
56
59
  that references this routine. If present, then the columns in the evaluated table result will
@@ -83,6 +86,8 @@ class RoutineArgs:
83
86
  pulumi.set(__self__, "language", language)
84
87
  if project is not None:
85
88
  pulumi.set(__self__, "project", project)
89
+ if remote_function_options is not None:
90
+ pulumi.set(__self__, "remote_function_options", remote_function_options)
86
91
  if return_table_type is not None:
87
92
  pulumi.set(__self__, "return_table_type", return_table_type)
88
93
  if return_type is not None:
@@ -220,6 +225,19 @@ class RoutineArgs:
220
225
  def project(self, value: Optional[pulumi.Input[str]]):
221
226
  pulumi.set(self, "project", value)
222
227
 
228
+ @property
229
+ @pulumi.getter(name="remoteFunctionOptions")
230
+ def remote_function_options(self) -> Optional[pulumi.Input['RoutineRemoteFunctionOptionsArgs']]:
231
+ """
232
+ Remote function specific options.
233
+ Structure is documented below.
234
+ """
235
+ return pulumi.get(self, "remote_function_options")
236
+
237
+ @remote_function_options.setter
238
+ def remote_function_options(self, value: Optional[pulumi.Input['RoutineRemoteFunctionOptionsArgs']]):
239
+ pulumi.set(self, "remote_function_options", value)
240
+
223
241
  @property
224
242
  @pulumi.getter(name="returnTableType")
225
243
  def return_table_type(self) -> Optional[pulumi.Input[str]]:
@@ -282,6 +300,7 @@ class _RoutineState:
282
300
  language: Optional[pulumi.Input[str]] = None,
283
301
  last_modified_time: Optional[pulumi.Input[int]] = None,
284
302
  project: Optional[pulumi.Input[str]] = None,
303
+ remote_function_options: Optional[pulumi.Input['RoutineRemoteFunctionOptionsArgs']] = None,
285
304
  return_table_type: Optional[pulumi.Input[str]] = None,
286
305
  return_type: Optional[pulumi.Input[str]] = None,
287
306
  routine_id: Optional[pulumi.Input[str]] = None,
@@ -310,6 +329,8 @@ class _RoutineState:
310
329
  epoch.
311
330
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
312
331
  If it is not provided, the provider project is used.
332
+ :param pulumi.Input['RoutineRemoteFunctionOptionsArgs'] remote_function_options: Remote function specific options.
333
+ Structure is documented below.
313
334
  :param pulumi.Input[str] return_table_type: Optional. Can be set only if routineType = "TABLE_VALUED_FUNCTION".
314
335
  If absent, the return table type is inferred from definitionBody at query time in each query
315
336
  that references this routine. If present, then the columns in the evaluated table result will
@@ -349,6 +370,8 @@ class _RoutineState:
349
370
  pulumi.set(__self__, "last_modified_time", last_modified_time)
350
371
  if project is not None:
351
372
  pulumi.set(__self__, "project", project)
373
+ if remote_function_options is not None:
374
+ pulumi.set(__self__, "remote_function_options", remote_function_options)
352
375
  if return_table_type is not None:
353
376
  pulumi.set(__self__, "return_table_type", return_table_type)
354
377
  if return_type is not None:
@@ -491,6 +514,19 @@ class _RoutineState:
491
514
  def project(self, value: Optional[pulumi.Input[str]]):
492
515
  pulumi.set(self, "project", value)
493
516
 
517
+ @property
518
+ @pulumi.getter(name="remoteFunctionOptions")
519
+ def remote_function_options(self) -> Optional[pulumi.Input['RoutineRemoteFunctionOptionsArgs']]:
520
+ """
521
+ Remote function specific options.
522
+ Structure is documented below.
523
+ """
524
+ return pulumi.get(self, "remote_function_options")
525
+
526
+ @remote_function_options.setter
527
+ def remote_function_options(self, value: Optional[pulumi.Input['RoutineRemoteFunctionOptionsArgs']]):
528
+ pulumi.set(self, "remote_function_options", value)
529
+
494
530
  @property
495
531
  @pulumi.getter(name="returnTableType")
496
532
  def return_table_type(self) -> Optional[pulumi.Input[str]]:
@@ -578,6 +614,7 @@ class Routine(pulumi.CustomResource):
578
614
  imported_libraries: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
579
615
  language: Optional[pulumi.Input[str]] = None,
580
616
  project: Optional[pulumi.Input[str]] = None,
617
+ remote_function_options: Optional[pulumi.Input[pulumi.InputType['RoutineRemoteFunctionOptionsArgs']]] = None,
581
618
  return_table_type: Optional[pulumi.Input[str]] = None,
582
619
  return_type: Optional[pulumi.Input[str]] = None,
583
620
  routine_id: Optional[pulumi.Input[str]] = None,
@@ -594,7 +631,7 @@ class Routine(pulumi.CustomResource):
594
631
  * [Routines Intro](https://cloud.google.com/bigquery/docs/reference/rest/v2/routines)
595
632
 
596
633
  ## Example Usage
597
- ### Big Query Routine Basic
634
+ ### Bigquery Routine Basic
598
635
 
599
636
  ```python
600
637
  import pulumi
@@ -608,7 +645,7 @@ class Routine(pulumi.CustomResource):
608
645
  language="SQL",
609
646
  definition_body="CREATE FUNCTION Add(x FLOAT64, y FLOAT64) RETURNS FLOAT64 AS (x + y);")
610
647
  ```
611
- ### Big Query Routine Json
648
+ ### Bigquery Routine Json
612
649
 
613
650
  ```python
614
651
  import pulumi
@@ -633,7 +670,7 @@ class Routine(pulumi.CustomResource):
633
670
  ],
634
671
  return_type="{\\"typeKind\\" : \\"FLOAT64\\"}")
635
672
  ```
636
- ### Big Query Routine Tvf
673
+ ### Bigquery Routine Tvf
637
674
 
638
675
  ```python
639
676
  import pulumi
@@ -663,7 +700,7 @@ class Routine(pulumi.CustomResource):
663
700
  }],
664
701
  }))
665
702
  ```
666
- ### Big Query Routine Pyspark
703
+ ### Bigquery Routine Pyspark
667
704
 
668
705
  ```python
669
706
  import pulumi
@@ -704,7 +741,7 @@ class Routine(pulumi.CustomResource):
704
741
  runtime_version="2.1",
705
742
  ))
706
743
  ```
707
- ### Big Query Routine Pyspark Mainfile
744
+ ### Bigquery Routine Pyspark Mainfile
708
745
 
709
746
  ```python
710
747
  import pulumi
@@ -730,7 +767,7 @@ class Routine(pulumi.CustomResource):
730
767
  archive_uris=["gs://test-bucket/distribute_in_executor.tar.gz"],
731
768
  ))
732
769
  ```
733
- ### Big Query Routine Spark Jar
770
+ ### Bigquery Routine Spark Jar
734
771
 
735
772
  ```python
736
773
  import pulumi
@@ -759,6 +796,32 @@ class Routine(pulumi.CustomResource):
759
796
  },
760
797
  ))
761
798
  ```
799
+ ### Bigquery Routine Remote Function
800
+
801
+ ```python
802
+ import pulumi
803
+ import pulumi_gcp as gcp
804
+
805
+ test = gcp.bigquery.Dataset("test", dataset_id="dataset_id")
806
+ test_connection = gcp.bigquery.Connection("test",
807
+ connection_id="connection_id",
808
+ location="US",
809
+ cloud_resource=gcp.bigquery.ConnectionCloudResourceArgs())
810
+ remote_function = gcp.bigquery.Routine("remote_function",
811
+ dataset_id=test.dataset_id,
812
+ routine_id="routine_id",
813
+ routine_type="SCALAR_FUNCTION",
814
+ definition_body="",
815
+ return_type="{\\"typeKind\\" : \\"STRING\\"}",
816
+ remote_function_options=gcp.bigquery.RoutineRemoteFunctionOptionsArgs(
817
+ endpoint="https://us-east1-my_gcf_project.cloudfunctions.net/remote_add",
818
+ connection=test_connection.name,
819
+ max_batching_rows="10",
820
+ user_defined_context={
821
+ "z": "1.5",
822
+ },
823
+ ))
824
+ ```
762
825
 
763
826
  ## Import
764
827
 
@@ -803,6 +866,8 @@ class Routine(pulumi.CustomResource):
803
866
  Possible values are: `SQL`, `JAVASCRIPT`, `PYTHON`, `JAVA`, `SCALA`.
804
867
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
805
868
  If it is not provided, the provider project is used.
869
+ :param pulumi.Input[pulumi.InputType['RoutineRemoteFunctionOptionsArgs']] remote_function_options: Remote function specific options.
870
+ Structure is documented below.
806
871
  :param pulumi.Input[str] return_table_type: Optional. Can be set only if routineType = "TABLE_VALUED_FUNCTION".
807
872
  If absent, the return table type is inferred from definitionBody at query time in each query
808
873
  that references this routine. If present, then the columns in the evaluated table result will
@@ -838,7 +903,7 @@ class Routine(pulumi.CustomResource):
838
903
  * [Routines Intro](https://cloud.google.com/bigquery/docs/reference/rest/v2/routines)
839
904
 
840
905
  ## Example Usage
841
- ### Big Query Routine Basic
906
+ ### Bigquery Routine Basic
842
907
 
843
908
  ```python
844
909
  import pulumi
@@ -852,7 +917,7 @@ class Routine(pulumi.CustomResource):
852
917
  language="SQL",
853
918
  definition_body="CREATE FUNCTION Add(x FLOAT64, y FLOAT64) RETURNS FLOAT64 AS (x + y);")
854
919
  ```
855
- ### Big Query Routine Json
920
+ ### Bigquery Routine Json
856
921
 
857
922
  ```python
858
923
  import pulumi
@@ -877,7 +942,7 @@ class Routine(pulumi.CustomResource):
877
942
  ],
878
943
  return_type="{\\"typeKind\\" : \\"FLOAT64\\"}")
879
944
  ```
880
- ### Big Query Routine Tvf
945
+ ### Bigquery Routine Tvf
881
946
 
882
947
  ```python
883
948
  import pulumi
@@ -907,7 +972,7 @@ class Routine(pulumi.CustomResource):
907
972
  }],
908
973
  }))
909
974
  ```
910
- ### Big Query Routine Pyspark
975
+ ### Bigquery Routine Pyspark
911
976
 
912
977
  ```python
913
978
  import pulumi
@@ -948,7 +1013,7 @@ class Routine(pulumi.CustomResource):
948
1013
  runtime_version="2.1",
949
1014
  ))
950
1015
  ```
951
- ### Big Query Routine Pyspark Mainfile
1016
+ ### Bigquery Routine Pyspark Mainfile
952
1017
 
953
1018
  ```python
954
1019
  import pulumi
@@ -974,7 +1039,7 @@ class Routine(pulumi.CustomResource):
974
1039
  archive_uris=["gs://test-bucket/distribute_in_executor.tar.gz"],
975
1040
  ))
976
1041
  ```
977
- ### Big Query Routine Spark Jar
1042
+ ### Bigquery Routine Spark Jar
978
1043
 
979
1044
  ```python
980
1045
  import pulumi
@@ -1003,6 +1068,32 @@ class Routine(pulumi.CustomResource):
1003
1068
  },
1004
1069
  ))
1005
1070
  ```
1071
+ ### Bigquery Routine Remote Function
1072
+
1073
+ ```python
1074
+ import pulumi
1075
+ import pulumi_gcp as gcp
1076
+
1077
+ test = gcp.bigquery.Dataset("test", dataset_id="dataset_id")
1078
+ test_connection = gcp.bigquery.Connection("test",
1079
+ connection_id="connection_id",
1080
+ location="US",
1081
+ cloud_resource=gcp.bigquery.ConnectionCloudResourceArgs())
1082
+ remote_function = gcp.bigquery.Routine("remote_function",
1083
+ dataset_id=test.dataset_id,
1084
+ routine_id="routine_id",
1085
+ routine_type="SCALAR_FUNCTION",
1086
+ definition_body="",
1087
+ return_type="{\\"typeKind\\" : \\"STRING\\"}",
1088
+ remote_function_options=gcp.bigquery.RoutineRemoteFunctionOptionsArgs(
1089
+ endpoint="https://us-east1-my_gcf_project.cloudfunctions.net/remote_add",
1090
+ connection=test_connection.name,
1091
+ max_batching_rows="10",
1092
+ user_defined_context={
1093
+ "z": "1.5",
1094
+ },
1095
+ ))
1096
+ ```
1006
1097
 
1007
1098
  ## Import
1008
1099
 
@@ -1051,6 +1142,7 @@ class Routine(pulumi.CustomResource):
1051
1142
  imported_libraries: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1052
1143
  language: Optional[pulumi.Input[str]] = None,
1053
1144
  project: Optional[pulumi.Input[str]] = None,
1145
+ remote_function_options: Optional[pulumi.Input[pulumi.InputType['RoutineRemoteFunctionOptionsArgs']]] = None,
1054
1146
  return_table_type: Optional[pulumi.Input[str]] = None,
1055
1147
  return_type: Optional[pulumi.Input[str]] = None,
1056
1148
  routine_id: Optional[pulumi.Input[str]] = None,
@@ -1077,6 +1169,7 @@ class Routine(pulumi.CustomResource):
1077
1169
  __props__.__dict__["imported_libraries"] = imported_libraries
1078
1170
  __props__.__dict__["language"] = language
1079
1171
  __props__.__dict__["project"] = project
1172
+ __props__.__dict__["remote_function_options"] = remote_function_options
1080
1173
  __props__.__dict__["return_table_type"] = return_table_type
1081
1174
  __props__.__dict__["return_type"] = return_type
1082
1175
  if routine_id is None and not opts.urn:
@@ -1108,6 +1201,7 @@ class Routine(pulumi.CustomResource):
1108
1201
  language: Optional[pulumi.Input[str]] = None,
1109
1202
  last_modified_time: Optional[pulumi.Input[int]] = None,
1110
1203
  project: Optional[pulumi.Input[str]] = None,
1204
+ remote_function_options: Optional[pulumi.Input[pulumi.InputType['RoutineRemoteFunctionOptionsArgs']]] = None,
1111
1205
  return_table_type: Optional[pulumi.Input[str]] = None,
1112
1206
  return_type: Optional[pulumi.Input[str]] = None,
1113
1207
  routine_id: Optional[pulumi.Input[str]] = None,
@@ -1141,6 +1235,8 @@ class Routine(pulumi.CustomResource):
1141
1235
  epoch.
1142
1236
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
1143
1237
  If it is not provided, the provider project is used.
1238
+ :param pulumi.Input[pulumi.InputType['RoutineRemoteFunctionOptionsArgs']] remote_function_options: Remote function specific options.
1239
+ Structure is documented below.
1144
1240
  :param pulumi.Input[str] return_table_type: Optional. Can be set only if routineType = "TABLE_VALUED_FUNCTION".
1145
1241
  If absent, the return table type is inferred from definitionBody at query time in each query
1146
1242
  that references this routine. If present, then the columns in the evaluated table result will
@@ -1174,6 +1270,7 @@ class Routine(pulumi.CustomResource):
1174
1270
  __props__.__dict__["language"] = language
1175
1271
  __props__.__dict__["last_modified_time"] = last_modified_time
1176
1272
  __props__.__dict__["project"] = project
1273
+ __props__.__dict__["remote_function_options"] = remote_function_options
1177
1274
  __props__.__dict__["return_table_type"] = return_table_type
1178
1275
  __props__.__dict__["return_type"] = return_type
1179
1276
  __props__.__dict__["routine_id"] = routine_id
@@ -1272,6 +1369,15 @@ class Routine(pulumi.CustomResource):
1272
1369
  """
1273
1370
  return pulumi.get(self, "project")
1274
1371
 
1372
+ @property
1373
+ @pulumi.getter(name="remoteFunctionOptions")
1374
+ def remote_function_options(self) -> pulumi.Output[Optional['outputs.RoutineRemoteFunctionOptions']]:
1375
+ """
1376
+ Remote function specific options.
1377
+ Structure is documented below.
1378
+ """
1379
+ return pulumi.get(self, "remote_function_options")
1380
+
1275
1381
  @property
1276
1382
  @pulumi.getter(name="returnTableType")
1277
1383
  def return_table_type(self) -> pulumi.Output[Optional[str]]: