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,1226 @@
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__ = ['ProcedurePythonArgs', 'ProcedurePython']
20
+
21
+ @pulumi.input_type
22
+ class ProcedurePythonArgs:
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
+ snowpark_package: pulumi.Input[str],
30
+ arguments: Optional[pulumi.Input[Sequence[pulumi.Input['ProcedurePythonArgumentArgs']]]] = None,
31
+ comment: Optional[pulumi.Input[str]] = None,
32
+ enable_console_output: Optional[pulumi.Input[bool]] = None,
33
+ execute_as: Optional[pulumi.Input[str]] = None,
34
+ external_access_integrations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
35
+ imports: Optional[pulumi.Input[Sequence[pulumi.Input['ProcedurePythonImportArgs']]]] = 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
+ procedure_definition: Optional[pulumi.Input[str]] = None,
43
+ secrets: Optional[pulumi.Input[Sequence[pulumi.Input['ProcedurePythonSecretArgs']]]] = None,
44
+ trace_level: Optional[pulumi.Input[str]] = None):
45
+ """
46
+ The set of arguments for constructing a ProcedurePython resource.
47
+ :param pulumi.Input[str] database: The database in which to create the procedure. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
48
+ :param pulumi.Input[str] handler: Use the name of the stored procedure’s function or method. This can differ depending on whether the code is in-line or referenced at a stage. When the code is in-line, you can specify just the function name. When the code is imported from a stage, specify the fully-qualified handler function name as `<module_name>.<function_name>`.
49
+ :param pulumi.Input[str] return_type: Specifies the type of the result returned by the stored procedure. For `<result_data_type>`, use the Snowflake data type that corresponds to the type of the language that you are using (see [SQL-Python Data Type Mappings](https://docs.snowflake.com/en/developer-guide/udf-stored-procedure-data-type-mapping.html#label-sql-python-data-type-mappings)). For `RETURNS TABLE ( [ col_name col_data_type [ , ... ] ] )`, if you know the Snowflake data types of the columns in the returned table, specify the column names and types. Otherwise (e.g. if you are determining the column types during run time), you can omit the column names and types (i.e. `TABLE ()`).
50
+ :param pulumi.Input[str] runtime_version: The language runtime version to use. Currently, the supported versions are: 3.9, 3.10, and 3.11.
51
+ :param pulumi.Input[str] schema: The schema in which to create the procedure. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
52
+ :param pulumi.Input[str] snowpark_package: The Snowpark package is required for stored procedures, so it must always be present. For more information about Snowpark, see [Snowpark API](https://docs.snowflake.com/en/developer-guide/snowpark/index).
53
+ :param pulumi.Input[Sequence[pulumi.Input['ProcedurePythonArgumentArgs']]] arguments: List of the arguments for the procedure. Consult the [docs](https://docs.snowflake.com/en/sql-reference/sql/create-procedure#all-languages) for more details.
54
+ :param pulumi.Input[str] comment: Specifies a comment for the procedure.
55
+ :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).
56
+ :param pulumi.Input[str] execute_as: Specifies whether the stored procedure executes with the privileges of the owner (an “owner’s rights” stored procedure) or with the privileges of the caller (a “caller’s rights” stored procedure). If you execute the statement CREATE PROCEDURE … EXECUTE AS CALLER, then in the future the procedure will execute as a caller’s rights procedure. If you execute CREATE PROCEDURE … EXECUTE AS OWNER, then the procedure will execute as an owner’s rights procedure. For more information, see [Understanding caller’s rights and owner’s rights stored procedures](https://docs.snowflake.com/en/developer-guide/stored-procedure/stored-procedures-rights). Valid values are (case-insensitive): `CALLER` | `OWNER`.
57
+ :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 procedure’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.
58
+ :param pulumi.Input[Sequence[pulumi.Input['ProcedurePythonImportArgs']]] imports: The location (stage), path, and name of the file(s) to import. You must set the IMPORTS clause to include any files that your stored procedure depends on. If you are writing an in-line stored procedure, you can omit this clause, unless your code depends on classes defined outside the stored procedure or resource files. If your stored procedure’s code will be on a stage, you must also include a path to the module file your code is in. The IMPORTS definition cannot reference variables from arguments that are passed into the stored procedure. Each file in the IMPORTS clause must have a unique name, even if the files are in different subdirectories or different stages.
59
+ :param pulumi.Input[str] is_secure: Specifies that the procedure is secure. For more information about secure procedures, see [Protecting Sensitive Information with Secure UDFs and Stored Procedures](https://docs.snowflake.com/en/developer-guide/secure-udf-procedure). 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.
60
+ :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).
61
+ :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).
62
+ :param pulumi.Input[str] name: The name of the procedure; the identifier does not need to be unique for the schema in which the procedure is created because stored procedures are [identified and resolved by the combination of the name and argument types](https://docs.snowflake.com/en/developer-guide/udf-stored-procedure-naming-conventions.html#label-procedure-function-name-overloading). Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
63
+ :param pulumi.Input[str] null_input_behavior: Specifies the behavior of the procedure when called with null inputs. Valid values are (case-insensitive): `CALLED ON NULL INPUT` | `RETURNS NULL ON NULL INPUT`.
64
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] packages: List of the names of packages deployed in Snowflake that should be included in the handler code’s execution environment. The Snowpark package is required for stored procedures, but is specified in the `snowpark_package` attribute. For more information about Snowpark, see [Snowpark API](https://docs.snowflake.com/en/developer-guide/snowpark/index).
65
+ :param pulumi.Input[str] procedure_definition: Defines the code executed by the stored procedure. The definition can consist of any valid code. Wrapping `$$` signs are added by the provider automatically; do not include them. The `procedure_definition` value must be Python source code. For more information, see [Python (using Snowpark)](https://docs.snowflake.com/en/developer-guide/stored-procedure/python/procedure-python-overview). 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.
66
+ :param pulumi.Input[Sequence[pulumi.Input['ProcedurePythonSecretArgs']]] 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.
67
+ :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).
68
+ """
69
+ pulumi.set(__self__, "database", database)
70
+ pulumi.set(__self__, "handler", handler)
71
+ pulumi.set(__self__, "return_type", return_type)
72
+ pulumi.set(__self__, "runtime_version", runtime_version)
73
+ pulumi.set(__self__, "schema", schema)
74
+ pulumi.set(__self__, "snowpark_package", snowpark_package)
75
+ if arguments is not None:
76
+ pulumi.set(__self__, "arguments", arguments)
77
+ if comment is not None:
78
+ pulumi.set(__self__, "comment", comment)
79
+ if enable_console_output is not None:
80
+ pulumi.set(__self__, "enable_console_output", enable_console_output)
81
+ if execute_as is not None:
82
+ pulumi.set(__self__, "execute_as", execute_as)
83
+ if external_access_integrations is not None:
84
+ pulumi.set(__self__, "external_access_integrations", external_access_integrations)
85
+ if imports is not None:
86
+ pulumi.set(__self__, "imports", imports)
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 procedure_definition is not None:
100
+ pulumi.set(__self__, "procedure_definition", procedure_definition)
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 procedure. 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
+ Use the name of the stored procedure’s function or method. This can differ depending on whether the code is in-line or referenced at a stage. When the code is in-line, you can specify just the function name. When the code is imported from a stage, specify the fully-qualified handler function name as `<module_name>.<function_name>`.
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 type of the result returned by the stored procedure. For `<result_data_type>`, use the Snowflake data type that corresponds to the type of the language that you are using (see [SQL-Python Data Type Mappings](https://docs.snowflake.com/en/developer-guide/udf-stored-procedure-data-type-mapping.html#label-sql-python-data-type-mappings)). For `RETURNS TABLE ( [ col_name col_data_type [ , ... ] ] )`, if you know the Snowflake data types of the columns in the returned table, specify the column names and types. Otherwise (e.g. if you are determining the column types during run time), you can omit the column names and types (i.e. `TABLE ()`).
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
+ The language runtime version to use. Currently, the supported versions 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 procedure. 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(name="snowparkPackage")
168
+ def snowpark_package(self) -> pulumi.Input[str]:
169
+ """
170
+ The Snowpark package is required for stored procedures, so it must always be present. For more information about Snowpark, see [Snowpark API](https://docs.snowflake.com/en/developer-guide/snowpark/index).
171
+ """
172
+ return pulumi.get(self, "snowpark_package")
173
+
174
+ @snowpark_package.setter
175
+ def snowpark_package(self, value: pulumi.Input[str]):
176
+ pulumi.set(self, "snowpark_package", value)
177
+
178
+ @property
179
+ @pulumi.getter
180
+ def arguments(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ProcedurePythonArgumentArgs']]]]:
181
+ """
182
+ List of the arguments for the procedure. Consult the [docs](https://docs.snowflake.com/en/sql-reference/sql/create-procedure#all-languages) for more details.
183
+ """
184
+ return pulumi.get(self, "arguments")
185
+
186
+ @arguments.setter
187
+ def arguments(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ProcedurePythonArgumentArgs']]]]):
188
+ pulumi.set(self, "arguments", value)
189
+
190
+ @property
191
+ @pulumi.getter
192
+ def comment(self) -> Optional[pulumi.Input[str]]:
193
+ """
194
+ Specifies a comment for the procedure.
195
+ """
196
+ return pulumi.get(self, "comment")
197
+
198
+ @comment.setter
199
+ def comment(self, value: Optional[pulumi.Input[str]]):
200
+ pulumi.set(self, "comment", value)
201
+
202
+ @property
203
+ @pulumi.getter(name="enableConsoleOutput")
204
+ def enable_console_output(self) -> Optional[pulumi.Input[bool]]:
205
+ """
206
+ 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).
207
+ """
208
+ return pulumi.get(self, "enable_console_output")
209
+
210
+ @enable_console_output.setter
211
+ def enable_console_output(self, value: Optional[pulumi.Input[bool]]):
212
+ pulumi.set(self, "enable_console_output", value)
213
+
214
+ @property
215
+ @pulumi.getter(name="executeAs")
216
+ def execute_as(self) -> Optional[pulumi.Input[str]]:
217
+ """
218
+ Specifies whether the stored procedure executes with the privileges of the owner (an “owner’s rights” stored procedure) or with the privileges of the caller (a “caller’s rights” stored procedure). If you execute the statement CREATE PROCEDURE … EXECUTE AS CALLER, then in the future the procedure will execute as a caller’s rights procedure. If you execute CREATE PROCEDURE … EXECUTE AS OWNER, then the procedure will execute as an owner’s rights procedure. For more information, see [Understanding caller’s rights and owner’s rights stored procedures](https://docs.snowflake.com/en/developer-guide/stored-procedure/stored-procedures-rights). Valid values are (case-insensitive): `CALLER` | `OWNER`.
219
+ """
220
+ return pulumi.get(self, "execute_as")
221
+
222
+ @execute_as.setter
223
+ def execute_as(self, value: Optional[pulumi.Input[str]]):
224
+ pulumi.set(self, "execute_as", value)
225
+
226
+ @property
227
+ @pulumi.getter(name="externalAccessIntegrations")
228
+ def external_access_integrations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
229
+ """
230
+ The names of [external access integrations](https://docs.snowflake.com/en/sql-reference/sql/create-external-access-integration) needed in order for this procedure’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.
231
+ """
232
+ return pulumi.get(self, "external_access_integrations")
233
+
234
+ @external_access_integrations.setter
235
+ def external_access_integrations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
236
+ pulumi.set(self, "external_access_integrations", value)
237
+
238
+ @property
239
+ @pulumi.getter
240
+ def imports(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ProcedurePythonImportArgs']]]]:
241
+ """
242
+ The location (stage), path, and name of the file(s) to import. You must set the IMPORTS clause to include any files that your stored procedure depends on. If you are writing an in-line stored procedure, you can omit this clause, unless your code depends on classes defined outside the stored procedure or resource files. If your stored procedure’s code will be on a stage, you must also include a path to the module file your code is in. The IMPORTS definition cannot reference variables from arguments that are passed into the stored procedure. Each file in the IMPORTS clause must have a unique name, even if the files are in different subdirectories or different stages.
243
+ """
244
+ return pulumi.get(self, "imports")
245
+
246
+ @imports.setter
247
+ def imports(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ProcedurePythonImportArgs']]]]):
248
+ pulumi.set(self, "imports", value)
249
+
250
+ @property
251
+ @pulumi.getter(name="isSecure")
252
+ def is_secure(self) -> Optional[pulumi.Input[str]]:
253
+ """
254
+ Specifies that the procedure is secure. For more information about secure procedures, see [Protecting Sensitive Information with Secure UDFs and Stored Procedures](https://docs.snowflake.com/en/developer-guide/secure-udf-procedure). 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.
255
+ """
256
+ return pulumi.get(self, "is_secure")
257
+
258
+ @is_secure.setter
259
+ def is_secure(self, value: Optional[pulumi.Input[str]]):
260
+ pulumi.set(self, "is_secure", value)
261
+
262
+ @property
263
+ @pulumi.getter(name="logLevel")
264
+ def log_level(self) -> Optional[pulumi.Input[str]]:
265
+ """
266
+ LOG*LEVEL to use when filtering events For more information, check [LOG*LEVEL docs](https://docs.snowflake.com/en/sql-reference/parameters#log-level).
267
+ """
268
+ return pulumi.get(self, "log_level")
269
+
270
+ @log_level.setter
271
+ def log_level(self, value: Optional[pulumi.Input[str]]):
272
+ pulumi.set(self, "log_level", value)
273
+
274
+ @property
275
+ @pulumi.getter(name="metricLevel")
276
+ def metric_level(self) -> Optional[pulumi.Input[str]]:
277
+ """
278
+ 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).
279
+ """
280
+ return pulumi.get(self, "metric_level")
281
+
282
+ @metric_level.setter
283
+ def metric_level(self, value: Optional[pulumi.Input[str]]):
284
+ pulumi.set(self, "metric_level", value)
285
+
286
+ @property
287
+ @pulumi.getter
288
+ def name(self) -> Optional[pulumi.Input[str]]:
289
+ """
290
+ The name of the procedure; the identifier does not need to be unique for the schema in which the procedure is created because stored procedures are [identified and resolved by the combination of the name and argument types](https://docs.snowflake.com/en/developer-guide/udf-stored-procedure-naming-conventions.html#label-procedure-function-name-overloading). Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
291
+ """
292
+ return pulumi.get(self, "name")
293
+
294
+ @name.setter
295
+ def name(self, value: Optional[pulumi.Input[str]]):
296
+ pulumi.set(self, "name", value)
297
+
298
+ @property
299
+ @pulumi.getter(name="nullInputBehavior")
300
+ def null_input_behavior(self) -> Optional[pulumi.Input[str]]:
301
+ """
302
+ Specifies the behavior of the procedure when called with null inputs. Valid values are (case-insensitive): `CALLED ON NULL INPUT` | `RETURNS NULL ON NULL INPUT`.
303
+ """
304
+ return pulumi.get(self, "null_input_behavior")
305
+
306
+ @null_input_behavior.setter
307
+ def null_input_behavior(self, value: Optional[pulumi.Input[str]]):
308
+ pulumi.set(self, "null_input_behavior", value)
309
+
310
+ @property
311
+ @pulumi.getter
312
+ def packages(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
313
+ """
314
+ List of the names of packages deployed in Snowflake that should be included in the handler code’s execution environment. The Snowpark package is required for stored procedures, but is specified in the `snowpark_package` attribute. For more information about Snowpark, see [Snowpark API](https://docs.snowflake.com/en/developer-guide/snowpark/index).
315
+ """
316
+ return pulumi.get(self, "packages")
317
+
318
+ @packages.setter
319
+ def packages(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
320
+ pulumi.set(self, "packages", value)
321
+
322
+ @property
323
+ @pulumi.getter(name="procedureDefinition")
324
+ def procedure_definition(self) -> Optional[pulumi.Input[str]]:
325
+ """
326
+ Defines the code executed by the stored procedure. The definition can consist of any valid code. Wrapping `$$` signs are added by the provider automatically; do not include them. The `procedure_definition` value must be Python source code. For more information, see [Python (using Snowpark)](https://docs.snowflake.com/en/developer-guide/stored-procedure/python/procedure-python-overview). 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.
327
+ """
328
+ return pulumi.get(self, "procedure_definition")
329
+
330
+ @procedure_definition.setter
331
+ def procedure_definition(self, value: Optional[pulumi.Input[str]]):
332
+ pulumi.set(self, "procedure_definition", value)
333
+
334
+ @property
335
+ @pulumi.getter
336
+ def secrets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ProcedurePythonSecretArgs']]]]:
337
+ """
338
+ 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.
339
+ """
340
+ return pulumi.get(self, "secrets")
341
+
342
+ @secrets.setter
343
+ def secrets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ProcedurePythonSecretArgs']]]]):
344
+ pulumi.set(self, "secrets", value)
345
+
346
+ @property
347
+ @pulumi.getter(name="traceLevel")
348
+ def trace_level(self) -> Optional[pulumi.Input[str]]:
349
+ """
350
+ 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).
351
+ """
352
+ return pulumi.get(self, "trace_level")
353
+
354
+ @trace_level.setter
355
+ def trace_level(self, value: Optional[pulumi.Input[str]]):
356
+ pulumi.set(self, "trace_level", value)
357
+
358
+
359
+ @pulumi.input_type
360
+ class _ProcedurePythonState:
361
+ def __init__(__self__, *,
362
+ arguments: Optional[pulumi.Input[Sequence[pulumi.Input['ProcedurePythonArgumentArgs']]]] = None,
363
+ comment: Optional[pulumi.Input[str]] = None,
364
+ database: Optional[pulumi.Input[str]] = None,
365
+ enable_console_output: Optional[pulumi.Input[bool]] = None,
366
+ execute_as: Optional[pulumi.Input[str]] = None,
367
+ external_access_integrations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
368
+ fully_qualified_name: Optional[pulumi.Input[str]] = None,
369
+ handler: Optional[pulumi.Input[str]] = None,
370
+ imports: Optional[pulumi.Input[Sequence[pulumi.Input['ProcedurePythonImportArgs']]]] = None,
371
+ is_secure: Optional[pulumi.Input[str]] = None,
372
+ log_level: Optional[pulumi.Input[str]] = None,
373
+ metric_level: Optional[pulumi.Input[str]] = None,
374
+ name: Optional[pulumi.Input[str]] = None,
375
+ null_input_behavior: Optional[pulumi.Input[str]] = None,
376
+ packages: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
377
+ parameters: Optional[pulumi.Input[Sequence[pulumi.Input['ProcedurePythonParameterArgs']]]] = None,
378
+ procedure_definition: Optional[pulumi.Input[str]] = None,
379
+ procedure_language: Optional[pulumi.Input[str]] = None,
380
+ return_type: Optional[pulumi.Input[str]] = None,
381
+ runtime_version: Optional[pulumi.Input[str]] = None,
382
+ schema: Optional[pulumi.Input[str]] = None,
383
+ secrets: Optional[pulumi.Input[Sequence[pulumi.Input['ProcedurePythonSecretArgs']]]] = None,
384
+ show_outputs: Optional[pulumi.Input[Sequence[pulumi.Input['ProcedurePythonShowOutputArgs']]]] = None,
385
+ snowpark_package: Optional[pulumi.Input[str]] = None,
386
+ trace_level: Optional[pulumi.Input[str]] = None):
387
+ """
388
+ Input properties used for looking up and filtering ProcedurePython resources.
389
+ :param pulumi.Input[Sequence[pulumi.Input['ProcedurePythonArgumentArgs']]] arguments: List of the arguments for the procedure. Consult the [docs](https://docs.snowflake.com/en/sql-reference/sql/create-procedure#all-languages) for more details.
390
+ :param pulumi.Input[str] comment: Specifies a comment for the procedure.
391
+ :param pulumi.Input[str] database: The database in which to create the procedure. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
392
+ :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).
393
+ :param pulumi.Input[str] execute_as: Specifies whether the stored procedure executes with the privileges of the owner (an “owner’s rights” stored procedure) or with the privileges of the caller (a “caller’s rights” stored procedure). If you execute the statement CREATE PROCEDURE … EXECUTE AS CALLER, then in the future the procedure will execute as a caller’s rights procedure. If you execute CREATE PROCEDURE … EXECUTE AS OWNER, then the procedure will execute as an owner’s rights procedure. For more information, see [Understanding caller’s rights and owner’s rights stored procedures](https://docs.snowflake.com/en/developer-guide/stored-procedure/stored-procedures-rights). Valid values are (case-insensitive): `CALLER` | `OWNER`.
394
+ :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 procedure’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.
395
+ :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).
396
+ :param pulumi.Input[str] handler: Use the name of the stored procedure’s function or method. This can differ depending on whether the code is in-line or referenced at a stage. When the code is in-line, you can specify just the function name. When the code is imported from a stage, specify the fully-qualified handler function name as `<module_name>.<function_name>`.
397
+ :param pulumi.Input[Sequence[pulumi.Input['ProcedurePythonImportArgs']]] imports: The location (stage), path, and name of the file(s) to import. You must set the IMPORTS clause to include any files that your stored procedure depends on. If you are writing an in-line stored procedure, you can omit this clause, unless your code depends on classes defined outside the stored procedure or resource files. If your stored procedure’s code will be on a stage, you must also include a path to the module file your code is in. The IMPORTS definition cannot reference variables from arguments that are passed into the stored procedure. Each file in the IMPORTS clause must have a unique name, even if the files are in different subdirectories or different stages.
398
+ :param pulumi.Input[str] is_secure: Specifies that the procedure is secure. For more information about secure procedures, see [Protecting Sensitive Information with Secure UDFs and Stored Procedures](https://docs.snowflake.com/en/developer-guide/secure-udf-procedure). 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.
399
+ :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).
400
+ :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).
401
+ :param pulumi.Input[str] name: The name of the procedure; the identifier does not need to be unique for the schema in which the procedure is created because stored procedures are [identified and resolved by the combination of the name and argument types](https://docs.snowflake.com/en/developer-guide/udf-stored-procedure-naming-conventions.html#label-procedure-function-name-overloading). Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
402
+ :param pulumi.Input[str] null_input_behavior: Specifies the behavior of the procedure when called with null inputs. Valid values are (case-insensitive): `CALLED ON NULL INPUT` | `RETURNS NULL ON NULL INPUT`.
403
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] packages: List of the names of packages deployed in Snowflake that should be included in the handler code’s execution environment. The Snowpark package is required for stored procedures, but is specified in the `snowpark_package` attribute. For more information about Snowpark, see [Snowpark API](https://docs.snowflake.com/en/developer-guide/snowpark/index).
404
+ :param pulumi.Input[Sequence[pulumi.Input['ProcedurePythonParameterArgs']]] parameters: Outputs the result of `SHOW PARAMETERS IN PROCEDURE` for the given procedure.
405
+ :param pulumi.Input[str] procedure_definition: Defines the code executed by the stored procedure. The definition can consist of any valid code. Wrapping `$$` signs are added by the provider automatically; do not include them. The `procedure_definition` value must be Python source code. For more information, see [Python (using Snowpark)](https://docs.snowflake.com/en/developer-guide/stored-procedure/python/procedure-python-overview). 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.
406
+ :param pulumi.Input[str] procedure_language: Specifies language for the procedure. Used to detect external changes.
407
+ :param pulumi.Input[str] return_type: Specifies the type of the result returned by the stored procedure. For `<result_data_type>`, use the Snowflake data type that corresponds to the type of the language that you are using (see [SQL-Python Data Type Mappings](https://docs.snowflake.com/en/developer-guide/udf-stored-procedure-data-type-mapping.html#label-sql-python-data-type-mappings)). For `RETURNS TABLE ( [ col_name col_data_type [ , ... ] ] )`, if you know the Snowflake data types of the columns in the returned table, specify the column names and types. Otherwise (e.g. if you are determining the column types during run time), you can omit the column names and types (i.e. `TABLE ()`).
408
+ :param pulumi.Input[str] runtime_version: The language runtime version to use. Currently, the supported versions are: 3.9, 3.10, and 3.11.
409
+ :param pulumi.Input[str] schema: The schema in which to create the procedure. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
410
+ :param pulumi.Input[Sequence[pulumi.Input['ProcedurePythonSecretArgs']]] 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.
411
+ :param pulumi.Input[Sequence[pulumi.Input['ProcedurePythonShowOutputArgs']]] show_outputs: Outputs the result of `SHOW PROCEDURE` for the given procedure.
412
+ :param pulumi.Input[str] snowpark_package: The Snowpark package is required for stored procedures, so it must always be present. For more information about Snowpark, see [Snowpark API](https://docs.snowflake.com/en/developer-guide/snowpark/index).
413
+ :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).
414
+ """
415
+ if arguments is not None:
416
+ pulumi.set(__self__, "arguments", arguments)
417
+ if comment is not None:
418
+ pulumi.set(__self__, "comment", comment)
419
+ if database is not None:
420
+ pulumi.set(__self__, "database", database)
421
+ if enable_console_output is not None:
422
+ pulumi.set(__self__, "enable_console_output", enable_console_output)
423
+ if execute_as is not None:
424
+ pulumi.set(__self__, "execute_as", execute_as)
425
+ if external_access_integrations is not None:
426
+ pulumi.set(__self__, "external_access_integrations", external_access_integrations)
427
+ if fully_qualified_name is not None:
428
+ pulumi.set(__self__, "fully_qualified_name", fully_qualified_name)
429
+ if handler is not None:
430
+ pulumi.set(__self__, "handler", handler)
431
+ if imports is not None:
432
+ pulumi.set(__self__, "imports", imports)
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 procedure_definition is not None:
448
+ pulumi.set(__self__, "procedure_definition", procedure_definition)
449
+ if procedure_language is not None:
450
+ pulumi.set(__self__, "procedure_language", procedure_language)
451
+ if return_type is not None:
452
+ pulumi.set(__self__, "return_type", return_type)
453
+ if runtime_version is not None:
454
+ pulumi.set(__self__, "runtime_version", runtime_version)
455
+ if schema is not None:
456
+ pulumi.set(__self__, "schema", schema)
457
+ if secrets is not None:
458
+ pulumi.set(__self__, "secrets", secrets)
459
+ if show_outputs is not None:
460
+ pulumi.set(__self__, "show_outputs", show_outputs)
461
+ if snowpark_package is not None:
462
+ pulumi.set(__self__, "snowpark_package", snowpark_package)
463
+ if trace_level is not None:
464
+ pulumi.set(__self__, "trace_level", trace_level)
465
+
466
+ @property
467
+ @pulumi.getter
468
+ def arguments(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ProcedurePythonArgumentArgs']]]]:
469
+ """
470
+ List of the arguments for the procedure. Consult the [docs](https://docs.snowflake.com/en/sql-reference/sql/create-procedure#all-languages) for more details.
471
+ """
472
+ return pulumi.get(self, "arguments")
473
+
474
+ @arguments.setter
475
+ def arguments(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ProcedurePythonArgumentArgs']]]]):
476
+ pulumi.set(self, "arguments", value)
477
+
478
+ @property
479
+ @pulumi.getter
480
+ def comment(self) -> Optional[pulumi.Input[str]]:
481
+ """
482
+ Specifies a comment for the procedure.
483
+ """
484
+ return pulumi.get(self, "comment")
485
+
486
+ @comment.setter
487
+ def comment(self, value: Optional[pulumi.Input[str]]):
488
+ pulumi.set(self, "comment", value)
489
+
490
+ @property
491
+ @pulumi.getter
492
+ def database(self) -> Optional[pulumi.Input[str]]:
493
+ """
494
+ The database in which to create the procedure. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
495
+ """
496
+ return pulumi.get(self, "database")
497
+
498
+ @database.setter
499
+ def database(self, value: Optional[pulumi.Input[str]]):
500
+ pulumi.set(self, "database", value)
501
+
502
+ @property
503
+ @pulumi.getter(name="enableConsoleOutput")
504
+ def enable_console_output(self) -> Optional[pulumi.Input[bool]]:
505
+ """
506
+ 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).
507
+ """
508
+ return pulumi.get(self, "enable_console_output")
509
+
510
+ @enable_console_output.setter
511
+ def enable_console_output(self, value: Optional[pulumi.Input[bool]]):
512
+ pulumi.set(self, "enable_console_output", value)
513
+
514
+ @property
515
+ @pulumi.getter(name="executeAs")
516
+ def execute_as(self) -> Optional[pulumi.Input[str]]:
517
+ """
518
+ Specifies whether the stored procedure executes with the privileges of the owner (an “owner’s rights” stored procedure) or with the privileges of the caller (a “caller’s rights” stored procedure). If you execute the statement CREATE PROCEDURE … EXECUTE AS CALLER, then in the future the procedure will execute as a caller’s rights procedure. If you execute CREATE PROCEDURE … EXECUTE AS OWNER, then the procedure will execute as an owner’s rights procedure. For more information, see [Understanding caller’s rights and owner’s rights stored procedures](https://docs.snowflake.com/en/developer-guide/stored-procedure/stored-procedures-rights). Valid values are (case-insensitive): `CALLER` | `OWNER`.
519
+ """
520
+ return pulumi.get(self, "execute_as")
521
+
522
+ @execute_as.setter
523
+ def execute_as(self, value: Optional[pulumi.Input[str]]):
524
+ pulumi.set(self, "execute_as", value)
525
+
526
+ @property
527
+ @pulumi.getter(name="externalAccessIntegrations")
528
+ def external_access_integrations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
529
+ """
530
+ The names of [external access integrations](https://docs.snowflake.com/en/sql-reference/sql/create-external-access-integration) needed in order for this procedure’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.
531
+ """
532
+ return pulumi.get(self, "external_access_integrations")
533
+
534
+ @external_access_integrations.setter
535
+ def external_access_integrations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
536
+ pulumi.set(self, "external_access_integrations", value)
537
+
538
+ @property
539
+ @pulumi.getter(name="fullyQualifiedName")
540
+ def fully_qualified_name(self) -> Optional[pulumi.Input[str]]:
541
+ """
542
+ Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
543
+ """
544
+ return pulumi.get(self, "fully_qualified_name")
545
+
546
+ @fully_qualified_name.setter
547
+ def fully_qualified_name(self, value: Optional[pulumi.Input[str]]):
548
+ pulumi.set(self, "fully_qualified_name", value)
549
+
550
+ @property
551
+ @pulumi.getter
552
+ def handler(self) -> Optional[pulumi.Input[str]]:
553
+ """
554
+ Use the name of the stored procedure’s function or method. This can differ depending on whether the code is in-line or referenced at a stage. When the code is in-line, you can specify just the function name. When the code is imported from a stage, specify the fully-qualified handler function name as `<module_name>.<function_name>`.
555
+ """
556
+ return pulumi.get(self, "handler")
557
+
558
+ @handler.setter
559
+ def handler(self, value: Optional[pulumi.Input[str]]):
560
+ pulumi.set(self, "handler", value)
561
+
562
+ @property
563
+ @pulumi.getter
564
+ def imports(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ProcedurePythonImportArgs']]]]:
565
+ """
566
+ The location (stage), path, and name of the file(s) to import. You must set the IMPORTS clause to include any files that your stored procedure depends on. If you are writing an in-line stored procedure, you can omit this clause, unless your code depends on classes defined outside the stored procedure or resource files. If your stored procedure’s code will be on a stage, you must also include a path to the module file your code is in. The IMPORTS definition cannot reference variables from arguments that are passed into the stored procedure. Each file in the IMPORTS clause must have a unique name, even if the files are in different subdirectories or different stages.
567
+ """
568
+ return pulumi.get(self, "imports")
569
+
570
+ @imports.setter
571
+ def imports(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ProcedurePythonImportArgs']]]]):
572
+ pulumi.set(self, "imports", value)
573
+
574
+ @property
575
+ @pulumi.getter(name="isSecure")
576
+ def is_secure(self) -> Optional[pulumi.Input[str]]:
577
+ """
578
+ Specifies that the procedure is secure. For more information about secure procedures, see [Protecting Sensitive Information with Secure UDFs and Stored Procedures](https://docs.snowflake.com/en/developer-guide/secure-udf-procedure). 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.
579
+ """
580
+ return pulumi.get(self, "is_secure")
581
+
582
+ @is_secure.setter
583
+ def is_secure(self, value: Optional[pulumi.Input[str]]):
584
+ pulumi.set(self, "is_secure", value)
585
+
586
+ @property
587
+ @pulumi.getter(name="logLevel")
588
+ def log_level(self) -> Optional[pulumi.Input[str]]:
589
+ """
590
+ LOG*LEVEL to use when filtering events For more information, check [LOG*LEVEL docs](https://docs.snowflake.com/en/sql-reference/parameters#log-level).
591
+ """
592
+ return pulumi.get(self, "log_level")
593
+
594
+ @log_level.setter
595
+ def log_level(self, value: Optional[pulumi.Input[str]]):
596
+ pulumi.set(self, "log_level", value)
597
+
598
+ @property
599
+ @pulumi.getter(name="metricLevel")
600
+ def metric_level(self) -> Optional[pulumi.Input[str]]:
601
+ """
602
+ 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).
603
+ """
604
+ return pulumi.get(self, "metric_level")
605
+
606
+ @metric_level.setter
607
+ def metric_level(self, value: Optional[pulumi.Input[str]]):
608
+ pulumi.set(self, "metric_level", value)
609
+
610
+ @property
611
+ @pulumi.getter
612
+ def name(self) -> Optional[pulumi.Input[str]]:
613
+ """
614
+ The name of the procedure; the identifier does not need to be unique for the schema in which the procedure is created because stored procedures are [identified and resolved by the combination of the name and argument types](https://docs.snowflake.com/en/developer-guide/udf-stored-procedure-naming-conventions.html#label-procedure-function-name-overloading). Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
615
+ """
616
+ return pulumi.get(self, "name")
617
+
618
+ @name.setter
619
+ def name(self, value: Optional[pulumi.Input[str]]):
620
+ pulumi.set(self, "name", value)
621
+
622
+ @property
623
+ @pulumi.getter(name="nullInputBehavior")
624
+ def null_input_behavior(self) -> Optional[pulumi.Input[str]]:
625
+ """
626
+ Specifies the behavior of the procedure when called with null inputs. Valid values are (case-insensitive): `CALLED ON NULL INPUT` | `RETURNS NULL ON NULL INPUT`.
627
+ """
628
+ return pulumi.get(self, "null_input_behavior")
629
+
630
+ @null_input_behavior.setter
631
+ def null_input_behavior(self, value: Optional[pulumi.Input[str]]):
632
+ pulumi.set(self, "null_input_behavior", value)
633
+
634
+ @property
635
+ @pulumi.getter
636
+ def packages(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
637
+ """
638
+ List of the names of packages deployed in Snowflake that should be included in the handler code’s execution environment. The Snowpark package is required for stored procedures, but is specified in the `snowpark_package` attribute. For more information about Snowpark, see [Snowpark API](https://docs.snowflake.com/en/developer-guide/snowpark/index).
639
+ """
640
+ return pulumi.get(self, "packages")
641
+
642
+ @packages.setter
643
+ def packages(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
644
+ pulumi.set(self, "packages", value)
645
+
646
+ @property
647
+ @pulumi.getter
648
+ def parameters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ProcedurePythonParameterArgs']]]]:
649
+ """
650
+ Outputs the result of `SHOW PARAMETERS IN PROCEDURE` for the given procedure.
651
+ """
652
+ return pulumi.get(self, "parameters")
653
+
654
+ @parameters.setter
655
+ def parameters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ProcedurePythonParameterArgs']]]]):
656
+ pulumi.set(self, "parameters", value)
657
+
658
+ @property
659
+ @pulumi.getter(name="procedureDefinition")
660
+ def procedure_definition(self) -> Optional[pulumi.Input[str]]:
661
+ """
662
+ Defines the code executed by the stored procedure. The definition can consist of any valid code. Wrapping `$$` signs are added by the provider automatically; do not include them. The `procedure_definition` value must be Python source code. For more information, see [Python (using Snowpark)](https://docs.snowflake.com/en/developer-guide/stored-procedure/python/procedure-python-overview). 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.
663
+ """
664
+ return pulumi.get(self, "procedure_definition")
665
+
666
+ @procedure_definition.setter
667
+ def procedure_definition(self, value: Optional[pulumi.Input[str]]):
668
+ pulumi.set(self, "procedure_definition", value)
669
+
670
+ @property
671
+ @pulumi.getter(name="procedureLanguage")
672
+ def procedure_language(self) -> Optional[pulumi.Input[str]]:
673
+ """
674
+ Specifies language for the procedure. Used to detect external changes.
675
+ """
676
+ return pulumi.get(self, "procedure_language")
677
+
678
+ @procedure_language.setter
679
+ def procedure_language(self, value: Optional[pulumi.Input[str]]):
680
+ pulumi.set(self, "procedure_language", value)
681
+
682
+ @property
683
+ @pulumi.getter(name="returnType")
684
+ def return_type(self) -> Optional[pulumi.Input[str]]:
685
+ """
686
+ Specifies the type of the result returned by the stored procedure. For `<result_data_type>`, use the Snowflake data type that corresponds to the type of the language that you are using (see [SQL-Python Data Type Mappings](https://docs.snowflake.com/en/developer-guide/udf-stored-procedure-data-type-mapping.html#label-sql-python-data-type-mappings)). For `RETURNS TABLE ( [ col_name col_data_type [ , ... ] ] )`, if you know the Snowflake data types of the columns in the returned table, specify the column names and types. Otherwise (e.g. if you are determining the column types during run time), you can omit the column names and types (i.e. `TABLE ()`).
687
+ """
688
+ return pulumi.get(self, "return_type")
689
+
690
+ @return_type.setter
691
+ def return_type(self, value: Optional[pulumi.Input[str]]):
692
+ pulumi.set(self, "return_type", value)
693
+
694
+ @property
695
+ @pulumi.getter(name="runtimeVersion")
696
+ def runtime_version(self) -> Optional[pulumi.Input[str]]:
697
+ """
698
+ The language runtime version to use. Currently, the supported versions are: 3.9, 3.10, and 3.11.
699
+ """
700
+ return pulumi.get(self, "runtime_version")
701
+
702
+ @runtime_version.setter
703
+ def runtime_version(self, value: Optional[pulumi.Input[str]]):
704
+ pulumi.set(self, "runtime_version", value)
705
+
706
+ @property
707
+ @pulumi.getter
708
+ def schema(self) -> Optional[pulumi.Input[str]]:
709
+ """
710
+ The schema in which to create the procedure. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
711
+ """
712
+ return pulumi.get(self, "schema")
713
+
714
+ @schema.setter
715
+ def schema(self, value: Optional[pulumi.Input[str]]):
716
+ pulumi.set(self, "schema", value)
717
+
718
+ @property
719
+ @pulumi.getter
720
+ def secrets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ProcedurePythonSecretArgs']]]]:
721
+ """
722
+ 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.
723
+ """
724
+ return pulumi.get(self, "secrets")
725
+
726
+ @secrets.setter
727
+ def secrets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ProcedurePythonSecretArgs']]]]):
728
+ pulumi.set(self, "secrets", value)
729
+
730
+ @property
731
+ @pulumi.getter(name="showOutputs")
732
+ def show_outputs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ProcedurePythonShowOutputArgs']]]]:
733
+ """
734
+ Outputs the result of `SHOW PROCEDURE` for the given procedure.
735
+ """
736
+ return pulumi.get(self, "show_outputs")
737
+
738
+ @show_outputs.setter
739
+ def show_outputs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ProcedurePythonShowOutputArgs']]]]):
740
+ pulumi.set(self, "show_outputs", value)
741
+
742
+ @property
743
+ @pulumi.getter(name="snowparkPackage")
744
+ def snowpark_package(self) -> Optional[pulumi.Input[str]]:
745
+ """
746
+ The Snowpark package is required for stored procedures, so it must always be present. For more information about Snowpark, see [Snowpark API](https://docs.snowflake.com/en/developer-guide/snowpark/index).
747
+ """
748
+ return pulumi.get(self, "snowpark_package")
749
+
750
+ @snowpark_package.setter
751
+ def snowpark_package(self, value: Optional[pulumi.Input[str]]):
752
+ pulumi.set(self, "snowpark_package", value)
753
+
754
+ @property
755
+ @pulumi.getter(name="traceLevel")
756
+ def trace_level(self) -> Optional[pulumi.Input[str]]:
757
+ """
758
+ 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).
759
+ """
760
+ return pulumi.get(self, "trace_level")
761
+
762
+ @trace_level.setter
763
+ def trace_level(self, value: Optional[pulumi.Input[str]]):
764
+ pulumi.set(self, "trace_level", value)
765
+
766
+
767
+ class ProcedurePython(pulumi.CustomResource):
768
+ @overload
769
+ def __init__(__self__,
770
+ resource_name: str,
771
+ opts: Optional[pulumi.ResourceOptions] = None,
772
+ arguments: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ProcedurePythonArgumentArgs', 'ProcedurePythonArgumentArgsDict']]]]] = None,
773
+ comment: Optional[pulumi.Input[str]] = None,
774
+ database: Optional[pulumi.Input[str]] = None,
775
+ enable_console_output: Optional[pulumi.Input[bool]] = None,
776
+ execute_as: Optional[pulumi.Input[str]] = None,
777
+ external_access_integrations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
778
+ handler: Optional[pulumi.Input[str]] = None,
779
+ imports: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ProcedurePythonImportArgs', 'ProcedurePythonImportArgsDict']]]]] = None,
780
+ is_secure: Optional[pulumi.Input[str]] = None,
781
+ log_level: Optional[pulumi.Input[str]] = None,
782
+ metric_level: Optional[pulumi.Input[str]] = None,
783
+ name: Optional[pulumi.Input[str]] = None,
784
+ null_input_behavior: Optional[pulumi.Input[str]] = None,
785
+ packages: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
786
+ procedure_definition: Optional[pulumi.Input[str]] = None,
787
+ return_type: Optional[pulumi.Input[str]] = None,
788
+ runtime_version: Optional[pulumi.Input[str]] = None,
789
+ schema: Optional[pulumi.Input[str]] = None,
790
+ secrets: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ProcedurePythonSecretArgs', 'ProcedurePythonSecretArgsDict']]]]] = None,
791
+ snowpark_package: Optional[pulumi.Input[str]] = None,
792
+ trace_level: Optional[pulumi.Input[str]] = None,
793
+ __props__=None):
794
+ """
795
+ ## Import
796
+
797
+ ```sh
798
+ $ pulumi import snowflake:index/procedurePython:ProcedurePython example '"<database_name>"."<schema_name>"."<function_name>"(varchar, varchar, varchar)'
799
+ ```
800
+
801
+ 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).
802
+
803
+ 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.
804
+
805
+ :param str resource_name: The name of the resource.
806
+ :param pulumi.ResourceOptions opts: Options for the resource.
807
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ProcedurePythonArgumentArgs', 'ProcedurePythonArgumentArgsDict']]]] arguments: List of the arguments for the procedure. Consult the [docs](https://docs.snowflake.com/en/sql-reference/sql/create-procedure#all-languages) for more details.
808
+ :param pulumi.Input[str] comment: Specifies a comment for the procedure.
809
+ :param pulumi.Input[str] database: The database in which to create the procedure. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
810
+ :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).
811
+ :param pulumi.Input[str] execute_as: Specifies whether the stored procedure executes with the privileges of the owner (an “owner’s rights” stored procedure) or with the privileges of the caller (a “caller’s rights” stored procedure). If you execute the statement CREATE PROCEDURE … EXECUTE AS CALLER, then in the future the procedure will execute as a caller’s rights procedure. If you execute CREATE PROCEDURE … EXECUTE AS OWNER, then the procedure will execute as an owner’s rights procedure. For more information, see [Understanding caller’s rights and owner’s rights stored procedures](https://docs.snowflake.com/en/developer-guide/stored-procedure/stored-procedures-rights). Valid values are (case-insensitive): `CALLER` | `OWNER`.
812
+ :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 procedure’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.
813
+ :param pulumi.Input[str] handler: Use the name of the stored procedure’s function or method. This can differ depending on whether the code is in-line or referenced at a stage. When the code is in-line, you can specify just the function name. When the code is imported from a stage, specify the fully-qualified handler function name as `<module_name>.<function_name>`.
814
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ProcedurePythonImportArgs', 'ProcedurePythonImportArgsDict']]]] imports: The location (stage), path, and name of the file(s) to import. You must set the IMPORTS clause to include any files that your stored procedure depends on. If you are writing an in-line stored procedure, you can omit this clause, unless your code depends on classes defined outside the stored procedure or resource files. If your stored procedure’s code will be on a stage, you must also include a path to the module file your code is in. The IMPORTS definition cannot reference variables from arguments that are passed into the stored procedure. Each file in the IMPORTS clause must have a unique name, even if the files are in different subdirectories or different stages.
815
+ :param pulumi.Input[str] is_secure: Specifies that the procedure is secure. For more information about secure procedures, see [Protecting Sensitive Information with Secure UDFs and Stored Procedures](https://docs.snowflake.com/en/developer-guide/secure-udf-procedure). 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.
816
+ :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).
817
+ :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).
818
+ :param pulumi.Input[str] name: The name of the procedure; the identifier does not need to be unique for the schema in which the procedure is created because stored procedures are [identified and resolved by the combination of the name and argument types](https://docs.snowflake.com/en/developer-guide/udf-stored-procedure-naming-conventions.html#label-procedure-function-name-overloading). Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
819
+ :param pulumi.Input[str] null_input_behavior: Specifies the behavior of the procedure when called with null inputs. Valid values are (case-insensitive): `CALLED ON NULL INPUT` | `RETURNS NULL ON NULL INPUT`.
820
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] packages: List of the names of packages deployed in Snowflake that should be included in the handler code’s execution environment. The Snowpark package is required for stored procedures, but is specified in the `snowpark_package` attribute. For more information about Snowpark, see [Snowpark API](https://docs.snowflake.com/en/developer-guide/snowpark/index).
821
+ :param pulumi.Input[str] procedure_definition: Defines the code executed by the stored procedure. The definition can consist of any valid code. Wrapping `$$` signs are added by the provider automatically; do not include them. The `procedure_definition` value must be Python source code. For more information, see [Python (using Snowpark)](https://docs.snowflake.com/en/developer-guide/stored-procedure/python/procedure-python-overview). 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.
822
+ :param pulumi.Input[str] return_type: Specifies the type of the result returned by the stored procedure. For `<result_data_type>`, use the Snowflake data type that corresponds to the type of the language that you are using (see [SQL-Python Data Type Mappings](https://docs.snowflake.com/en/developer-guide/udf-stored-procedure-data-type-mapping.html#label-sql-python-data-type-mappings)). For `RETURNS TABLE ( [ col_name col_data_type [ , ... ] ] )`, if you know the Snowflake data types of the columns in the returned table, specify the column names and types. Otherwise (e.g. if you are determining the column types during run time), you can omit the column names and types (i.e. `TABLE ()`).
823
+ :param pulumi.Input[str] runtime_version: The language runtime version to use. Currently, the supported versions are: 3.9, 3.10, and 3.11.
824
+ :param pulumi.Input[str] schema: The schema in which to create the procedure. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
825
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ProcedurePythonSecretArgs', 'ProcedurePythonSecretArgsDict']]]] 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.
826
+ :param pulumi.Input[str] snowpark_package: The Snowpark package is required for stored procedures, so it must always be present. For more information about Snowpark, see [Snowpark API](https://docs.snowflake.com/en/developer-guide/snowpark/index).
827
+ :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).
828
+ """
829
+ ...
830
+ @overload
831
+ def __init__(__self__,
832
+ resource_name: str,
833
+ args: ProcedurePythonArgs,
834
+ opts: Optional[pulumi.ResourceOptions] = None):
835
+ """
836
+ ## Import
837
+
838
+ ```sh
839
+ $ pulumi import snowflake:index/procedurePython:ProcedurePython example '"<database_name>"."<schema_name>"."<function_name>"(varchar, varchar, varchar)'
840
+ ```
841
+
842
+ 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).
843
+
844
+ 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.
845
+
846
+ :param str resource_name: The name of the resource.
847
+ :param ProcedurePythonArgs args: The arguments to use to populate this resource's properties.
848
+ :param pulumi.ResourceOptions opts: Options for the resource.
849
+ """
850
+ ...
851
+ def __init__(__self__, resource_name: str, *args, **kwargs):
852
+ resource_args, opts = _utilities.get_resource_args_opts(ProcedurePythonArgs, pulumi.ResourceOptions, *args, **kwargs)
853
+ if resource_args is not None:
854
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
855
+ else:
856
+ __self__._internal_init(resource_name, *args, **kwargs)
857
+
858
+ def _internal_init(__self__,
859
+ resource_name: str,
860
+ opts: Optional[pulumi.ResourceOptions] = None,
861
+ arguments: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ProcedurePythonArgumentArgs', 'ProcedurePythonArgumentArgsDict']]]]] = None,
862
+ comment: Optional[pulumi.Input[str]] = None,
863
+ database: Optional[pulumi.Input[str]] = None,
864
+ enable_console_output: Optional[pulumi.Input[bool]] = None,
865
+ execute_as: Optional[pulumi.Input[str]] = None,
866
+ external_access_integrations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
867
+ handler: Optional[pulumi.Input[str]] = None,
868
+ imports: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ProcedurePythonImportArgs', 'ProcedurePythonImportArgsDict']]]]] = None,
869
+ is_secure: Optional[pulumi.Input[str]] = None,
870
+ log_level: Optional[pulumi.Input[str]] = None,
871
+ metric_level: Optional[pulumi.Input[str]] = None,
872
+ name: Optional[pulumi.Input[str]] = None,
873
+ null_input_behavior: Optional[pulumi.Input[str]] = None,
874
+ packages: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
875
+ procedure_definition: Optional[pulumi.Input[str]] = None,
876
+ return_type: Optional[pulumi.Input[str]] = None,
877
+ runtime_version: Optional[pulumi.Input[str]] = None,
878
+ schema: Optional[pulumi.Input[str]] = None,
879
+ secrets: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ProcedurePythonSecretArgs', 'ProcedurePythonSecretArgsDict']]]]] = None,
880
+ snowpark_package: Optional[pulumi.Input[str]] = None,
881
+ trace_level: Optional[pulumi.Input[str]] = None,
882
+ __props__=None):
883
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
884
+ if not isinstance(opts, pulumi.ResourceOptions):
885
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
886
+ if opts.id is None:
887
+ if __props__ is not None:
888
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
889
+ __props__ = ProcedurePythonArgs.__new__(ProcedurePythonArgs)
890
+
891
+ __props__.__dict__["arguments"] = arguments
892
+ __props__.__dict__["comment"] = comment
893
+ if database is None and not opts.urn:
894
+ raise TypeError("Missing required property 'database'")
895
+ __props__.__dict__["database"] = database
896
+ __props__.__dict__["enable_console_output"] = enable_console_output
897
+ __props__.__dict__["execute_as"] = execute_as
898
+ __props__.__dict__["external_access_integrations"] = external_access_integrations
899
+ if handler is None and not opts.urn:
900
+ raise TypeError("Missing required property 'handler'")
901
+ __props__.__dict__["handler"] = handler
902
+ __props__.__dict__["imports"] = imports
903
+ __props__.__dict__["is_secure"] = is_secure
904
+ __props__.__dict__["log_level"] = log_level
905
+ __props__.__dict__["metric_level"] = metric_level
906
+ __props__.__dict__["name"] = name
907
+ __props__.__dict__["null_input_behavior"] = null_input_behavior
908
+ __props__.__dict__["packages"] = packages
909
+ __props__.__dict__["procedure_definition"] = procedure_definition
910
+ if return_type is None and not opts.urn:
911
+ raise TypeError("Missing required property 'return_type'")
912
+ __props__.__dict__["return_type"] = return_type
913
+ if runtime_version is None and not opts.urn:
914
+ raise TypeError("Missing required property 'runtime_version'")
915
+ __props__.__dict__["runtime_version"] = runtime_version
916
+ if schema is None and not opts.urn:
917
+ raise TypeError("Missing required property 'schema'")
918
+ __props__.__dict__["schema"] = schema
919
+ __props__.__dict__["secrets"] = secrets
920
+ if snowpark_package is None and not opts.urn:
921
+ raise TypeError("Missing required property 'snowpark_package'")
922
+ __props__.__dict__["snowpark_package"] = snowpark_package
923
+ __props__.__dict__["trace_level"] = trace_level
924
+ __props__.__dict__["fully_qualified_name"] = None
925
+ __props__.__dict__["parameters"] = None
926
+ __props__.__dict__["procedure_language"] = None
927
+ __props__.__dict__["show_outputs"] = None
928
+ super(ProcedurePython, __self__).__init__(
929
+ 'snowflake:index/procedurePython:ProcedurePython',
930
+ resource_name,
931
+ __props__,
932
+ opts)
933
+
934
+ @staticmethod
935
+ def get(resource_name: str,
936
+ id: pulumi.Input[str],
937
+ opts: Optional[pulumi.ResourceOptions] = None,
938
+ arguments: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ProcedurePythonArgumentArgs', 'ProcedurePythonArgumentArgsDict']]]]] = None,
939
+ comment: Optional[pulumi.Input[str]] = None,
940
+ database: Optional[pulumi.Input[str]] = None,
941
+ enable_console_output: Optional[pulumi.Input[bool]] = None,
942
+ execute_as: Optional[pulumi.Input[str]] = None,
943
+ external_access_integrations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
944
+ fully_qualified_name: Optional[pulumi.Input[str]] = None,
945
+ handler: Optional[pulumi.Input[str]] = None,
946
+ imports: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ProcedurePythonImportArgs', 'ProcedurePythonImportArgsDict']]]]] = None,
947
+ is_secure: Optional[pulumi.Input[str]] = None,
948
+ log_level: Optional[pulumi.Input[str]] = None,
949
+ metric_level: Optional[pulumi.Input[str]] = None,
950
+ name: Optional[pulumi.Input[str]] = None,
951
+ null_input_behavior: Optional[pulumi.Input[str]] = None,
952
+ packages: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
953
+ parameters: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ProcedurePythonParameterArgs', 'ProcedurePythonParameterArgsDict']]]]] = None,
954
+ procedure_definition: Optional[pulumi.Input[str]] = None,
955
+ procedure_language: Optional[pulumi.Input[str]] = None,
956
+ return_type: Optional[pulumi.Input[str]] = None,
957
+ runtime_version: Optional[pulumi.Input[str]] = None,
958
+ schema: Optional[pulumi.Input[str]] = None,
959
+ secrets: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ProcedurePythonSecretArgs', 'ProcedurePythonSecretArgsDict']]]]] = None,
960
+ show_outputs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ProcedurePythonShowOutputArgs', 'ProcedurePythonShowOutputArgsDict']]]]] = None,
961
+ snowpark_package: Optional[pulumi.Input[str]] = None,
962
+ trace_level: Optional[pulumi.Input[str]] = None) -> 'ProcedurePython':
963
+ """
964
+ Get an existing ProcedurePython resource's state with the given name, id, and optional extra
965
+ properties used to qualify the lookup.
966
+
967
+ :param str resource_name: The unique name of the resulting resource.
968
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
969
+ :param pulumi.ResourceOptions opts: Options for the resource.
970
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ProcedurePythonArgumentArgs', 'ProcedurePythonArgumentArgsDict']]]] arguments: List of the arguments for the procedure. Consult the [docs](https://docs.snowflake.com/en/sql-reference/sql/create-procedure#all-languages) for more details.
971
+ :param pulumi.Input[str] comment: Specifies a comment for the procedure.
972
+ :param pulumi.Input[str] database: The database in which to create the procedure. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
973
+ :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).
974
+ :param pulumi.Input[str] execute_as: Specifies whether the stored procedure executes with the privileges of the owner (an “owner’s rights” stored procedure) or with the privileges of the caller (a “caller’s rights” stored procedure). If you execute the statement CREATE PROCEDURE … EXECUTE AS CALLER, then in the future the procedure will execute as a caller’s rights procedure. If you execute CREATE PROCEDURE … EXECUTE AS OWNER, then the procedure will execute as an owner’s rights procedure. For more information, see [Understanding caller’s rights and owner’s rights stored procedures](https://docs.snowflake.com/en/developer-guide/stored-procedure/stored-procedures-rights). Valid values are (case-insensitive): `CALLER` | `OWNER`.
975
+ :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 procedure’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.
976
+ :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).
977
+ :param pulumi.Input[str] handler: Use the name of the stored procedure’s function or method. This can differ depending on whether the code is in-line or referenced at a stage. When the code is in-line, you can specify just the function name. When the code is imported from a stage, specify the fully-qualified handler function name as `<module_name>.<function_name>`.
978
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ProcedurePythonImportArgs', 'ProcedurePythonImportArgsDict']]]] imports: The location (stage), path, and name of the file(s) to import. You must set the IMPORTS clause to include any files that your stored procedure depends on. If you are writing an in-line stored procedure, you can omit this clause, unless your code depends on classes defined outside the stored procedure or resource files. If your stored procedure’s code will be on a stage, you must also include a path to the module file your code is in. The IMPORTS definition cannot reference variables from arguments that are passed into the stored procedure. Each file in the IMPORTS clause must have a unique name, even if the files are in different subdirectories or different stages.
979
+ :param pulumi.Input[str] is_secure: Specifies that the procedure is secure. For more information about secure procedures, see [Protecting Sensitive Information with Secure UDFs and Stored Procedures](https://docs.snowflake.com/en/developer-guide/secure-udf-procedure). 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.
980
+ :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).
981
+ :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).
982
+ :param pulumi.Input[str] name: The name of the procedure; the identifier does not need to be unique for the schema in which the procedure is created because stored procedures are [identified and resolved by the combination of the name and argument types](https://docs.snowflake.com/en/developer-guide/udf-stored-procedure-naming-conventions.html#label-procedure-function-name-overloading). Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
983
+ :param pulumi.Input[str] null_input_behavior: Specifies the behavior of the procedure when called with null inputs. Valid values are (case-insensitive): `CALLED ON NULL INPUT` | `RETURNS NULL ON NULL INPUT`.
984
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] packages: List of the names of packages deployed in Snowflake that should be included in the handler code’s execution environment. The Snowpark package is required for stored procedures, but is specified in the `snowpark_package` attribute. For more information about Snowpark, see [Snowpark API](https://docs.snowflake.com/en/developer-guide/snowpark/index).
985
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ProcedurePythonParameterArgs', 'ProcedurePythonParameterArgsDict']]]] parameters: Outputs the result of `SHOW PARAMETERS IN PROCEDURE` for the given procedure.
986
+ :param pulumi.Input[str] procedure_definition: Defines the code executed by the stored procedure. The definition can consist of any valid code. Wrapping `$$` signs are added by the provider automatically; do not include them. The `procedure_definition` value must be Python source code. For more information, see [Python (using Snowpark)](https://docs.snowflake.com/en/developer-guide/stored-procedure/python/procedure-python-overview). 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.
987
+ :param pulumi.Input[str] procedure_language: Specifies language for the procedure. Used to detect external changes.
988
+ :param pulumi.Input[str] return_type: Specifies the type of the result returned by the stored procedure. For `<result_data_type>`, use the Snowflake data type that corresponds to the type of the language that you are using (see [SQL-Python Data Type Mappings](https://docs.snowflake.com/en/developer-guide/udf-stored-procedure-data-type-mapping.html#label-sql-python-data-type-mappings)). For `RETURNS TABLE ( [ col_name col_data_type [ , ... ] ] )`, if you know the Snowflake data types of the columns in the returned table, specify the column names and types. Otherwise (e.g. if you are determining the column types during run time), you can omit the column names and types (i.e. `TABLE ()`).
989
+ :param pulumi.Input[str] runtime_version: The language runtime version to use. Currently, the supported versions are: 3.9, 3.10, and 3.11.
990
+ :param pulumi.Input[str] schema: The schema in which to create the procedure. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
991
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ProcedurePythonSecretArgs', 'ProcedurePythonSecretArgsDict']]]] 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.
992
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ProcedurePythonShowOutputArgs', 'ProcedurePythonShowOutputArgsDict']]]] show_outputs: Outputs the result of `SHOW PROCEDURE` for the given procedure.
993
+ :param pulumi.Input[str] snowpark_package: The Snowpark package is required for stored procedures, so it must always be present. For more information about Snowpark, see [Snowpark API](https://docs.snowflake.com/en/developer-guide/snowpark/index).
994
+ :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).
995
+ """
996
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
997
+
998
+ __props__ = _ProcedurePythonState.__new__(_ProcedurePythonState)
999
+
1000
+ __props__.__dict__["arguments"] = arguments
1001
+ __props__.__dict__["comment"] = comment
1002
+ __props__.__dict__["database"] = database
1003
+ __props__.__dict__["enable_console_output"] = enable_console_output
1004
+ __props__.__dict__["execute_as"] = execute_as
1005
+ __props__.__dict__["external_access_integrations"] = external_access_integrations
1006
+ __props__.__dict__["fully_qualified_name"] = fully_qualified_name
1007
+ __props__.__dict__["handler"] = handler
1008
+ __props__.__dict__["imports"] = imports
1009
+ __props__.__dict__["is_secure"] = is_secure
1010
+ __props__.__dict__["log_level"] = log_level
1011
+ __props__.__dict__["metric_level"] = metric_level
1012
+ __props__.__dict__["name"] = name
1013
+ __props__.__dict__["null_input_behavior"] = null_input_behavior
1014
+ __props__.__dict__["packages"] = packages
1015
+ __props__.__dict__["parameters"] = parameters
1016
+ __props__.__dict__["procedure_definition"] = procedure_definition
1017
+ __props__.__dict__["procedure_language"] = procedure_language
1018
+ __props__.__dict__["return_type"] = return_type
1019
+ __props__.__dict__["runtime_version"] = runtime_version
1020
+ __props__.__dict__["schema"] = schema
1021
+ __props__.__dict__["secrets"] = secrets
1022
+ __props__.__dict__["show_outputs"] = show_outputs
1023
+ __props__.__dict__["snowpark_package"] = snowpark_package
1024
+ __props__.__dict__["trace_level"] = trace_level
1025
+ return ProcedurePython(resource_name, opts=opts, __props__=__props__)
1026
+
1027
+ @property
1028
+ @pulumi.getter
1029
+ def arguments(self) -> pulumi.Output[Optional[Sequence['outputs.ProcedurePythonArgument']]]:
1030
+ """
1031
+ List of the arguments for the procedure. Consult the [docs](https://docs.snowflake.com/en/sql-reference/sql/create-procedure#all-languages) for more details.
1032
+ """
1033
+ return pulumi.get(self, "arguments")
1034
+
1035
+ @property
1036
+ @pulumi.getter
1037
+ def comment(self) -> pulumi.Output[Optional[str]]:
1038
+ """
1039
+ Specifies a comment for the procedure.
1040
+ """
1041
+ return pulumi.get(self, "comment")
1042
+
1043
+ @property
1044
+ @pulumi.getter
1045
+ def database(self) -> pulumi.Output[str]:
1046
+ """
1047
+ The database in which to create the procedure. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
1048
+ """
1049
+ return pulumi.get(self, "database")
1050
+
1051
+ @property
1052
+ @pulumi.getter(name="enableConsoleOutput")
1053
+ def enable_console_output(self) -> pulumi.Output[bool]:
1054
+ """
1055
+ 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).
1056
+ """
1057
+ return pulumi.get(self, "enable_console_output")
1058
+
1059
+ @property
1060
+ @pulumi.getter(name="executeAs")
1061
+ def execute_as(self) -> pulumi.Output[Optional[str]]:
1062
+ """
1063
+ Specifies whether the stored procedure executes with the privileges of the owner (an “owner’s rights” stored procedure) or with the privileges of the caller (a “caller’s rights” stored procedure). If you execute the statement CREATE PROCEDURE … EXECUTE AS CALLER, then in the future the procedure will execute as a caller’s rights procedure. If you execute CREATE PROCEDURE … EXECUTE AS OWNER, then the procedure will execute as an owner’s rights procedure. For more information, see [Understanding caller’s rights and owner’s rights stored procedures](https://docs.snowflake.com/en/developer-guide/stored-procedure/stored-procedures-rights). Valid values are (case-insensitive): `CALLER` | `OWNER`.
1064
+ """
1065
+ return pulumi.get(self, "execute_as")
1066
+
1067
+ @property
1068
+ @pulumi.getter(name="externalAccessIntegrations")
1069
+ def external_access_integrations(self) -> pulumi.Output[Optional[Sequence[str]]]:
1070
+ """
1071
+ The names of [external access integrations](https://docs.snowflake.com/en/sql-reference/sql/create-external-access-integration) needed in order for this procedure’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.
1072
+ """
1073
+ return pulumi.get(self, "external_access_integrations")
1074
+
1075
+ @property
1076
+ @pulumi.getter(name="fullyQualifiedName")
1077
+ def fully_qualified_name(self) -> pulumi.Output[str]:
1078
+ """
1079
+ Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
1080
+ """
1081
+ return pulumi.get(self, "fully_qualified_name")
1082
+
1083
+ @property
1084
+ @pulumi.getter
1085
+ def handler(self) -> pulumi.Output[str]:
1086
+ """
1087
+ Use the name of the stored procedure’s function or method. This can differ depending on whether the code is in-line or referenced at a stage. When the code is in-line, you can specify just the function name. When the code is imported from a stage, specify the fully-qualified handler function name as `<module_name>.<function_name>`.
1088
+ """
1089
+ return pulumi.get(self, "handler")
1090
+
1091
+ @property
1092
+ @pulumi.getter
1093
+ def imports(self) -> pulumi.Output[Optional[Sequence['outputs.ProcedurePythonImport']]]:
1094
+ """
1095
+ The location (stage), path, and name of the file(s) to import. You must set the IMPORTS clause to include any files that your stored procedure depends on. If you are writing an in-line stored procedure, you can omit this clause, unless your code depends on classes defined outside the stored procedure or resource files. If your stored procedure’s code will be on a stage, you must also include a path to the module file your code is in. The IMPORTS definition cannot reference variables from arguments that are passed into the stored procedure. Each file in the IMPORTS clause must have a unique name, even if the files are in different subdirectories or different stages.
1096
+ """
1097
+ return pulumi.get(self, "imports")
1098
+
1099
+ @property
1100
+ @pulumi.getter(name="isSecure")
1101
+ def is_secure(self) -> pulumi.Output[Optional[str]]:
1102
+ """
1103
+ Specifies that the procedure is secure. For more information about secure procedures, see [Protecting Sensitive Information with Secure UDFs and Stored Procedures](https://docs.snowflake.com/en/developer-guide/secure-udf-procedure). 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.
1104
+ """
1105
+ return pulumi.get(self, "is_secure")
1106
+
1107
+ @property
1108
+ @pulumi.getter(name="logLevel")
1109
+ def log_level(self) -> pulumi.Output[str]:
1110
+ """
1111
+ LOG*LEVEL to use when filtering events For more information, check [LOG*LEVEL docs](https://docs.snowflake.com/en/sql-reference/parameters#log-level).
1112
+ """
1113
+ return pulumi.get(self, "log_level")
1114
+
1115
+ @property
1116
+ @pulumi.getter(name="metricLevel")
1117
+ def metric_level(self) -> pulumi.Output[str]:
1118
+ """
1119
+ 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).
1120
+ """
1121
+ return pulumi.get(self, "metric_level")
1122
+
1123
+ @property
1124
+ @pulumi.getter
1125
+ def name(self) -> pulumi.Output[str]:
1126
+ """
1127
+ The name of the procedure; the identifier does not need to be unique for the schema in which the procedure is created because stored procedures are [identified and resolved by the combination of the name and argument types](https://docs.snowflake.com/en/developer-guide/udf-stored-procedure-naming-conventions.html#label-procedure-function-name-overloading). Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
1128
+ """
1129
+ return pulumi.get(self, "name")
1130
+
1131
+ @property
1132
+ @pulumi.getter(name="nullInputBehavior")
1133
+ def null_input_behavior(self) -> pulumi.Output[Optional[str]]:
1134
+ """
1135
+ Specifies the behavior of the procedure when called with null inputs. Valid values are (case-insensitive): `CALLED ON NULL INPUT` | `RETURNS NULL ON NULL INPUT`.
1136
+ """
1137
+ return pulumi.get(self, "null_input_behavior")
1138
+
1139
+ @property
1140
+ @pulumi.getter
1141
+ def packages(self) -> pulumi.Output[Optional[Sequence[str]]]:
1142
+ """
1143
+ List of the names of packages deployed in Snowflake that should be included in the handler code’s execution environment. The Snowpark package is required for stored procedures, but is specified in the `snowpark_package` attribute. For more information about Snowpark, see [Snowpark API](https://docs.snowflake.com/en/developer-guide/snowpark/index).
1144
+ """
1145
+ return pulumi.get(self, "packages")
1146
+
1147
+ @property
1148
+ @pulumi.getter
1149
+ def parameters(self) -> pulumi.Output[Sequence['outputs.ProcedurePythonParameter']]:
1150
+ """
1151
+ Outputs the result of `SHOW PARAMETERS IN PROCEDURE` for the given procedure.
1152
+ """
1153
+ return pulumi.get(self, "parameters")
1154
+
1155
+ @property
1156
+ @pulumi.getter(name="procedureDefinition")
1157
+ def procedure_definition(self) -> pulumi.Output[Optional[str]]:
1158
+ """
1159
+ Defines the code executed by the stored procedure. The definition can consist of any valid code. Wrapping `$$` signs are added by the provider automatically; do not include them. The `procedure_definition` value must be Python source code. For more information, see [Python (using Snowpark)](https://docs.snowflake.com/en/developer-guide/stored-procedure/python/procedure-python-overview). 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.
1160
+ """
1161
+ return pulumi.get(self, "procedure_definition")
1162
+
1163
+ @property
1164
+ @pulumi.getter(name="procedureLanguage")
1165
+ def procedure_language(self) -> pulumi.Output[str]:
1166
+ """
1167
+ Specifies language for the procedure. Used to detect external changes.
1168
+ """
1169
+ return pulumi.get(self, "procedure_language")
1170
+
1171
+ @property
1172
+ @pulumi.getter(name="returnType")
1173
+ def return_type(self) -> pulumi.Output[str]:
1174
+ """
1175
+ Specifies the type of the result returned by the stored procedure. For `<result_data_type>`, use the Snowflake data type that corresponds to the type of the language that you are using (see [SQL-Python Data Type Mappings](https://docs.snowflake.com/en/developer-guide/udf-stored-procedure-data-type-mapping.html#label-sql-python-data-type-mappings)). For `RETURNS TABLE ( [ col_name col_data_type [ , ... ] ] )`, if you know the Snowflake data types of the columns in the returned table, specify the column names and types. Otherwise (e.g. if you are determining the column types during run time), you can omit the column names and types (i.e. `TABLE ()`).
1176
+ """
1177
+ return pulumi.get(self, "return_type")
1178
+
1179
+ @property
1180
+ @pulumi.getter(name="runtimeVersion")
1181
+ def runtime_version(self) -> pulumi.Output[str]:
1182
+ """
1183
+ The language runtime version to use. Currently, the supported versions are: 3.9, 3.10, and 3.11.
1184
+ """
1185
+ return pulumi.get(self, "runtime_version")
1186
+
1187
+ @property
1188
+ @pulumi.getter
1189
+ def schema(self) -> pulumi.Output[str]:
1190
+ """
1191
+ The schema in which to create the procedure. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
1192
+ """
1193
+ return pulumi.get(self, "schema")
1194
+
1195
+ @property
1196
+ @pulumi.getter
1197
+ def secrets(self) -> pulumi.Output[Optional[Sequence['outputs.ProcedurePythonSecret']]]:
1198
+ """
1199
+ 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.
1200
+ """
1201
+ return pulumi.get(self, "secrets")
1202
+
1203
+ @property
1204
+ @pulumi.getter(name="showOutputs")
1205
+ def show_outputs(self) -> pulumi.Output[Sequence['outputs.ProcedurePythonShowOutput']]:
1206
+ """
1207
+ Outputs the result of `SHOW PROCEDURE` for the given procedure.
1208
+ """
1209
+ return pulumi.get(self, "show_outputs")
1210
+
1211
+ @property
1212
+ @pulumi.getter(name="snowparkPackage")
1213
+ def snowpark_package(self) -> pulumi.Output[str]:
1214
+ """
1215
+ The Snowpark package is required for stored procedures, so it must always be present. For more information about Snowpark, see [Snowpark API](https://docs.snowflake.com/en/developer-guide/snowpark/index).
1216
+ """
1217
+ return pulumi.get(self, "snowpark_package")
1218
+
1219
+ @property
1220
+ @pulumi.getter(name="traceLevel")
1221
+ def trace_level(self) -> pulumi.Output[str]:
1222
+ """
1223
+ 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).
1224
+ """
1225
+ return pulumi.get(self, "trace_level")
1226
+