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
@@ -0,0 +1,835 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
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
15
+ from . import _utilities
16
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['FunctionSqlArgs', 'FunctionSql']
20
+
21
+ @pulumi.input_type
22
+ class FunctionSqlArgs:
23
+ def __init__(__self__, *,
24
+ database: pulumi.Input[str],
25
+ function_definition: pulumi.Input[str],
26
+ return_type: pulumi.Input[str],
27
+ schema: pulumi.Input[str],
28
+ arguments: Optional[pulumi.Input[Sequence[pulumi.Input['FunctionSqlArgumentArgs']]]] = None,
29
+ comment: Optional[pulumi.Input[str]] = None,
30
+ enable_console_output: Optional[pulumi.Input[bool]] = None,
31
+ is_secure: Optional[pulumi.Input[str]] = None,
32
+ log_level: Optional[pulumi.Input[str]] = None,
33
+ metric_level: Optional[pulumi.Input[str]] = None,
34
+ name: Optional[pulumi.Input[str]] = None,
35
+ return_results_behavior: Optional[pulumi.Input[str]] = None,
36
+ trace_level: Optional[pulumi.Input[str]] = None):
37
+ """
38
+ The set of arguments for constructing a FunctionSql resource.
39
+ :param pulumi.Input[str] database: The database in which to create the function. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
40
+ :param pulumi.Input[str] function_definition: Defines the handler code executed when the UDF is called. Wrapping `$$` signs are added by the provider automatically; do not include them. The `function_definition` value must be SQL source code. For more information, see [Introduction to SQL UDFs](https://docs.snowflake.com/en/developer-guide/udf/sql/udf-sql-introduction). To mitigate permadiff on this field, the provider replaces blank characters with a space. This can lead to false positives in cases where a change in case or run of whitespace is semantically significant.
41
+ :param pulumi.Input[str] return_type: Specifies the results returned by the UDF, which determines the UDF type. Use `<result_data_type>` to create a scalar UDF that returns a single value with the specified data type. Use `TABLE (col_name col_data_type, ...)` to creates a table UDF that returns tabular results with the specified table column(s) and column type(s). For the details, consult the [docs](https://docs.snowflake.com/en/sql-reference/sql/create-function#all-languages).
42
+ :param pulumi.Input[str] schema: The schema in which to create the function. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
43
+ :param pulumi.Input[Sequence[pulumi.Input['FunctionSqlArgumentArgs']]] arguments: List of the arguments for the function. Consult the [docs](https://docs.snowflake.com/en/sql-reference/sql/create-function#all-languages) for more details.
44
+ :param pulumi.Input[str] comment: Specifies a comment for the function.
45
+ :param pulumi.Input[bool] enable_console_output: Enable stdout/stderr fast path logging for anonyous stored procs. This is a public parameter (similar to LOG*LEVEL). For more information, check [ENABLE*CONSOLE_OUTPUT docs](https://docs.snowflake.com/en/sql-reference/parameters#enable-console-output).
46
+ :param pulumi.Input[str] log_level: LOG*LEVEL to use when filtering events For more information, check [LOG*LEVEL docs](https://docs.snowflake.com/en/sql-reference/parameters#log-level).
47
+ :param pulumi.Input[str] metric_level: METRIC*LEVEL value to control whether to emit metrics to Event Table For more information, check [METRIC*LEVEL docs](https://docs.snowflake.com/en/sql-reference/parameters#metric-level).
48
+ :param pulumi.Input[str] name: The name of the function; the identifier does not need to be unique for the schema in which the function is created because UDFs are identified and resolved by the combination of the name and argument types. Check the [docs](https://docs.snowflake.com/en/sql-reference/sql/create-function#all-languages). Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
49
+ :param pulumi.Input[str] return_results_behavior: Specifies the behavior of the function when returning results. Valid values are (case-insensitive): `VOLATILE` | `IMMUTABLE`.
50
+ :param pulumi.Input[str] trace_level: Trace level value to use when generating/filtering trace events For more information, check [TRACE_LEVEL docs](https://docs.snowflake.com/en/sql-reference/parameters#trace-level).
51
+ """
52
+ pulumi.set(__self__, "database", database)
53
+ pulumi.set(__self__, "function_definition", function_definition)
54
+ pulumi.set(__self__, "return_type", return_type)
55
+ pulumi.set(__self__, "schema", schema)
56
+ if arguments is not None:
57
+ pulumi.set(__self__, "arguments", arguments)
58
+ if comment is not None:
59
+ pulumi.set(__self__, "comment", comment)
60
+ if enable_console_output is not None:
61
+ pulumi.set(__self__, "enable_console_output", enable_console_output)
62
+ if is_secure is not None:
63
+ pulumi.set(__self__, "is_secure", is_secure)
64
+ if log_level is not None:
65
+ pulumi.set(__self__, "log_level", log_level)
66
+ if metric_level is not None:
67
+ pulumi.set(__self__, "metric_level", metric_level)
68
+ if name is not None:
69
+ pulumi.set(__self__, "name", name)
70
+ if return_results_behavior is not None:
71
+ pulumi.set(__self__, "return_results_behavior", return_results_behavior)
72
+ if trace_level is not None:
73
+ pulumi.set(__self__, "trace_level", trace_level)
74
+
75
+ @property
76
+ @pulumi.getter
77
+ def database(self) -> pulumi.Input[str]:
78
+ """
79
+ The database in which to create the function. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
80
+ """
81
+ return pulumi.get(self, "database")
82
+
83
+ @database.setter
84
+ def database(self, value: pulumi.Input[str]):
85
+ pulumi.set(self, "database", value)
86
+
87
+ @property
88
+ @pulumi.getter(name="functionDefinition")
89
+ def function_definition(self) -> pulumi.Input[str]:
90
+ """
91
+ Defines the handler code executed when the UDF is called. Wrapping `$$` signs are added by the provider automatically; do not include them. The `function_definition` value must be SQL source code. For more information, see [Introduction to SQL UDFs](https://docs.snowflake.com/en/developer-guide/udf/sql/udf-sql-introduction). To mitigate permadiff on this field, the provider replaces blank characters with a space. This can lead to false positives in cases where a change in case or run of whitespace is semantically significant.
92
+ """
93
+ return pulumi.get(self, "function_definition")
94
+
95
+ @function_definition.setter
96
+ def function_definition(self, value: pulumi.Input[str]):
97
+ pulumi.set(self, "function_definition", value)
98
+
99
+ @property
100
+ @pulumi.getter(name="returnType")
101
+ def return_type(self) -> pulumi.Input[str]:
102
+ """
103
+ Specifies the results returned by the UDF, which determines the UDF type. Use `<result_data_type>` to create a scalar UDF that returns a single value with the specified data type. Use `TABLE (col_name col_data_type, ...)` to creates a table UDF that returns tabular results with the specified table column(s) and column type(s). For the details, consult the [docs](https://docs.snowflake.com/en/sql-reference/sql/create-function#all-languages).
104
+ """
105
+ return pulumi.get(self, "return_type")
106
+
107
+ @return_type.setter
108
+ def return_type(self, value: pulumi.Input[str]):
109
+ pulumi.set(self, "return_type", value)
110
+
111
+ @property
112
+ @pulumi.getter
113
+ def schema(self) -> pulumi.Input[str]:
114
+ """
115
+ The schema in which to create the function. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
116
+ """
117
+ return pulumi.get(self, "schema")
118
+
119
+ @schema.setter
120
+ def schema(self, value: pulumi.Input[str]):
121
+ pulumi.set(self, "schema", value)
122
+
123
+ @property
124
+ @pulumi.getter
125
+ def arguments(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FunctionSqlArgumentArgs']]]]:
126
+ """
127
+ List of the arguments for the function. Consult the [docs](https://docs.snowflake.com/en/sql-reference/sql/create-function#all-languages) for more details.
128
+ """
129
+ return pulumi.get(self, "arguments")
130
+
131
+ @arguments.setter
132
+ def arguments(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FunctionSqlArgumentArgs']]]]):
133
+ pulumi.set(self, "arguments", value)
134
+
135
+ @property
136
+ @pulumi.getter
137
+ def comment(self) -> Optional[pulumi.Input[str]]:
138
+ """
139
+ Specifies a comment for the function.
140
+ """
141
+ return pulumi.get(self, "comment")
142
+
143
+ @comment.setter
144
+ def comment(self, value: Optional[pulumi.Input[str]]):
145
+ pulumi.set(self, "comment", value)
146
+
147
+ @property
148
+ @pulumi.getter(name="enableConsoleOutput")
149
+ def enable_console_output(self) -> Optional[pulumi.Input[bool]]:
150
+ """
151
+ Enable stdout/stderr fast path logging for anonyous stored procs. This is a public parameter (similar to LOG*LEVEL). For more information, check [ENABLE*CONSOLE_OUTPUT docs](https://docs.snowflake.com/en/sql-reference/parameters#enable-console-output).
152
+ """
153
+ return pulumi.get(self, "enable_console_output")
154
+
155
+ @enable_console_output.setter
156
+ def enable_console_output(self, value: Optional[pulumi.Input[bool]]):
157
+ pulumi.set(self, "enable_console_output", value)
158
+
159
+ @property
160
+ @pulumi.getter(name="isSecure")
161
+ def is_secure(self) -> Optional[pulumi.Input[str]]:
162
+ return pulumi.get(self, "is_secure")
163
+
164
+ @is_secure.setter
165
+ def is_secure(self, value: Optional[pulumi.Input[str]]):
166
+ pulumi.set(self, "is_secure", value)
167
+
168
+ @property
169
+ @pulumi.getter(name="logLevel")
170
+ def log_level(self) -> Optional[pulumi.Input[str]]:
171
+ """
172
+ LOG*LEVEL to use when filtering events For more information, check [LOG*LEVEL docs](https://docs.snowflake.com/en/sql-reference/parameters#log-level).
173
+ """
174
+ return pulumi.get(self, "log_level")
175
+
176
+ @log_level.setter
177
+ def log_level(self, value: Optional[pulumi.Input[str]]):
178
+ pulumi.set(self, "log_level", value)
179
+
180
+ @property
181
+ @pulumi.getter(name="metricLevel")
182
+ def metric_level(self) -> Optional[pulumi.Input[str]]:
183
+ """
184
+ METRIC*LEVEL value to control whether to emit metrics to Event Table For more information, check [METRIC*LEVEL docs](https://docs.snowflake.com/en/sql-reference/parameters#metric-level).
185
+ """
186
+ return pulumi.get(self, "metric_level")
187
+
188
+ @metric_level.setter
189
+ def metric_level(self, value: Optional[pulumi.Input[str]]):
190
+ pulumi.set(self, "metric_level", value)
191
+
192
+ @property
193
+ @pulumi.getter
194
+ def name(self) -> Optional[pulumi.Input[str]]:
195
+ """
196
+ The name of the function; the identifier does not need to be unique for the schema in which the function is created because UDFs are identified and resolved by the combination of the name and argument types. Check the [docs](https://docs.snowflake.com/en/sql-reference/sql/create-function#all-languages). Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
197
+ """
198
+ return pulumi.get(self, "name")
199
+
200
+ @name.setter
201
+ def name(self, value: Optional[pulumi.Input[str]]):
202
+ pulumi.set(self, "name", value)
203
+
204
+ @property
205
+ @pulumi.getter(name="returnResultsBehavior")
206
+ def return_results_behavior(self) -> Optional[pulumi.Input[str]]:
207
+ """
208
+ Specifies the behavior of the function when returning results. Valid values are (case-insensitive): `VOLATILE` | `IMMUTABLE`.
209
+ """
210
+ return pulumi.get(self, "return_results_behavior")
211
+
212
+ @return_results_behavior.setter
213
+ def return_results_behavior(self, value: Optional[pulumi.Input[str]]):
214
+ pulumi.set(self, "return_results_behavior", value)
215
+
216
+ @property
217
+ @pulumi.getter(name="traceLevel")
218
+ def trace_level(self) -> Optional[pulumi.Input[str]]:
219
+ """
220
+ Trace level value to use when generating/filtering trace events For more information, check [TRACE_LEVEL docs](https://docs.snowflake.com/en/sql-reference/parameters#trace-level).
221
+ """
222
+ return pulumi.get(self, "trace_level")
223
+
224
+ @trace_level.setter
225
+ def trace_level(self, value: Optional[pulumi.Input[str]]):
226
+ pulumi.set(self, "trace_level", value)
227
+
228
+
229
+ @pulumi.input_type
230
+ class _FunctionSqlState:
231
+ def __init__(__self__, *,
232
+ arguments: Optional[pulumi.Input[Sequence[pulumi.Input['FunctionSqlArgumentArgs']]]] = None,
233
+ comment: Optional[pulumi.Input[str]] = None,
234
+ database: Optional[pulumi.Input[str]] = None,
235
+ enable_console_output: Optional[pulumi.Input[bool]] = None,
236
+ fully_qualified_name: Optional[pulumi.Input[str]] = None,
237
+ function_definition: Optional[pulumi.Input[str]] = None,
238
+ function_language: Optional[pulumi.Input[str]] = None,
239
+ is_secure: Optional[pulumi.Input[str]] = None,
240
+ log_level: Optional[pulumi.Input[str]] = None,
241
+ metric_level: Optional[pulumi.Input[str]] = None,
242
+ name: Optional[pulumi.Input[str]] = None,
243
+ parameters: Optional[pulumi.Input[Sequence[pulumi.Input['FunctionSqlParameterArgs']]]] = None,
244
+ return_results_behavior: Optional[pulumi.Input[str]] = None,
245
+ return_type: Optional[pulumi.Input[str]] = None,
246
+ schema: Optional[pulumi.Input[str]] = None,
247
+ show_outputs: Optional[pulumi.Input[Sequence[pulumi.Input['FunctionSqlShowOutputArgs']]]] = None,
248
+ trace_level: Optional[pulumi.Input[str]] = None):
249
+ """
250
+ Input properties used for looking up and filtering FunctionSql resources.
251
+ :param pulumi.Input[Sequence[pulumi.Input['FunctionSqlArgumentArgs']]] arguments: List of the arguments for the function. Consult the [docs](https://docs.snowflake.com/en/sql-reference/sql/create-function#all-languages) for more details.
252
+ :param pulumi.Input[str] comment: Specifies a comment for the function.
253
+ :param pulumi.Input[str] database: The database in which to create the function. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
254
+ :param pulumi.Input[bool] enable_console_output: Enable stdout/stderr fast path logging for anonyous stored procs. This is a public parameter (similar to LOG*LEVEL). For more information, check [ENABLE*CONSOLE_OUTPUT docs](https://docs.snowflake.com/en/sql-reference/parameters#enable-console-output).
255
+ :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).
256
+ :param pulumi.Input[str] function_definition: Defines the handler code executed when the UDF is called. Wrapping `$$` signs are added by the provider automatically; do not include them. The `function_definition` value must be SQL source code. For more information, see [Introduction to SQL UDFs](https://docs.snowflake.com/en/developer-guide/udf/sql/udf-sql-introduction). To mitigate permadiff on this field, the provider replaces blank characters with a space. This can lead to false positives in cases where a change in case or run of whitespace is semantically significant.
257
+ :param pulumi.Input[str] function_language: Specifies language for the user. Used to detect external changes.
258
+ :param pulumi.Input[str] log_level: LOG*LEVEL to use when filtering events For more information, check [LOG*LEVEL docs](https://docs.snowflake.com/en/sql-reference/parameters#log-level).
259
+ :param pulumi.Input[str] metric_level: METRIC*LEVEL value to control whether to emit metrics to Event Table For more information, check [METRIC*LEVEL docs](https://docs.snowflake.com/en/sql-reference/parameters#metric-level).
260
+ :param pulumi.Input[str] name: The name of the function; the identifier does not need to be unique for the schema in which the function is created because UDFs are identified and resolved by the combination of the name and argument types. Check the [docs](https://docs.snowflake.com/en/sql-reference/sql/create-function#all-languages). Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
261
+ :param pulumi.Input[Sequence[pulumi.Input['FunctionSqlParameterArgs']]] parameters: Outputs the result of `SHOW PARAMETERS IN FUNCTION` for the given function.
262
+ :param pulumi.Input[str] return_results_behavior: Specifies the behavior of the function when returning results. Valid values are (case-insensitive): `VOLATILE` | `IMMUTABLE`.
263
+ :param pulumi.Input[str] return_type: Specifies the results returned by the UDF, which determines the UDF type. Use `<result_data_type>` to create a scalar UDF that returns a single value with the specified data type. Use `TABLE (col_name col_data_type, ...)` to creates a table UDF that returns tabular results with the specified table column(s) and column type(s). For the details, consult the [docs](https://docs.snowflake.com/en/sql-reference/sql/create-function#all-languages).
264
+ :param pulumi.Input[str] schema: The schema in which to create the function. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
265
+ :param pulumi.Input[Sequence[pulumi.Input['FunctionSqlShowOutputArgs']]] show_outputs: Outputs the result of `SHOW FUNCTION` for the given function.
266
+ :param pulumi.Input[str] trace_level: Trace level value to use when generating/filtering trace events For more information, check [TRACE_LEVEL docs](https://docs.snowflake.com/en/sql-reference/parameters#trace-level).
267
+ """
268
+ if arguments is not None:
269
+ pulumi.set(__self__, "arguments", arguments)
270
+ if comment is not None:
271
+ pulumi.set(__self__, "comment", comment)
272
+ if database is not None:
273
+ pulumi.set(__self__, "database", database)
274
+ if enable_console_output is not None:
275
+ pulumi.set(__self__, "enable_console_output", enable_console_output)
276
+ if fully_qualified_name is not None:
277
+ pulumi.set(__self__, "fully_qualified_name", fully_qualified_name)
278
+ if function_definition is not None:
279
+ pulumi.set(__self__, "function_definition", function_definition)
280
+ if function_language is not None:
281
+ pulumi.set(__self__, "function_language", function_language)
282
+ if is_secure is not None:
283
+ pulumi.set(__self__, "is_secure", is_secure)
284
+ if log_level is not None:
285
+ pulumi.set(__self__, "log_level", log_level)
286
+ if metric_level is not None:
287
+ pulumi.set(__self__, "metric_level", metric_level)
288
+ if name is not None:
289
+ pulumi.set(__self__, "name", name)
290
+ if parameters is not None:
291
+ pulumi.set(__self__, "parameters", parameters)
292
+ if return_results_behavior is not None:
293
+ pulumi.set(__self__, "return_results_behavior", return_results_behavior)
294
+ if return_type is not None:
295
+ pulumi.set(__self__, "return_type", return_type)
296
+ if schema is not None:
297
+ pulumi.set(__self__, "schema", schema)
298
+ if show_outputs is not None:
299
+ pulumi.set(__self__, "show_outputs", show_outputs)
300
+ if trace_level is not None:
301
+ pulumi.set(__self__, "trace_level", trace_level)
302
+
303
+ @property
304
+ @pulumi.getter
305
+ def arguments(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FunctionSqlArgumentArgs']]]]:
306
+ """
307
+ List of the arguments for the function. Consult the [docs](https://docs.snowflake.com/en/sql-reference/sql/create-function#all-languages) for more details.
308
+ """
309
+ return pulumi.get(self, "arguments")
310
+
311
+ @arguments.setter
312
+ def arguments(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FunctionSqlArgumentArgs']]]]):
313
+ pulumi.set(self, "arguments", value)
314
+
315
+ @property
316
+ @pulumi.getter
317
+ def comment(self) -> Optional[pulumi.Input[str]]:
318
+ """
319
+ Specifies a comment for the function.
320
+ """
321
+ return pulumi.get(self, "comment")
322
+
323
+ @comment.setter
324
+ def comment(self, value: Optional[pulumi.Input[str]]):
325
+ pulumi.set(self, "comment", value)
326
+
327
+ @property
328
+ @pulumi.getter
329
+ def database(self) -> Optional[pulumi.Input[str]]:
330
+ """
331
+ The database in which to create the function. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
332
+ """
333
+ return pulumi.get(self, "database")
334
+
335
+ @database.setter
336
+ def database(self, value: Optional[pulumi.Input[str]]):
337
+ pulumi.set(self, "database", value)
338
+
339
+ @property
340
+ @pulumi.getter(name="enableConsoleOutput")
341
+ def enable_console_output(self) -> Optional[pulumi.Input[bool]]:
342
+ """
343
+ Enable stdout/stderr fast path logging for anonyous stored procs. This is a public parameter (similar to LOG*LEVEL). For more information, check [ENABLE*CONSOLE_OUTPUT docs](https://docs.snowflake.com/en/sql-reference/parameters#enable-console-output).
344
+ """
345
+ return pulumi.get(self, "enable_console_output")
346
+
347
+ @enable_console_output.setter
348
+ def enable_console_output(self, value: Optional[pulumi.Input[bool]]):
349
+ pulumi.set(self, "enable_console_output", value)
350
+
351
+ @property
352
+ @pulumi.getter(name="fullyQualifiedName")
353
+ def fully_qualified_name(self) -> Optional[pulumi.Input[str]]:
354
+ """
355
+ Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
356
+ """
357
+ return pulumi.get(self, "fully_qualified_name")
358
+
359
+ @fully_qualified_name.setter
360
+ def fully_qualified_name(self, value: Optional[pulumi.Input[str]]):
361
+ pulumi.set(self, "fully_qualified_name", value)
362
+
363
+ @property
364
+ @pulumi.getter(name="functionDefinition")
365
+ def function_definition(self) -> Optional[pulumi.Input[str]]:
366
+ """
367
+ Defines the handler code executed when the UDF is called. Wrapping `$$` signs are added by the provider automatically; do not include them. The `function_definition` value must be SQL source code. For more information, see [Introduction to SQL UDFs](https://docs.snowflake.com/en/developer-guide/udf/sql/udf-sql-introduction). To mitigate permadiff on this field, the provider replaces blank characters with a space. This can lead to false positives in cases where a change in case or run of whitespace is semantically significant.
368
+ """
369
+ return pulumi.get(self, "function_definition")
370
+
371
+ @function_definition.setter
372
+ def function_definition(self, value: Optional[pulumi.Input[str]]):
373
+ pulumi.set(self, "function_definition", value)
374
+
375
+ @property
376
+ @pulumi.getter(name="functionLanguage")
377
+ def function_language(self) -> Optional[pulumi.Input[str]]:
378
+ """
379
+ Specifies language for the user. Used to detect external changes.
380
+ """
381
+ return pulumi.get(self, "function_language")
382
+
383
+ @function_language.setter
384
+ def function_language(self, value: Optional[pulumi.Input[str]]):
385
+ pulumi.set(self, "function_language", value)
386
+
387
+ @property
388
+ @pulumi.getter(name="isSecure")
389
+ def is_secure(self) -> Optional[pulumi.Input[str]]:
390
+ return pulumi.get(self, "is_secure")
391
+
392
+ @is_secure.setter
393
+ def is_secure(self, value: Optional[pulumi.Input[str]]):
394
+ pulumi.set(self, "is_secure", value)
395
+
396
+ @property
397
+ @pulumi.getter(name="logLevel")
398
+ def log_level(self) -> Optional[pulumi.Input[str]]:
399
+ """
400
+ LOG*LEVEL to use when filtering events For more information, check [LOG*LEVEL docs](https://docs.snowflake.com/en/sql-reference/parameters#log-level).
401
+ """
402
+ return pulumi.get(self, "log_level")
403
+
404
+ @log_level.setter
405
+ def log_level(self, value: Optional[pulumi.Input[str]]):
406
+ pulumi.set(self, "log_level", value)
407
+
408
+ @property
409
+ @pulumi.getter(name="metricLevel")
410
+ def metric_level(self) -> Optional[pulumi.Input[str]]:
411
+ """
412
+ METRIC*LEVEL value to control whether to emit metrics to Event Table For more information, check [METRIC*LEVEL docs](https://docs.snowflake.com/en/sql-reference/parameters#metric-level).
413
+ """
414
+ return pulumi.get(self, "metric_level")
415
+
416
+ @metric_level.setter
417
+ def metric_level(self, value: Optional[pulumi.Input[str]]):
418
+ pulumi.set(self, "metric_level", value)
419
+
420
+ @property
421
+ @pulumi.getter
422
+ def name(self) -> Optional[pulumi.Input[str]]:
423
+ """
424
+ The name of the function; the identifier does not need to be unique for the schema in which the function is created because UDFs are identified and resolved by the combination of the name and argument types. Check the [docs](https://docs.snowflake.com/en/sql-reference/sql/create-function#all-languages). Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
425
+ """
426
+ return pulumi.get(self, "name")
427
+
428
+ @name.setter
429
+ def name(self, value: Optional[pulumi.Input[str]]):
430
+ pulumi.set(self, "name", value)
431
+
432
+ @property
433
+ @pulumi.getter
434
+ def parameters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FunctionSqlParameterArgs']]]]:
435
+ """
436
+ Outputs the result of `SHOW PARAMETERS IN FUNCTION` for the given function.
437
+ """
438
+ return pulumi.get(self, "parameters")
439
+
440
+ @parameters.setter
441
+ def parameters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FunctionSqlParameterArgs']]]]):
442
+ pulumi.set(self, "parameters", value)
443
+
444
+ @property
445
+ @pulumi.getter(name="returnResultsBehavior")
446
+ def return_results_behavior(self) -> Optional[pulumi.Input[str]]:
447
+ """
448
+ Specifies the behavior of the function when returning results. Valid values are (case-insensitive): `VOLATILE` | `IMMUTABLE`.
449
+ """
450
+ return pulumi.get(self, "return_results_behavior")
451
+
452
+ @return_results_behavior.setter
453
+ def return_results_behavior(self, value: Optional[pulumi.Input[str]]):
454
+ pulumi.set(self, "return_results_behavior", value)
455
+
456
+ @property
457
+ @pulumi.getter(name="returnType")
458
+ def return_type(self) -> Optional[pulumi.Input[str]]:
459
+ """
460
+ Specifies the results returned by the UDF, which determines the UDF type. Use `<result_data_type>` to create a scalar UDF that returns a single value with the specified data type. Use `TABLE (col_name col_data_type, ...)` to creates a table UDF that returns tabular results with the specified table column(s) and column type(s). For the details, consult the [docs](https://docs.snowflake.com/en/sql-reference/sql/create-function#all-languages).
461
+ """
462
+ return pulumi.get(self, "return_type")
463
+
464
+ @return_type.setter
465
+ def return_type(self, value: Optional[pulumi.Input[str]]):
466
+ pulumi.set(self, "return_type", value)
467
+
468
+ @property
469
+ @pulumi.getter
470
+ def schema(self) -> Optional[pulumi.Input[str]]:
471
+ """
472
+ The schema in which to create the function. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
473
+ """
474
+ return pulumi.get(self, "schema")
475
+
476
+ @schema.setter
477
+ def schema(self, value: Optional[pulumi.Input[str]]):
478
+ pulumi.set(self, "schema", value)
479
+
480
+ @property
481
+ @pulumi.getter(name="showOutputs")
482
+ def show_outputs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FunctionSqlShowOutputArgs']]]]:
483
+ """
484
+ Outputs the result of `SHOW FUNCTION` for the given function.
485
+ """
486
+ return pulumi.get(self, "show_outputs")
487
+
488
+ @show_outputs.setter
489
+ def show_outputs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FunctionSqlShowOutputArgs']]]]):
490
+ pulumi.set(self, "show_outputs", value)
491
+
492
+ @property
493
+ @pulumi.getter(name="traceLevel")
494
+ def trace_level(self) -> Optional[pulumi.Input[str]]:
495
+ """
496
+ Trace level value to use when generating/filtering trace events For more information, check [TRACE_LEVEL docs](https://docs.snowflake.com/en/sql-reference/parameters#trace-level).
497
+ """
498
+ return pulumi.get(self, "trace_level")
499
+
500
+ @trace_level.setter
501
+ def trace_level(self, value: Optional[pulumi.Input[str]]):
502
+ pulumi.set(self, "trace_level", value)
503
+
504
+
505
+ class FunctionSql(pulumi.CustomResource):
506
+ @overload
507
+ def __init__(__self__,
508
+ resource_name: str,
509
+ opts: Optional[pulumi.ResourceOptions] = None,
510
+ arguments: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FunctionSqlArgumentArgs', 'FunctionSqlArgumentArgsDict']]]]] = None,
511
+ comment: Optional[pulumi.Input[str]] = None,
512
+ database: Optional[pulumi.Input[str]] = None,
513
+ enable_console_output: Optional[pulumi.Input[bool]] = None,
514
+ function_definition: Optional[pulumi.Input[str]] = None,
515
+ is_secure: Optional[pulumi.Input[str]] = None,
516
+ log_level: Optional[pulumi.Input[str]] = None,
517
+ metric_level: Optional[pulumi.Input[str]] = None,
518
+ name: Optional[pulumi.Input[str]] = None,
519
+ return_results_behavior: Optional[pulumi.Input[str]] = None,
520
+ return_type: Optional[pulumi.Input[str]] = None,
521
+ schema: Optional[pulumi.Input[str]] = None,
522
+ trace_level: Optional[pulumi.Input[str]] = None,
523
+ __props__=None):
524
+ """
525
+ ## Import
526
+
527
+ ```sh
528
+ $ pulumi import snowflake:index/functionSql:FunctionSql example '"<database_name>"."<schema_name>"."<function_name>"(varchar, varchar, varchar)'
529
+ ```
530
+
531
+ Note: Snowflake is not returning all information needed to populate the state correctly after import (e.g. data types with attributes like NUMBER(32, 10) are returned as NUMBER, default values for arguments are not returned at all).
532
+
533
+ Also, `ALTER` for functions is very limited so most of the attributes on this resource are marked as force new. Because of that, in multiple situations plan won't be empty after importing and manual state operations may be required.
534
+
535
+ :param str resource_name: The name of the resource.
536
+ :param pulumi.ResourceOptions opts: Options for the resource.
537
+ :param pulumi.Input[Sequence[pulumi.Input[Union['FunctionSqlArgumentArgs', 'FunctionSqlArgumentArgsDict']]]] arguments: List of the arguments for the function. Consult the [docs](https://docs.snowflake.com/en/sql-reference/sql/create-function#all-languages) for more details.
538
+ :param pulumi.Input[str] comment: Specifies a comment for the function.
539
+ :param pulumi.Input[str] database: The database in which to create the function. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
540
+ :param pulumi.Input[bool] enable_console_output: Enable stdout/stderr fast path logging for anonyous stored procs. This is a public parameter (similar to LOG*LEVEL). For more information, check [ENABLE*CONSOLE_OUTPUT docs](https://docs.snowflake.com/en/sql-reference/parameters#enable-console-output).
541
+ :param pulumi.Input[str] function_definition: Defines the handler code executed when the UDF is called. Wrapping `$$` signs are added by the provider automatically; do not include them. The `function_definition` value must be SQL source code. For more information, see [Introduction to SQL UDFs](https://docs.snowflake.com/en/developer-guide/udf/sql/udf-sql-introduction). To mitigate permadiff on this field, the provider replaces blank characters with a space. This can lead to false positives in cases where a change in case or run of whitespace is semantically significant.
542
+ :param pulumi.Input[str] log_level: LOG*LEVEL to use when filtering events For more information, check [LOG*LEVEL docs](https://docs.snowflake.com/en/sql-reference/parameters#log-level).
543
+ :param pulumi.Input[str] metric_level: METRIC*LEVEL value to control whether to emit metrics to Event Table For more information, check [METRIC*LEVEL docs](https://docs.snowflake.com/en/sql-reference/parameters#metric-level).
544
+ :param pulumi.Input[str] name: The name of the function; the identifier does not need to be unique for the schema in which the function is created because UDFs are identified and resolved by the combination of the name and argument types. Check the [docs](https://docs.snowflake.com/en/sql-reference/sql/create-function#all-languages). Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
545
+ :param pulumi.Input[str] return_results_behavior: Specifies the behavior of the function when returning results. Valid values are (case-insensitive): `VOLATILE` | `IMMUTABLE`.
546
+ :param pulumi.Input[str] return_type: Specifies the results returned by the UDF, which determines the UDF type. Use `<result_data_type>` to create a scalar UDF that returns a single value with the specified data type. Use `TABLE (col_name col_data_type, ...)` to creates a table UDF that returns tabular results with the specified table column(s) and column type(s). For the details, consult the [docs](https://docs.snowflake.com/en/sql-reference/sql/create-function#all-languages).
547
+ :param pulumi.Input[str] schema: The schema in which to create the function. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
548
+ :param pulumi.Input[str] trace_level: Trace level value to use when generating/filtering trace events For more information, check [TRACE_LEVEL docs](https://docs.snowflake.com/en/sql-reference/parameters#trace-level).
549
+ """
550
+ ...
551
+ @overload
552
+ def __init__(__self__,
553
+ resource_name: str,
554
+ args: FunctionSqlArgs,
555
+ opts: Optional[pulumi.ResourceOptions] = None):
556
+ """
557
+ ## Import
558
+
559
+ ```sh
560
+ $ pulumi import snowflake:index/functionSql:FunctionSql example '"<database_name>"."<schema_name>"."<function_name>"(varchar, varchar, varchar)'
561
+ ```
562
+
563
+ Note: Snowflake is not returning all information needed to populate the state correctly after import (e.g. data types with attributes like NUMBER(32, 10) are returned as NUMBER, default values for arguments are not returned at all).
564
+
565
+ Also, `ALTER` for functions is very limited so most of the attributes on this resource are marked as force new. Because of that, in multiple situations plan won't be empty after importing and manual state operations may be required.
566
+
567
+ :param str resource_name: The name of the resource.
568
+ :param FunctionSqlArgs args: The arguments to use to populate this resource's properties.
569
+ :param pulumi.ResourceOptions opts: Options for the resource.
570
+ """
571
+ ...
572
+ def __init__(__self__, resource_name: str, *args, **kwargs):
573
+ resource_args, opts = _utilities.get_resource_args_opts(FunctionSqlArgs, pulumi.ResourceOptions, *args, **kwargs)
574
+ if resource_args is not None:
575
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
576
+ else:
577
+ __self__._internal_init(resource_name, *args, **kwargs)
578
+
579
+ def _internal_init(__self__,
580
+ resource_name: str,
581
+ opts: Optional[pulumi.ResourceOptions] = None,
582
+ arguments: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FunctionSqlArgumentArgs', 'FunctionSqlArgumentArgsDict']]]]] = None,
583
+ comment: Optional[pulumi.Input[str]] = None,
584
+ database: Optional[pulumi.Input[str]] = None,
585
+ enable_console_output: Optional[pulumi.Input[bool]] = None,
586
+ function_definition: Optional[pulumi.Input[str]] = None,
587
+ is_secure: Optional[pulumi.Input[str]] = None,
588
+ log_level: Optional[pulumi.Input[str]] = None,
589
+ metric_level: Optional[pulumi.Input[str]] = None,
590
+ name: Optional[pulumi.Input[str]] = None,
591
+ return_results_behavior: Optional[pulumi.Input[str]] = None,
592
+ return_type: Optional[pulumi.Input[str]] = None,
593
+ schema: Optional[pulumi.Input[str]] = None,
594
+ trace_level: Optional[pulumi.Input[str]] = None,
595
+ __props__=None):
596
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
597
+ if not isinstance(opts, pulumi.ResourceOptions):
598
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
599
+ if opts.id is None:
600
+ if __props__ is not None:
601
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
602
+ __props__ = FunctionSqlArgs.__new__(FunctionSqlArgs)
603
+
604
+ __props__.__dict__["arguments"] = arguments
605
+ __props__.__dict__["comment"] = comment
606
+ if database is None and not opts.urn:
607
+ raise TypeError("Missing required property 'database'")
608
+ __props__.__dict__["database"] = database
609
+ __props__.__dict__["enable_console_output"] = enable_console_output
610
+ if function_definition is None and not opts.urn:
611
+ raise TypeError("Missing required property 'function_definition'")
612
+ __props__.__dict__["function_definition"] = function_definition
613
+ __props__.__dict__["is_secure"] = is_secure
614
+ __props__.__dict__["log_level"] = log_level
615
+ __props__.__dict__["metric_level"] = metric_level
616
+ __props__.__dict__["name"] = name
617
+ __props__.__dict__["return_results_behavior"] = return_results_behavior
618
+ if return_type is None and not opts.urn:
619
+ raise TypeError("Missing required property 'return_type'")
620
+ __props__.__dict__["return_type"] = return_type
621
+ if schema is None and not opts.urn:
622
+ raise TypeError("Missing required property 'schema'")
623
+ __props__.__dict__["schema"] = schema
624
+ __props__.__dict__["trace_level"] = trace_level
625
+ __props__.__dict__["fully_qualified_name"] = None
626
+ __props__.__dict__["function_language"] = None
627
+ __props__.__dict__["parameters"] = None
628
+ __props__.__dict__["show_outputs"] = None
629
+ super(FunctionSql, __self__).__init__(
630
+ 'snowflake:index/functionSql:FunctionSql',
631
+ resource_name,
632
+ __props__,
633
+ opts)
634
+
635
+ @staticmethod
636
+ def get(resource_name: str,
637
+ id: pulumi.Input[str],
638
+ opts: Optional[pulumi.ResourceOptions] = None,
639
+ arguments: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FunctionSqlArgumentArgs', 'FunctionSqlArgumentArgsDict']]]]] = None,
640
+ comment: Optional[pulumi.Input[str]] = None,
641
+ database: Optional[pulumi.Input[str]] = None,
642
+ enable_console_output: Optional[pulumi.Input[bool]] = None,
643
+ fully_qualified_name: Optional[pulumi.Input[str]] = None,
644
+ function_definition: Optional[pulumi.Input[str]] = None,
645
+ function_language: Optional[pulumi.Input[str]] = None,
646
+ is_secure: Optional[pulumi.Input[str]] = None,
647
+ log_level: Optional[pulumi.Input[str]] = None,
648
+ metric_level: Optional[pulumi.Input[str]] = None,
649
+ name: Optional[pulumi.Input[str]] = None,
650
+ parameters: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FunctionSqlParameterArgs', 'FunctionSqlParameterArgsDict']]]]] = None,
651
+ return_results_behavior: Optional[pulumi.Input[str]] = None,
652
+ return_type: Optional[pulumi.Input[str]] = None,
653
+ schema: Optional[pulumi.Input[str]] = None,
654
+ show_outputs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FunctionSqlShowOutputArgs', 'FunctionSqlShowOutputArgsDict']]]]] = None,
655
+ trace_level: Optional[pulumi.Input[str]] = None) -> 'FunctionSql':
656
+ """
657
+ Get an existing FunctionSql resource's state with the given name, id, and optional extra
658
+ properties used to qualify the lookup.
659
+
660
+ :param str resource_name: The unique name of the resulting resource.
661
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
662
+ :param pulumi.ResourceOptions opts: Options for the resource.
663
+ :param pulumi.Input[Sequence[pulumi.Input[Union['FunctionSqlArgumentArgs', 'FunctionSqlArgumentArgsDict']]]] arguments: List of the arguments for the function. Consult the [docs](https://docs.snowflake.com/en/sql-reference/sql/create-function#all-languages) for more details.
664
+ :param pulumi.Input[str] comment: Specifies a comment for the function.
665
+ :param pulumi.Input[str] database: The database in which to create the function. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
666
+ :param pulumi.Input[bool] enable_console_output: Enable stdout/stderr fast path logging for anonyous stored procs. This is a public parameter (similar to LOG*LEVEL). For more information, check [ENABLE*CONSOLE_OUTPUT docs](https://docs.snowflake.com/en/sql-reference/parameters#enable-console-output).
667
+ :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).
668
+ :param pulumi.Input[str] function_definition: Defines the handler code executed when the UDF is called. Wrapping `$$` signs are added by the provider automatically; do not include them. The `function_definition` value must be SQL source code. For more information, see [Introduction to SQL UDFs](https://docs.snowflake.com/en/developer-guide/udf/sql/udf-sql-introduction). To mitigate permadiff on this field, the provider replaces blank characters with a space. This can lead to false positives in cases where a change in case or run of whitespace is semantically significant.
669
+ :param pulumi.Input[str] function_language: Specifies language for the user. Used to detect external changes.
670
+ :param pulumi.Input[str] log_level: LOG*LEVEL to use when filtering events For more information, check [LOG*LEVEL docs](https://docs.snowflake.com/en/sql-reference/parameters#log-level).
671
+ :param pulumi.Input[str] metric_level: METRIC*LEVEL value to control whether to emit metrics to Event Table For more information, check [METRIC*LEVEL docs](https://docs.snowflake.com/en/sql-reference/parameters#metric-level).
672
+ :param pulumi.Input[str] name: The name of the function; the identifier does not need to be unique for the schema in which the function is created because UDFs are identified and resolved by the combination of the name and argument types. Check the [docs](https://docs.snowflake.com/en/sql-reference/sql/create-function#all-languages). Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
673
+ :param pulumi.Input[Sequence[pulumi.Input[Union['FunctionSqlParameterArgs', 'FunctionSqlParameterArgsDict']]]] parameters: Outputs the result of `SHOW PARAMETERS IN FUNCTION` for the given function.
674
+ :param pulumi.Input[str] return_results_behavior: Specifies the behavior of the function when returning results. Valid values are (case-insensitive): `VOLATILE` | `IMMUTABLE`.
675
+ :param pulumi.Input[str] return_type: Specifies the results returned by the UDF, which determines the UDF type. Use `<result_data_type>` to create a scalar UDF that returns a single value with the specified data type. Use `TABLE (col_name col_data_type, ...)` to creates a table UDF that returns tabular results with the specified table column(s) and column type(s). For the details, consult the [docs](https://docs.snowflake.com/en/sql-reference/sql/create-function#all-languages).
676
+ :param pulumi.Input[str] schema: The schema in which to create the function. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
677
+ :param pulumi.Input[Sequence[pulumi.Input[Union['FunctionSqlShowOutputArgs', 'FunctionSqlShowOutputArgsDict']]]] show_outputs: Outputs the result of `SHOW FUNCTION` for the given function.
678
+ :param pulumi.Input[str] trace_level: Trace level value to use when generating/filtering trace events For more information, check [TRACE_LEVEL docs](https://docs.snowflake.com/en/sql-reference/parameters#trace-level).
679
+ """
680
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
681
+
682
+ __props__ = _FunctionSqlState.__new__(_FunctionSqlState)
683
+
684
+ __props__.__dict__["arguments"] = arguments
685
+ __props__.__dict__["comment"] = comment
686
+ __props__.__dict__["database"] = database
687
+ __props__.__dict__["enable_console_output"] = enable_console_output
688
+ __props__.__dict__["fully_qualified_name"] = fully_qualified_name
689
+ __props__.__dict__["function_definition"] = function_definition
690
+ __props__.__dict__["function_language"] = function_language
691
+ __props__.__dict__["is_secure"] = is_secure
692
+ __props__.__dict__["log_level"] = log_level
693
+ __props__.__dict__["metric_level"] = metric_level
694
+ __props__.__dict__["name"] = name
695
+ __props__.__dict__["parameters"] = parameters
696
+ __props__.__dict__["return_results_behavior"] = return_results_behavior
697
+ __props__.__dict__["return_type"] = return_type
698
+ __props__.__dict__["schema"] = schema
699
+ __props__.__dict__["show_outputs"] = show_outputs
700
+ __props__.__dict__["trace_level"] = trace_level
701
+ return FunctionSql(resource_name, opts=opts, __props__=__props__)
702
+
703
+ @property
704
+ @pulumi.getter
705
+ def arguments(self) -> pulumi.Output[Optional[Sequence['outputs.FunctionSqlArgument']]]:
706
+ """
707
+ List of the arguments for the function. Consult the [docs](https://docs.snowflake.com/en/sql-reference/sql/create-function#all-languages) for more details.
708
+ """
709
+ return pulumi.get(self, "arguments")
710
+
711
+ @property
712
+ @pulumi.getter
713
+ def comment(self) -> pulumi.Output[Optional[str]]:
714
+ """
715
+ Specifies a comment for the function.
716
+ """
717
+ return pulumi.get(self, "comment")
718
+
719
+ @property
720
+ @pulumi.getter
721
+ def database(self) -> pulumi.Output[str]:
722
+ """
723
+ The database in which to create the function. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
724
+ """
725
+ return pulumi.get(self, "database")
726
+
727
+ @property
728
+ @pulumi.getter(name="enableConsoleOutput")
729
+ def enable_console_output(self) -> pulumi.Output[bool]:
730
+ """
731
+ Enable stdout/stderr fast path logging for anonyous stored procs. This is a public parameter (similar to LOG*LEVEL). For more information, check [ENABLE*CONSOLE_OUTPUT docs](https://docs.snowflake.com/en/sql-reference/parameters#enable-console-output).
732
+ """
733
+ return pulumi.get(self, "enable_console_output")
734
+
735
+ @property
736
+ @pulumi.getter(name="fullyQualifiedName")
737
+ def fully_qualified_name(self) -> pulumi.Output[str]:
738
+ """
739
+ Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
740
+ """
741
+ return pulumi.get(self, "fully_qualified_name")
742
+
743
+ @property
744
+ @pulumi.getter(name="functionDefinition")
745
+ def function_definition(self) -> pulumi.Output[str]:
746
+ """
747
+ Defines the handler code executed when the UDF is called. Wrapping `$$` signs are added by the provider automatically; do not include them. The `function_definition` value must be SQL source code. For more information, see [Introduction to SQL UDFs](https://docs.snowflake.com/en/developer-guide/udf/sql/udf-sql-introduction). To mitigate permadiff on this field, the provider replaces blank characters with a space. This can lead to false positives in cases where a change in case or run of whitespace is semantically significant.
748
+ """
749
+ return pulumi.get(self, "function_definition")
750
+
751
+ @property
752
+ @pulumi.getter(name="functionLanguage")
753
+ def function_language(self) -> pulumi.Output[str]:
754
+ """
755
+ Specifies language for the user. Used to detect external changes.
756
+ """
757
+ return pulumi.get(self, "function_language")
758
+
759
+ @property
760
+ @pulumi.getter(name="isSecure")
761
+ def is_secure(self) -> pulumi.Output[Optional[str]]:
762
+ return pulumi.get(self, "is_secure")
763
+
764
+ @property
765
+ @pulumi.getter(name="logLevel")
766
+ def log_level(self) -> pulumi.Output[str]:
767
+ """
768
+ LOG*LEVEL to use when filtering events For more information, check [LOG*LEVEL docs](https://docs.snowflake.com/en/sql-reference/parameters#log-level).
769
+ """
770
+ return pulumi.get(self, "log_level")
771
+
772
+ @property
773
+ @pulumi.getter(name="metricLevel")
774
+ def metric_level(self) -> pulumi.Output[str]:
775
+ """
776
+ METRIC*LEVEL value to control whether to emit metrics to Event Table For more information, check [METRIC*LEVEL docs](https://docs.snowflake.com/en/sql-reference/parameters#metric-level).
777
+ """
778
+ return pulumi.get(self, "metric_level")
779
+
780
+ @property
781
+ @pulumi.getter
782
+ def name(self) -> pulumi.Output[str]:
783
+ """
784
+ The name of the function; the identifier does not need to be unique for the schema in which the function is created because UDFs are identified and resolved by the combination of the name and argument types. Check the [docs](https://docs.snowflake.com/en/sql-reference/sql/create-function#all-languages). Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
785
+ """
786
+ return pulumi.get(self, "name")
787
+
788
+ @property
789
+ @pulumi.getter
790
+ def parameters(self) -> pulumi.Output[Sequence['outputs.FunctionSqlParameter']]:
791
+ """
792
+ Outputs the result of `SHOW PARAMETERS IN FUNCTION` for the given function.
793
+ """
794
+ return pulumi.get(self, "parameters")
795
+
796
+ @property
797
+ @pulumi.getter(name="returnResultsBehavior")
798
+ def return_results_behavior(self) -> pulumi.Output[Optional[str]]:
799
+ """
800
+ Specifies the behavior of the function when returning results. Valid values are (case-insensitive): `VOLATILE` | `IMMUTABLE`.
801
+ """
802
+ return pulumi.get(self, "return_results_behavior")
803
+
804
+ @property
805
+ @pulumi.getter(name="returnType")
806
+ def return_type(self) -> pulumi.Output[str]:
807
+ """
808
+ Specifies the results returned by the UDF, which determines the UDF type. Use `<result_data_type>` to create a scalar UDF that returns a single value with the specified data type. Use `TABLE (col_name col_data_type, ...)` to creates a table UDF that returns tabular results with the specified table column(s) and column type(s). For the details, consult the [docs](https://docs.snowflake.com/en/sql-reference/sql/create-function#all-languages).
809
+ """
810
+ return pulumi.get(self, "return_type")
811
+
812
+ @property
813
+ @pulumi.getter
814
+ def schema(self) -> pulumi.Output[str]:
815
+ """
816
+ The schema in which to create the function. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
817
+ """
818
+ return pulumi.get(self, "schema")
819
+
820
+ @property
821
+ @pulumi.getter(name="showOutputs")
822
+ def show_outputs(self) -> pulumi.Output[Sequence['outputs.FunctionSqlShowOutput']]:
823
+ """
824
+ Outputs the result of `SHOW FUNCTION` for the given function.
825
+ """
826
+ return pulumi.get(self, "show_outputs")
827
+
828
+ @property
829
+ @pulumi.getter(name="traceLevel")
830
+ def trace_level(self) -> pulumi.Output[str]:
831
+ """
832
+ Trace level value to use when generating/filtering trace events For more information, check [TRACE_LEVEL docs](https://docs.snowflake.com/en/sql-reference/parameters#trace-level).
833
+ """
834
+ return pulumi.get(self, "trace_level")
835
+