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,882 @@
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__ = ['FunctionJavascriptArgs', 'FunctionJavascript']
20
+
21
+ @pulumi.input_type
22
+ class FunctionJavascriptArgs:
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['FunctionJavascriptArgumentArgs']]]] = 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
+ null_input_behavior: Optional[pulumi.Input[str]] = None,
36
+ return_results_behavior: Optional[pulumi.Input[str]] = None,
37
+ trace_level: Optional[pulumi.Input[str]] = None):
38
+ """
39
+ The set of arguments for constructing a FunctionJavascript resource.
40
+ :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: `|`, `.`, `"`.
41
+ :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 JavaScript source code. For more information, see [Introduction to JavaScript UDFs](https://docs.snowflake.com/en/developer-guide/udf/javascript/udf-javascript-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.
42
+ :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).
43
+ :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: `|`, `.`, `"`.
44
+ :param pulumi.Input[Sequence[pulumi.Input['FunctionJavascriptArgumentArgs']]] 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.
45
+ :param pulumi.Input[str] comment: Specifies a comment for the function.
46
+ :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).
47
+ :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).
48
+ :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).
49
+ :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: `|`, `.`, `"`.
50
+ :param pulumi.Input[str] null_input_behavior: Specifies the behavior of the function when called with null inputs. Valid values are (case-insensitive): `CALLED ON NULL INPUT` | `RETURNS NULL ON NULL INPUT`.
51
+ :param pulumi.Input[str] return_results_behavior: Specifies the behavior of the function when returning results. Valid values are (case-insensitive): `VOLATILE` | `IMMUTABLE`.
52
+ :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).
53
+ """
54
+ pulumi.set(__self__, "database", database)
55
+ pulumi.set(__self__, "function_definition", function_definition)
56
+ pulumi.set(__self__, "return_type", return_type)
57
+ pulumi.set(__self__, "schema", schema)
58
+ if arguments is not None:
59
+ pulumi.set(__self__, "arguments", arguments)
60
+ if comment is not None:
61
+ pulumi.set(__self__, "comment", comment)
62
+ if enable_console_output is not None:
63
+ pulumi.set(__self__, "enable_console_output", enable_console_output)
64
+ if is_secure is not None:
65
+ pulumi.set(__self__, "is_secure", is_secure)
66
+ if log_level is not None:
67
+ pulumi.set(__self__, "log_level", log_level)
68
+ if metric_level is not None:
69
+ pulumi.set(__self__, "metric_level", metric_level)
70
+ if name is not None:
71
+ pulumi.set(__self__, "name", name)
72
+ if null_input_behavior is not None:
73
+ pulumi.set(__self__, "null_input_behavior", null_input_behavior)
74
+ if return_results_behavior is not None:
75
+ pulumi.set(__self__, "return_results_behavior", return_results_behavior)
76
+ if trace_level is not None:
77
+ pulumi.set(__self__, "trace_level", trace_level)
78
+
79
+ @property
80
+ @pulumi.getter
81
+ def database(self) -> pulumi.Input[str]:
82
+ """
83
+ The database in which to create the function. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
84
+ """
85
+ return pulumi.get(self, "database")
86
+
87
+ @database.setter
88
+ def database(self, value: pulumi.Input[str]):
89
+ pulumi.set(self, "database", value)
90
+
91
+ @property
92
+ @pulumi.getter(name="functionDefinition")
93
+ def function_definition(self) -> pulumi.Input[str]:
94
+ """
95
+ 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 JavaScript source code. For more information, see [Introduction to JavaScript UDFs](https://docs.snowflake.com/en/developer-guide/udf/javascript/udf-javascript-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.
96
+ """
97
+ return pulumi.get(self, "function_definition")
98
+
99
+ @function_definition.setter
100
+ def function_definition(self, value: pulumi.Input[str]):
101
+ pulumi.set(self, "function_definition", value)
102
+
103
+ @property
104
+ @pulumi.getter(name="returnType")
105
+ def return_type(self) -> pulumi.Input[str]:
106
+ """
107
+ 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).
108
+ """
109
+ return pulumi.get(self, "return_type")
110
+
111
+ @return_type.setter
112
+ def return_type(self, value: pulumi.Input[str]):
113
+ pulumi.set(self, "return_type", value)
114
+
115
+ @property
116
+ @pulumi.getter
117
+ def schema(self) -> pulumi.Input[str]:
118
+ """
119
+ The schema in which to create the function. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
120
+ """
121
+ return pulumi.get(self, "schema")
122
+
123
+ @schema.setter
124
+ def schema(self, value: pulumi.Input[str]):
125
+ pulumi.set(self, "schema", value)
126
+
127
+ @property
128
+ @pulumi.getter
129
+ def arguments(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FunctionJavascriptArgumentArgs']]]]:
130
+ """
131
+ 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.
132
+ """
133
+ return pulumi.get(self, "arguments")
134
+
135
+ @arguments.setter
136
+ def arguments(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FunctionJavascriptArgumentArgs']]]]):
137
+ pulumi.set(self, "arguments", value)
138
+
139
+ @property
140
+ @pulumi.getter
141
+ def comment(self) -> Optional[pulumi.Input[str]]:
142
+ """
143
+ Specifies a comment for the function.
144
+ """
145
+ return pulumi.get(self, "comment")
146
+
147
+ @comment.setter
148
+ def comment(self, value: Optional[pulumi.Input[str]]):
149
+ pulumi.set(self, "comment", value)
150
+
151
+ @property
152
+ @pulumi.getter(name="enableConsoleOutput")
153
+ def enable_console_output(self) -> Optional[pulumi.Input[bool]]:
154
+ """
155
+ 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).
156
+ """
157
+ return pulumi.get(self, "enable_console_output")
158
+
159
+ @enable_console_output.setter
160
+ def enable_console_output(self, value: Optional[pulumi.Input[bool]]):
161
+ pulumi.set(self, "enable_console_output", value)
162
+
163
+ @property
164
+ @pulumi.getter(name="isSecure")
165
+ def is_secure(self) -> Optional[pulumi.Input[str]]:
166
+ return pulumi.get(self, "is_secure")
167
+
168
+ @is_secure.setter
169
+ def is_secure(self, value: Optional[pulumi.Input[str]]):
170
+ pulumi.set(self, "is_secure", value)
171
+
172
+ @property
173
+ @pulumi.getter(name="logLevel")
174
+ def log_level(self) -> Optional[pulumi.Input[str]]:
175
+ """
176
+ LOG*LEVEL to use when filtering events For more information, check [LOG*LEVEL docs](https://docs.snowflake.com/en/sql-reference/parameters#log-level).
177
+ """
178
+ return pulumi.get(self, "log_level")
179
+
180
+ @log_level.setter
181
+ def log_level(self, value: Optional[pulumi.Input[str]]):
182
+ pulumi.set(self, "log_level", value)
183
+
184
+ @property
185
+ @pulumi.getter(name="metricLevel")
186
+ def metric_level(self) -> Optional[pulumi.Input[str]]:
187
+ """
188
+ 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).
189
+ """
190
+ return pulumi.get(self, "metric_level")
191
+
192
+ @metric_level.setter
193
+ def metric_level(self, value: Optional[pulumi.Input[str]]):
194
+ pulumi.set(self, "metric_level", value)
195
+
196
+ @property
197
+ @pulumi.getter
198
+ def name(self) -> Optional[pulumi.Input[str]]:
199
+ """
200
+ 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: `|`, `.`, `"`.
201
+ """
202
+ return pulumi.get(self, "name")
203
+
204
+ @name.setter
205
+ def name(self, value: Optional[pulumi.Input[str]]):
206
+ pulumi.set(self, "name", value)
207
+
208
+ @property
209
+ @pulumi.getter(name="nullInputBehavior")
210
+ def null_input_behavior(self) -> Optional[pulumi.Input[str]]:
211
+ """
212
+ Specifies the behavior of the function when called with null inputs. Valid values are (case-insensitive): `CALLED ON NULL INPUT` | `RETURNS NULL ON NULL INPUT`.
213
+ """
214
+ return pulumi.get(self, "null_input_behavior")
215
+
216
+ @null_input_behavior.setter
217
+ def null_input_behavior(self, value: Optional[pulumi.Input[str]]):
218
+ pulumi.set(self, "null_input_behavior", value)
219
+
220
+ @property
221
+ @pulumi.getter(name="returnResultsBehavior")
222
+ def return_results_behavior(self) -> Optional[pulumi.Input[str]]:
223
+ """
224
+ Specifies the behavior of the function when returning results. Valid values are (case-insensitive): `VOLATILE` | `IMMUTABLE`.
225
+ """
226
+ return pulumi.get(self, "return_results_behavior")
227
+
228
+ @return_results_behavior.setter
229
+ def return_results_behavior(self, value: Optional[pulumi.Input[str]]):
230
+ pulumi.set(self, "return_results_behavior", value)
231
+
232
+ @property
233
+ @pulumi.getter(name="traceLevel")
234
+ def trace_level(self) -> Optional[pulumi.Input[str]]:
235
+ """
236
+ 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).
237
+ """
238
+ return pulumi.get(self, "trace_level")
239
+
240
+ @trace_level.setter
241
+ def trace_level(self, value: Optional[pulumi.Input[str]]):
242
+ pulumi.set(self, "trace_level", value)
243
+
244
+
245
+ @pulumi.input_type
246
+ class _FunctionJavascriptState:
247
+ def __init__(__self__, *,
248
+ arguments: Optional[pulumi.Input[Sequence[pulumi.Input['FunctionJavascriptArgumentArgs']]]] = None,
249
+ comment: Optional[pulumi.Input[str]] = None,
250
+ database: Optional[pulumi.Input[str]] = None,
251
+ enable_console_output: Optional[pulumi.Input[bool]] = None,
252
+ fully_qualified_name: Optional[pulumi.Input[str]] = None,
253
+ function_definition: Optional[pulumi.Input[str]] = None,
254
+ function_language: Optional[pulumi.Input[str]] = None,
255
+ is_secure: Optional[pulumi.Input[str]] = None,
256
+ log_level: Optional[pulumi.Input[str]] = None,
257
+ metric_level: Optional[pulumi.Input[str]] = None,
258
+ name: Optional[pulumi.Input[str]] = None,
259
+ null_input_behavior: Optional[pulumi.Input[str]] = None,
260
+ parameters: Optional[pulumi.Input[Sequence[pulumi.Input['FunctionJavascriptParameterArgs']]]] = None,
261
+ return_results_behavior: Optional[pulumi.Input[str]] = None,
262
+ return_type: Optional[pulumi.Input[str]] = None,
263
+ schema: Optional[pulumi.Input[str]] = None,
264
+ show_outputs: Optional[pulumi.Input[Sequence[pulumi.Input['FunctionJavascriptShowOutputArgs']]]] = None,
265
+ trace_level: Optional[pulumi.Input[str]] = None):
266
+ """
267
+ Input properties used for looking up and filtering FunctionJavascript resources.
268
+ :param pulumi.Input[Sequence[pulumi.Input['FunctionJavascriptArgumentArgs']]] 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.
269
+ :param pulumi.Input[str] comment: Specifies a comment for the function.
270
+ :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: `|`, `.`, `"`.
271
+ :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).
272
+ :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).
273
+ :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 JavaScript source code. For more information, see [Introduction to JavaScript UDFs](https://docs.snowflake.com/en/developer-guide/udf/javascript/udf-javascript-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.
274
+ :param pulumi.Input[str] function_language: Specifies language for the user. Used to detect external changes.
275
+ :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).
276
+ :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).
277
+ :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: `|`, `.`, `"`.
278
+ :param pulumi.Input[str] null_input_behavior: Specifies the behavior of the function when called with null inputs. Valid values are (case-insensitive): `CALLED ON NULL INPUT` | `RETURNS NULL ON NULL INPUT`.
279
+ :param pulumi.Input[Sequence[pulumi.Input['FunctionJavascriptParameterArgs']]] parameters: Outputs the result of `SHOW PARAMETERS IN FUNCTION` for the given function.
280
+ :param pulumi.Input[str] return_results_behavior: Specifies the behavior of the function when returning results. Valid values are (case-insensitive): `VOLATILE` | `IMMUTABLE`.
281
+ :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).
282
+ :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: `|`, `.`, `"`.
283
+ :param pulumi.Input[Sequence[pulumi.Input['FunctionJavascriptShowOutputArgs']]] show_outputs: Outputs the result of `SHOW FUNCTION` for the given function.
284
+ :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).
285
+ """
286
+ if arguments is not None:
287
+ pulumi.set(__self__, "arguments", arguments)
288
+ if comment is not None:
289
+ pulumi.set(__self__, "comment", comment)
290
+ if database is not None:
291
+ pulumi.set(__self__, "database", database)
292
+ if enable_console_output is not None:
293
+ pulumi.set(__self__, "enable_console_output", enable_console_output)
294
+ if fully_qualified_name is not None:
295
+ pulumi.set(__self__, "fully_qualified_name", fully_qualified_name)
296
+ if function_definition is not None:
297
+ pulumi.set(__self__, "function_definition", function_definition)
298
+ if function_language is not None:
299
+ pulumi.set(__self__, "function_language", function_language)
300
+ if is_secure is not None:
301
+ pulumi.set(__self__, "is_secure", is_secure)
302
+ if log_level is not None:
303
+ pulumi.set(__self__, "log_level", log_level)
304
+ if metric_level is not None:
305
+ pulumi.set(__self__, "metric_level", metric_level)
306
+ if name is not None:
307
+ pulumi.set(__self__, "name", name)
308
+ if null_input_behavior is not None:
309
+ pulumi.set(__self__, "null_input_behavior", null_input_behavior)
310
+ if parameters is not None:
311
+ pulumi.set(__self__, "parameters", parameters)
312
+ if return_results_behavior is not None:
313
+ pulumi.set(__self__, "return_results_behavior", return_results_behavior)
314
+ if return_type is not None:
315
+ pulumi.set(__self__, "return_type", return_type)
316
+ if schema is not None:
317
+ pulumi.set(__self__, "schema", schema)
318
+ if show_outputs is not None:
319
+ pulumi.set(__self__, "show_outputs", show_outputs)
320
+ if trace_level is not None:
321
+ pulumi.set(__self__, "trace_level", trace_level)
322
+
323
+ @property
324
+ @pulumi.getter
325
+ def arguments(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FunctionJavascriptArgumentArgs']]]]:
326
+ """
327
+ 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.
328
+ """
329
+ return pulumi.get(self, "arguments")
330
+
331
+ @arguments.setter
332
+ def arguments(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FunctionJavascriptArgumentArgs']]]]):
333
+ pulumi.set(self, "arguments", value)
334
+
335
+ @property
336
+ @pulumi.getter
337
+ def comment(self) -> Optional[pulumi.Input[str]]:
338
+ """
339
+ Specifies a comment for the function.
340
+ """
341
+ return pulumi.get(self, "comment")
342
+
343
+ @comment.setter
344
+ def comment(self, value: Optional[pulumi.Input[str]]):
345
+ pulumi.set(self, "comment", value)
346
+
347
+ @property
348
+ @pulumi.getter
349
+ def database(self) -> Optional[pulumi.Input[str]]:
350
+ """
351
+ The database in which to create the function. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
352
+ """
353
+ return pulumi.get(self, "database")
354
+
355
+ @database.setter
356
+ def database(self, value: Optional[pulumi.Input[str]]):
357
+ pulumi.set(self, "database", value)
358
+
359
+ @property
360
+ @pulumi.getter(name="enableConsoleOutput")
361
+ def enable_console_output(self) -> Optional[pulumi.Input[bool]]:
362
+ """
363
+ 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).
364
+ """
365
+ return pulumi.get(self, "enable_console_output")
366
+
367
+ @enable_console_output.setter
368
+ def enable_console_output(self, value: Optional[pulumi.Input[bool]]):
369
+ pulumi.set(self, "enable_console_output", value)
370
+
371
+ @property
372
+ @pulumi.getter(name="fullyQualifiedName")
373
+ def fully_qualified_name(self) -> Optional[pulumi.Input[str]]:
374
+ """
375
+ Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
376
+ """
377
+ return pulumi.get(self, "fully_qualified_name")
378
+
379
+ @fully_qualified_name.setter
380
+ def fully_qualified_name(self, value: Optional[pulumi.Input[str]]):
381
+ pulumi.set(self, "fully_qualified_name", value)
382
+
383
+ @property
384
+ @pulumi.getter(name="functionDefinition")
385
+ def function_definition(self) -> Optional[pulumi.Input[str]]:
386
+ """
387
+ 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 JavaScript source code. For more information, see [Introduction to JavaScript UDFs](https://docs.snowflake.com/en/developer-guide/udf/javascript/udf-javascript-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.
388
+ """
389
+ return pulumi.get(self, "function_definition")
390
+
391
+ @function_definition.setter
392
+ def function_definition(self, value: Optional[pulumi.Input[str]]):
393
+ pulumi.set(self, "function_definition", value)
394
+
395
+ @property
396
+ @pulumi.getter(name="functionLanguage")
397
+ def function_language(self) -> Optional[pulumi.Input[str]]:
398
+ """
399
+ Specifies language for the user. Used to detect external changes.
400
+ """
401
+ return pulumi.get(self, "function_language")
402
+
403
+ @function_language.setter
404
+ def function_language(self, value: Optional[pulumi.Input[str]]):
405
+ pulumi.set(self, "function_language", value)
406
+
407
+ @property
408
+ @pulumi.getter(name="isSecure")
409
+ def is_secure(self) -> Optional[pulumi.Input[str]]:
410
+ return pulumi.get(self, "is_secure")
411
+
412
+ @is_secure.setter
413
+ def is_secure(self, value: Optional[pulumi.Input[str]]):
414
+ pulumi.set(self, "is_secure", value)
415
+
416
+ @property
417
+ @pulumi.getter(name="logLevel")
418
+ def log_level(self) -> Optional[pulumi.Input[str]]:
419
+ """
420
+ LOG*LEVEL to use when filtering events For more information, check [LOG*LEVEL docs](https://docs.snowflake.com/en/sql-reference/parameters#log-level).
421
+ """
422
+ return pulumi.get(self, "log_level")
423
+
424
+ @log_level.setter
425
+ def log_level(self, value: Optional[pulumi.Input[str]]):
426
+ pulumi.set(self, "log_level", value)
427
+
428
+ @property
429
+ @pulumi.getter(name="metricLevel")
430
+ def metric_level(self) -> Optional[pulumi.Input[str]]:
431
+ """
432
+ 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).
433
+ """
434
+ return pulumi.get(self, "metric_level")
435
+
436
+ @metric_level.setter
437
+ def metric_level(self, value: Optional[pulumi.Input[str]]):
438
+ pulumi.set(self, "metric_level", value)
439
+
440
+ @property
441
+ @pulumi.getter
442
+ def name(self) -> Optional[pulumi.Input[str]]:
443
+ """
444
+ 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: `|`, `.`, `"`.
445
+ """
446
+ return pulumi.get(self, "name")
447
+
448
+ @name.setter
449
+ def name(self, value: Optional[pulumi.Input[str]]):
450
+ pulumi.set(self, "name", value)
451
+
452
+ @property
453
+ @pulumi.getter(name="nullInputBehavior")
454
+ def null_input_behavior(self) -> Optional[pulumi.Input[str]]:
455
+ """
456
+ Specifies the behavior of the function when called with null inputs. Valid values are (case-insensitive): `CALLED ON NULL INPUT` | `RETURNS NULL ON NULL INPUT`.
457
+ """
458
+ return pulumi.get(self, "null_input_behavior")
459
+
460
+ @null_input_behavior.setter
461
+ def null_input_behavior(self, value: Optional[pulumi.Input[str]]):
462
+ pulumi.set(self, "null_input_behavior", value)
463
+
464
+ @property
465
+ @pulumi.getter
466
+ def parameters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FunctionJavascriptParameterArgs']]]]:
467
+ """
468
+ Outputs the result of `SHOW PARAMETERS IN FUNCTION` for the given function.
469
+ """
470
+ return pulumi.get(self, "parameters")
471
+
472
+ @parameters.setter
473
+ def parameters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FunctionJavascriptParameterArgs']]]]):
474
+ pulumi.set(self, "parameters", value)
475
+
476
+ @property
477
+ @pulumi.getter(name="returnResultsBehavior")
478
+ def return_results_behavior(self) -> Optional[pulumi.Input[str]]:
479
+ """
480
+ Specifies the behavior of the function when returning results. Valid values are (case-insensitive): `VOLATILE` | `IMMUTABLE`.
481
+ """
482
+ return pulumi.get(self, "return_results_behavior")
483
+
484
+ @return_results_behavior.setter
485
+ def return_results_behavior(self, value: Optional[pulumi.Input[str]]):
486
+ pulumi.set(self, "return_results_behavior", value)
487
+
488
+ @property
489
+ @pulumi.getter(name="returnType")
490
+ def return_type(self) -> Optional[pulumi.Input[str]]:
491
+ """
492
+ 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).
493
+ """
494
+ return pulumi.get(self, "return_type")
495
+
496
+ @return_type.setter
497
+ def return_type(self, value: Optional[pulumi.Input[str]]):
498
+ pulumi.set(self, "return_type", value)
499
+
500
+ @property
501
+ @pulumi.getter
502
+ def schema(self) -> Optional[pulumi.Input[str]]:
503
+ """
504
+ The schema in which to create the function. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
505
+ """
506
+ return pulumi.get(self, "schema")
507
+
508
+ @schema.setter
509
+ def schema(self, value: Optional[pulumi.Input[str]]):
510
+ pulumi.set(self, "schema", value)
511
+
512
+ @property
513
+ @pulumi.getter(name="showOutputs")
514
+ def show_outputs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FunctionJavascriptShowOutputArgs']]]]:
515
+ """
516
+ Outputs the result of `SHOW FUNCTION` for the given function.
517
+ """
518
+ return pulumi.get(self, "show_outputs")
519
+
520
+ @show_outputs.setter
521
+ def show_outputs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FunctionJavascriptShowOutputArgs']]]]):
522
+ pulumi.set(self, "show_outputs", value)
523
+
524
+ @property
525
+ @pulumi.getter(name="traceLevel")
526
+ def trace_level(self) -> Optional[pulumi.Input[str]]:
527
+ """
528
+ 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).
529
+ """
530
+ return pulumi.get(self, "trace_level")
531
+
532
+ @trace_level.setter
533
+ def trace_level(self, value: Optional[pulumi.Input[str]]):
534
+ pulumi.set(self, "trace_level", value)
535
+
536
+
537
+ class FunctionJavascript(pulumi.CustomResource):
538
+ @overload
539
+ def __init__(__self__,
540
+ resource_name: str,
541
+ opts: Optional[pulumi.ResourceOptions] = None,
542
+ arguments: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FunctionJavascriptArgumentArgs', 'FunctionJavascriptArgumentArgsDict']]]]] = None,
543
+ comment: Optional[pulumi.Input[str]] = None,
544
+ database: Optional[pulumi.Input[str]] = None,
545
+ enable_console_output: Optional[pulumi.Input[bool]] = None,
546
+ function_definition: Optional[pulumi.Input[str]] = None,
547
+ is_secure: Optional[pulumi.Input[str]] = None,
548
+ log_level: Optional[pulumi.Input[str]] = None,
549
+ metric_level: Optional[pulumi.Input[str]] = None,
550
+ name: Optional[pulumi.Input[str]] = None,
551
+ null_input_behavior: Optional[pulumi.Input[str]] = None,
552
+ return_results_behavior: Optional[pulumi.Input[str]] = None,
553
+ return_type: Optional[pulumi.Input[str]] = None,
554
+ schema: Optional[pulumi.Input[str]] = None,
555
+ trace_level: Optional[pulumi.Input[str]] = None,
556
+ __props__=None):
557
+ """
558
+ ## Import
559
+
560
+ ```sh
561
+ $ pulumi import snowflake:index/functionJavascript:FunctionJavascript example '"<database_name>"."<schema_name>"."<function_name>"(varchar, varchar, varchar)'
562
+ ```
563
+
564
+ 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).
565
+
566
+ 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.
567
+
568
+ :param str resource_name: The name of the resource.
569
+ :param pulumi.ResourceOptions opts: Options for the resource.
570
+ :param pulumi.Input[Sequence[pulumi.Input[Union['FunctionJavascriptArgumentArgs', 'FunctionJavascriptArgumentArgsDict']]]] 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.
571
+ :param pulumi.Input[str] comment: Specifies a comment for the function.
572
+ :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: `|`, `.`, `"`.
573
+ :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).
574
+ :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 JavaScript source code. For more information, see [Introduction to JavaScript UDFs](https://docs.snowflake.com/en/developer-guide/udf/javascript/udf-javascript-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.
575
+ :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).
576
+ :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).
577
+ :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: `|`, `.`, `"`.
578
+ :param pulumi.Input[str] null_input_behavior: Specifies the behavior of the function when called with null inputs. Valid values are (case-insensitive): `CALLED ON NULL INPUT` | `RETURNS NULL ON NULL INPUT`.
579
+ :param pulumi.Input[str] return_results_behavior: Specifies the behavior of the function when returning results. Valid values are (case-insensitive): `VOLATILE` | `IMMUTABLE`.
580
+ :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).
581
+ :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: `|`, `.`, `"`.
582
+ :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).
583
+ """
584
+ ...
585
+ @overload
586
+ def __init__(__self__,
587
+ resource_name: str,
588
+ args: FunctionJavascriptArgs,
589
+ opts: Optional[pulumi.ResourceOptions] = None):
590
+ """
591
+ ## Import
592
+
593
+ ```sh
594
+ $ pulumi import snowflake:index/functionJavascript:FunctionJavascript example '"<database_name>"."<schema_name>"."<function_name>"(varchar, varchar, varchar)'
595
+ ```
596
+
597
+ 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).
598
+
599
+ 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.
600
+
601
+ :param str resource_name: The name of the resource.
602
+ :param FunctionJavascriptArgs args: The arguments to use to populate this resource's properties.
603
+ :param pulumi.ResourceOptions opts: Options for the resource.
604
+ """
605
+ ...
606
+ def __init__(__self__, resource_name: str, *args, **kwargs):
607
+ resource_args, opts = _utilities.get_resource_args_opts(FunctionJavascriptArgs, pulumi.ResourceOptions, *args, **kwargs)
608
+ if resource_args is not None:
609
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
610
+ else:
611
+ __self__._internal_init(resource_name, *args, **kwargs)
612
+
613
+ def _internal_init(__self__,
614
+ resource_name: str,
615
+ opts: Optional[pulumi.ResourceOptions] = None,
616
+ arguments: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FunctionJavascriptArgumentArgs', 'FunctionJavascriptArgumentArgsDict']]]]] = None,
617
+ comment: Optional[pulumi.Input[str]] = None,
618
+ database: Optional[pulumi.Input[str]] = None,
619
+ enable_console_output: Optional[pulumi.Input[bool]] = None,
620
+ function_definition: Optional[pulumi.Input[str]] = None,
621
+ is_secure: Optional[pulumi.Input[str]] = None,
622
+ log_level: Optional[pulumi.Input[str]] = None,
623
+ metric_level: Optional[pulumi.Input[str]] = None,
624
+ name: Optional[pulumi.Input[str]] = None,
625
+ null_input_behavior: Optional[pulumi.Input[str]] = None,
626
+ return_results_behavior: Optional[pulumi.Input[str]] = None,
627
+ return_type: Optional[pulumi.Input[str]] = None,
628
+ schema: Optional[pulumi.Input[str]] = None,
629
+ trace_level: Optional[pulumi.Input[str]] = None,
630
+ __props__=None):
631
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
632
+ if not isinstance(opts, pulumi.ResourceOptions):
633
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
634
+ if opts.id is None:
635
+ if __props__ is not None:
636
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
637
+ __props__ = FunctionJavascriptArgs.__new__(FunctionJavascriptArgs)
638
+
639
+ __props__.__dict__["arguments"] = arguments
640
+ __props__.__dict__["comment"] = comment
641
+ if database is None and not opts.urn:
642
+ raise TypeError("Missing required property 'database'")
643
+ __props__.__dict__["database"] = database
644
+ __props__.__dict__["enable_console_output"] = enable_console_output
645
+ if function_definition is None and not opts.urn:
646
+ raise TypeError("Missing required property 'function_definition'")
647
+ __props__.__dict__["function_definition"] = function_definition
648
+ __props__.__dict__["is_secure"] = is_secure
649
+ __props__.__dict__["log_level"] = log_level
650
+ __props__.__dict__["metric_level"] = metric_level
651
+ __props__.__dict__["name"] = name
652
+ __props__.__dict__["null_input_behavior"] = null_input_behavior
653
+ __props__.__dict__["return_results_behavior"] = return_results_behavior
654
+ if return_type is None and not opts.urn:
655
+ raise TypeError("Missing required property 'return_type'")
656
+ __props__.__dict__["return_type"] = return_type
657
+ if schema is None and not opts.urn:
658
+ raise TypeError("Missing required property 'schema'")
659
+ __props__.__dict__["schema"] = schema
660
+ __props__.__dict__["trace_level"] = trace_level
661
+ __props__.__dict__["fully_qualified_name"] = None
662
+ __props__.__dict__["function_language"] = None
663
+ __props__.__dict__["parameters"] = None
664
+ __props__.__dict__["show_outputs"] = None
665
+ super(FunctionJavascript, __self__).__init__(
666
+ 'snowflake:index/functionJavascript:FunctionJavascript',
667
+ resource_name,
668
+ __props__,
669
+ opts)
670
+
671
+ @staticmethod
672
+ def get(resource_name: str,
673
+ id: pulumi.Input[str],
674
+ opts: Optional[pulumi.ResourceOptions] = None,
675
+ arguments: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FunctionJavascriptArgumentArgs', 'FunctionJavascriptArgumentArgsDict']]]]] = None,
676
+ comment: Optional[pulumi.Input[str]] = None,
677
+ database: Optional[pulumi.Input[str]] = None,
678
+ enable_console_output: Optional[pulumi.Input[bool]] = None,
679
+ fully_qualified_name: Optional[pulumi.Input[str]] = None,
680
+ function_definition: Optional[pulumi.Input[str]] = None,
681
+ function_language: Optional[pulumi.Input[str]] = None,
682
+ is_secure: Optional[pulumi.Input[str]] = None,
683
+ log_level: Optional[pulumi.Input[str]] = None,
684
+ metric_level: Optional[pulumi.Input[str]] = None,
685
+ name: Optional[pulumi.Input[str]] = None,
686
+ null_input_behavior: Optional[pulumi.Input[str]] = None,
687
+ parameters: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FunctionJavascriptParameterArgs', 'FunctionJavascriptParameterArgsDict']]]]] = None,
688
+ return_results_behavior: Optional[pulumi.Input[str]] = None,
689
+ return_type: Optional[pulumi.Input[str]] = None,
690
+ schema: Optional[pulumi.Input[str]] = None,
691
+ show_outputs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FunctionJavascriptShowOutputArgs', 'FunctionJavascriptShowOutputArgsDict']]]]] = None,
692
+ trace_level: Optional[pulumi.Input[str]] = None) -> 'FunctionJavascript':
693
+ """
694
+ Get an existing FunctionJavascript resource's state with the given name, id, and optional extra
695
+ properties used to qualify the lookup.
696
+
697
+ :param str resource_name: The unique name of the resulting resource.
698
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
699
+ :param pulumi.ResourceOptions opts: Options for the resource.
700
+ :param pulumi.Input[Sequence[pulumi.Input[Union['FunctionJavascriptArgumentArgs', 'FunctionJavascriptArgumentArgsDict']]]] 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.
701
+ :param pulumi.Input[str] comment: Specifies a comment for the function.
702
+ :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: `|`, `.`, `"`.
703
+ :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).
704
+ :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).
705
+ :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 JavaScript source code. For more information, see [Introduction to JavaScript UDFs](https://docs.snowflake.com/en/developer-guide/udf/javascript/udf-javascript-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.
706
+ :param pulumi.Input[str] function_language: Specifies language for the user. Used to detect external changes.
707
+ :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).
708
+ :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).
709
+ :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: `|`, `.`, `"`.
710
+ :param pulumi.Input[str] null_input_behavior: Specifies the behavior of the function when called with null inputs. Valid values are (case-insensitive): `CALLED ON NULL INPUT` | `RETURNS NULL ON NULL INPUT`.
711
+ :param pulumi.Input[Sequence[pulumi.Input[Union['FunctionJavascriptParameterArgs', 'FunctionJavascriptParameterArgsDict']]]] parameters: Outputs the result of `SHOW PARAMETERS IN FUNCTION` for the given function.
712
+ :param pulumi.Input[str] return_results_behavior: Specifies the behavior of the function when returning results. Valid values are (case-insensitive): `VOLATILE` | `IMMUTABLE`.
713
+ :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).
714
+ :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: `|`, `.`, `"`.
715
+ :param pulumi.Input[Sequence[pulumi.Input[Union['FunctionJavascriptShowOutputArgs', 'FunctionJavascriptShowOutputArgsDict']]]] show_outputs: Outputs the result of `SHOW FUNCTION` for the given function.
716
+ :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).
717
+ """
718
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
719
+
720
+ __props__ = _FunctionJavascriptState.__new__(_FunctionJavascriptState)
721
+
722
+ __props__.__dict__["arguments"] = arguments
723
+ __props__.__dict__["comment"] = comment
724
+ __props__.__dict__["database"] = database
725
+ __props__.__dict__["enable_console_output"] = enable_console_output
726
+ __props__.__dict__["fully_qualified_name"] = fully_qualified_name
727
+ __props__.__dict__["function_definition"] = function_definition
728
+ __props__.__dict__["function_language"] = function_language
729
+ __props__.__dict__["is_secure"] = is_secure
730
+ __props__.__dict__["log_level"] = log_level
731
+ __props__.__dict__["metric_level"] = metric_level
732
+ __props__.__dict__["name"] = name
733
+ __props__.__dict__["null_input_behavior"] = null_input_behavior
734
+ __props__.__dict__["parameters"] = parameters
735
+ __props__.__dict__["return_results_behavior"] = return_results_behavior
736
+ __props__.__dict__["return_type"] = return_type
737
+ __props__.__dict__["schema"] = schema
738
+ __props__.__dict__["show_outputs"] = show_outputs
739
+ __props__.__dict__["trace_level"] = trace_level
740
+ return FunctionJavascript(resource_name, opts=opts, __props__=__props__)
741
+
742
+ @property
743
+ @pulumi.getter
744
+ def arguments(self) -> pulumi.Output[Optional[Sequence['outputs.FunctionJavascriptArgument']]]:
745
+ """
746
+ 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.
747
+ """
748
+ return pulumi.get(self, "arguments")
749
+
750
+ @property
751
+ @pulumi.getter
752
+ def comment(self) -> pulumi.Output[Optional[str]]:
753
+ """
754
+ Specifies a comment for the function.
755
+ """
756
+ return pulumi.get(self, "comment")
757
+
758
+ @property
759
+ @pulumi.getter
760
+ def database(self) -> pulumi.Output[str]:
761
+ """
762
+ The database in which to create the function. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
763
+ """
764
+ return pulumi.get(self, "database")
765
+
766
+ @property
767
+ @pulumi.getter(name="enableConsoleOutput")
768
+ def enable_console_output(self) -> pulumi.Output[bool]:
769
+ """
770
+ 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).
771
+ """
772
+ return pulumi.get(self, "enable_console_output")
773
+
774
+ @property
775
+ @pulumi.getter(name="fullyQualifiedName")
776
+ def fully_qualified_name(self) -> pulumi.Output[str]:
777
+ """
778
+ Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
779
+ """
780
+ return pulumi.get(self, "fully_qualified_name")
781
+
782
+ @property
783
+ @pulumi.getter(name="functionDefinition")
784
+ def function_definition(self) -> pulumi.Output[str]:
785
+ """
786
+ 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 JavaScript source code. For more information, see [Introduction to JavaScript UDFs](https://docs.snowflake.com/en/developer-guide/udf/javascript/udf-javascript-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.
787
+ """
788
+ return pulumi.get(self, "function_definition")
789
+
790
+ @property
791
+ @pulumi.getter(name="functionLanguage")
792
+ def function_language(self) -> pulumi.Output[str]:
793
+ """
794
+ Specifies language for the user. Used to detect external changes.
795
+ """
796
+ return pulumi.get(self, "function_language")
797
+
798
+ @property
799
+ @pulumi.getter(name="isSecure")
800
+ def is_secure(self) -> pulumi.Output[Optional[str]]:
801
+ return pulumi.get(self, "is_secure")
802
+
803
+ @property
804
+ @pulumi.getter(name="logLevel")
805
+ def log_level(self) -> pulumi.Output[str]:
806
+ """
807
+ LOG*LEVEL to use when filtering events For more information, check [LOG*LEVEL docs](https://docs.snowflake.com/en/sql-reference/parameters#log-level).
808
+ """
809
+ return pulumi.get(self, "log_level")
810
+
811
+ @property
812
+ @pulumi.getter(name="metricLevel")
813
+ def metric_level(self) -> pulumi.Output[str]:
814
+ """
815
+ 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).
816
+ """
817
+ return pulumi.get(self, "metric_level")
818
+
819
+ @property
820
+ @pulumi.getter
821
+ def name(self) -> pulumi.Output[str]:
822
+ """
823
+ 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: `|`, `.`, `"`.
824
+ """
825
+ return pulumi.get(self, "name")
826
+
827
+ @property
828
+ @pulumi.getter(name="nullInputBehavior")
829
+ def null_input_behavior(self) -> pulumi.Output[Optional[str]]:
830
+ """
831
+ Specifies the behavior of the function when called with null inputs. Valid values are (case-insensitive): `CALLED ON NULL INPUT` | `RETURNS NULL ON NULL INPUT`.
832
+ """
833
+ return pulumi.get(self, "null_input_behavior")
834
+
835
+ @property
836
+ @pulumi.getter
837
+ def parameters(self) -> pulumi.Output[Sequence['outputs.FunctionJavascriptParameter']]:
838
+ """
839
+ Outputs the result of `SHOW PARAMETERS IN FUNCTION` for the given function.
840
+ """
841
+ return pulumi.get(self, "parameters")
842
+
843
+ @property
844
+ @pulumi.getter(name="returnResultsBehavior")
845
+ def return_results_behavior(self) -> pulumi.Output[Optional[str]]:
846
+ """
847
+ Specifies the behavior of the function when returning results. Valid values are (case-insensitive): `VOLATILE` | `IMMUTABLE`.
848
+ """
849
+ return pulumi.get(self, "return_results_behavior")
850
+
851
+ @property
852
+ @pulumi.getter(name="returnType")
853
+ def return_type(self) -> pulumi.Output[str]:
854
+ """
855
+ 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).
856
+ """
857
+ return pulumi.get(self, "return_type")
858
+
859
+ @property
860
+ @pulumi.getter
861
+ def schema(self) -> pulumi.Output[str]:
862
+ """
863
+ The schema in which to create the function. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
864
+ """
865
+ return pulumi.get(self, "schema")
866
+
867
+ @property
868
+ @pulumi.getter(name="showOutputs")
869
+ def show_outputs(self) -> pulumi.Output[Sequence['outputs.FunctionJavascriptShowOutput']]:
870
+ """
871
+ Outputs the result of `SHOW FUNCTION` for the given function.
872
+ """
873
+ return pulumi.get(self, "show_outputs")
874
+
875
+ @property
876
+ @pulumi.getter(name="traceLevel")
877
+ def trace_level(self) -> pulumi.Output[str]:
878
+ """
879
+ 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).
880
+ """
881
+ return pulumi.get(self, "trace_level")
882
+