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,1212 @@
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__ = ['FunctionPythonArgs', 'FunctionPython']
20
+
21
+ @pulumi.input_type
22
+ class FunctionPythonArgs:
23
+ def __init__(__self__, *,
24
+ database: pulumi.Input[str],
25
+ handler: pulumi.Input[str],
26
+ return_type: pulumi.Input[str],
27
+ runtime_version: pulumi.Input[str],
28
+ schema: pulumi.Input[str],
29
+ arguments: Optional[pulumi.Input[Sequence[pulumi.Input['FunctionPythonArgumentArgs']]]] = None,
30
+ comment: Optional[pulumi.Input[str]] = None,
31
+ enable_console_output: Optional[pulumi.Input[bool]] = None,
32
+ external_access_integrations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
33
+ function_definition: Optional[pulumi.Input[str]] = None,
34
+ imports: Optional[pulumi.Input[Sequence[pulumi.Input['FunctionPythonImportArgs']]]] = None,
35
+ is_aggregate: Optional[pulumi.Input[str]] = None,
36
+ is_secure: Optional[pulumi.Input[str]] = None,
37
+ log_level: Optional[pulumi.Input[str]] = None,
38
+ metric_level: Optional[pulumi.Input[str]] = None,
39
+ name: Optional[pulumi.Input[str]] = None,
40
+ null_input_behavior: Optional[pulumi.Input[str]] = None,
41
+ packages: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
42
+ return_results_behavior: Optional[pulumi.Input[str]] = None,
43
+ secrets: Optional[pulumi.Input[Sequence[pulumi.Input['FunctionPythonSecretArgs']]]] = None,
44
+ trace_level: Optional[pulumi.Input[str]] = None):
45
+ """
46
+ The set of arguments for constructing a FunctionPython resource.
47
+ :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: `|`, `.`, `"`.
48
+ :param pulumi.Input[str] handler: The name of the handler function or class. If the handler is for a scalar UDF, returning a non-tabular value, the HANDLER value should be a function name. If the handler code is in-line with the CREATE FUNCTION statement, you can use the function name alone. When the handler code is referenced at a stage, this value should be qualified with the module name, as in the following form: `my_module.my_function`. If the handler is for a tabular UDF, the HANDLER value should be the name of a handler class.
49
+ :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).
50
+ :param pulumi.Input[str] runtime_version: Specifies the Python version to use. The supported versions of Python are: 3.9, 3.10, and 3.11.
51
+ :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: `|`, `.`, `"`.
52
+ :param pulumi.Input[Sequence[pulumi.Input['FunctionPythonArgumentArgs']]] 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.
53
+ :param pulumi.Input[str] comment: Specifies a comment for the function.
54
+ :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).
55
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] external_access_integrations: The names of [external access integrations](https://docs.snowflake.com/en/sql-reference/sql/create-external-access-integration) needed in order for this function’s handler code to access external networks. An external access integration specifies [network rules](https://docs.snowflake.com/en/sql-reference/sql/create-network-rule) and [secrets](https://docs.snowflake.com/en/sql-reference/sql/create-secret) that specify external locations and credentials (if any) allowed for use by handler code when making requests of an external network, such as an external REST API.
56
+ :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 Python source code. For more information, see [Introduction to Python UDFs](https://docs.snowflake.com/en/developer-guide/udf/python/udf-python-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.
57
+ :param pulumi.Input[Sequence[pulumi.Input['FunctionPythonImportArgs']]] imports: The location (stage), path, and name of the file(s) to import. A file can be a `.py` file or another type of file. Python UDFs can also read non-Python files, such as text files. For an example, see [Reading a file](https://docs.snowflake.com/en/developer-guide/udf/python/udf-python-examples.html#label-udf-python-read-files). Consult the [docs](https://docs.snowflake.com/en/sql-reference/sql/create-function#python).
58
+ :param pulumi.Input[str] is_aggregate: Specifies that the function is an aggregate function. For more information about user-defined aggregate functions, see [Python user-defined aggregate functions](https://docs.snowflake.com/en/developer-guide/udf/python/udf-python-aggregate-functions). Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
59
+ :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).
60
+ :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).
61
+ :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: `|`, `.`, `"`.
62
+ :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`.
63
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] packages: The name and version number of packages required as dependencies. The value should be of the form `package_name==version_number`.
64
+ :param pulumi.Input[str] return_results_behavior: Specifies the behavior of the function when returning results. Valid values are (case-insensitive): `VOLATILE` | `IMMUTABLE`.
65
+ :param pulumi.Input[Sequence[pulumi.Input['FunctionPythonSecretArgs']]] secrets: Assigns the names of [secrets](https://docs.snowflake.com/en/sql-reference/sql/create-secret) to variables so that you can use the variables to reference the secrets when retrieving information from secrets in handler code. Secrets you specify here must be allowed by the [external access integration](https://docs.snowflake.com/en/sql-reference/sql/create-external-access-integration) specified as a value of this CREATE FUNCTION command’s EXTERNAL*ACCESS*INTEGRATIONS parameter.
66
+ :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).
67
+ """
68
+ pulumi.set(__self__, "database", database)
69
+ pulumi.set(__self__, "handler", handler)
70
+ pulumi.set(__self__, "return_type", return_type)
71
+ pulumi.set(__self__, "runtime_version", runtime_version)
72
+ pulumi.set(__self__, "schema", schema)
73
+ if arguments is not None:
74
+ pulumi.set(__self__, "arguments", arguments)
75
+ if comment is not None:
76
+ pulumi.set(__self__, "comment", comment)
77
+ if enable_console_output is not None:
78
+ pulumi.set(__self__, "enable_console_output", enable_console_output)
79
+ if external_access_integrations is not None:
80
+ pulumi.set(__self__, "external_access_integrations", external_access_integrations)
81
+ if function_definition is not None:
82
+ pulumi.set(__self__, "function_definition", function_definition)
83
+ if imports is not None:
84
+ pulumi.set(__self__, "imports", imports)
85
+ if is_aggregate is not None:
86
+ pulumi.set(__self__, "is_aggregate", is_aggregate)
87
+ if is_secure is not None:
88
+ pulumi.set(__self__, "is_secure", is_secure)
89
+ if log_level is not None:
90
+ pulumi.set(__self__, "log_level", log_level)
91
+ if metric_level is not None:
92
+ pulumi.set(__self__, "metric_level", metric_level)
93
+ if name is not None:
94
+ pulumi.set(__self__, "name", name)
95
+ if null_input_behavior is not None:
96
+ pulumi.set(__self__, "null_input_behavior", null_input_behavior)
97
+ if packages is not None:
98
+ pulumi.set(__self__, "packages", packages)
99
+ if return_results_behavior is not None:
100
+ pulumi.set(__self__, "return_results_behavior", return_results_behavior)
101
+ if secrets is not None:
102
+ pulumi.set(__self__, "secrets", secrets)
103
+ if trace_level is not None:
104
+ pulumi.set(__self__, "trace_level", trace_level)
105
+
106
+ @property
107
+ @pulumi.getter
108
+ def database(self) -> pulumi.Input[str]:
109
+ """
110
+ The database in which to create the function. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
111
+ """
112
+ return pulumi.get(self, "database")
113
+
114
+ @database.setter
115
+ def database(self, value: pulumi.Input[str]):
116
+ pulumi.set(self, "database", value)
117
+
118
+ @property
119
+ @pulumi.getter
120
+ def handler(self) -> pulumi.Input[str]:
121
+ """
122
+ The name of the handler function or class. If the handler is for a scalar UDF, returning a non-tabular value, the HANDLER value should be a function name. If the handler code is in-line with the CREATE FUNCTION statement, you can use the function name alone. When the handler code is referenced at a stage, this value should be qualified with the module name, as in the following form: `my_module.my_function`. If the handler is for a tabular UDF, the HANDLER value should be the name of a handler class.
123
+ """
124
+ return pulumi.get(self, "handler")
125
+
126
+ @handler.setter
127
+ def handler(self, value: pulumi.Input[str]):
128
+ pulumi.set(self, "handler", value)
129
+
130
+ @property
131
+ @pulumi.getter(name="returnType")
132
+ def return_type(self) -> pulumi.Input[str]:
133
+ """
134
+ 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).
135
+ """
136
+ return pulumi.get(self, "return_type")
137
+
138
+ @return_type.setter
139
+ def return_type(self, value: pulumi.Input[str]):
140
+ pulumi.set(self, "return_type", value)
141
+
142
+ @property
143
+ @pulumi.getter(name="runtimeVersion")
144
+ def runtime_version(self) -> pulumi.Input[str]:
145
+ """
146
+ Specifies the Python version to use. The supported versions of Python are: 3.9, 3.10, and 3.11.
147
+ """
148
+ return pulumi.get(self, "runtime_version")
149
+
150
+ @runtime_version.setter
151
+ def runtime_version(self, value: pulumi.Input[str]):
152
+ pulumi.set(self, "runtime_version", value)
153
+
154
+ @property
155
+ @pulumi.getter
156
+ def schema(self) -> pulumi.Input[str]:
157
+ """
158
+ The schema in which to create the function. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
159
+ """
160
+ return pulumi.get(self, "schema")
161
+
162
+ @schema.setter
163
+ def schema(self, value: pulumi.Input[str]):
164
+ pulumi.set(self, "schema", value)
165
+
166
+ @property
167
+ @pulumi.getter
168
+ def arguments(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FunctionPythonArgumentArgs']]]]:
169
+ """
170
+ 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.
171
+ """
172
+ return pulumi.get(self, "arguments")
173
+
174
+ @arguments.setter
175
+ def arguments(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FunctionPythonArgumentArgs']]]]):
176
+ pulumi.set(self, "arguments", value)
177
+
178
+ @property
179
+ @pulumi.getter
180
+ def comment(self) -> Optional[pulumi.Input[str]]:
181
+ """
182
+ Specifies a comment for the function.
183
+ """
184
+ return pulumi.get(self, "comment")
185
+
186
+ @comment.setter
187
+ def comment(self, value: Optional[pulumi.Input[str]]):
188
+ pulumi.set(self, "comment", value)
189
+
190
+ @property
191
+ @pulumi.getter(name="enableConsoleOutput")
192
+ def enable_console_output(self) -> Optional[pulumi.Input[bool]]:
193
+ """
194
+ 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).
195
+ """
196
+ return pulumi.get(self, "enable_console_output")
197
+
198
+ @enable_console_output.setter
199
+ def enable_console_output(self, value: Optional[pulumi.Input[bool]]):
200
+ pulumi.set(self, "enable_console_output", value)
201
+
202
+ @property
203
+ @pulumi.getter(name="externalAccessIntegrations")
204
+ def external_access_integrations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
205
+ """
206
+ The names of [external access integrations](https://docs.snowflake.com/en/sql-reference/sql/create-external-access-integration) needed in order for this function’s handler code to access external networks. An external access integration specifies [network rules](https://docs.snowflake.com/en/sql-reference/sql/create-network-rule) and [secrets](https://docs.snowflake.com/en/sql-reference/sql/create-secret) that specify external locations and credentials (if any) allowed for use by handler code when making requests of an external network, such as an external REST API.
207
+ """
208
+ return pulumi.get(self, "external_access_integrations")
209
+
210
+ @external_access_integrations.setter
211
+ def external_access_integrations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
212
+ pulumi.set(self, "external_access_integrations", value)
213
+
214
+ @property
215
+ @pulumi.getter(name="functionDefinition")
216
+ def function_definition(self) -> Optional[pulumi.Input[str]]:
217
+ """
218
+ 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 Python source code. For more information, see [Introduction to Python UDFs](https://docs.snowflake.com/en/developer-guide/udf/python/udf-python-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.
219
+ """
220
+ return pulumi.get(self, "function_definition")
221
+
222
+ @function_definition.setter
223
+ def function_definition(self, value: Optional[pulumi.Input[str]]):
224
+ pulumi.set(self, "function_definition", value)
225
+
226
+ @property
227
+ @pulumi.getter
228
+ def imports(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FunctionPythonImportArgs']]]]:
229
+ """
230
+ The location (stage), path, and name of the file(s) to import. A file can be a `.py` file or another type of file. Python UDFs can also read non-Python files, such as text files. For an example, see [Reading a file](https://docs.snowflake.com/en/developer-guide/udf/python/udf-python-examples.html#label-udf-python-read-files). Consult the [docs](https://docs.snowflake.com/en/sql-reference/sql/create-function#python).
231
+ """
232
+ return pulumi.get(self, "imports")
233
+
234
+ @imports.setter
235
+ def imports(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FunctionPythonImportArgs']]]]):
236
+ pulumi.set(self, "imports", value)
237
+
238
+ @property
239
+ @pulumi.getter(name="isAggregate")
240
+ def is_aggregate(self) -> Optional[pulumi.Input[str]]:
241
+ """
242
+ Specifies that the function is an aggregate function. For more information about user-defined aggregate functions, see [Python user-defined aggregate functions](https://docs.snowflake.com/en/developer-guide/udf/python/udf-python-aggregate-functions). Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
243
+ """
244
+ return pulumi.get(self, "is_aggregate")
245
+
246
+ @is_aggregate.setter
247
+ def is_aggregate(self, value: Optional[pulumi.Input[str]]):
248
+ pulumi.set(self, "is_aggregate", value)
249
+
250
+ @property
251
+ @pulumi.getter(name="isSecure")
252
+ def is_secure(self) -> Optional[pulumi.Input[str]]:
253
+ return pulumi.get(self, "is_secure")
254
+
255
+ @is_secure.setter
256
+ def is_secure(self, value: Optional[pulumi.Input[str]]):
257
+ pulumi.set(self, "is_secure", value)
258
+
259
+ @property
260
+ @pulumi.getter(name="logLevel")
261
+ def log_level(self) -> Optional[pulumi.Input[str]]:
262
+ """
263
+ LOG*LEVEL to use when filtering events For more information, check [LOG*LEVEL docs](https://docs.snowflake.com/en/sql-reference/parameters#log-level).
264
+ """
265
+ return pulumi.get(self, "log_level")
266
+
267
+ @log_level.setter
268
+ def log_level(self, value: Optional[pulumi.Input[str]]):
269
+ pulumi.set(self, "log_level", value)
270
+
271
+ @property
272
+ @pulumi.getter(name="metricLevel")
273
+ def metric_level(self) -> Optional[pulumi.Input[str]]:
274
+ """
275
+ 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).
276
+ """
277
+ return pulumi.get(self, "metric_level")
278
+
279
+ @metric_level.setter
280
+ def metric_level(self, value: Optional[pulumi.Input[str]]):
281
+ pulumi.set(self, "metric_level", value)
282
+
283
+ @property
284
+ @pulumi.getter
285
+ def name(self) -> Optional[pulumi.Input[str]]:
286
+ """
287
+ 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: `|`, `.`, `"`.
288
+ """
289
+ return pulumi.get(self, "name")
290
+
291
+ @name.setter
292
+ def name(self, value: Optional[pulumi.Input[str]]):
293
+ pulumi.set(self, "name", value)
294
+
295
+ @property
296
+ @pulumi.getter(name="nullInputBehavior")
297
+ def null_input_behavior(self) -> Optional[pulumi.Input[str]]:
298
+ """
299
+ 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`.
300
+ """
301
+ return pulumi.get(self, "null_input_behavior")
302
+
303
+ @null_input_behavior.setter
304
+ def null_input_behavior(self, value: Optional[pulumi.Input[str]]):
305
+ pulumi.set(self, "null_input_behavior", value)
306
+
307
+ @property
308
+ @pulumi.getter
309
+ def packages(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
310
+ """
311
+ The name and version number of packages required as dependencies. The value should be of the form `package_name==version_number`.
312
+ """
313
+ return pulumi.get(self, "packages")
314
+
315
+ @packages.setter
316
+ def packages(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
317
+ pulumi.set(self, "packages", value)
318
+
319
+ @property
320
+ @pulumi.getter(name="returnResultsBehavior")
321
+ def return_results_behavior(self) -> Optional[pulumi.Input[str]]:
322
+ """
323
+ Specifies the behavior of the function when returning results. Valid values are (case-insensitive): `VOLATILE` | `IMMUTABLE`.
324
+ """
325
+ return pulumi.get(self, "return_results_behavior")
326
+
327
+ @return_results_behavior.setter
328
+ def return_results_behavior(self, value: Optional[pulumi.Input[str]]):
329
+ pulumi.set(self, "return_results_behavior", value)
330
+
331
+ @property
332
+ @pulumi.getter
333
+ def secrets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FunctionPythonSecretArgs']]]]:
334
+ """
335
+ Assigns the names of [secrets](https://docs.snowflake.com/en/sql-reference/sql/create-secret) to variables so that you can use the variables to reference the secrets when retrieving information from secrets in handler code. Secrets you specify here must be allowed by the [external access integration](https://docs.snowflake.com/en/sql-reference/sql/create-external-access-integration) specified as a value of this CREATE FUNCTION command’s EXTERNAL*ACCESS*INTEGRATIONS parameter.
336
+ """
337
+ return pulumi.get(self, "secrets")
338
+
339
+ @secrets.setter
340
+ def secrets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FunctionPythonSecretArgs']]]]):
341
+ pulumi.set(self, "secrets", value)
342
+
343
+ @property
344
+ @pulumi.getter(name="traceLevel")
345
+ def trace_level(self) -> Optional[pulumi.Input[str]]:
346
+ """
347
+ 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).
348
+ """
349
+ return pulumi.get(self, "trace_level")
350
+
351
+ @trace_level.setter
352
+ def trace_level(self, value: Optional[pulumi.Input[str]]):
353
+ pulumi.set(self, "trace_level", value)
354
+
355
+
356
+ @pulumi.input_type
357
+ class _FunctionPythonState:
358
+ def __init__(__self__, *,
359
+ arguments: Optional[pulumi.Input[Sequence[pulumi.Input['FunctionPythonArgumentArgs']]]] = None,
360
+ comment: Optional[pulumi.Input[str]] = None,
361
+ database: Optional[pulumi.Input[str]] = None,
362
+ enable_console_output: Optional[pulumi.Input[bool]] = None,
363
+ external_access_integrations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
364
+ fully_qualified_name: Optional[pulumi.Input[str]] = None,
365
+ function_definition: Optional[pulumi.Input[str]] = None,
366
+ function_language: Optional[pulumi.Input[str]] = None,
367
+ handler: Optional[pulumi.Input[str]] = None,
368
+ imports: Optional[pulumi.Input[Sequence[pulumi.Input['FunctionPythonImportArgs']]]] = None,
369
+ is_aggregate: Optional[pulumi.Input[str]] = None,
370
+ is_secure: Optional[pulumi.Input[str]] = None,
371
+ log_level: Optional[pulumi.Input[str]] = None,
372
+ metric_level: Optional[pulumi.Input[str]] = None,
373
+ name: Optional[pulumi.Input[str]] = None,
374
+ null_input_behavior: Optional[pulumi.Input[str]] = None,
375
+ packages: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
376
+ parameters: Optional[pulumi.Input[Sequence[pulumi.Input['FunctionPythonParameterArgs']]]] = None,
377
+ return_results_behavior: Optional[pulumi.Input[str]] = None,
378
+ return_type: Optional[pulumi.Input[str]] = None,
379
+ runtime_version: Optional[pulumi.Input[str]] = None,
380
+ schema: Optional[pulumi.Input[str]] = None,
381
+ secrets: Optional[pulumi.Input[Sequence[pulumi.Input['FunctionPythonSecretArgs']]]] = None,
382
+ show_outputs: Optional[pulumi.Input[Sequence[pulumi.Input['FunctionPythonShowOutputArgs']]]] = None,
383
+ trace_level: Optional[pulumi.Input[str]] = None):
384
+ """
385
+ Input properties used for looking up and filtering FunctionPython resources.
386
+ :param pulumi.Input[Sequence[pulumi.Input['FunctionPythonArgumentArgs']]] 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.
387
+ :param pulumi.Input[str] comment: Specifies a comment for the function.
388
+ :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: `|`, `.`, `"`.
389
+ :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).
390
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] external_access_integrations: The names of [external access integrations](https://docs.snowflake.com/en/sql-reference/sql/create-external-access-integration) needed in order for this function’s handler code to access external networks. An external access integration specifies [network rules](https://docs.snowflake.com/en/sql-reference/sql/create-network-rule) and [secrets](https://docs.snowflake.com/en/sql-reference/sql/create-secret) that specify external locations and credentials (if any) allowed for use by handler code when making requests of an external network, such as an external REST API.
391
+ :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).
392
+ :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 Python source code. For more information, see [Introduction to Python UDFs](https://docs.snowflake.com/en/developer-guide/udf/python/udf-python-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.
393
+ :param pulumi.Input[str] function_language: Specifies language for the user. Used to detect external changes.
394
+ :param pulumi.Input[str] handler: The name of the handler function or class. If the handler is for a scalar UDF, returning a non-tabular value, the HANDLER value should be a function name. If the handler code is in-line with the CREATE FUNCTION statement, you can use the function name alone. When the handler code is referenced at a stage, this value should be qualified with the module name, as in the following form: `my_module.my_function`. If the handler is for a tabular UDF, the HANDLER value should be the name of a handler class.
395
+ :param pulumi.Input[Sequence[pulumi.Input['FunctionPythonImportArgs']]] imports: The location (stage), path, and name of the file(s) to import. A file can be a `.py` file or another type of file. Python UDFs can also read non-Python files, such as text files. For an example, see [Reading a file](https://docs.snowflake.com/en/developer-guide/udf/python/udf-python-examples.html#label-udf-python-read-files). Consult the [docs](https://docs.snowflake.com/en/sql-reference/sql/create-function#python).
396
+ :param pulumi.Input[str] is_aggregate: Specifies that the function is an aggregate function. For more information about user-defined aggregate functions, see [Python user-defined aggregate functions](https://docs.snowflake.com/en/developer-guide/udf/python/udf-python-aggregate-functions). Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
397
+ :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).
398
+ :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).
399
+ :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: `|`, `.`, `"`.
400
+ :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`.
401
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] packages: The name and version number of packages required as dependencies. The value should be of the form `package_name==version_number`.
402
+ :param pulumi.Input[Sequence[pulumi.Input['FunctionPythonParameterArgs']]] parameters: Outputs the result of `SHOW PARAMETERS IN FUNCTION` for the given function.
403
+ :param pulumi.Input[str] return_results_behavior: Specifies the behavior of the function when returning results. Valid values are (case-insensitive): `VOLATILE` | `IMMUTABLE`.
404
+ :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).
405
+ :param pulumi.Input[str] runtime_version: Specifies the Python version to use. The supported versions of Python are: 3.9, 3.10, and 3.11.
406
+ :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: `|`, `.`, `"`.
407
+ :param pulumi.Input[Sequence[pulumi.Input['FunctionPythonSecretArgs']]] secrets: Assigns the names of [secrets](https://docs.snowflake.com/en/sql-reference/sql/create-secret) to variables so that you can use the variables to reference the secrets when retrieving information from secrets in handler code. Secrets you specify here must be allowed by the [external access integration](https://docs.snowflake.com/en/sql-reference/sql/create-external-access-integration) specified as a value of this CREATE FUNCTION command’s EXTERNAL*ACCESS*INTEGRATIONS parameter.
408
+ :param pulumi.Input[Sequence[pulumi.Input['FunctionPythonShowOutputArgs']]] show_outputs: Outputs the result of `SHOW FUNCTION` for the given function.
409
+ :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).
410
+ """
411
+ if arguments is not None:
412
+ pulumi.set(__self__, "arguments", arguments)
413
+ if comment is not None:
414
+ pulumi.set(__self__, "comment", comment)
415
+ if database is not None:
416
+ pulumi.set(__self__, "database", database)
417
+ if enable_console_output is not None:
418
+ pulumi.set(__self__, "enable_console_output", enable_console_output)
419
+ if external_access_integrations is not None:
420
+ pulumi.set(__self__, "external_access_integrations", external_access_integrations)
421
+ if fully_qualified_name is not None:
422
+ pulumi.set(__self__, "fully_qualified_name", fully_qualified_name)
423
+ if function_definition is not None:
424
+ pulumi.set(__self__, "function_definition", function_definition)
425
+ if function_language is not None:
426
+ pulumi.set(__self__, "function_language", function_language)
427
+ if handler is not None:
428
+ pulumi.set(__self__, "handler", handler)
429
+ if imports is not None:
430
+ pulumi.set(__self__, "imports", imports)
431
+ if is_aggregate is not None:
432
+ pulumi.set(__self__, "is_aggregate", is_aggregate)
433
+ if is_secure is not None:
434
+ pulumi.set(__self__, "is_secure", is_secure)
435
+ if log_level is not None:
436
+ pulumi.set(__self__, "log_level", log_level)
437
+ if metric_level is not None:
438
+ pulumi.set(__self__, "metric_level", metric_level)
439
+ if name is not None:
440
+ pulumi.set(__self__, "name", name)
441
+ if null_input_behavior is not None:
442
+ pulumi.set(__self__, "null_input_behavior", null_input_behavior)
443
+ if packages is not None:
444
+ pulumi.set(__self__, "packages", packages)
445
+ if parameters is not None:
446
+ pulumi.set(__self__, "parameters", parameters)
447
+ if return_results_behavior is not None:
448
+ pulumi.set(__self__, "return_results_behavior", return_results_behavior)
449
+ if return_type is not None:
450
+ pulumi.set(__self__, "return_type", return_type)
451
+ if runtime_version is not None:
452
+ pulumi.set(__self__, "runtime_version", runtime_version)
453
+ if schema is not None:
454
+ pulumi.set(__self__, "schema", schema)
455
+ if secrets is not None:
456
+ pulumi.set(__self__, "secrets", secrets)
457
+ if show_outputs is not None:
458
+ pulumi.set(__self__, "show_outputs", show_outputs)
459
+ if trace_level is not None:
460
+ pulumi.set(__self__, "trace_level", trace_level)
461
+
462
+ @property
463
+ @pulumi.getter
464
+ def arguments(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FunctionPythonArgumentArgs']]]]:
465
+ """
466
+ 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.
467
+ """
468
+ return pulumi.get(self, "arguments")
469
+
470
+ @arguments.setter
471
+ def arguments(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FunctionPythonArgumentArgs']]]]):
472
+ pulumi.set(self, "arguments", value)
473
+
474
+ @property
475
+ @pulumi.getter
476
+ def comment(self) -> Optional[pulumi.Input[str]]:
477
+ """
478
+ Specifies a comment for the function.
479
+ """
480
+ return pulumi.get(self, "comment")
481
+
482
+ @comment.setter
483
+ def comment(self, value: Optional[pulumi.Input[str]]):
484
+ pulumi.set(self, "comment", value)
485
+
486
+ @property
487
+ @pulumi.getter
488
+ def database(self) -> Optional[pulumi.Input[str]]:
489
+ """
490
+ The database in which to create the function. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
491
+ """
492
+ return pulumi.get(self, "database")
493
+
494
+ @database.setter
495
+ def database(self, value: Optional[pulumi.Input[str]]):
496
+ pulumi.set(self, "database", value)
497
+
498
+ @property
499
+ @pulumi.getter(name="enableConsoleOutput")
500
+ def enable_console_output(self) -> Optional[pulumi.Input[bool]]:
501
+ """
502
+ 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).
503
+ """
504
+ return pulumi.get(self, "enable_console_output")
505
+
506
+ @enable_console_output.setter
507
+ def enable_console_output(self, value: Optional[pulumi.Input[bool]]):
508
+ pulumi.set(self, "enable_console_output", value)
509
+
510
+ @property
511
+ @pulumi.getter(name="externalAccessIntegrations")
512
+ def external_access_integrations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
513
+ """
514
+ The names of [external access integrations](https://docs.snowflake.com/en/sql-reference/sql/create-external-access-integration) needed in order for this function’s handler code to access external networks. An external access integration specifies [network rules](https://docs.snowflake.com/en/sql-reference/sql/create-network-rule) and [secrets](https://docs.snowflake.com/en/sql-reference/sql/create-secret) that specify external locations and credentials (if any) allowed for use by handler code when making requests of an external network, such as an external REST API.
515
+ """
516
+ return pulumi.get(self, "external_access_integrations")
517
+
518
+ @external_access_integrations.setter
519
+ def external_access_integrations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
520
+ pulumi.set(self, "external_access_integrations", value)
521
+
522
+ @property
523
+ @pulumi.getter(name="fullyQualifiedName")
524
+ def fully_qualified_name(self) -> Optional[pulumi.Input[str]]:
525
+ """
526
+ Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
527
+ """
528
+ return pulumi.get(self, "fully_qualified_name")
529
+
530
+ @fully_qualified_name.setter
531
+ def fully_qualified_name(self, value: Optional[pulumi.Input[str]]):
532
+ pulumi.set(self, "fully_qualified_name", value)
533
+
534
+ @property
535
+ @pulumi.getter(name="functionDefinition")
536
+ def function_definition(self) -> Optional[pulumi.Input[str]]:
537
+ """
538
+ 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 Python source code. For more information, see [Introduction to Python UDFs](https://docs.snowflake.com/en/developer-guide/udf/python/udf-python-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.
539
+ """
540
+ return pulumi.get(self, "function_definition")
541
+
542
+ @function_definition.setter
543
+ def function_definition(self, value: Optional[pulumi.Input[str]]):
544
+ pulumi.set(self, "function_definition", value)
545
+
546
+ @property
547
+ @pulumi.getter(name="functionLanguage")
548
+ def function_language(self) -> Optional[pulumi.Input[str]]:
549
+ """
550
+ Specifies language for the user. Used to detect external changes.
551
+ """
552
+ return pulumi.get(self, "function_language")
553
+
554
+ @function_language.setter
555
+ def function_language(self, value: Optional[pulumi.Input[str]]):
556
+ pulumi.set(self, "function_language", value)
557
+
558
+ @property
559
+ @pulumi.getter
560
+ def handler(self) -> Optional[pulumi.Input[str]]:
561
+ """
562
+ The name of the handler function or class. If the handler is for a scalar UDF, returning a non-tabular value, the HANDLER value should be a function name. If the handler code is in-line with the CREATE FUNCTION statement, you can use the function name alone. When the handler code is referenced at a stage, this value should be qualified with the module name, as in the following form: `my_module.my_function`. If the handler is for a tabular UDF, the HANDLER value should be the name of a handler class.
563
+ """
564
+ return pulumi.get(self, "handler")
565
+
566
+ @handler.setter
567
+ def handler(self, value: Optional[pulumi.Input[str]]):
568
+ pulumi.set(self, "handler", value)
569
+
570
+ @property
571
+ @pulumi.getter
572
+ def imports(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FunctionPythonImportArgs']]]]:
573
+ """
574
+ The location (stage), path, and name of the file(s) to import. A file can be a `.py` file or another type of file. Python UDFs can also read non-Python files, such as text files. For an example, see [Reading a file](https://docs.snowflake.com/en/developer-guide/udf/python/udf-python-examples.html#label-udf-python-read-files). Consult the [docs](https://docs.snowflake.com/en/sql-reference/sql/create-function#python).
575
+ """
576
+ return pulumi.get(self, "imports")
577
+
578
+ @imports.setter
579
+ def imports(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FunctionPythonImportArgs']]]]):
580
+ pulumi.set(self, "imports", value)
581
+
582
+ @property
583
+ @pulumi.getter(name="isAggregate")
584
+ def is_aggregate(self) -> Optional[pulumi.Input[str]]:
585
+ """
586
+ Specifies that the function is an aggregate function. For more information about user-defined aggregate functions, see [Python user-defined aggregate functions](https://docs.snowflake.com/en/developer-guide/udf/python/udf-python-aggregate-functions). Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
587
+ """
588
+ return pulumi.get(self, "is_aggregate")
589
+
590
+ @is_aggregate.setter
591
+ def is_aggregate(self, value: Optional[pulumi.Input[str]]):
592
+ pulumi.set(self, "is_aggregate", value)
593
+
594
+ @property
595
+ @pulumi.getter(name="isSecure")
596
+ def is_secure(self) -> Optional[pulumi.Input[str]]:
597
+ return pulumi.get(self, "is_secure")
598
+
599
+ @is_secure.setter
600
+ def is_secure(self, value: Optional[pulumi.Input[str]]):
601
+ pulumi.set(self, "is_secure", value)
602
+
603
+ @property
604
+ @pulumi.getter(name="logLevel")
605
+ def log_level(self) -> Optional[pulumi.Input[str]]:
606
+ """
607
+ LOG*LEVEL to use when filtering events For more information, check [LOG*LEVEL docs](https://docs.snowflake.com/en/sql-reference/parameters#log-level).
608
+ """
609
+ return pulumi.get(self, "log_level")
610
+
611
+ @log_level.setter
612
+ def log_level(self, value: Optional[pulumi.Input[str]]):
613
+ pulumi.set(self, "log_level", value)
614
+
615
+ @property
616
+ @pulumi.getter(name="metricLevel")
617
+ def metric_level(self) -> Optional[pulumi.Input[str]]:
618
+ """
619
+ 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).
620
+ """
621
+ return pulumi.get(self, "metric_level")
622
+
623
+ @metric_level.setter
624
+ def metric_level(self, value: Optional[pulumi.Input[str]]):
625
+ pulumi.set(self, "metric_level", value)
626
+
627
+ @property
628
+ @pulumi.getter
629
+ def name(self) -> Optional[pulumi.Input[str]]:
630
+ """
631
+ 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: `|`, `.`, `"`.
632
+ """
633
+ return pulumi.get(self, "name")
634
+
635
+ @name.setter
636
+ def name(self, value: Optional[pulumi.Input[str]]):
637
+ pulumi.set(self, "name", value)
638
+
639
+ @property
640
+ @pulumi.getter(name="nullInputBehavior")
641
+ def null_input_behavior(self) -> Optional[pulumi.Input[str]]:
642
+ """
643
+ 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`.
644
+ """
645
+ return pulumi.get(self, "null_input_behavior")
646
+
647
+ @null_input_behavior.setter
648
+ def null_input_behavior(self, value: Optional[pulumi.Input[str]]):
649
+ pulumi.set(self, "null_input_behavior", value)
650
+
651
+ @property
652
+ @pulumi.getter
653
+ def packages(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
654
+ """
655
+ The name and version number of packages required as dependencies. The value should be of the form `package_name==version_number`.
656
+ """
657
+ return pulumi.get(self, "packages")
658
+
659
+ @packages.setter
660
+ def packages(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
661
+ pulumi.set(self, "packages", value)
662
+
663
+ @property
664
+ @pulumi.getter
665
+ def parameters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FunctionPythonParameterArgs']]]]:
666
+ """
667
+ Outputs the result of `SHOW PARAMETERS IN FUNCTION` for the given function.
668
+ """
669
+ return pulumi.get(self, "parameters")
670
+
671
+ @parameters.setter
672
+ def parameters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FunctionPythonParameterArgs']]]]):
673
+ pulumi.set(self, "parameters", value)
674
+
675
+ @property
676
+ @pulumi.getter(name="returnResultsBehavior")
677
+ def return_results_behavior(self) -> Optional[pulumi.Input[str]]:
678
+ """
679
+ Specifies the behavior of the function when returning results. Valid values are (case-insensitive): `VOLATILE` | `IMMUTABLE`.
680
+ """
681
+ return pulumi.get(self, "return_results_behavior")
682
+
683
+ @return_results_behavior.setter
684
+ def return_results_behavior(self, value: Optional[pulumi.Input[str]]):
685
+ pulumi.set(self, "return_results_behavior", value)
686
+
687
+ @property
688
+ @pulumi.getter(name="returnType")
689
+ def return_type(self) -> Optional[pulumi.Input[str]]:
690
+ """
691
+ 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).
692
+ """
693
+ return pulumi.get(self, "return_type")
694
+
695
+ @return_type.setter
696
+ def return_type(self, value: Optional[pulumi.Input[str]]):
697
+ pulumi.set(self, "return_type", value)
698
+
699
+ @property
700
+ @pulumi.getter(name="runtimeVersion")
701
+ def runtime_version(self) -> Optional[pulumi.Input[str]]:
702
+ """
703
+ Specifies the Python version to use. The supported versions of Python are: 3.9, 3.10, and 3.11.
704
+ """
705
+ return pulumi.get(self, "runtime_version")
706
+
707
+ @runtime_version.setter
708
+ def runtime_version(self, value: Optional[pulumi.Input[str]]):
709
+ pulumi.set(self, "runtime_version", value)
710
+
711
+ @property
712
+ @pulumi.getter
713
+ def schema(self) -> Optional[pulumi.Input[str]]:
714
+ """
715
+ The schema in which to create the function. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
716
+ """
717
+ return pulumi.get(self, "schema")
718
+
719
+ @schema.setter
720
+ def schema(self, value: Optional[pulumi.Input[str]]):
721
+ pulumi.set(self, "schema", value)
722
+
723
+ @property
724
+ @pulumi.getter
725
+ def secrets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FunctionPythonSecretArgs']]]]:
726
+ """
727
+ Assigns the names of [secrets](https://docs.snowflake.com/en/sql-reference/sql/create-secret) to variables so that you can use the variables to reference the secrets when retrieving information from secrets in handler code. Secrets you specify here must be allowed by the [external access integration](https://docs.snowflake.com/en/sql-reference/sql/create-external-access-integration) specified as a value of this CREATE FUNCTION command’s EXTERNAL*ACCESS*INTEGRATIONS parameter.
728
+ """
729
+ return pulumi.get(self, "secrets")
730
+
731
+ @secrets.setter
732
+ def secrets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FunctionPythonSecretArgs']]]]):
733
+ pulumi.set(self, "secrets", value)
734
+
735
+ @property
736
+ @pulumi.getter(name="showOutputs")
737
+ def show_outputs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FunctionPythonShowOutputArgs']]]]:
738
+ """
739
+ Outputs the result of `SHOW FUNCTION` for the given function.
740
+ """
741
+ return pulumi.get(self, "show_outputs")
742
+
743
+ @show_outputs.setter
744
+ def show_outputs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FunctionPythonShowOutputArgs']]]]):
745
+ pulumi.set(self, "show_outputs", value)
746
+
747
+ @property
748
+ @pulumi.getter(name="traceLevel")
749
+ def trace_level(self) -> Optional[pulumi.Input[str]]:
750
+ """
751
+ 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).
752
+ """
753
+ return pulumi.get(self, "trace_level")
754
+
755
+ @trace_level.setter
756
+ def trace_level(self, value: Optional[pulumi.Input[str]]):
757
+ pulumi.set(self, "trace_level", value)
758
+
759
+
760
+ class FunctionPython(pulumi.CustomResource):
761
+ @overload
762
+ def __init__(__self__,
763
+ resource_name: str,
764
+ opts: Optional[pulumi.ResourceOptions] = None,
765
+ arguments: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FunctionPythonArgumentArgs', 'FunctionPythonArgumentArgsDict']]]]] = None,
766
+ comment: Optional[pulumi.Input[str]] = None,
767
+ database: Optional[pulumi.Input[str]] = None,
768
+ enable_console_output: Optional[pulumi.Input[bool]] = None,
769
+ external_access_integrations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
770
+ function_definition: Optional[pulumi.Input[str]] = None,
771
+ handler: Optional[pulumi.Input[str]] = None,
772
+ imports: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FunctionPythonImportArgs', 'FunctionPythonImportArgsDict']]]]] = None,
773
+ is_aggregate: Optional[pulumi.Input[str]] = None,
774
+ is_secure: Optional[pulumi.Input[str]] = None,
775
+ log_level: Optional[pulumi.Input[str]] = None,
776
+ metric_level: Optional[pulumi.Input[str]] = None,
777
+ name: Optional[pulumi.Input[str]] = None,
778
+ null_input_behavior: Optional[pulumi.Input[str]] = None,
779
+ packages: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
780
+ return_results_behavior: Optional[pulumi.Input[str]] = None,
781
+ return_type: Optional[pulumi.Input[str]] = None,
782
+ runtime_version: Optional[pulumi.Input[str]] = None,
783
+ schema: Optional[pulumi.Input[str]] = None,
784
+ secrets: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FunctionPythonSecretArgs', 'FunctionPythonSecretArgsDict']]]]] = None,
785
+ trace_level: Optional[pulumi.Input[str]] = None,
786
+ __props__=None):
787
+ """
788
+ ## Import
789
+
790
+ ```sh
791
+ $ pulumi import snowflake:index/functionPython:FunctionPython example '"<database_name>"."<schema_name>"."<function_name>"(varchar, varchar, varchar)'
792
+ ```
793
+
794
+ 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).
795
+
796
+ 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.
797
+
798
+ :param str resource_name: The name of the resource.
799
+ :param pulumi.ResourceOptions opts: Options for the resource.
800
+ :param pulumi.Input[Sequence[pulumi.Input[Union['FunctionPythonArgumentArgs', 'FunctionPythonArgumentArgsDict']]]] 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.
801
+ :param pulumi.Input[str] comment: Specifies a comment for the function.
802
+ :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: `|`, `.`, `"`.
803
+ :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).
804
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] external_access_integrations: The names of [external access integrations](https://docs.snowflake.com/en/sql-reference/sql/create-external-access-integration) needed in order for this function’s handler code to access external networks. An external access integration specifies [network rules](https://docs.snowflake.com/en/sql-reference/sql/create-network-rule) and [secrets](https://docs.snowflake.com/en/sql-reference/sql/create-secret) that specify external locations and credentials (if any) allowed for use by handler code when making requests of an external network, such as an external REST API.
805
+ :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 Python source code. For more information, see [Introduction to Python UDFs](https://docs.snowflake.com/en/developer-guide/udf/python/udf-python-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.
806
+ :param pulumi.Input[str] handler: The name of the handler function or class. If the handler is for a scalar UDF, returning a non-tabular value, the HANDLER value should be a function name. If the handler code is in-line with the CREATE FUNCTION statement, you can use the function name alone. When the handler code is referenced at a stage, this value should be qualified with the module name, as in the following form: `my_module.my_function`. If the handler is for a tabular UDF, the HANDLER value should be the name of a handler class.
807
+ :param pulumi.Input[Sequence[pulumi.Input[Union['FunctionPythonImportArgs', 'FunctionPythonImportArgsDict']]]] imports: The location (stage), path, and name of the file(s) to import. A file can be a `.py` file or another type of file. Python UDFs can also read non-Python files, such as text files. For an example, see [Reading a file](https://docs.snowflake.com/en/developer-guide/udf/python/udf-python-examples.html#label-udf-python-read-files). Consult the [docs](https://docs.snowflake.com/en/sql-reference/sql/create-function#python).
808
+ :param pulumi.Input[str] is_aggregate: Specifies that the function is an aggregate function. For more information about user-defined aggregate functions, see [Python user-defined aggregate functions](https://docs.snowflake.com/en/developer-guide/udf/python/udf-python-aggregate-functions). Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
809
+ :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).
810
+ :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).
811
+ :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: `|`, `.`, `"`.
812
+ :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`.
813
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] packages: The name and version number of packages required as dependencies. The value should be of the form `package_name==version_number`.
814
+ :param pulumi.Input[str] return_results_behavior: Specifies the behavior of the function when returning results. Valid values are (case-insensitive): `VOLATILE` | `IMMUTABLE`.
815
+ :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).
816
+ :param pulumi.Input[str] runtime_version: Specifies the Python version to use. The supported versions of Python are: 3.9, 3.10, and 3.11.
817
+ :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: `|`, `.`, `"`.
818
+ :param pulumi.Input[Sequence[pulumi.Input[Union['FunctionPythonSecretArgs', 'FunctionPythonSecretArgsDict']]]] secrets: Assigns the names of [secrets](https://docs.snowflake.com/en/sql-reference/sql/create-secret) to variables so that you can use the variables to reference the secrets when retrieving information from secrets in handler code. Secrets you specify here must be allowed by the [external access integration](https://docs.snowflake.com/en/sql-reference/sql/create-external-access-integration) specified as a value of this CREATE FUNCTION command’s EXTERNAL*ACCESS*INTEGRATIONS parameter.
819
+ :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).
820
+ """
821
+ ...
822
+ @overload
823
+ def __init__(__self__,
824
+ resource_name: str,
825
+ args: FunctionPythonArgs,
826
+ opts: Optional[pulumi.ResourceOptions] = None):
827
+ """
828
+ ## Import
829
+
830
+ ```sh
831
+ $ pulumi import snowflake:index/functionPython:FunctionPython example '"<database_name>"."<schema_name>"."<function_name>"(varchar, varchar, varchar)'
832
+ ```
833
+
834
+ 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).
835
+
836
+ 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.
837
+
838
+ :param str resource_name: The name of the resource.
839
+ :param FunctionPythonArgs args: The arguments to use to populate this resource's properties.
840
+ :param pulumi.ResourceOptions opts: Options for the resource.
841
+ """
842
+ ...
843
+ def __init__(__self__, resource_name: str, *args, **kwargs):
844
+ resource_args, opts = _utilities.get_resource_args_opts(FunctionPythonArgs, pulumi.ResourceOptions, *args, **kwargs)
845
+ if resource_args is not None:
846
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
847
+ else:
848
+ __self__._internal_init(resource_name, *args, **kwargs)
849
+
850
+ def _internal_init(__self__,
851
+ resource_name: str,
852
+ opts: Optional[pulumi.ResourceOptions] = None,
853
+ arguments: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FunctionPythonArgumentArgs', 'FunctionPythonArgumentArgsDict']]]]] = None,
854
+ comment: Optional[pulumi.Input[str]] = None,
855
+ database: Optional[pulumi.Input[str]] = None,
856
+ enable_console_output: Optional[pulumi.Input[bool]] = None,
857
+ external_access_integrations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
858
+ function_definition: Optional[pulumi.Input[str]] = None,
859
+ handler: Optional[pulumi.Input[str]] = None,
860
+ imports: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FunctionPythonImportArgs', 'FunctionPythonImportArgsDict']]]]] = None,
861
+ is_aggregate: Optional[pulumi.Input[str]] = None,
862
+ is_secure: Optional[pulumi.Input[str]] = None,
863
+ log_level: Optional[pulumi.Input[str]] = None,
864
+ metric_level: Optional[pulumi.Input[str]] = None,
865
+ name: Optional[pulumi.Input[str]] = None,
866
+ null_input_behavior: Optional[pulumi.Input[str]] = None,
867
+ packages: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
868
+ return_results_behavior: Optional[pulumi.Input[str]] = None,
869
+ return_type: Optional[pulumi.Input[str]] = None,
870
+ runtime_version: Optional[pulumi.Input[str]] = None,
871
+ schema: Optional[pulumi.Input[str]] = None,
872
+ secrets: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FunctionPythonSecretArgs', 'FunctionPythonSecretArgsDict']]]]] = None,
873
+ trace_level: Optional[pulumi.Input[str]] = None,
874
+ __props__=None):
875
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
876
+ if not isinstance(opts, pulumi.ResourceOptions):
877
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
878
+ if opts.id is None:
879
+ if __props__ is not None:
880
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
881
+ __props__ = FunctionPythonArgs.__new__(FunctionPythonArgs)
882
+
883
+ __props__.__dict__["arguments"] = arguments
884
+ __props__.__dict__["comment"] = comment
885
+ if database is None and not opts.urn:
886
+ raise TypeError("Missing required property 'database'")
887
+ __props__.__dict__["database"] = database
888
+ __props__.__dict__["enable_console_output"] = enable_console_output
889
+ __props__.__dict__["external_access_integrations"] = external_access_integrations
890
+ __props__.__dict__["function_definition"] = function_definition
891
+ if handler is None and not opts.urn:
892
+ raise TypeError("Missing required property 'handler'")
893
+ __props__.__dict__["handler"] = handler
894
+ __props__.__dict__["imports"] = imports
895
+ __props__.__dict__["is_aggregate"] = is_aggregate
896
+ __props__.__dict__["is_secure"] = is_secure
897
+ __props__.__dict__["log_level"] = log_level
898
+ __props__.__dict__["metric_level"] = metric_level
899
+ __props__.__dict__["name"] = name
900
+ __props__.__dict__["null_input_behavior"] = null_input_behavior
901
+ __props__.__dict__["packages"] = packages
902
+ __props__.__dict__["return_results_behavior"] = return_results_behavior
903
+ if return_type is None and not opts.urn:
904
+ raise TypeError("Missing required property 'return_type'")
905
+ __props__.__dict__["return_type"] = return_type
906
+ if runtime_version is None and not opts.urn:
907
+ raise TypeError("Missing required property 'runtime_version'")
908
+ __props__.__dict__["runtime_version"] = runtime_version
909
+ if schema is None and not opts.urn:
910
+ raise TypeError("Missing required property 'schema'")
911
+ __props__.__dict__["schema"] = schema
912
+ __props__.__dict__["secrets"] = secrets
913
+ __props__.__dict__["trace_level"] = trace_level
914
+ __props__.__dict__["fully_qualified_name"] = None
915
+ __props__.__dict__["function_language"] = None
916
+ __props__.__dict__["parameters"] = None
917
+ __props__.__dict__["show_outputs"] = None
918
+ super(FunctionPython, __self__).__init__(
919
+ 'snowflake:index/functionPython:FunctionPython',
920
+ resource_name,
921
+ __props__,
922
+ opts)
923
+
924
+ @staticmethod
925
+ def get(resource_name: str,
926
+ id: pulumi.Input[str],
927
+ opts: Optional[pulumi.ResourceOptions] = None,
928
+ arguments: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FunctionPythonArgumentArgs', 'FunctionPythonArgumentArgsDict']]]]] = None,
929
+ comment: Optional[pulumi.Input[str]] = None,
930
+ database: Optional[pulumi.Input[str]] = None,
931
+ enable_console_output: Optional[pulumi.Input[bool]] = None,
932
+ external_access_integrations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
933
+ fully_qualified_name: Optional[pulumi.Input[str]] = None,
934
+ function_definition: Optional[pulumi.Input[str]] = None,
935
+ function_language: Optional[pulumi.Input[str]] = None,
936
+ handler: Optional[pulumi.Input[str]] = None,
937
+ imports: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FunctionPythonImportArgs', 'FunctionPythonImportArgsDict']]]]] = None,
938
+ is_aggregate: Optional[pulumi.Input[str]] = None,
939
+ is_secure: Optional[pulumi.Input[str]] = None,
940
+ log_level: Optional[pulumi.Input[str]] = None,
941
+ metric_level: Optional[pulumi.Input[str]] = None,
942
+ name: Optional[pulumi.Input[str]] = None,
943
+ null_input_behavior: Optional[pulumi.Input[str]] = None,
944
+ packages: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
945
+ parameters: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FunctionPythonParameterArgs', 'FunctionPythonParameterArgsDict']]]]] = None,
946
+ return_results_behavior: Optional[pulumi.Input[str]] = None,
947
+ return_type: Optional[pulumi.Input[str]] = None,
948
+ runtime_version: Optional[pulumi.Input[str]] = None,
949
+ schema: Optional[pulumi.Input[str]] = None,
950
+ secrets: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FunctionPythonSecretArgs', 'FunctionPythonSecretArgsDict']]]]] = None,
951
+ show_outputs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FunctionPythonShowOutputArgs', 'FunctionPythonShowOutputArgsDict']]]]] = None,
952
+ trace_level: Optional[pulumi.Input[str]] = None) -> 'FunctionPython':
953
+ """
954
+ Get an existing FunctionPython resource's state with the given name, id, and optional extra
955
+ properties used to qualify the lookup.
956
+
957
+ :param str resource_name: The unique name of the resulting resource.
958
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
959
+ :param pulumi.ResourceOptions opts: Options for the resource.
960
+ :param pulumi.Input[Sequence[pulumi.Input[Union['FunctionPythonArgumentArgs', 'FunctionPythonArgumentArgsDict']]]] 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.
961
+ :param pulumi.Input[str] comment: Specifies a comment for the function.
962
+ :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: `|`, `.`, `"`.
963
+ :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).
964
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] external_access_integrations: The names of [external access integrations](https://docs.snowflake.com/en/sql-reference/sql/create-external-access-integration) needed in order for this function’s handler code to access external networks. An external access integration specifies [network rules](https://docs.snowflake.com/en/sql-reference/sql/create-network-rule) and [secrets](https://docs.snowflake.com/en/sql-reference/sql/create-secret) that specify external locations and credentials (if any) allowed for use by handler code when making requests of an external network, such as an external REST API.
965
+ :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).
966
+ :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 Python source code. For more information, see [Introduction to Python UDFs](https://docs.snowflake.com/en/developer-guide/udf/python/udf-python-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.
967
+ :param pulumi.Input[str] function_language: Specifies language for the user. Used to detect external changes.
968
+ :param pulumi.Input[str] handler: The name of the handler function or class. If the handler is for a scalar UDF, returning a non-tabular value, the HANDLER value should be a function name. If the handler code is in-line with the CREATE FUNCTION statement, you can use the function name alone. When the handler code is referenced at a stage, this value should be qualified with the module name, as in the following form: `my_module.my_function`. If the handler is for a tabular UDF, the HANDLER value should be the name of a handler class.
969
+ :param pulumi.Input[Sequence[pulumi.Input[Union['FunctionPythonImportArgs', 'FunctionPythonImportArgsDict']]]] imports: The location (stage), path, and name of the file(s) to import. A file can be a `.py` file or another type of file. Python UDFs can also read non-Python files, such as text files. For an example, see [Reading a file](https://docs.snowflake.com/en/developer-guide/udf/python/udf-python-examples.html#label-udf-python-read-files). Consult the [docs](https://docs.snowflake.com/en/sql-reference/sql/create-function#python).
970
+ :param pulumi.Input[str] is_aggregate: Specifies that the function is an aggregate function. For more information about user-defined aggregate functions, see [Python user-defined aggregate functions](https://docs.snowflake.com/en/developer-guide/udf/python/udf-python-aggregate-functions). Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
971
+ :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).
972
+ :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).
973
+ :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: `|`, `.`, `"`.
974
+ :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`.
975
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] packages: The name and version number of packages required as dependencies. The value should be of the form `package_name==version_number`.
976
+ :param pulumi.Input[Sequence[pulumi.Input[Union['FunctionPythonParameterArgs', 'FunctionPythonParameterArgsDict']]]] parameters: Outputs the result of `SHOW PARAMETERS IN FUNCTION` for the given function.
977
+ :param pulumi.Input[str] return_results_behavior: Specifies the behavior of the function when returning results. Valid values are (case-insensitive): `VOLATILE` | `IMMUTABLE`.
978
+ :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).
979
+ :param pulumi.Input[str] runtime_version: Specifies the Python version to use. The supported versions of Python are: 3.9, 3.10, and 3.11.
980
+ :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: `|`, `.`, `"`.
981
+ :param pulumi.Input[Sequence[pulumi.Input[Union['FunctionPythonSecretArgs', 'FunctionPythonSecretArgsDict']]]] secrets: Assigns the names of [secrets](https://docs.snowflake.com/en/sql-reference/sql/create-secret) to variables so that you can use the variables to reference the secrets when retrieving information from secrets in handler code. Secrets you specify here must be allowed by the [external access integration](https://docs.snowflake.com/en/sql-reference/sql/create-external-access-integration) specified as a value of this CREATE FUNCTION command’s EXTERNAL*ACCESS*INTEGRATIONS parameter.
982
+ :param pulumi.Input[Sequence[pulumi.Input[Union['FunctionPythonShowOutputArgs', 'FunctionPythonShowOutputArgsDict']]]] show_outputs: Outputs the result of `SHOW FUNCTION` for the given function.
983
+ :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).
984
+ """
985
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
986
+
987
+ __props__ = _FunctionPythonState.__new__(_FunctionPythonState)
988
+
989
+ __props__.__dict__["arguments"] = arguments
990
+ __props__.__dict__["comment"] = comment
991
+ __props__.__dict__["database"] = database
992
+ __props__.__dict__["enable_console_output"] = enable_console_output
993
+ __props__.__dict__["external_access_integrations"] = external_access_integrations
994
+ __props__.__dict__["fully_qualified_name"] = fully_qualified_name
995
+ __props__.__dict__["function_definition"] = function_definition
996
+ __props__.__dict__["function_language"] = function_language
997
+ __props__.__dict__["handler"] = handler
998
+ __props__.__dict__["imports"] = imports
999
+ __props__.__dict__["is_aggregate"] = is_aggregate
1000
+ __props__.__dict__["is_secure"] = is_secure
1001
+ __props__.__dict__["log_level"] = log_level
1002
+ __props__.__dict__["metric_level"] = metric_level
1003
+ __props__.__dict__["name"] = name
1004
+ __props__.__dict__["null_input_behavior"] = null_input_behavior
1005
+ __props__.__dict__["packages"] = packages
1006
+ __props__.__dict__["parameters"] = parameters
1007
+ __props__.__dict__["return_results_behavior"] = return_results_behavior
1008
+ __props__.__dict__["return_type"] = return_type
1009
+ __props__.__dict__["runtime_version"] = runtime_version
1010
+ __props__.__dict__["schema"] = schema
1011
+ __props__.__dict__["secrets"] = secrets
1012
+ __props__.__dict__["show_outputs"] = show_outputs
1013
+ __props__.__dict__["trace_level"] = trace_level
1014
+ return FunctionPython(resource_name, opts=opts, __props__=__props__)
1015
+
1016
+ @property
1017
+ @pulumi.getter
1018
+ def arguments(self) -> pulumi.Output[Optional[Sequence['outputs.FunctionPythonArgument']]]:
1019
+ """
1020
+ 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.
1021
+ """
1022
+ return pulumi.get(self, "arguments")
1023
+
1024
+ @property
1025
+ @pulumi.getter
1026
+ def comment(self) -> pulumi.Output[Optional[str]]:
1027
+ """
1028
+ Specifies a comment for the function.
1029
+ """
1030
+ return pulumi.get(self, "comment")
1031
+
1032
+ @property
1033
+ @pulumi.getter
1034
+ def database(self) -> pulumi.Output[str]:
1035
+ """
1036
+ The database in which to create the function. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
1037
+ """
1038
+ return pulumi.get(self, "database")
1039
+
1040
+ @property
1041
+ @pulumi.getter(name="enableConsoleOutput")
1042
+ def enable_console_output(self) -> pulumi.Output[bool]:
1043
+ """
1044
+ 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).
1045
+ """
1046
+ return pulumi.get(self, "enable_console_output")
1047
+
1048
+ @property
1049
+ @pulumi.getter(name="externalAccessIntegrations")
1050
+ def external_access_integrations(self) -> pulumi.Output[Optional[Sequence[str]]]:
1051
+ """
1052
+ The names of [external access integrations](https://docs.snowflake.com/en/sql-reference/sql/create-external-access-integration) needed in order for this function’s handler code to access external networks. An external access integration specifies [network rules](https://docs.snowflake.com/en/sql-reference/sql/create-network-rule) and [secrets](https://docs.snowflake.com/en/sql-reference/sql/create-secret) that specify external locations and credentials (if any) allowed for use by handler code when making requests of an external network, such as an external REST API.
1053
+ """
1054
+ return pulumi.get(self, "external_access_integrations")
1055
+
1056
+ @property
1057
+ @pulumi.getter(name="fullyQualifiedName")
1058
+ def fully_qualified_name(self) -> pulumi.Output[str]:
1059
+ """
1060
+ Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
1061
+ """
1062
+ return pulumi.get(self, "fully_qualified_name")
1063
+
1064
+ @property
1065
+ @pulumi.getter(name="functionDefinition")
1066
+ def function_definition(self) -> pulumi.Output[Optional[str]]:
1067
+ """
1068
+ 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 Python source code. For more information, see [Introduction to Python UDFs](https://docs.snowflake.com/en/developer-guide/udf/python/udf-python-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.
1069
+ """
1070
+ return pulumi.get(self, "function_definition")
1071
+
1072
+ @property
1073
+ @pulumi.getter(name="functionLanguage")
1074
+ def function_language(self) -> pulumi.Output[str]:
1075
+ """
1076
+ Specifies language for the user. Used to detect external changes.
1077
+ """
1078
+ return pulumi.get(self, "function_language")
1079
+
1080
+ @property
1081
+ @pulumi.getter
1082
+ def handler(self) -> pulumi.Output[str]:
1083
+ """
1084
+ The name of the handler function or class. If the handler is for a scalar UDF, returning a non-tabular value, the HANDLER value should be a function name. If the handler code is in-line with the CREATE FUNCTION statement, you can use the function name alone. When the handler code is referenced at a stage, this value should be qualified with the module name, as in the following form: `my_module.my_function`. If the handler is for a tabular UDF, the HANDLER value should be the name of a handler class.
1085
+ """
1086
+ return pulumi.get(self, "handler")
1087
+
1088
+ @property
1089
+ @pulumi.getter
1090
+ def imports(self) -> pulumi.Output[Optional[Sequence['outputs.FunctionPythonImport']]]:
1091
+ """
1092
+ The location (stage), path, and name of the file(s) to import. A file can be a `.py` file or another type of file. Python UDFs can also read non-Python files, such as text files. For an example, see [Reading a file](https://docs.snowflake.com/en/developer-guide/udf/python/udf-python-examples.html#label-udf-python-read-files). Consult the [docs](https://docs.snowflake.com/en/sql-reference/sql/create-function#python).
1093
+ """
1094
+ return pulumi.get(self, "imports")
1095
+
1096
+ @property
1097
+ @pulumi.getter(name="isAggregate")
1098
+ def is_aggregate(self) -> pulumi.Output[Optional[str]]:
1099
+ """
1100
+ Specifies that the function is an aggregate function. For more information about user-defined aggregate functions, see [Python user-defined aggregate functions](https://docs.snowflake.com/en/developer-guide/udf/python/udf-python-aggregate-functions). Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
1101
+ """
1102
+ return pulumi.get(self, "is_aggregate")
1103
+
1104
+ @property
1105
+ @pulumi.getter(name="isSecure")
1106
+ def is_secure(self) -> pulumi.Output[Optional[str]]:
1107
+ return pulumi.get(self, "is_secure")
1108
+
1109
+ @property
1110
+ @pulumi.getter(name="logLevel")
1111
+ def log_level(self) -> pulumi.Output[str]:
1112
+ """
1113
+ LOG*LEVEL to use when filtering events For more information, check [LOG*LEVEL docs](https://docs.snowflake.com/en/sql-reference/parameters#log-level).
1114
+ """
1115
+ return pulumi.get(self, "log_level")
1116
+
1117
+ @property
1118
+ @pulumi.getter(name="metricLevel")
1119
+ def metric_level(self) -> pulumi.Output[str]:
1120
+ """
1121
+ 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).
1122
+ """
1123
+ return pulumi.get(self, "metric_level")
1124
+
1125
+ @property
1126
+ @pulumi.getter
1127
+ def name(self) -> pulumi.Output[str]:
1128
+ """
1129
+ 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: `|`, `.`, `"`.
1130
+ """
1131
+ return pulumi.get(self, "name")
1132
+
1133
+ @property
1134
+ @pulumi.getter(name="nullInputBehavior")
1135
+ def null_input_behavior(self) -> pulumi.Output[Optional[str]]:
1136
+ """
1137
+ 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`.
1138
+ """
1139
+ return pulumi.get(self, "null_input_behavior")
1140
+
1141
+ @property
1142
+ @pulumi.getter
1143
+ def packages(self) -> pulumi.Output[Optional[Sequence[str]]]:
1144
+ """
1145
+ The name and version number of packages required as dependencies. The value should be of the form `package_name==version_number`.
1146
+ """
1147
+ return pulumi.get(self, "packages")
1148
+
1149
+ @property
1150
+ @pulumi.getter
1151
+ def parameters(self) -> pulumi.Output[Sequence['outputs.FunctionPythonParameter']]:
1152
+ """
1153
+ Outputs the result of `SHOW PARAMETERS IN FUNCTION` for the given function.
1154
+ """
1155
+ return pulumi.get(self, "parameters")
1156
+
1157
+ @property
1158
+ @pulumi.getter(name="returnResultsBehavior")
1159
+ def return_results_behavior(self) -> pulumi.Output[Optional[str]]:
1160
+ """
1161
+ Specifies the behavior of the function when returning results. Valid values are (case-insensitive): `VOLATILE` | `IMMUTABLE`.
1162
+ """
1163
+ return pulumi.get(self, "return_results_behavior")
1164
+
1165
+ @property
1166
+ @pulumi.getter(name="returnType")
1167
+ def return_type(self) -> pulumi.Output[str]:
1168
+ """
1169
+ 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).
1170
+ """
1171
+ return pulumi.get(self, "return_type")
1172
+
1173
+ @property
1174
+ @pulumi.getter(name="runtimeVersion")
1175
+ def runtime_version(self) -> pulumi.Output[str]:
1176
+ """
1177
+ Specifies the Python version to use. The supported versions of Python are: 3.9, 3.10, and 3.11.
1178
+ """
1179
+ return pulumi.get(self, "runtime_version")
1180
+
1181
+ @property
1182
+ @pulumi.getter
1183
+ def schema(self) -> pulumi.Output[str]:
1184
+ """
1185
+ The schema in which to create the function. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
1186
+ """
1187
+ return pulumi.get(self, "schema")
1188
+
1189
+ @property
1190
+ @pulumi.getter
1191
+ def secrets(self) -> pulumi.Output[Optional[Sequence['outputs.FunctionPythonSecret']]]:
1192
+ """
1193
+ Assigns the names of [secrets](https://docs.snowflake.com/en/sql-reference/sql/create-secret) to variables so that you can use the variables to reference the secrets when retrieving information from secrets in handler code. Secrets you specify here must be allowed by the [external access integration](https://docs.snowflake.com/en/sql-reference/sql/create-external-access-integration) specified as a value of this CREATE FUNCTION command’s EXTERNAL*ACCESS*INTEGRATIONS parameter.
1194
+ """
1195
+ return pulumi.get(self, "secrets")
1196
+
1197
+ @property
1198
+ @pulumi.getter(name="showOutputs")
1199
+ def show_outputs(self) -> pulumi.Output[Sequence['outputs.FunctionPythonShowOutput']]:
1200
+ """
1201
+ Outputs the result of `SHOW FUNCTION` for the given function.
1202
+ """
1203
+ return pulumi.get(self, "show_outputs")
1204
+
1205
+ @property
1206
+ @pulumi.getter(name="traceLevel")
1207
+ def trace_level(self) -> pulumi.Output[str]:
1208
+ """
1209
+ 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).
1210
+ """
1211
+ return pulumi.get(self, "trace_level")
1212
+