@pulumi/snowflake 0.63.0-alpha.1734439451 → 1.0.0

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.
Files changed (301) hide show
  1. package/account.d.ts +40 -86
  2. package/account.js +12 -5
  3. package/account.js.map +1 -1
  4. package/accountParameter.d.ts +7 -7
  5. package/accountParameter.js +1 -1
  6. package/accountRole.d.ts +4 -4
  7. package/accountRole.js +1 -1
  8. package/apiAuthenticationIntegrationWithAuthorizationCodeGrant.d.ts +4 -13
  9. package/apiAuthenticationIntegrationWithAuthorizationCodeGrant.js +1 -1
  10. package/apiAuthenticationIntegrationWithAuthorizationCodeGrant.js.map +1 -1
  11. package/apiAuthenticationIntegrationWithClientCredentials.d.ts +4 -13
  12. package/apiAuthenticationIntegrationWithClientCredentials.js +1 -1
  13. package/apiAuthenticationIntegrationWithClientCredentials.js.map +1 -1
  14. package/apiAuthenticationIntegrationWithJwtBearer.d.ts +4 -13
  15. package/apiAuthenticationIntegrationWithJwtBearer.js +1 -1
  16. package/apiAuthenticationIntegrationWithJwtBearer.js.map +1 -1
  17. package/authenticationPolicy.d.ts +9 -9
  18. package/config/vars.d.ts +6 -74
  19. package/config/vars.js +6 -83
  20. package/config/vars.js.map +1 -1
  21. package/database.d.ts +4 -4
  22. package/database.js +1 -1
  23. package/databaseRole.d.ts +6 -6
  24. package/{unsafeExecute.d.ts → execute.d.ts} +21 -14
  25. package/{unsafeExecute.js → execute.js} +17 -10
  26. package/execute.js.map +1 -0
  27. package/externalOauthIntegration.d.ts +12 -12
  28. package/externalOauthIntegration.js +1 -1
  29. package/externalVolume.d.ts +5 -3
  30. package/externalVolume.js +2 -0
  31. package/externalVolume.js.map +1 -1
  32. package/functionJava.d.ts +324 -0
  33. package/{function.js → functionJava.js} +40 -22
  34. package/functionJava.js.map +1 -0
  35. package/functionJavascript.d.ts +240 -0
  36. package/functionJavascript.js +106 -0
  37. package/functionJavascript.js.map +1 -0
  38. package/functionPython.d.ts +324 -0
  39. package/functionPython.js +123 -0
  40. package/functionPython.js.map +1 -0
  41. package/functionScala.d.ts +324 -0
  42. package/functionScala.js +123 -0
  43. package/functionScala.js.map +1 -0
  44. package/functionSql.d.ts +228 -0
  45. package/functionSql.js +104 -0
  46. package/functionSql.js.map +1 -0
  47. package/getAccountRoles.d.ts +57 -0
  48. package/getAccountRoles.js +32 -0
  49. package/getAccountRoles.js.map +1 -0
  50. package/getAccounts.d.ts +25 -7
  51. package/getAccounts.js +10 -2
  52. package/getAccounts.js.map +1 -1
  53. package/getAlerts.d.ts +4 -0
  54. package/getAlerts.js +4 -0
  55. package/getAlerts.js.map +1 -1
  56. package/getConnections.d.ts +2 -48
  57. package/getConnections.js +2 -48
  58. package/getConnections.js.map +1 -1
  59. package/getCortexSearchServices.d.ts +4 -0
  60. package/getCortexSearchServices.js +4 -0
  61. package/getCortexSearchServices.js.map +1 -1
  62. package/getCurrentAccount.d.ts +4 -0
  63. package/getCurrentAccount.js +4 -0
  64. package/getCurrentAccount.js.map +1 -1
  65. package/getCurrentRole.d.ts +6 -0
  66. package/getCurrentRole.js +6 -0
  67. package/getCurrentRole.js.map +1 -1
  68. package/getDatabase.d.ts +4 -0
  69. package/getDatabase.js +4 -0
  70. package/getDatabase.js.map +1 -1
  71. package/getDatabaseRole.d.ts +4 -0
  72. package/getDatabaseRole.js +4 -0
  73. package/getDatabaseRole.js.map +1 -1
  74. package/getDatabaseRoles.d.ts +2 -6
  75. package/getDatabaseRoles.js +2 -6
  76. package/getDatabaseRoles.js.map +1 -1
  77. package/getDatabases.d.ts +2 -6
  78. package/getDatabases.js +2 -6
  79. package/getDatabases.js.map +1 -1
  80. package/getDynamicTables.d.ts +6 -0
  81. package/getDynamicTables.js +6 -0
  82. package/getDynamicTables.js.map +1 -1
  83. package/getExternalFunctions.d.ts +4 -0
  84. package/getExternalFunctions.js +4 -0
  85. package/getExternalFunctions.js.map +1 -1
  86. package/getExternalTables.d.ts +4 -0
  87. package/getExternalTables.js +4 -0
  88. package/getExternalTables.js.map +1 -1
  89. package/getFailoverGroups.d.ts +6 -0
  90. package/getFailoverGroups.js +6 -0
  91. package/getFailoverGroups.js.map +1 -1
  92. package/getFileFormats.d.ts +4 -0
  93. package/getFileFormats.js +4 -0
  94. package/getFileFormats.js.map +1 -1
  95. package/getFunctions.d.ts +4 -0
  96. package/getFunctions.js +4 -0
  97. package/getFunctions.js.map +1 -1
  98. package/getGrants.d.ts +0 -4
  99. package/getGrants.js +0 -4
  100. package/getGrants.js.map +1 -1
  101. package/getMaskingPolicies.d.ts +2 -6
  102. package/getMaskingPolicies.js +2 -6
  103. package/getMaskingPolicies.js.map +1 -1
  104. package/getMaterializedViews.d.ts +4 -0
  105. package/getMaterializedViews.js +4 -0
  106. package/getMaterializedViews.js.map +1 -1
  107. package/getNetworkPolicies.d.ts +2 -6
  108. package/getNetworkPolicies.js +2 -6
  109. package/getNetworkPolicies.js.map +1 -1
  110. package/getParameters.d.ts +4 -0
  111. package/getParameters.js +4 -0
  112. package/getParameters.js.map +1 -1
  113. package/getPipes.d.ts +4 -0
  114. package/getPipes.js +4 -0
  115. package/getPipes.js.map +1 -1
  116. package/getProcedures.d.ts +4 -0
  117. package/getProcedures.js +4 -0
  118. package/getProcedures.js.map +1 -1
  119. package/getResourceMonitors.d.ts +2 -6
  120. package/getResourceMonitors.js +2 -6
  121. package/getResourceMonitors.js.map +1 -1
  122. package/getRowAccessPolicies.d.ts +2 -6
  123. package/getRowAccessPolicies.js +2 -6
  124. package/getRowAccessPolicies.js.map +1 -1
  125. package/getSchemas.d.ts +6 -4
  126. package/getSchemas.js +6 -4
  127. package/getSchemas.js.map +1 -1
  128. package/getSecrets.d.ts +2 -6
  129. package/getSecrets.js +2 -6
  130. package/getSecrets.js.map +1 -1
  131. package/getSecurityIntegrations.d.ts +2 -6
  132. package/getSecurityIntegrations.js +2 -6
  133. package/getSecurityIntegrations.js.map +1 -1
  134. package/getSequences.d.ts +4 -0
  135. package/getSequences.js +4 -0
  136. package/getSequences.js.map +1 -1
  137. package/getShares.d.ts +4 -0
  138. package/getShares.js +4 -0
  139. package/getShares.js.map +1 -1
  140. package/getStages.d.ts +4 -0
  141. package/getStages.js +4 -0
  142. package/getStages.js.map +1 -1
  143. package/getStorageIntegrations.d.ts +4 -0
  144. package/getStorageIntegrations.js +4 -0
  145. package/getStorageIntegrations.js.map +1 -1
  146. package/getStreamlits.d.ts +2 -6
  147. package/getStreamlits.js +2 -6
  148. package/getStreamlits.js.map +1 -1
  149. package/getStreams.d.ts +2 -6
  150. package/getStreams.js +2 -6
  151. package/getStreams.js.map +1 -1
  152. package/getSystemGenerateScimAccessToken.d.ts +4 -0
  153. package/getSystemGenerateScimAccessToken.js +4 -0
  154. package/getSystemGenerateScimAccessToken.js.map +1 -1
  155. package/getSystemGetPrivateLinkConfig.d.ts +4 -0
  156. package/getSystemGetPrivateLinkConfig.js +4 -0
  157. package/getSystemGetPrivateLinkConfig.js.map +1 -1
  158. package/getSystemGetSnowflakePlatformInfo.d.ts +6 -0
  159. package/getSystemGetSnowflakePlatformInfo.js +6 -0
  160. package/getSystemGetSnowflakePlatformInfo.js.map +1 -1
  161. package/getTables.d.ts +4 -0
  162. package/getTables.js +4 -0
  163. package/getTables.js.map +1 -1
  164. package/getTags.d.ts +2 -6
  165. package/getTags.js +2 -6
  166. package/getTags.js.map +1 -1
  167. package/getTasks.d.ts +0 -4
  168. package/getTasks.js +0 -4
  169. package/getTasks.js.map +1 -1
  170. package/getUsers.d.ts +2 -6
  171. package/getUsers.js +2 -6
  172. package/getUsers.js.map +1 -1
  173. package/getViews.d.ts +2 -6
  174. package/getViews.js +2 -6
  175. package/getViews.js.map +1 -1
  176. package/getWarehouses.d.ts +2 -6
  177. package/getWarehouses.js +2 -6
  178. package/getWarehouses.js.map +1 -1
  179. package/grantAccountRole.d.ts +9 -9
  180. package/grantApplicationRole.d.ts +3 -3
  181. package/grantDatabaseRole.d.ts +12 -12
  182. package/grantOwnership.d.ts +6 -6
  183. package/grantPrivilegesToAccountRole.d.ts +6 -6
  184. package/grantPrivilegesToDatabaseRole.d.ts +6 -6
  185. package/grantPrivilegesToShare.d.ts +18 -18
  186. package/index.d.ts +36 -36
  187. package/index.js +62 -60
  188. package/index.js.map +1 -1
  189. package/legacyServiceUser.d.ts +9 -9
  190. package/maskingPolicy.d.ts +9 -9
  191. package/networkPolicy.d.ts +10 -10
  192. package/networkPolicy.js +1 -1
  193. package/oauthIntegrationForCustomClients.d.ts +23 -15
  194. package/oauthIntegrationForCustomClients.js +3 -4
  195. package/oauthIntegrationForCustomClients.js.map +1 -1
  196. package/oauthIntegrationForPartnerApplications.d.ts +16 -8
  197. package/oauthIntegrationForPartnerApplications.js +2 -3
  198. package/oauthIntegrationForPartnerApplications.js.map +1 -1
  199. package/package.json +2 -2
  200. package/passwordPolicy.d.ts +7 -0
  201. package/passwordPolicy.js +7 -0
  202. package/passwordPolicy.js.map +1 -1
  203. package/primaryConnection.d.ts +7 -7
  204. package/primaryConnection.js +1 -1
  205. package/procedureJava.d.ts +345 -0
  206. package/procedureJava.js +128 -0
  207. package/procedureJava.js.map +1 -0
  208. package/procedureJavascript.d.ts +249 -0
  209. package/procedureJavascript.js +106 -0
  210. package/procedureJavascript.js.map +1 -0
  211. package/procedurePython.d.ts +333 -0
  212. package/procedurePython.js +126 -0
  213. package/procedurePython.js.map +1 -0
  214. package/procedureScala.d.ts +345 -0
  215. package/procedureScala.js +128 -0
  216. package/procedureScala.js.map +1 -0
  217. package/procedureSql.d.ts +249 -0
  218. package/{procedure.js → procedureSql.js} +36 -32
  219. package/procedureSql.js.map +1 -0
  220. package/provider.d.ts +11 -182
  221. package/provider.js +10 -21
  222. package/provider.js.map +1 -1
  223. package/resourceMonitor.d.ts +7 -9
  224. package/resourceMonitor.js +1 -3
  225. package/resourceMonitor.js.map +1 -1
  226. package/rowAccessPolicy.d.ts +9 -9
  227. package/saml2Integration.d.ts +4 -4
  228. package/saml2Integration.js +1 -1
  229. package/schema.d.ts +6 -8
  230. package/schema.js +0 -2
  231. package/schema.js.map +1 -1
  232. package/scimIntegration.d.ts +7 -7
  233. package/scimIntegration.js +1 -1
  234. package/secondaryConnection.d.ts +7 -7
  235. package/secondaryConnection.js +1 -1
  236. package/secondaryDatabase.d.ts +7 -7
  237. package/secondaryDatabase.js +1 -1
  238. package/secretWithAuthorizationCodeGrant.d.ts +12 -12
  239. package/secretWithBasicAuthentication.d.ts +9 -9
  240. package/secretWithClientCredentials.d.ts +12 -12
  241. package/secretWithGenericString.d.ts +9 -9
  242. package/serviceUser.d.ts +9 -9
  243. package/sharedDatabase.d.ts +7 -7
  244. package/sharedDatabase.js +1 -1
  245. package/streamOnDirectoryTable.d.ts +12 -21
  246. package/streamOnDirectoryTable.js.map +1 -1
  247. package/streamOnExternalTable.d.ts +12 -21
  248. package/streamOnExternalTable.js.map +1 -1
  249. package/streamOnTable.d.ts +12 -21
  250. package/streamOnTable.js.map +1 -1
  251. package/streamOnView.d.ts +12 -21
  252. package/streamOnView.js.map +1 -1
  253. package/streamlit.d.ts +18 -20
  254. package/streamlit.js +0 -2
  255. package/streamlit.js.map +1 -1
  256. package/tag.d.ts +12 -12
  257. package/tagAssociation.d.ts +11 -31
  258. package/tagAssociation.js +2 -4
  259. package/tagAssociation.js.map +1 -1
  260. package/task.d.ts +25 -27
  261. package/task.js +1 -3
  262. package/task.js.map +1 -1
  263. package/types/input.d.ts +828 -47
  264. package/types/output.d.ts +846 -94
  265. package/user.d.ts +9 -9
  266. package/view.d.ts +12 -21
  267. package/view.js.map +1 -1
  268. package/warehouse.d.ts +7 -7
  269. package/warehouse.js +1 -1
  270. package/databaseOld.d.ts +0 -147
  271. package/databaseOld.js +0 -70
  272. package/databaseOld.js.map +0 -1
  273. package/function.d.ts +0 -247
  274. package/function.js.map +0 -1
  275. package/getRole.d.ts +0 -66
  276. package/getRole.js +0 -50
  277. package/getRole.js.map +0 -1
  278. package/getRoles.d.ts +0 -61
  279. package/getRoles.js +0 -36
  280. package/getRoles.js.map +0 -1
  281. package/oauthIntegration.d.ts +0 -171
  282. package/oauthIntegration.js +0 -79
  283. package/oauthIntegration.js.map +0 -1
  284. package/procedure.d.ts +0 -253
  285. package/procedure.js.map +0 -1
  286. package/role.d.ts +0 -76
  287. package/role.js +0 -62
  288. package/role.js.map +0 -1
  289. package/samlIntegration.d.ts +0 -243
  290. package/samlIntegration.js +0 -104
  291. package/samlIntegration.js.map +0 -1
  292. package/sessionParameter.d.ts +0 -91
  293. package/sessionParameter.js +0 -68
  294. package/sessionParameter.js.map +0 -1
  295. package/stream.d.ts +0 -181
  296. package/stream.js +0 -86
  297. package/stream.js.map +0 -1
  298. package/tagMaskingPolicyAssociation.d.ts +0 -69
  299. package/tagMaskingPolicyAssociation.js +0 -66
  300. package/tagMaskingPolicyAssociation.js.map +0 -1
  301. package/unsafeExecute.js.map +0 -1
@@ -0,0 +1,324 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as inputs from "./types/input";
3
+ import * as outputs from "./types/output";
4
+ /**
5
+ * ## Import
6
+ *
7
+ * ```sh
8
+ * $ pulumi import snowflake:index/functionPython:FunctionPython example '"<database_name>"."<schema_name>"."<function_name>"(varchar, varchar, varchar)'
9
+ * ```
10
+ *
11
+ * 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).
12
+ *
13
+ * 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.
14
+ */
15
+ export declare class FunctionPython extends pulumi.CustomResource {
16
+ /**
17
+ * Get an existing FunctionPython resource's state with the given name, ID, and optional extra
18
+ * properties used to qualify the lookup.
19
+ *
20
+ * @param name The _unique_ name of the resulting resource.
21
+ * @param id The _unique_ provider ID of the resource to lookup.
22
+ * @param state Any extra arguments used during the lookup.
23
+ * @param opts Optional settings to control the behavior of the CustomResource.
24
+ */
25
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: FunctionPythonState, opts?: pulumi.CustomResourceOptions): FunctionPython;
26
+ /**
27
+ * Returns true if the given object is an instance of FunctionPython. This is designed to work even
28
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
29
+ */
30
+ static isInstance(obj: any): obj is FunctionPython;
31
+ /**
32
+ * List of the arguments for the function. Consult the [docs](https://docs.snowflake.com/en/sql-reference/sql/create-function#all-languages) for more details.
33
+ */
34
+ readonly arguments: pulumi.Output<outputs.FunctionPythonArgument[] | undefined>;
35
+ /**
36
+ * Specifies a comment for the function.
37
+ */
38
+ readonly comment: pulumi.Output<string | undefined>;
39
+ /**
40
+ * The database in which to create the function. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
41
+ */
42
+ readonly database: pulumi.Output<string>;
43
+ /**
44
+ * 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).
45
+ */
46
+ readonly enableConsoleOutput: pulumi.Output<boolean>;
47
+ /**
48
+ * The names of [external access integrations](https://docs.snowflake.com/en/sql-reference/sql/create-external-access-integration) needed in order for this function’s handler code to access external networks. An external access integration specifies [network rules](https://docs.snowflake.com/en/sql-reference/sql/create-network-rule) and [secrets](https://docs.snowflake.com/en/sql-reference/sql/create-secret) that specify external locations and credentials (if any) allowed for use by handler code when making requests of an external network, such as an external REST API.
49
+ */
50
+ readonly externalAccessIntegrations: pulumi.Output<string[] | undefined>;
51
+ /**
52
+ * Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
53
+ */
54
+ readonly fullyQualifiedName: pulumi.Output<string>;
55
+ /**
56
+ * Defines the handler code executed when the UDF is called. Wrapping `$$` signs are added by the provider automatically; do not include them. The `functionDefinition` value must be Python source code. For more information, see [Introduction to Python UDFs](https://docs.snowflake.com/en/developer-guide/udf/python/udf-python-introduction). To mitigate permadiff on this field, the provider replaces blank characters with a space. This can lead to false positives in cases where a change in case or run of whitespace is semantically significant.
57
+ */
58
+ readonly functionDefinition: pulumi.Output<string | undefined>;
59
+ /**
60
+ * Specifies language for the user. Used to detect external changes.
61
+ */
62
+ readonly functionLanguage: pulumi.Output<string>;
63
+ /**
64
+ * The name of the handler function or class. If the handler is for a scalar UDF, returning a non-tabular value, the HANDLER value should be a function name. If the handler code is in-line with the CREATE FUNCTION statement, you can use the function name alone. When the handler code is referenced at a stage, this value should be qualified with the module name, as in the following form: `my_module.my_function`. If the handler is for a tabular UDF, the HANDLER value should be the name of a handler class.
65
+ */
66
+ readonly handler: pulumi.Output<string>;
67
+ /**
68
+ * The location (stage), path, and name of the file(s) to import. A file can be a `.py` file or another type of file. Python UDFs can also read non-Python files, such as text files. For an example, see [Reading a file](https://docs.snowflake.com/en/developer-guide/udf/python/udf-python-examples.html#label-udf-python-read-files). Consult the [docs](https://docs.snowflake.com/en/sql-reference/sql/create-function#python).
69
+ */
70
+ readonly imports: pulumi.Output<outputs.FunctionPythonImport[] | undefined>;
71
+ /**
72
+ * Specifies that the function is an aggregate function. For more information about user-defined aggregate functions, see [Python user-defined aggregate functions](https://docs.snowflake.com/en/developer-guide/udf/python/udf-python-aggregate-functions). Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
73
+ */
74
+ readonly isAggregate: pulumi.Output<string | undefined>;
75
+ readonly isSecure: pulumi.Output<string | undefined>;
76
+ /**
77
+ * LOG*LEVEL to use when filtering events For more information, check [LOG*LEVEL docs](https://docs.snowflake.com/en/sql-reference/parameters#log-level).
78
+ */
79
+ readonly logLevel: pulumi.Output<string>;
80
+ /**
81
+ * 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).
82
+ */
83
+ readonly metricLevel: pulumi.Output<string>;
84
+ /**
85
+ * The name of the function; the identifier does not need to be unique for the schema in which the function is created because UDFs are identified and resolved by the combination of the name and argument types. Check the [docs](https://docs.snowflake.com/en/sql-reference/sql/create-function#all-languages). Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
86
+ */
87
+ readonly name: pulumi.Output<string>;
88
+ /**
89
+ * Specifies the behavior of the function when called with null inputs. Valid values are (case-insensitive): `CALLED ON NULL INPUT` | `RETURNS NULL ON NULL INPUT`.
90
+ */
91
+ readonly nullInputBehavior: pulumi.Output<string | undefined>;
92
+ /**
93
+ * The name and version number of packages required as dependencies. The value should be of the form `package_name==version_number`.
94
+ */
95
+ readonly packages: pulumi.Output<string[] | undefined>;
96
+ /**
97
+ * Outputs the result of `SHOW PARAMETERS IN FUNCTION` for the given function.
98
+ */
99
+ readonly parameters: pulumi.Output<outputs.FunctionPythonParameter[]>;
100
+ /**
101
+ * Specifies the behavior of the function when returning results. Valid values are (case-insensitive): `VOLATILE` | `IMMUTABLE`.
102
+ */
103
+ readonly returnResultsBehavior: pulumi.Output<string | undefined>;
104
+ /**
105
+ * Specifies the results returned by the UDF, which determines the UDF type. Use `<result_data_type>` to create a scalar UDF that returns a single value with the specified data type. Use `TABLE (col_name col_data_type, ...)` to creates a table UDF that returns tabular results with the specified table column(s) and column type(s). For the details, consult the [docs](https://docs.snowflake.com/en/sql-reference/sql/create-function#all-languages).
106
+ */
107
+ readonly returnType: pulumi.Output<string>;
108
+ /**
109
+ * Specifies the Python version to use. The supported versions of Python are: 3.9, 3.10, and 3.11.
110
+ */
111
+ readonly runtimeVersion: pulumi.Output<string>;
112
+ /**
113
+ * The schema in which to create the function. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
114
+ */
115
+ readonly schema: pulumi.Output<string>;
116
+ /**
117
+ * 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.
118
+ */
119
+ readonly secrets: pulumi.Output<outputs.FunctionPythonSecret[] | undefined>;
120
+ /**
121
+ * Outputs the result of `SHOW FUNCTION` for the given function.
122
+ */
123
+ readonly showOutputs: pulumi.Output<outputs.FunctionPythonShowOutput[]>;
124
+ /**
125
+ * 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).
126
+ */
127
+ readonly traceLevel: pulumi.Output<string>;
128
+ /**
129
+ * Create a FunctionPython resource with the given unique name, arguments, and options.
130
+ *
131
+ * @param name The _unique_ name of the resource.
132
+ * @param args The arguments to use to populate this resource's properties.
133
+ * @param opts A bag of options that control this resource's behavior.
134
+ */
135
+ constructor(name: string, args: FunctionPythonArgs, opts?: pulumi.CustomResourceOptions);
136
+ }
137
+ /**
138
+ * Input properties used for looking up and filtering FunctionPython resources.
139
+ */
140
+ export interface FunctionPythonState {
141
+ /**
142
+ * List of the arguments for the function. Consult the [docs](https://docs.snowflake.com/en/sql-reference/sql/create-function#all-languages) for more details.
143
+ */
144
+ arguments?: pulumi.Input<pulumi.Input<inputs.FunctionPythonArgument>[]>;
145
+ /**
146
+ * Specifies a comment for the function.
147
+ */
148
+ comment?: pulumi.Input<string>;
149
+ /**
150
+ * The database in which to create the function. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
151
+ */
152
+ database?: pulumi.Input<string>;
153
+ /**
154
+ * 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).
155
+ */
156
+ enableConsoleOutput?: pulumi.Input<boolean>;
157
+ /**
158
+ * The names of [external access integrations](https://docs.snowflake.com/en/sql-reference/sql/create-external-access-integration) needed in order for this function’s handler code to access external networks. An external access integration specifies [network rules](https://docs.snowflake.com/en/sql-reference/sql/create-network-rule) and [secrets](https://docs.snowflake.com/en/sql-reference/sql/create-secret) that specify external locations and credentials (if any) allowed for use by handler code when making requests of an external network, such as an external REST API.
159
+ */
160
+ externalAccessIntegrations?: pulumi.Input<pulumi.Input<string>[]>;
161
+ /**
162
+ * Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
163
+ */
164
+ fullyQualifiedName?: pulumi.Input<string>;
165
+ /**
166
+ * Defines the handler code executed when the UDF is called. Wrapping `$$` signs are added by the provider automatically; do not include them. The `functionDefinition` value must be Python source code. For more information, see [Introduction to Python UDFs](https://docs.snowflake.com/en/developer-guide/udf/python/udf-python-introduction). To mitigate permadiff on this field, the provider replaces blank characters with a space. This can lead to false positives in cases where a change in case or run of whitespace is semantically significant.
167
+ */
168
+ functionDefinition?: pulumi.Input<string>;
169
+ /**
170
+ * Specifies language for the user. Used to detect external changes.
171
+ */
172
+ functionLanguage?: pulumi.Input<string>;
173
+ /**
174
+ * The name of the handler function or class. If the handler is for a scalar UDF, returning a non-tabular value, the HANDLER value should be a function name. If the handler code is in-line with the CREATE FUNCTION statement, you can use the function name alone. When the handler code is referenced at a stage, this value should be qualified with the module name, as in the following form: `my_module.my_function`. If the handler is for a tabular UDF, the HANDLER value should be the name of a handler class.
175
+ */
176
+ handler?: pulumi.Input<string>;
177
+ /**
178
+ * The location (stage), path, and name of the file(s) to import. A file can be a `.py` file or another type of file. Python UDFs can also read non-Python files, such as text files. For an example, see [Reading a file](https://docs.snowflake.com/en/developer-guide/udf/python/udf-python-examples.html#label-udf-python-read-files). Consult the [docs](https://docs.snowflake.com/en/sql-reference/sql/create-function#python).
179
+ */
180
+ imports?: pulumi.Input<pulumi.Input<inputs.FunctionPythonImport>[]>;
181
+ /**
182
+ * Specifies that the function is an aggregate function. For more information about user-defined aggregate functions, see [Python user-defined aggregate functions](https://docs.snowflake.com/en/developer-guide/udf/python/udf-python-aggregate-functions). Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
183
+ */
184
+ isAggregate?: pulumi.Input<string>;
185
+ isSecure?: pulumi.Input<string>;
186
+ /**
187
+ * LOG*LEVEL to use when filtering events For more information, check [LOG*LEVEL docs](https://docs.snowflake.com/en/sql-reference/parameters#log-level).
188
+ */
189
+ logLevel?: pulumi.Input<string>;
190
+ /**
191
+ * 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).
192
+ */
193
+ metricLevel?: pulumi.Input<string>;
194
+ /**
195
+ * The name of the function; the identifier does not need to be unique for the schema in which the function is created because UDFs are identified and resolved by the combination of the name and argument types. Check the [docs](https://docs.snowflake.com/en/sql-reference/sql/create-function#all-languages). Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
196
+ */
197
+ name?: pulumi.Input<string>;
198
+ /**
199
+ * Specifies the behavior of the function when called with null inputs. Valid values are (case-insensitive): `CALLED ON NULL INPUT` | `RETURNS NULL ON NULL INPUT`.
200
+ */
201
+ nullInputBehavior?: pulumi.Input<string>;
202
+ /**
203
+ * The name and version number of packages required as dependencies. The value should be of the form `package_name==version_number`.
204
+ */
205
+ packages?: pulumi.Input<pulumi.Input<string>[]>;
206
+ /**
207
+ * Outputs the result of `SHOW PARAMETERS IN FUNCTION` for the given function.
208
+ */
209
+ parameters?: pulumi.Input<pulumi.Input<inputs.FunctionPythonParameter>[]>;
210
+ /**
211
+ * Specifies the behavior of the function when returning results. Valid values are (case-insensitive): `VOLATILE` | `IMMUTABLE`.
212
+ */
213
+ returnResultsBehavior?: pulumi.Input<string>;
214
+ /**
215
+ * Specifies the results returned by the UDF, which determines the UDF type. Use `<result_data_type>` to create a scalar UDF that returns a single value with the specified data type. Use `TABLE (col_name col_data_type, ...)` to creates a table UDF that returns tabular results with the specified table column(s) and column type(s). For the details, consult the [docs](https://docs.snowflake.com/en/sql-reference/sql/create-function#all-languages).
216
+ */
217
+ returnType?: pulumi.Input<string>;
218
+ /**
219
+ * Specifies the Python version to use. The supported versions of Python are: 3.9, 3.10, and 3.11.
220
+ */
221
+ runtimeVersion?: pulumi.Input<string>;
222
+ /**
223
+ * The schema in which to create the function. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
224
+ */
225
+ schema?: pulumi.Input<string>;
226
+ /**
227
+ * 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.
228
+ */
229
+ secrets?: pulumi.Input<pulumi.Input<inputs.FunctionPythonSecret>[]>;
230
+ /**
231
+ * Outputs the result of `SHOW FUNCTION` for the given function.
232
+ */
233
+ showOutputs?: pulumi.Input<pulumi.Input<inputs.FunctionPythonShowOutput>[]>;
234
+ /**
235
+ * 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).
236
+ */
237
+ traceLevel?: pulumi.Input<string>;
238
+ }
239
+ /**
240
+ * The set of arguments for constructing a FunctionPython resource.
241
+ */
242
+ export interface FunctionPythonArgs {
243
+ /**
244
+ * List of the arguments for the function. Consult the [docs](https://docs.snowflake.com/en/sql-reference/sql/create-function#all-languages) for more details.
245
+ */
246
+ arguments?: pulumi.Input<pulumi.Input<inputs.FunctionPythonArgument>[]>;
247
+ /**
248
+ * Specifies a comment for the function.
249
+ */
250
+ comment?: pulumi.Input<string>;
251
+ /**
252
+ * The database in which to create the function. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
253
+ */
254
+ database: pulumi.Input<string>;
255
+ /**
256
+ * 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).
257
+ */
258
+ enableConsoleOutput?: pulumi.Input<boolean>;
259
+ /**
260
+ * The names of [external access integrations](https://docs.snowflake.com/en/sql-reference/sql/create-external-access-integration) needed in order for this function’s handler code to access external networks. An external access integration specifies [network rules](https://docs.snowflake.com/en/sql-reference/sql/create-network-rule) and [secrets](https://docs.snowflake.com/en/sql-reference/sql/create-secret) that specify external locations and credentials (if any) allowed for use by handler code when making requests of an external network, such as an external REST API.
261
+ */
262
+ externalAccessIntegrations?: pulumi.Input<pulumi.Input<string>[]>;
263
+ /**
264
+ * Defines the handler code executed when the UDF is called. Wrapping `$$` signs are added by the provider automatically; do not include them. The `functionDefinition` value must be Python source code. For more information, see [Introduction to Python UDFs](https://docs.snowflake.com/en/developer-guide/udf/python/udf-python-introduction). To mitigate permadiff on this field, the provider replaces blank characters with a space. This can lead to false positives in cases where a change in case or run of whitespace is semantically significant.
265
+ */
266
+ functionDefinition?: pulumi.Input<string>;
267
+ /**
268
+ * The name of the handler function or class. If the handler is for a scalar UDF, returning a non-tabular value, the HANDLER value should be a function name. If the handler code is in-line with the CREATE FUNCTION statement, you can use the function name alone. When the handler code is referenced at a stage, this value should be qualified with the module name, as in the following form: `my_module.my_function`. If the handler is for a tabular UDF, the HANDLER value should be the name of a handler class.
269
+ */
270
+ handler: pulumi.Input<string>;
271
+ /**
272
+ * The location (stage), path, and name of the file(s) to import. A file can be a `.py` file or another type of file. Python UDFs can also read non-Python files, such as text files. For an example, see [Reading a file](https://docs.snowflake.com/en/developer-guide/udf/python/udf-python-examples.html#label-udf-python-read-files). Consult the [docs](https://docs.snowflake.com/en/sql-reference/sql/create-function#python).
273
+ */
274
+ imports?: pulumi.Input<pulumi.Input<inputs.FunctionPythonImport>[]>;
275
+ /**
276
+ * Specifies that the function is an aggregate function. For more information about user-defined aggregate functions, see [Python user-defined aggregate functions](https://docs.snowflake.com/en/developer-guide/udf/python/udf-python-aggregate-functions). Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
277
+ */
278
+ isAggregate?: pulumi.Input<string>;
279
+ isSecure?: pulumi.Input<string>;
280
+ /**
281
+ * LOG*LEVEL to use when filtering events For more information, check [LOG*LEVEL docs](https://docs.snowflake.com/en/sql-reference/parameters#log-level).
282
+ */
283
+ logLevel?: pulumi.Input<string>;
284
+ /**
285
+ * 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).
286
+ */
287
+ metricLevel?: pulumi.Input<string>;
288
+ /**
289
+ * The name of the function; the identifier does not need to be unique for the schema in which the function is created because UDFs are identified and resolved by the combination of the name and argument types. Check the [docs](https://docs.snowflake.com/en/sql-reference/sql/create-function#all-languages). Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
290
+ */
291
+ name?: pulumi.Input<string>;
292
+ /**
293
+ * Specifies the behavior of the function when called with null inputs. Valid values are (case-insensitive): `CALLED ON NULL INPUT` | `RETURNS NULL ON NULL INPUT`.
294
+ */
295
+ nullInputBehavior?: pulumi.Input<string>;
296
+ /**
297
+ * The name and version number of packages required as dependencies. The value should be of the form `package_name==version_number`.
298
+ */
299
+ packages?: pulumi.Input<pulumi.Input<string>[]>;
300
+ /**
301
+ * Specifies the behavior of the function when returning results. Valid values are (case-insensitive): `VOLATILE` | `IMMUTABLE`.
302
+ */
303
+ returnResultsBehavior?: pulumi.Input<string>;
304
+ /**
305
+ * Specifies the results returned by the UDF, which determines the UDF type. Use `<result_data_type>` to create a scalar UDF that returns a single value with the specified data type. Use `TABLE (col_name col_data_type, ...)` to creates a table UDF that returns tabular results with the specified table column(s) and column type(s). For the details, consult the [docs](https://docs.snowflake.com/en/sql-reference/sql/create-function#all-languages).
306
+ */
307
+ returnType: pulumi.Input<string>;
308
+ /**
309
+ * Specifies the Python version to use. The supported versions of Python are: 3.9, 3.10, and 3.11.
310
+ */
311
+ runtimeVersion: pulumi.Input<string>;
312
+ /**
313
+ * The schema in which to create the function. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
314
+ */
315
+ schema: pulumi.Input<string>;
316
+ /**
317
+ * 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.
318
+ */
319
+ secrets?: pulumi.Input<pulumi.Input<inputs.FunctionPythonSecret>[]>;
320
+ /**
321
+ * 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).
322
+ */
323
+ traceLevel?: pulumi.Input<string>;
324
+ }
@@ -0,0 +1,123 @@
1
+ "use strict";
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
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.FunctionPython = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * ## Import
10
+ *
11
+ * ```sh
12
+ * $ pulumi import snowflake:index/functionPython:FunctionPython example '"<database_name>"."<schema_name>"."<function_name>"(varchar, varchar, varchar)'
13
+ * ```
14
+ *
15
+ * 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).
16
+ *
17
+ * 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.
18
+ */
19
+ class FunctionPython extends pulumi.CustomResource {
20
+ /**
21
+ * Get an existing FunctionPython resource's state with the given name, ID, and optional extra
22
+ * properties used to qualify the lookup.
23
+ *
24
+ * @param name The _unique_ name of the resulting resource.
25
+ * @param id The _unique_ provider ID of the resource to lookup.
26
+ * @param state Any extra arguments used during the lookup.
27
+ * @param opts Optional settings to control the behavior of the CustomResource.
28
+ */
29
+ static get(name, id, state, opts) {
30
+ return new FunctionPython(name, state, Object.assign(Object.assign({}, opts), { id: id }));
31
+ }
32
+ /**
33
+ * Returns true if the given object is an instance of FunctionPython. This is designed to work even
34
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
35
+ */
36
+ static isInstance(obj) {
37
+ if (obj === undefined || obj === null) {
38
+ return false;
39
+ }
40
+ return obj['__pulumiType'] === FunctionPython.__pulumiType;
41
+ }
42
+ constructor(name, argsOrState, opts) {
43
+ let resourceInputs = {};
44
+ opts = opts || {};
45
+ if (opts.id) {
46
+ const state = argsOrState;
47
+ resourceInputs["arguments"] = state ? state.arguments : undefined;
48
+ resourceInputs["comment"] = state ? state.comment : undefined;
49
+ resourceInputs["database"] = state ? state.database : undefined;
50
+ resourceInputs["enableConsoleOutput"] = state ? state.enableConsoleOutput : undefined;
51
+ resourceInputs["externalAccessIntegrations"] = state ? state.externalAccessIntegrations : undefined;
52
+ resourceInputs["fullyQualifiedName"] = state ? state.fullyQualifiedName : undefined;
53
+ resourceInputs["functionDefinition"] = state ? state.functionDefinition : undefined;
54
+ resourceInputs["functionLanguage"] = state ? state.functionLanguage : undefined;
55
+ resourceInputs["handler"] = state ? state.handler : undefined;
56
+ resourceInputs["imports"] = state ? state.imports : undefined;
57
+ resourceInputs["isAggregate"] = state ? state.isAggregate : undefined;
58
+ resourceInputs["isSecure"] = state ? state.isSecure : undefined;
59
+ resourceInputs["logLevel"] = state ? state.logLevel : undefined;
60
+ resourceInputs["metricLevel"] = state ? state.metricLevel : undefined;
61
+ resourceInputs["name"] = state ? state.name : undefined;
62
+ resourceInputs["nullInputBehavior"] = state ? state.nullInputBehavior : undefined;
63
+ resourceInputs["packages"] = state ? state.packages : undefined;
64
+ resourceInputs["parameters"] = state ? state.parameters : undefined;
65
+ resourceInputs["returnResultsBehavior"] = state ? state.returnResultsBehavior : undefined;
66
+ resourceInputs["returnType"] = state ? state.returnType : undefined;
67
+ resourceInputs["runtimeVersion"] = state ? state.runtimeVersion : undefined;
68
+ resourceInputs["schema"] = state ? state.schema : undefined;
69
+ resourceInputs["secrets"] = state ? state.secrets : undefined;
70
+ resourceInputs["showOutputs"] = state ? state.showOutputs : undefined;
71
+ resourceInputs["traceLevel"] = state ? state.traceLevel : undefined;
72
+ }
73
+ else {
74
+ const args = argsOrState;
75
+ if ((!args || args.database === undefined) && !opts.urn) {
76
+ throw new Error("Missing required property 'database'");
77
+ }
78
+ if ((!args || args.handler === undefined) && !opts.urn) {
79
+ throw new Error("Missing required property 'handler'");
80
+ }
81
+ if ((!args || args.returnType === undefined) && !opts.urn) {
82
+ throw new Error("Missing required property 'returnType'");
83
+ }
84
+ if ((!args || args.runtimeVersion === undefined) && !opts.urn) {
85
+ throw new Error("Missing required property 'runtimeVersion'");
86
+ }
87
+ if ((!args || args.schema === undefined) && !opts.urn) {
88
+ throw new Error("Missing required property 'schema'");
89
+ }
90
+ resourceInputs["arguments"] = args ? args.arguments : undefined;
91
+ resourceInputs["comment"] = args ? args.comment : undefined;
92
+ resourceInputs["database"] = args ? args.database : undefined;
93
+ resourceInputs["enableConsoleOutput"] = args ? args.enableConsoleOutput : undefined;
94
+ resourceInputs["externalAccessIntegrations"] = args ? args.externalAccessIntegrations : undefined;
95
+ resourceInputs["functionDefinition"] = args ? args.functionDefinition : undefined;
96
+ resourceInputs["handler"] = args ? args.handler : undefined;
97
+ resourceInputs["imports"] = args ? args.imports : undefined;
98
+ resourceInputs["isAggregate"] = args ? args.isAggregate : undefined;
99
+ resourceInputs["isSecure"] = args ? args.isSecure : undefined;
100
+ resourceInputs["logLevel"] = args ? args.logLevel : undefined;
101
+ resourceInputs["metricLevel"] = args ? args.metricLevel : undefined;
102
+ resourceInputs["name"] = args ? args.name : undefined;
103
+ resourceInputs["nullInputBehavior"] = args ? args.nullInputBehavior : undefined;
104
+ resourceInputs["packages"] = args ? args.packages : undefined;
105
+ resourceInputs["returnResultsBehavior"] = args ? args.returnResultsBehavior : undefined;
106
+ resourceInputs["returnType"] = args ? args.returnType : undefined;
107
+ resourceInputs["runtimeVersion"] = args ? args.runtimeVersion : undefined;
108
+ resourceInputs["schema"] = args ? args.schema : undefined;
109
+ resourceInputs["secrets"] = args ? args.secrets : undefined;
110
+ resourceInputs["traceLevel"] = args ? args.traceLevel : undefined;
111
+ resourceInputs["fullyQualifiedName"] = undefined /*out*/;
112
+ resourceInputs["functionLanguage"] = undefined /*out*/;
113
+ resourceInputs["parameters"] = undefined /*out*/;
114
+ resourceInputs["showOutputs"] = undefined /*out*/;
115
+ }
116
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
117
+ super(FunctionPython.__pulumiType, name, resourceInputs, opts);
118
+ }
119
+ }
120
+ exports.FunctionPython = FunctionPython;
121
+ /** @internal */
122
+ FunctionPython.__pulumiType = 'snowflake:index/functionPython:FunctionPython';
123
+ //# sourceMappingURL=functionPython.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"functionPython.js","sourceRoot":"","sources":["../functionPython.ts"],"names":[],"mappings":"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"}