pulumi-snowflake 0.50.2a1709892015__py3-none-any.whl → 1.2.0a1736835738__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.

Potentially problematic release.


This version of pulumi-snowflake might be problematic. Click here for more details.

Files changed (182) hide show
  1. pulumi_snowflake/__init__.py +224 -172
  2. pulumi_snowflake/_inputs.py +52854 -1662
  3. pulumi_snowflake/_utilities.py +41 -5
  4. pulumi_snowflake/account.py +188 -214
  5. pulumi_snowflake/account_authentication_policy_attachment.py +149 -0
  6. pulumi_snowflake/account_parameter.py +21 -44
  7. pulumi_snowflake/account_password_policy_attachment.py +7 -28
  8. pulumi_snowflake/account_role.py +250 -0
  9. pulumi_snowflake/alert.py +38 -43
  10. pulumi_snowflake/api_authentication_integration_with_authorization_code_grant.py +704 -0
  11. pulumi_snowflake/api_authentication_integration_with_client_credentials.py +657 -0
  12. pulumi_snowflake/api_authentication_integration_with_jwt_bearer.py +692 -0
  13. pulumi_snowflake/api_integration.py +35 -50
  14. pulumi_snowflake/authentication_policy.py +622 -0
  15. pulumi_snowflake/config/__init__.pyi +76 -99
  16. pulumi_snowflake/config/outputs.py +5 -0
  17. pulumi_snowflake/config/vars.py +93 -124
  18. pulumi_snowflake/cortex_search_service.py +596 -0
  19. pulumi_snowflake/database.py +819 -209
  20. pulumi_snowflake/database_role.py +81 -40
  21. pulumi_snowflake/dynamic_table.py +44 -47
  22. pulumi_snowflake/email_notification_integration.py +35 -26
  23. pulumi_snowflake/{unsafe_execute.py → execute.py} +36 -139
  24. pulumi_snowflake/external_function.py +54 -71
  25. pulumi_snowflake/external_oauth_integration.py +593 -538
  26. pulumi_snowflake/external_table.py +67 -86
  27. pulumi_snowflake/external_volume.py +382 -0
  28. pulumi_snowflake/failover_group.py +59 -96
  29. pulumi_snowflake/file_format.py +33 -24
  30. pulumi_snowflake/function_java.py +1211 -0
  31. pulumi_snowflake/function_javascript.py +882 -0
  32. pulumi_snowflake/function_python.py +1212 -0
  33. pulumi_snowflake/function_scala.py +1212 -0
  34. pulumi_snowflake/function_sql.py +835 -0
  35. pulumi_snowflake/get_account_roles.py +129 -0
  36. pulumi_snowflake/get_accounts.py +53 -22
  37. pulumi_snowflake/get_alerts.py +22 -5
  38. pulumi_snowflake/get_connections.py +109 -0
  39. pulumi_snowflake/get_cortex_search_services.py +216 -0
  40. pulumi_snowflake/get_current_account.py +24 -9
  41. pulumi_snowflake/get_current_role.py +14 -7
  42. pulumi_snowflake/get_database.py +25 -5
  43. pulumi_snowflake/get_database_role.py +162 -0
  44. pulumi_snowflake/get_database_roles.py +79 -43
  45. pulumi_snowflake/get_databases.py +91 -69
  46. pulumi_snowflake/get_dynamic_tables.py +36 -19
  47. pulumi_snowflake/get_external_functions.py +28 -5
  48. pulumi_snowflake/get_external_tables.py +28 -5
  49. pulumi_snowflake/get_failover_groups.py +18 -7
  50. pulumi_snowflake/get_file_formats.py +28 -5
  51. pulumi_snowflake/get_functions.py +28 -5
  52. pulumi_snowflake/get_grants.py +207 -80
  53. pulumi_snowflake/get_masking_policies.py +91 -47
  54. pulumi_snowflake/get_materialized_views.py +28 -5
  55. pulumi_snowflake/get_network_policies.py +129 -0
  56. pulumi_snowflake/get_parameters.py +38 -11
  57. pulumi_snowflake/get_pipes.py +28 -5
  58. pulumi_snowflake/get_procedures.py +28 -5
  59. pulumi_snowflake/get_resource_monitors.py +37 -20
  60. pulumi_snowflake/get_row_access_policies.py +91 -47
  61. pulumi_snowflake/get_schemas.py +145 -37
  62. pulumi_snowflake/get_secrets.py +200 -0
  63. pulumi_snowflake/get_security_integrations.py +129 -0
  64. pulumi_snowflake/get_sequences.py +28 -5
  65. pulumi_snowflake/get_shares.py +18 -5
  66. pulumi_snowflake/get_stages.py +28 -5
  67. pulumi_snowflake/get_storage_integrations.py +16 -5
  68. pulumi_snowflake/get_streamlits.py +170 -0
  69. pulumi_snowflake/get_streams.py +114 -50
  70. pulumi_snowflake/get_system_generate_scim_access_token.py +18 -5
  71. pulumi_snowflake/get_system_get_aws_sns_iam_policy.py +32 -7
  72. pulumi_snowflake/get_system_get_private_link_config.py +121 -6
  73. pulumi_snowflake/get_system_get_snowflake_platform_info.py +15 -7
  74. pulumi_snowflake/get_tables.py +28 -5
  75. pulumi_snowflake/get_tags.py +130 -0
  76. pulumi_snowflake/get_tasks.py +134 -50
  77. pulumi_snowflake/get_users.py +116 -40
  78. pulumi_snowflake/get_views.py +114 -50
  79. pulumi_snowflake/get_warehouses.py +79 -22
  80. pulumi_snowflake/grant_account_role.py +28 -61
  81. pulumi_snowflake/grant_application_role.py +257 -0
  82. pulumi_snowflake/grant_database_role.py +35 -108
  83. pulumi_snowflake/grant_ownership.py +382 -0
  84. pulumi_snowflake/grant_privileges_to_account_role.py +42 -78
  85. pulumi_snowflake/grant_privileges_to_database_role.py +37 -223
  86. pulumi_snowflake/grant_privileges_to_share.py +96 -44
  87. pulumi_snowflake/legacy_service_user.py +3670 -0
  88. pulumi_snowflake/managed_account.py +42 -9
  89. pulumi_snowflake/masking_policy.py +213 -306
  90. pulumi_snowflake/materialized_view.py +62 -67
  91. pulumi_snowflake/network_policy.py +217 -57
  92. pulumi_snowflake/network_policy_attachment.py +7 -32
  93. pulumi_snowflake/network_rule.py +473 -0
  94. pulumi_snowflake/notification_integration.py +51 -82
  95. pulumi_snowflake/oauth_integration_for_custom_clients.py +906 -0
  96. pulumi_snowflake/{oauth_integration.py → oauth_integration_for_partner_applications.py} +191 -188
  97. pulumi_snowflake/object_parameter.py +12 -99
  98. pulumi_snowflake/outputs.py +49200 -2928
  99. pulumi_snowflake/password_policy.py +41 -28
  100. pulumi_snowflake/pipe.py +33 -0
  101. pulumi_snowflake/primary_connection.py +330 -0
  102. pulumi_snowflake/procedure_java.py +1273 -0
  103. pulumi_snowflake/procedure_javascript.py +895 -0
  104. pulumi_snowflake/procedure_python.py +1226 -0
  105. pulumi_snowflake/procedure_scala.py +1273 -0
  106. pulumi_snowflake/procedure_sql.py +895 -0
  107. pulumi_snowflake/provider.py +378 -613
  108. pulumi_snowflake/pulumi-plugin.json +2 -1
  109. pulumi_snowflake/resource_monitor.py +118 -323
  110. pulumi_snowflake/row_access_policy.py +200 -145
  111. pulumi_snowflake/{saml_integration.py → saml2_integration.py} +356 -295
  112. pulumi_snowflake/schema.py +949 -174
  113. pulumi_snowflake/scim_integration.py +286 -105
  114. pulumi_snowflake/secondary_connection.py +339 -0
  115. pulumi_snowflake/secondary_database.py +1080 -0
  116. pulumi_snowflake/secret_with_authorization_code_grant.py +548 -0
  117. pulumi_snowflake/secret_with_basic_authentication.py +500 -0
  118. pulumi_snowflake/secret_with_client_credentials.py +511 -0
  119. pulumi_snowflake/secret_with_generic_string.py +452 -0
  120. pulumi_snowflake/sequence.py +9 -30
  121. pulumi_snowflake/service_user.py +3585 -0
  122. pulumi_snowflake/share.py +35 -26
  123. pulumi_snowflake/shared_database.py +939 -0
  124. pulumi_snowflake/stage.py +95 -80
  125. pulumi_snowflake/storage_integration.py +48 -2
  126. pulumi_snowflake/stream_on_directory_table.py +517 -0
  127. pulumi_snowflake/stream_on_external_table.py +632 -0
  128. pulumi_snowflake/stream_on_table.py +666 -0
  129. pulumi_snowflake/stream_on_view.py +666 -0
  130. pulumi_snowflake/streamlit.py +671 -0
  131. pulumi_snowflake/table.py +86 -93
  132. pulumi_snowflake/table_column_masking_policy_application.py +7 -14
  133. pulumi_snowflake/table_constraint.py +29 -168
  134. pulumi_snowflake/tag.py +142 -70
  135. pulumi_snowflake/tag_association.py +40 -211
  136. pulumi_snowflake/task.py +3048 -414
  137. pulumi_snowflake/user.py +3351 -380
  138. pulumi_snowflake/user_authentication_policy_attachment.py +197 -0
  139. pulumi_snowflake/user_password_policy_attachment.py +7 -6
  140. pulumi_snowflake/user_public_keys.py +5 -0
  141. pulumi_snowflake/view.py +466 -211
  142. pulumi_snowflake/warehouse.py +184 -164
  143. {pulumi_snowflake-0.50.2a1709892015.dist-info → pulumi_snowflake-1.2.0a1736835738.dist-info}/METADATA +7 -6
  144. pulumi_snowflake-1.2.0a1736835738.dist-info/RECORD +148 -0
  145. {pulumi_snowflake-0.50.2a1709892015.dist-info → pulumi_snowflake-1.2.0a1736835738.dist-info}/WHEEL +1 -1
  146. pulumi_snowflake/account_grant.py +0 -339
  147. pulumi_snowflake/database_grant.py +0 -491
  148. pulumi_snowflake/external_table_grant.py +0 -686
  149. pulumi_snowflake/failover_group_grant.py +0 -388
  150. pulumi_snowflake/file_format_grant.py +0 -631
  151. pulumi_snowflake/function.py +0 -868
  152. pulumi_snowflake/function_grant.py +0 -741
  153. pulumi_snowflake/get_role.py +0 -117
  154. pulumi_snowflake/get_roles.py +0 -116
  155. pulumi_snowflake/grant_privileges_to_role.py +0 -667
  156. pulumi_snowflake/integration_grant.py +0 -436
  157. pulumi_snowflake/masking_policy_grant.py +0 -538
  158. pulumi_snowflake/materialized_view_grant.py +0 -685
  159. pulumi_snowflake/pipe_grant.py +0 -583
  160. pulumi_snowflake/procedure.py +0 -883
  161. pulumi_snowflake/procedure_grant.py +0 -741
  162. pulumi_snowflake/resource_monitor_grant.py +0 -383
  163. pulumi_snowflake/role.py +0 -269
  164. pulumi_snowflake/role_grants.py +0 -348
  165. pulumi_snowflake/role_ownership_grant.py +0 -334
  166. pulumi_snowflake/row_access_policy_grant.py +0 -536
  167. pulumi_snowflake/schema_grant.py +0 -643
  168. pulumi_snowflake/sequence_grant.py +0 -631
  169. pulumi_snowflake/session_parameter.py +0 -328
  170. pulumi_snowflake/stage_grant.py +0 -631
  171. pulumi_snowflake/stream.py +0 -610
  172. pulumi_snowflake/stream_grant.py +0 -631
  173. pulumi_snowflake/table_grant.py +0 -673
  174. pulumi_snowflake/tag_grant.py +0 -528
  175. pulumi_snowflake/tag_masking_policy_association.py +0 -210
  176. pulumi_snowflake/task_grant.py +0 -631
  177. pulumi_snowflake/user_grant.py +0 -390
  178. pulumi_snowflake/user_ownership_grant.py +0 -286
  179. pulumi_snowflake/view_grant.py +0 -701
  180. pulumi_snowflake/warehouse_grant.py +0 -436
  181. pulumi_snowflake-0.50.2a1709892015.dist-info/RECORD +0 -136
  182. {pulumi_snowflake-0.50.2a1709892015.dist-info → pulumi_snowflake-1.2.0a1736835738.dist-info}/top_level.txt +0 -0
@@ -4,24 +4,29 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
10
  from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
10
15
  from . import _utilities
11
16
 
12
- __all__ = ['UnsafeExecuteArgs', 'UnsafeExecute']
17
+ __all__ = ['ExecuteArgs', 'Execute']
13
18
 
14
19
  @pulumi.input_type
15
- class UnsafeExecuteArgs:
20
+ class ExecuteArgs:
16
21
  def __init__(__self__, *,
17
22
  execute: pulumi.Input[str],
18
23
  revert: pulumi.Input[str],
19
24
  query: Optional[pulumi.Input[str]] = None):
20
25
  """
21
- The set of arguments for constructing a UnsafeExecute resource.
26
+ The set of arguments for constructing a Execute resource.
22
27
  :param pulumi.Input[str] execute: SQL statement to execute. Forces recreation of resource on change.
23
28
  :param pulumi.Input[str] revert: SQL statement to revert the execute statement. Invoked when resource is being destroyed.
24
- :param pulumi.Input[str] query: Optional SQL statement to do a read. Invoked after creation and every time it is changed.
29
+ :param pulumi.Input[str] query: Optional SQL statement to do a read. Invoked on every resource refresh and every time it is changed.
25
30
  """
26
31
  pulumi.set(__self__, "execute", execute)
27
32
  pulumi.set(__self__, "revert", revert)
@@ -56,7 +61,7 @@ class UnsafeExecuteArgs:
56
61
  @pulumi.getter
57
62
  def query(self) -> Optional[pulumi.Input[str]]:
58
63
  """
59
- Optional SQL statement to do a read. Invoked after creation and every time it is changed.
64
+ Optional SQL statement to do a read. Invoked on every resource refresh and every time it is changed.
60
65
  """
61
66
  return pulumi.get(self, "query")
62
67
 
@@ -66,16 +71,16 @@ class UnsafeExecuteArgs:
66
71
 
67
72
 
68
73
  @pulumi.input_type
69
- class _UnsafeExecuteState:
74
+ class _ExecuteState:
70
75
  def __init__(__self__, *,
71
76
  execute: Optional[pulumi.Input[str]] = None,
72
77
  query: Optional[pulumi.Input[str]] = None,
73
78
  query_results: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]] = None,
74
79
  revert: Optional[pulumi.Input[str]] = None):
75
80
  """
76
- Input properties used for looking up and filtering UnsafeExecute resources.
81
+ Input properties used for looking up and filtering Execute resources.
77
82
  :param pulumi.Input[str] execute: SQL statement to execute. Forces recreation of resource on change.
78
- :param pulumi.Input[str] query: Optional SQL statement to do a read. Invoked after creation and every time it is changed.
83
+ :param pulumi.Input[str] query: Optional SQL statement to do a read. Invoked on every resource refresh and every time it is changed.
79
84
  :param pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]] query_results: List of key-value maps (text to text) retrieved after executing read query. Will be empty if the query results in an error.
80
85
  :param pulumi.Input[str] revert: SQL statement to revert the execute statement. Invoked when resource is being destroyed.
81
86
  """
@@ -104,7 +109,7 @@ class _UnsafeExecuteState:
104
109
  @pulumi.getter
105
110
  def query(self) -> Optional[pulumi.Input[str]]:
106
111
  """
107
- Optional SQL statement to do a read. Invoked after creation and every time it is changed.
112
+ Optional SQL statement to do a read. Invoked on every resource refresh and every time it is changed.
108
113
  """
109
114
  return pulumi.get(self, "query")
110
115
 
@@ -137,7 +142,7 @@ class _UnsafeExecuteState:
137
142
  pulumi.set(self, "revert", value)
138
143
 
139
144
 
140
- class UnsafeExecute(pulumi.CustomResource):
145
+ class Execute(pulumi.CustomResource):
141
146
  @overload
142
147
  def __init__(__self__,
143
148
  resource_name: str,
@@ -147,146 +152,38 @@ class UnsafeExecute(pulumi.CustomResource):
147
152
  revert: Optional[pulumi.Input[str]] = None,
148
153
  __props__=None):
149
154
  """
150
- !> **Warning** This is a dangerous resource that allows executing **ANY** SQL statement. It may destroy resources if used incorrectly. It may behave incorrectly combined with other resources. Will be deleted in the upcoming versions. Use at your own risk.
155
+ ## Import
151
156
 
152
- > **Note** It can be theoretically used to manage resource that are not supported by the provider. This is risky and may brake other resources if used incorrectly.
153
-
154
- > **Note** Use `query` parameter with caution. It will fetch **ALL** the results returned by the query provided. Try to limit the number of results by writing query with filters. Query failure does not stop resource creation; it simply results in `query_results` being empty.
155
-
156
- > **Deprecation** Experimental resource. Will be deleted in the upcoming versions. Use at your own risk. <deprecation>
157
-
158
- Experimental resource used for testing purposes only. Allows to execute ANY SQL statement.
159
-
160
- ## Example Usage
161
- ### simple use cases
162
- ##################################
163
-
164
- # create and destroy resource
165
- resource "snowflake_unsafe_execute" "test" {
166
- execute = "CREATE DATABASE ABC"
167
- revert = "DROP DATABASE ABC"
168
- }
169
-
170
- # create and destroy resource using qualified name
171
- resource "snowflake_unsafe_execute" "test" {
172
- execute = "CREATE DATABASE \\"abc\\""
173
- revert = "DROP DATABASE \\"abc\\""
174
- }
175
-
176
- # with query
177
- resource "snowflake_unsafe_execute" "test" {
178
- execute = "CREATE DATABASE ABC"
179
- revert = "DROP DATABASE ABC"
180
- query = "SHOW DATABASES LIKE '%ABC%'"
181
- }
182
-
183
- ##################################
184
- ### grants example
185
- ##################################
186
-
187
- # grant and revoke privilege USAGE to ROLE on database
188
- resource "snowflake_unsafe_execute" "test" {
189
- execute = "GRANT USAGE ON DATABASE ABC TO ROLE XYZ"
190
- revert = "REVOKE USAGE ON DATABASE ABC FROM ROLE XYZ"
191
- }
192
-
193
- # grant and revoke with for_each
194
- variable "database_grants" {
195
- type = list(object({
196
- database_name = string
197
- role_id = string
198
- privileges = list(string)
199
- }))
200
- }
201
-
202
- resource "snowflake_unsafe_execute" "test" {
203
- for_each = { for index, db_grant in var.database_grants : index => db_grant }
204
- execute = "GRANT ${join(",", each.value.privileges)} ON DATABASE ${each.value.database_name} TO ROLE ${each.value.role_id}"
205
- revert = "REVOKE ${join(",", each.value.privileges)} ON DATABASE ${each.value.database_name} FROM ROLE ${each.value.role_id}"
206
- }
207
-
208
- ##################################
157
+ ```sh
158
+ $ pulumi import snowflake:index/execute:Execute example '<random_uuid>'
159
+ ```
209
160
 
210
161
  :param str resource_name: The name of the resource.
211
162
  :param pulumi.ResourceOptions opts: Options for the resource.
212
163
  :param pulumi.Input[str] execute: SQL statement to execute. Forces recreation of resource on change.
213
- :param pulumi.Input[str] query: Optional SQL statement to do a read. Invoked after creation and every time it is changed.
164
+ :param pulumi.Input[str] query: Optional SQL statement to do a read. Invoked on every resource refresh and every time it is changed.
214
165
  :param pulumi.Input[str] revert: SQL statement to revert the execute statement. Invoked when resource is being destroyed.
215
166
  """
216
167
  ...
217
168
  @overload
218
169
  def __init__(__self__,
219
170
  resource_name: str,
220
- args: UnsafeExecuteArgs,
171
+ args: ExecuteArgs,
221
172
  opts: Optional[pulumi.ResourceOptions] = None):
222
173
  """
223
- !> **Warning** This is a dangerous resource that allows executing **ANY** SQL statement. It may destroy resources if used incorrectly. It may behave incorrectly combined with other resources. Will be deleted in the upcoming versions. Use at your own risk.
224
-
225
- > **Note** It can be theoretically used to manage resource that are not supported by the provider. This is risky and may brake other resources if used incorrectly.
226
-
227
- > **Note** Use `query` parameter with caution. It will fetch **ALL** the results returned by the query provided. Try to limit the number of results by writing query with filters. Query failure does not stop resource creation; it simply results in `query_results` being empty.
228
-
229
- > **Deprecation** Experimental resource. Will be deleted in the upcoming versions. Use at your own risk. <deprecation>
230
-
231
- Experimental resource used for testing purposes only. Allows to execute ANY SQL statement.
232
-
233
- ## Example Usage
234
- ### simple use cases
235
- ##################################
236
-
237
- # create and destroy resource
238
- resource "snowflake_unsafe_execute" "test" {
239
- execute = "CREATE DATABASE ABC"
240
- revert = "DROP DATABASE ABC"
241
- }
242
-
243
- # create and destroy resource using qualified name
244
- resource "snowflake_unsafe_execute" "test" {
245
- execute = "CREATE DATABASE \\"abc\\""
246
- revert = "DROP DATABASE \\"abc\\""
247
- }
248
-
249
- # with query
250
- resource "snowflake_unsafe_execute" "test" {
251
- execute = "CREATE DATABASE ABC"
252
- revert = "DROP DATABASE ABC"
253
- query = "SHOW DATABASES LIKE '%ABC%'"
254
- }
255
-
256
- ##################################
257
- ### grants example
258
- ##################################
259
-
260
- # grant and revoke privilege USAGE to ROLE on database
261
- resource "snowflake_unsafe_execute" "test" {
262
- execute = "GRANT USAGE ON DATABASE ABC TO ROLE XYZ"
263
- revert = "REVOKE USAGE ON DATABASE ABC FROM ROLE XYZ"
264
- }
265
-
266
- # grant and revoke with for_each
267
- variable "database_grants" {
268
- type = list(object({
269
- database_name = string
270
- role_id = string
271
- privileges = list(string)
272
- }))
273
- }
274
-
275
- resource "snowflake_unsafe_execute" "test" {
276
- for_each = { for index, db_grant in var.database_grants : index => db_grant }
277
- execute = "GRANT ${join(",", each.value.privileges)} ON DATABASE ${each.value.database_name} TO ROLE ${each.value.role_id}"
278
- revert = "REVOKE ${join(",", each.value.privileges)} ON DATABASE ${each.value.database_name} FROM ROLE ${each.value.role_id}"
279
- }
174
+ ## Import
280
175
 
281
- ##################################
176
+ ```sh
177
+ $ pulumi import snowflake:index/execute:Execute example '<random_uuid>'
178
+ ```
282
179
 
283
180
  :param str resource_name: The name of the resource.
284
- :param UnsafeExecuteArgs args: The arguments to use to populate this resource's properties.
181
+ :param ExecuteArgs args: The arguments to use to populate this resource's properties.
285
182
  :param pulumi.ResourceOptions opts: Options for the resource.
286
183
  """
287
184
  ...
288
185
  def __init__(__self__, resource_name: str, *args, **kwargs):
289
- resource_args, opts = _utilities.get_resource_args_opts(UnsafeExecuteArgs, pulumi.ResourceOptions, *args, **kwargs)
186
+ resource_args, opts = _utilities.get_resource_args_opts(ExecuteArgs, pulumi.ResourceOptions, *args, **kwargs)
290
187
  if resource_args is not None:
291
188
  __self__._internal_init(resource_name, opts, **resource_args.__dict__)
292
189
  else:
@@ -305,7 +202,7 @@ class UnsafeExecute(pulumi.CustomResource):
305
202
  if opts.id is None:
306
203
  if __props__ is not None:
307
204
  raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
308
- __props__ = UnsafeExecuteArgs.__new__(UnsafeExecuteArgs)
205
+ __props__ = ExecuteArgs.__new__(ExecuteArgs)
309
206
 
310
207
  if execute is None and not opts.urn:
311
208
  raise TypeError("Missing required property 'execute'")
@@ -315,8 +212,8 @@ class UnsafeExecute(pulumi.CustomResource):
315
212
  raise TypeError("Missing required property 'revert'")
316
213
  __props__.__dict__["revert"] = revert
317
214
  __props__.__dict__["query_results"] = None
318
- super(UnsafeExecute, __self__).__init__(
319
- 'snowflake:index/unsafeExecute:UnsafeExecute',
215
+ super(Execute, __self__).__init__(
216
+ 'snowflake:index/execute:Execute',
320
217
  resource_name,
321
218
  __props__,
322
219
  opts)
@@ -328,28 +225,28 @@ class UnsafeExecute(pulumi.CustomResource):
328
225
  execute: Optional[pulumi.Input[str]] = None,
329
226
  query: Optional[pulumi.Input[str]] = None,
330
227
  query_results: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]] = None,
331
- revert: Optional[pulumi.Input[str]] = None) -> 'UnsafeExecute':
228
+ revert: Optional[pulumi.Input[str]] = None) -> 'Execute':
332
229
  """
333
- Get an existing UnsafeExecute resource's state with the given name, id, and optional extra
230
+ Get an existing Execute resource's state with the given name, id, and optional extra
334
231
  properties used to qualify the lookup.
335
232
 
336
233
  :param str resource_name: The unique name of the resulting resource.
337
234
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
338
235
  :param pulumi.ResourceOptions opts: Options for the resource.
339
236
  :param pulumi.Input[str] execute: SQL statement to execute. Forces recreation of resource on change.
340
- :param pulumi.Input[str] query: Optional SQL statement to do a read. Invoked after creation and every time it is changed.
237
+ :param pulumi.Input[str] query: Optional SQL statement to do a read. Invoked on every resource refresh and every time it is changed.
341
238
  :param pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]] query_results: List of key-value maps (text to text) retrieved after executing read query. Will be empty if the query results in an error.
342
239
  :param pulumi.Input[str] revert: SQL statement to revert the execute statement. Invoked when resource is being destroyed.
343
240
  """
344
241
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
345
242
 
346
- __props__ = _UnsafeExecuteState.__new__(_UnsafeExecuteState)
243
+ __props__ = _ExecuteState.__new__(_ExecuteState)
347
244
 
348
245
  __props__.__dict__["execute"] = execute
349
246
  __props__.__dict__["query"] = query
350
247
  __props__.__dict__["query_results"] = query_results
351
248
  __props__.__dict__["revert"] = revert
352
- return UnsafeExecute(resource_name, opts=opts, __props__=__props__)
249
+ return Execute(resource_name, opts=opts, __props__=__props__)
353
250
 
354
251
  @property
355
252
  @pulumi.getter
@@ -363,7 +260,7 @@ class UnsafeExecute(pulumi.CustomResource):
363
260
  @pulumi.getter
364
261
  def query(self) -> pulumi.Output[Optional[str]]:
365
262
  """
366
- Optional SQL statement to do a read. Invoked after creation and every time it is changed.
263
+ Optional SQL statement to do a read. Invoked on every resource refresh and every time it is changed.
367
264
  """
368
265
  return pulumi.get(self, "query")
369
266
 
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
10
  from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
10
15
  from . import _utilities
11
16
  from . import outputs
12
17
  from ._inputs import *
@@ -47,7 +52,7 @@ class ExternalFunctionArgs:
47
52
  :param pulumi.Input[Sequence[pulumi.Input[str]]] context_headers: Binds Snowflake context function results to HTTP headers.
48
53
  :param pulumi.Input[Sequence[pulumi.Input['ExternalFunctionHeaderArgs']]] headers: Allows users to specify key-value metadata that is sent with every request as HTTP headers.
49
54
  :param pulumi.Input[int] max_batch_rows: This specifies the maximum number of rows in each batch sent to the proxy service.
50
- :param pulumi.Input[str] name: Argument name
55
+ :param pulumi.Input[str] name: Specifies the identifier for the external function. The identifier can contain the schema name and database name, as well as the function name. The function's signature (name and argument data types) must be unique within the schema.
51
56
  :param pulumi.Input[str] null_input_behavior: Specifies the behavior of the external function when called with null inputs.
52
57
  :param pulumi.Input[str] request_translator: This specifies the name of the request translator function
53
58
  :param pulumi.Input[str] response_translator: This specifies the name of the response translator function.
@@ -230,7 +235,7 @@ class ExternalFunctionArgs:
230
235
  @pulumi.getter
231
236
  def name(self) -> Optional[pulumi.Input[str]]:
232
237
  """
233
- Argument name
238
+ Specifies the identifier for the external function. The identifier can contain the schema name and database name, as well as the function name. The function's signature (name and argument data types) must be unique within the schema.
234
239
  """
235
240
  return pulumi.get(self, "name")
236
241
 
@@ -297,6 +302,7 @@ class _ExternalFunctionState:
297
302
  context_headers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
298
303
  created_on: Optional[pulumi.Input[str]] = None,
299
304
  database: Optional[pulumi.Input[str]] = None,
305
+ fully_qualified_name: Optional[pulumi.Input[str]] = None,
300
306
  headers: Optional[pulumi.Input[Sequence[pulumi.Input['ExternalFunctionHeaderArgs']]]] = None,
301
307
  max_batch_rows: Optional[pulumi.Input[int]] = None,
302
308
  name: Optional[pulumi.Input[str]] = None,
@@ -317,9 +323,10 @@ class _ExternalFunctionState:
317
323
  :param pulumi.Input[Sequence[pulumi.Input[str]]] context_headers: Binds Snowflake context function results to HTTP headers.
318
324
  :param pulumi.Input[str] created_on: Date and time when the external function was created.
319
325
  :param pulumi.Input[str] database: The database in which to create the external function.
326
+ :param pulumi.Input[str] fully_qualified_name: Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
320
327
  :param pulumi.Input[Sequence[pulumi.Input['ExternalFunctionHeaderArgs']]] headers: Allows users to specify key-value metadata that is sent with every request as HTTP headers.
321
328
  :param pulumi.Input[int] max_batch_rows: This specifies the maximum number of rows in each batch sent to the proxy service.
322
- :param pulumi.Input[str] name: Argument name
329
+ :param pulumi.Input[str] name: Specifies the identifier for the external function. The identifier can contain the schema name and database name, as well as the function name. The function's signature (name and argument data types) must be unique within the schema.
323
330
  :param pulumi.Input[str] null_input_behavior: Specifies the behavior of the external function when called with null inputs.
324
331
  :param pulumi.Input[str] request_translator: This specifies the name of the request translator function
325
332
  :param pulumi.Input[str] response_translator: This specifies the name of the response translator function.
@@ -343,6 +350,8 @@ class _ExternalFunctionState:
343
350
  pulumi.set(__self__, "created_on", created_on)
344
351
  if database is not None:
345
352
  pulumi.set(__self__, "database", database)
353
+ if fully_qualified_name is not None:
354
+ pulumi.set(__self__, "fully_qualified_name", fully_qualified_name)
346
355
  if headers is not None:
347
356
  pulumi.set(__self__, "headers", headers)
348
357
  if max_batch_rows is not None:
@@ -450,6 +459,18 @@ class _ExternalFunctionState:
450
459
  def database(self, value: Optional[pulumi.Input[str]]):
451
460
  pulumi.set(self, "database", value)
452
461
 
462
+ @property
463
+ @pulumi.getter(name="fullyQualifiedName")
464
+ def fully_qualified_name(self) -> Optional[pulumi.Input[str]]:
465
+ """
466
+ Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
467
+ """
468
+ return pulumi.get(self, "fully_qualified_name")
469
+
470
+ @fully_qualified_name.setter
471
+ def fully_qualified_name(self, value: Optional[pulumi.Input[str]]):
472
+ pulumi.set(self, "fully_qualified_name", value)
473
+
453
474
  @property
454
475
  @pulumi.getter
455
476
  def headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ExternalFunctionHeaderArgs']]]]:
@@ -478,7 +499,7 @@ class _ExternalFunctionState:
478
499
  @pulumi.getter
479
500
  def name(self) -> Optional[pulumi.Input[str]]:
480
501
  """
481
- Argument name
502
+ Specifies the identifier for the external function. The identifier can contain the schema name and database name, as well as the function name. The function's signature (name and argument data types) must be unique within the schema.
482
503
  """
483
504
  return pulumi.get(self, "name")
484
505
 
@@ -589,12 +610,12 @@ class ExternalFunction(pulumi.CustomResource):
589
610
  resource_name: str,
590
611
  opts: Optional[pulumi.ResourceOptions] = None,
591
612
  api_integration: Optional[pulumi.Input[str]] = None,
592
- args: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ExternalFunctionArgArgs']]]]] = None,
613
+ args: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ExternalFunctionArgArgs', 'ExternalFunctionArgArgsDict']]]]] = None,
593
614
  comment: Optional[pulumi.Input[str]] = None,
594
615
  compression: Optional[pulumi.Input[str]] = None,
595
616
  context_headers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
596
617
  database: Optional[pulumi.Input[str]] = None,
597
- headers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ExternalFunctionHeaderArgs']]]]] = None,
618
+ headers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ExternalFunctionHeaderArgs', 'ExternalFunctionHeaderArgsDict']]]]] = None,
598
619
  max_batch_rows: Optional[pulumi.Input[int]] = None,
599
620
  name: Optional[pulumi.Input[str]] = None,
600
621
  null_input_behavior: Optional[pulumi.Input[str]] = None,
@@ -607,50 +628,25 @@ class ExternalFunction(pulumi.CustomResource):
607
628
  url_of_proxy_and_resource: Optional[pulumi.Input[str]] = None,
608
629
  __props__=None):
609
630
  """
610
- ## Example Usage
611
-
612
- ```python
613
- import pulumi
614
- import pulumi_snowflake as snowflake
615
-
616
- test_ext_func = snowflake.ExternalFunction("testExtFunc",
617
- api_integration="api_integration_name",
618
- args=[
619
- snowflake.ExternalFunctionArgArgs(
620
- name="arg1",
621
- type="varchar",
622
- ),
623
- snowflake.ExternalFunctionArgArgs(
624
- name="arg2",
625
- type="varchar",
626
- ),
627
- ],
628
- database="my_test_db",
629
- return_behavior="IMMUTABLE",
630
- return_type="variant",
631
- schema="my_test_schema",
632
- url_of_proxy_and_resource="https://123456.execute-api.us-west-2.amazonaws.com/prod/test_func")
633
- ```
634
-
635
631
  ## Import
636
632
 
637
- format is database name | schema name | external function name | <list of function arg types, separated with '-'>
633
+ format is <database_name>.<schema_name>.<external_function_name>(<arg types, separated with ','>)
638
634
 
639
635
  ```sh
640
- $ pulumi import snowflake:index/externalFunction:ExternalFunction example 'dbName|schemaName|externalFunctionName|varchar-varchar-varchar'
636
+ $ pulumi import snowflake:index/externalFunction:ExternalFunction example 'dbName.schemaName.externalFunctionName(varchar, varchar, varchar)'
641
637
  ```
642
638
 
643
639
  :param str resource_name: The name of the resource.
644
640
  :param pulumi.ResourceOptions opts: Options for the resource.
645
641
  :param pulumi.Input[str] api_integration: The name of the API integration object that should be used to authenticate the call to the proxy service.
646
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ExternalFunctionArgArgs']]]] args: Specifies the arguments/inputs for the external function. These should correspond to the arguments that the remote service expects.
642
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ExternalFunctionArgArgs', 'ExternalFunctionArgArgsDict']]]] args: Specifies the arguments/inputs for the external function. These should correspond to the arguments that the remote service expects.
647
643
  :param pulumi.Input[str] comment: A description of the external function.
648
644
  :param pulumi.Input[str] compression: If specified, the JSON payload is compressed when sent from Snowflake to the proxy service, and when sent back from the proxy service to Snowflake.
649
645
  :param pulumi.Input[Sequence[pulumi.Input[str]]] context_headers: Binds Snowflake context function results to HTTP headers.
650
646
  :param pulumi.Input[str] database: The database in which to create the external function.
651
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ExternalFunctionHeaderArgs']]]] headers: Allows users to specify key-value metadata that is sent with every request as HTTP headers.
647
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ExternalFunctionHeaderArgs', 'ExternalFunctionHeaderArgsDict']]]] headers: Allows users to specify key-value metadata that is sent with every request as HTTP headers.
652
648
  :param pulumi.Input[int] max_batch_rows: This specifies the maximum number of rows in each batch sent to the proxy service.
653
- :param pulumi.Input[str] name: Argument name
649
+ :param pulumi.Input[str] name: Specifies the identifier for the external function. The identifier can contain the schema name and database name, as well as the function name. The function's signature (name and argument data types) must be unique within the schema.
654
650
  :param pulumi.Input[str] null_input_behavior: Specifies the behavior of the external function when called with null inputs.
655
651
  :param pulumi.Input[str] request_translator: This specifies the name of the request translator function
656
652
  :param pulumi.Input[str] response_translator: This specifies the name of the response translator function.
@@ -667,37 +663,12 @@ class ExternalFunction(pulumi.CustomResource):
667
663
  args: ExternalFunctionArgs,
668
664
  opts: Optional[pulumi.ResourceOptions] = None):
669
665
  """
670
- ## Example Usage
671
-
672
- ```python
673
- import pulumi
674
- import pulumi_snowflake as snowflake
675
-
676
- test_ext_func = snowflake.ExternalFunction("testExtFunc",
677
- api_integration="api_integration_name",
678
- args=[
679
- snowflake.ExternalFunctionArgArgs(
680
- name="arg1",
681
- type="varchar",
682
- ),
683
- snowflake.ExternalFunctionArgArgs(
684
- name="arg2",
685
- type="varchar",
686
- ),
687
- ],
688
- database="my_test_db",
689
- return_behavior="IMMUTABLE",
690
- return_type="variant",
691
- schema="my_test_schema",
692
- url_of_proxy_and_resource="https://123456.execute-api.us-west-2.amazonaws.com/prod/test_func")
693
- ```
694
-
695
666
  ## Import
696
667
 
697
- format is database name | schema name | external function name | <list of function arg types, separated with '-'>
668
+ format is <database_name>.<schema_name>.<external_function_name>(<arg types, separated with ','>)
698
669
 
699
670
  ```sh
700
- $ pulumi import snowflake:index/externalFunction:ExternalFunction example 'dbName|schemaName|externalFunctionName|varchar-varchar-varchar'
671
+ $ pulumi import snowflake:index/externalFunction:ExternalFunction example 'dbName.schemaName.externalFunctionName(varchar, varchar, varchar)'
701
672
  ```
702
673
 
703
674
  :param str resource_name: The name of the resource.
@@ -716,12 +687,12 @@ class ExternalFunction(pulumi.CustomResource):
716
687
  resource_name: str,
717
688
  opts: Optional[pulumi.ResourceOptions] = None,
718
689
  api_integration: Optional[pulumi.Input[str]] = None,
719
- args: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ExternalFunctionArgArgs']]]]] = None,
690
+ args: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ExternalFunctionArgArgs', 'ExternalFunctionArgArgsDict']]]]] = None,
720
691
  comment: Optional[pulumi.Input[str]] = None,
721
692
  compression: Optional[pulumi.Input[str]] = None,
722
693
  context_headers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
723
694
  database: Optional[pulumi.Input[str]] = None,
724
- headers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ExternalFunctionHeaderArgs']]]]] = None,
695
+ headers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ExternalFunctionHeaderArgs', 'ExternalFunctionHeaderArgsDict']]]]] = None,
725
696
  max_batch_rows: Optional[pulumi.Input[int]] = None,
726
697
  name: Optional[pulumi.Input[str]] = None,
727
698
  null_input_behavior: Optional[pulumi.Input[str]] = None,
@@ -771,6 +742,7 @@ class ExternalFunction(pulumi.CustomResource):
771
742
  raise TypeError("Missing required property 'url_of_proxy_and_resource'")
772
743
  __props__.__dict__["url_of_proxy_and_resource"] = url_of_proxy_and_resource
773
744
  __props__.__dict__["created_on"] = None
745
+ __props__.__dict__["fully_qualified_name"] = None
774
746
  super(ExternalFunction, __self__).__init__(
775
747
  'snowflake:index/externalFunction:ExternalFunction',
776
748
  resource_name,
@@ -782,13 +754,14 @@ class ExternalFunction(pulumi.CustomResource):
782
754
  id: pulumi.Input[str],
783
755
  opts: Optional[pulumi.ResourceOptions] = None,
784
756
  api_integration: Optional[pulumi.Input[str]] = None,
785
- args: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ExternalFunctionArgArgs']]]]] = None,
757
+ args: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ExternalFunctionArgArgs', 'ExternalFunctionArgArgsDict']]]]] = None,
786
758
  comment: Optional[pulumi.Input[str]] = None,
787
759
  compression: Optional[pulumi.Input[str]] = None,
788
760
  context_headers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
789
761
  created_on: Optional[pulumi.Input[str]] = None,
790
762
  database: Optional[pulumi.Input[str]] = None,
791
- headers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ExternalFunctionHeaderArgs']]]]] = None,
763
+ fully_qualified_name: Optional[pulumi.Input[str]] = None,
764
+ headers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ExternalFunctionHeaderArgs', 'ExternalFunctionHeaderArgsDict']]]]] = None,
792
765
  max_batch_rows: Optional[pulumi.Input[int]] = None,
793
766
  name: Optional[pulumi.Input[str]] = None,
794
767
  null_input_behavior: Optional[pulumi.Input[str]] = None,
@@ -807,15 +780,16 @@ class ExternalFunction(pulumi.CustomResource):
807
780
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
808
781
  :param pulumi.ResourceOptions opts: Options for the resource.
809
782
  :param pulumi.Input[str] api_integration: The name of the API integration object that should be used to authenticate the call to the proxy service.
810
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ExternalFunctionArgArgs']]]] args: Specifies the arguments/inputs for the external function. These should correspond to the arguments that the remote service expects.
783
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ExternalFunctionArgArgs', 'ExternalFunctionArgArgsDict']]]] args: Specifies the arguments/inputs for the external function. These should correspond to the arguments that the remote service expects.
811
784
  :param pulumi.Input[str] comment: A description of the external function.
812
785
  :param pulumi.Input[str] compression: If specified, the JSON payload is compressed when sent from Snowflake to the proxy service, and when sent back from the proxy service to Snowflake.
813
786
  :param pulumi.Input[Sequence[pulumi.Input[str]]] context_headers: Binds Snowflake context function results to HTTP headers.
814
787
  :param pulumi.Input[str] created_on: Date and time when the external function was created.
815
788
  :param pulumi.Input[str] database: The database in which to create the external function.
816
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ExternalFunctionHeaderArgs']]]] headers: Allows users to specify key-value metadata that is sent with every request as HTTP headers.
789
+ :param pulumi.Input[str] fully_qualified_name: Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
790
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ExternalFunctionHeaderArgs', 'ExternalFunctionHeaderArgsDict']]]] headers: Allows users to specify key-value metadata that is sent with every request as HTTP headers.
817
791
  :param pulumi.Input[int] max_batch_rows: This specifies the maximum number of rows in each batch sent to the proxy service.
818
- :param pulumi.Input[str] name: Argument name
792
+ :param pulumi.Input[str] name: Specifies the identifier for the external function. The identifier can contain the schema name and database name, as well as the function name. The function's signature (name and argument data types) must be unique within the schema.
819
793
  :param pulumi.Input[str] null_input_behavior: Specifies the behavior of the external function when called with null inputs.
820
794
  :param pulumi.Input[str] request_translator: This specifies the name of the request translator function
821
795
  :param pulumi.Input[str] response_translator: This specifies the name of the response translator function.
@@ -836,6 +810,7 @@ class ExternalFunction(pulumi.CustomResource):
836
810
  __props__.__dict__["context_headers"] = context_headers
837
811
  __props__.__dict__["created_on"] = created_on
838
812
  __props__.__dict__["database"] = database
813
+ __props__.__dict__["fully_qualified_name"] = fully_qualified_name
839
814
  __props__.__dict__["headers"] = headers
840
815
  __props__.__dict__["max_batch_rows"] = max_batch_rows
841
816
  __props__.__dict__["name"] = name
@@ -905,6 +880,14 @@ class ExternalFunction(pulumi.CustomResource):
905
880
  """
906
881
  return pulumi.get(self, "database")
907
882
 
883
+ @property
884
+ @pulumi.getter(name="fullyQualifiedName")
885
+ def fully_qualified_name(self) -> pulumi.Output[str]:
886
+ """
887
+ Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
888
+ """
889
+ return pulumi.get(self, "fully_qualified_name")
890
+
908
891
  @property
909
892
  @pulumi.getter
910
893
  def headers(self) -> pulumi.Output[Optional[Sequence['outputs.ExternalFunctionHeader']]]:
@@ -925,7 +908,7 @@ class ExternalFunction(pulumi.CustomResource):
925
908
  @pulumi.getter
926
909
  def name(self) -> pulumi.Output[str]:
927
910
  """
928
- Argument name
911
+ Specifies the identifier for the external function. The identifier can contain the schema name and database name, as well as the function name. The function's signature (name and argument data types) must be unique within the schema.
929
912
  """
930
913
  return pulumi.get(self, "name")
931
914