@pulumi/snowflake 0.2.1-alpha.1632763694

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 (255) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +83 -0
  3. package/accountGrant.d.ts +97 -0
  4. package/accountGrant.js +80 -0
  5. package/accountGrant.js.map +1 -0
  6. package/apiIntegration.d.ts +181 -0
  7. package/apiIntegration.js +102 -0
  8. package/apiIntegration.js.map +1 -0
  9. package/config/index.d.ts +1 -0
  10. package/config/index.js +17 -0
  11. package/config/index.js.map +1 -0
  12. package/config/vars.d.ts +19 -0
  13. package/config/vars.js +97 -0
  14. package/config/vars.js.map +1 -0
  15. package/database.d.ts +97 -0
  16. package/database.js +81 -0
  17. package/database.js.map +1 -0
  18. package/databaseGrant.d.ts +126 -0
  19. package/databaseGrant.js +92 -0
  20. package/databaseGrant.js.map +1 -0
  21. package/externalFunction.d.ts +260 -0
  22. package/externalFunction.js +134 -0
  23. package/externalFunction.js.map +1 -0
  24. package/externalTable.d.ts +233 -0
  25. package/externalTable.js +124 -0
  26. package/externalTable.js.map +1 -0
  27. package/externalTableGrant.d.ts +165 -0
  28. package/externalTableGrant.js +104 -0
  29. package/externalTableGrant.js.map +1 -0
  30. package/fileFormat.d.ts +490 -0
  31. package/fileFormat.js +152 -0
  32. package/fileFormat.js.map +1 -0
  33. package/fileFormatGrant.d.ts +149 -0
  34. package/fileFormatGrant.js +98 -0
  35. package/fileFormatGrant.js.map +1 -0
  36. package/function.d.ts +157 -0
  37. package/function.js +81 -0
  38. package/function.js.map +1 -0
  39. package/functionGrant.d.ts +201 -0
  40. package/functionGrant.js +119 -0
  41. package/functionGrant.js.map +1 -0
  42. package/getCurrentAccount.d.ts +38 -0
  43. package/getCurrentAccount.js +33 -0
  44. package/getCurrentAccount.js.map +1 -0
  45. package/getExternalFunctions.d.ts +50 -0
  46. package/getExternalFunctions.js +34 -0
  47. package/getExternalFunctions.js.map +1 -0
  48. package/getExternalTables.d.ts +50 -0
  49. package/getExternalTables.js +34 -0
  50. package/getExternalTables.js.map +1 -0
  51. package/getFileFormats.d.ts +50 -0
  52. package/getFileFormats.js +34 -0
  53. package/getFileFormats.js.map +1 -0
  54. package/getFunctions.d.ts +50 -0
  55. package/getFunctions.js +34 -0
  56. package/getFunctions.js.map +1 -0
  57. package/getMaskingPolicies.d.ts +50 -0
  58. package/getMaskingPolicies.js +34 -0
  59. package/getMaskingPolicies.js.map +1 -0
  60. package/getMaterializedViews.d.ts +50 -0
  61. package/getMaterializedViews.js +34 -0
  62. package/getMaterializedViews.js.map +1 -0
  63. package/getPipes.d.ts +50 -0
  64. package/getPipes.js +34 -0
  65. package/getPipes.js.map +1 -0
  66. package/getProcedures.d.ts +50 -0
  67. package/getProcedures.js +34 -0
  68. package/getProcedures.js.map +1 -0
  69. package/getResourceMonitors.d.ts +26 -0
  70. package/getResourceMonitors.js +28 -0
  71. package/getResourceMonitors.js.map +1 -0
  72. package/getRowAccessPolicies.d.ts +50 -0
  73. package/getRowAccessPolicies.js +34 -0
  74. package/getRowAccessPolicies.js.map +1 -0
  75. package/getSchemas.d.ts +41 -0
  76. package/getSchemas.js +32 -0
  77. package/getSchemas.js.map +1 -0
  78. package/getSequences.d.ts +50 -0
  79. package/getSequences.js +34 -0
  80. package/getSequences.js.map +1 -0
  81. package/getStages.d.ts +50 -0
  82. package/getStages.js +34 -0
  83. package/getStages.js.map +1 -0
  84. package/getStorageIntegrations.d.ts +26 -0
  85. package/getStorageIntegrations.js +28 -0
  86. package/getStorageIntegrations.js.map +1 -0
  87. package/getStreams.d.ts +50 -0
  88. package/getStreams.js +34 -0
  89. package/getStreams.js.map +1 -0
  90. package/getSystemGenerateScimAccessToken.d.ts +40 -0
  91. package/getSystemGenerateScimAccessToken.js +32 -0
  92. package/getSystemGenerateScimAccessToken.js.map +1 -0
  93. package/getSystemGetAwsSnsIamPolicy.d.ts +28 -0
  94. package/getSystemGetAwsSnsIamPolicy.js +20 -0
  95. package/getSystemGetAwsSnsIamPolicy.js.map +1 -0
  96. package/getSystemGetPrivateLinkConfig.d.ts +31 -0
  97. package/getSystemGetPrivateLinkConfig.js +18 -0
  98. package/getSystemGetPrivateLinkConfig.js.map +1 -0
  99. package/getSystemGetSnowflakePlatformInfo.d.ts +19 -0
  100. package/getSystemGetSnowflakePlatformInfo.js +18 -0
  101. package/getSystemGetSnowflakePlatformInfo.js.map +1 -0
  102. package/getTables.d.ts +50 -0
  103. package/getTables.js +34 -0
  104. package/getTables.js.map +1 -0
  105. package/getTasks.d.ts +50 -0
  106. package/getTasks.js +34 -0
  107. package/getTasks.js.map +1 -0
  108. package/getViews.d.ts +50 -0
  109. package/getViews.js +34 -0
  110. package/getViews.js.map +1 -0
  111. package/getWarehouses.d.ts +26 -0
  112. package/getWarehouses.js +28 -0
  113. package/getWarehouses.js.map +1 -0
  114. package/index.d.ts +79 -0
  115. package/index.js +324 -0
  116. package/index.js.map +1 -0
  117. package/integrationGrant.d.ts +110 -0
  118. package/integrationGrant.js +86 -0
  119. package/integrationGrant.js.map +1 -0
  120. package/managedAccount.d.ts +160 -0
  121. package/managedAccount.js +99 -0
  122. package/managedAccount.js.map +1 -0
  123. package/maskingPolicy.d.ts +144 -0
  124. package/maskingPolicy.js +102 -0
  125. package/maskingPolicy.js.map +1 -0
  126. package/maskingPolicyGrant.d.ts +108 -0
  127. package/maskingPolicyGrant.js +70 -0
  128. package/maskingPolicyGrant.js.map +1 -0
  129. package/materializedView.d.ts +158 -0
  130. package/materializedView.js +103 -0
  131. package/materializedView.js.map +1 -0
  132. package/materializedViewGrant.d.ts +165 -0
  133. package/materializedViewGrant.js +101 -0
  134. package/materializedViewGrant.js.map +1 -0
  135. package/networkPolicy.d.ts +104 -0
  136. package/networkPolicy.js +80 -0
  137. package/networkPolicy.js.map +1 -0
  138. package/networkPolicyAttachment.d.ts +110 -0
  139. package/networkPolicyAttachment.js +81 -0
  140. package/networkPolicyAttachment.js.map +1 -0
  141. package/notificationIntegration.d.ts +191 -0
  142. package/notificationIntegration.js +103 -0
  143. package/notificationIntegration.js.map +1 -0
  144. package/package.json +27 -0
  145. package/package.json.bak +26 -0
  146. package/package.json.dev +26 -0
  147. package/pipe.d.ts +187 -0
  148. package/pipe.js +107 -0
  149. package/pipe.js.map +1 -0
  150. package/pipeGrant.d.ts +149 -0
  151. package/pipeGrant.js +98 -0
  152. package/pipeGrant.js.map +1 -0
  153. package/procedure.d.ts +201 -0
  154. package/procedure.js +125 -0
  155. package/procedure.js.map +1 -0
  156. package/procedureGrant.d.ts +201 -0
  157. package/procedureGrant.js +119 -0
  158. package/procedureGrant.js.map +1 -0
  159. package/provider.d.ts +64 -0
  160. package/provider.js +70 -0
  161. package/provider.js.map +1 -0
  162. package/resourceMonitor.d.ts +156 -0
  163. package/resourceMonitor.js +89 -0
  164. package/resourceMonitor.js.map +1 -0
  165. package/resourceMonitorGrant.d.ts +105 -0
  166. package/resourceMonitorGrant.js +81 -0
  167. package/resourceMonitorGrant.js.map +1 -0
  168. package/role.d.ts +60 -0
  169. package/role.js +71 -0
  170. package/role.js.map +1 -0
  171. package/roleGrants.d.ts +105 -0
  172. package/roleGrants.js +91 -0
  173. package/roleGrants.js.map +1 -0
  174. package/rowAccessPolicy.d.ts +140 -0
  175. package/rowAccessPolicy.js +99 -0
  176. package/rowAccessPolicy.js.map +1 -0
  177. package/rowAccessPolicyGrant.d.ts +136 -0
  178. package/rowAccessPolicyGrant.js +98 -0
  179. package/rowAccessPolicyGrant.js.map +1 -0
  180. package/schema.d.ts +132 -0
  181. package/schema.js +88 -0
  182. package/schema.js.map +1 -0
  183. package/schemaGrant.d.ts +155 -0
  184. package/schemaGrant.js +98 -0
  185. package/schemaGrant.js.map +1 -0
  186. package/scimIntegration.d.ts +112 -0
  187. package/scimIntegration.js +85 -0
  188. package/scimIntegration.js.map +1 -0
  189. package/scripts/install-pulumi-plugin.js +21 -0
  190. package/sequence.d.ts +127 -0
  191. package/sequence.js +84 -0
  192. package/sequence.js.map +1 -0
  193. package/sequenceGrant.d.ts +149 -0
  194. package/sequenceGrant.js +98 -0
  195. package/sequenceGrant.js.map +1 -0
  196. package/share.d.ts +90 -0
  197. package/share.js +73 -0
  198. package/share.js.map +1 -0
  199. package/stage.d.ts +192 -0
  200. package/stage.js +109 -0
  201. package/stage.js.map +1 -0
  202. package/stageGrant.d.ts +165 -0
  203. package/stageGrant.js +104 -0
  204. package/stageGrant.js.map +1 -0
  205. package/storageIntegration.d.ts +153 -0
  206. package/storageIntegration.js +109 -0
  207. package/storageIntegration.js.map +1 -0
  208. package/stream.d.ts +166 -0
  209. package/stream.js +99 -0
  210. package/stream.js.map +1 -0
  211. package/streamGrant.d.ts +149 -0
  212. package/streamGrant.js +98 -0
  213. package/streamGrant.js.map +1 -0
  214. package/table.d.ts +214 -0
  215. package/table.js +139 -0
  216. package/table.js.map +1 -0
  217. package/tableGrant.d.ts +159 -0
  218. package/tableGrant.js +95 -0
  219. package/tableGrant.js.map +1 -0
  220. package/task.d.ts +218 -0
  221. package/task.js +117 -0
  222. package/task.js.map +1 -0
  223. package/taskGrant.d.ts +149 -0
  224. package/taskGrant.js +98 -0
  225. package/taskGrant.js.map +1 -0
  226. package/types/index.d.ts +3 -0
  227. package/types/index.js +11 -0
  228. package/types/index.js.map +1 -0
  229. package/types/input.d.ts +113 -0
  230. package/types/input.js +5 -0
  231. package/types/input.js.map +1 -0
  232. package/types/output.d.ts +331 -0
  233. package/types/output.js +5 -0
  234. package/types/output.js.map +1 -0
  235. package/user.d.ts +236 -0
  236. package/user.js +111 -0
  237. package/user.js.map +1 -0
  238. package/userPublicKeys.d.ts +72 -0
  239. package/userPublicKeys.js +55 -0
  240. package/userPublicKeys.js.map +1 -0
  241. package/utilities.d.ts +4 -0
  242. package/utilities.js +52 -0
  243. package/utilities.js.map +1 -0
  244. package/view.d.ts +145 -0
  245. package/view.js +97 -0
  246. package/view.js.map +1 -0
  247. package/viewGrant.d.ts +165 -0
  248. package/viewGrant.js +101 -0
  249. package/viewGrant.js.map +1 -0
  250. package/warehouse.d.ts +214 -0
  251. package/warehouse.js +96 -0
  252. package/warehouse.js.map +1 -0
  253. package/warehouseGrant.d.ts +107 -0
  254. package/warehouseGrant.js +83 -0
  255. package/warehouseGrant.js.map +1 -0
@@ -0,0 +1,159 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * ## Example Usage
4
+ *
5
+ * ```typescript
6
+ * import * as pulumi from "@pulumi/pulumi";
7
+ * import * as snowflake from "@pulumi/snowflake";
8
+ *
9
+ * const grant = new snowflake.TableGrant("grant", {
10
+ * databaseName: "database",
11
+ * onFuture: false,
12
+ * privilege: "SELECT",
13
+ * roles: ["role1"],
14
+ * schemaName: "schema",
15
+ * shares: ["share1"],
16
+ * tableName: "table",
17
+ * withGrantOption: false,
18
+ * });
19
+ * ```
20
+ *
21
+ * ## Import
22
+ *
23
+ * # format is database name | schema name | table name | privilege | true/false for with_grant_option
24
+ *
25
+ * ```sh
26
+ * $ pulumi import snowflake:index/tableGrant:TableGrant example 'databaseName|schemaName|tableName|MODIFY|true'
27
+ * ```
28
+ */
29
+ export declare class TableGrant extends pulumi.CustomResource {
30
+ /**
31
+ * Get an existing TableGrant resource's state with the given name, ID, and optional extra
32
+ * properties used to qualify the lookup.
33
+ *
34
+ * @param name The _unique_ name of the resulting resource.
35
+ * @param id The _unique_ provider ID of the resource to lookup.
36
+ * @param state Any extra arguments used during the lookup.
37
+ * @param opts Optional settings to control the behavior of the CustomResource.
38
+ */
39
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: TableGrantState, opts?: pulumi.CustomResourceOptions): TableGrant;
40
+ /**
41
+ * Returns true if the given object is an instance of TableGrant. This is designed to work even
42
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
43
+ */
44
+ static isInstance(obj: any): obj is TableGrant;
45
+ /**
46
+ * The name of the database containing the current or future tables on which to grant privileges.
47
+ */
48
+ readonly databaseName: pulumi.Output<string>;
49
+ /**
50
+ * When this is set to true and a schema*name is provided, apply this grant on all future tables in the given schema. When this is true and no schema*name is provided apply this grant on all future tables in the given database. The table*name and shares fields must be unset in order to use on*future.
51
+ */
52
+ readonly onFuture: pulumi.Output<boolean | undefined>;
53
+ /**
54
+ * The privilege to grant on the current or future table.
55
+ */
56
+ readonly privilege: pulumi.Output<string | undefined>;
57
+ /**
58
+ * Grants privilege to these roles.
59
+ */
60
+ readonly roles: pulumi.Output<string[] | undefined>;
61
+ /**
62
+ * The name of the schema containing the current or future tables on which to grant privileges.
63
+ */
64
+ readonly schemaName: pulumi.Output<string | undefined>;
65
+ /**
66
+ * Grants privilege to these shares (only valid if onFuture is unset).
67
+ */
68
+ readonly shares: pulumi.Output<string[] | undefined>;
69
+ /**
70
+ * The name of the table on which to grant privileges immediately (only valid if onFuture is unset).
71
+ */
72
+ readonly tableName: pulumi.Output<string | undefined>;
73
+ /**
74
+ * When this is set to true, allows the recipient role to grant the privileges to other roles.
75
+ */
76
+ readonly withGrantOption: pulumi.Output<boolean | undefined>;
77
+ /**
78
+ * Create a TableGrant resource with the given unique name, arguments, and options.
79
+ *
80
+ * @param name The _unique_ name of the resource.
81
+ * @param args The arguments to use to populate this resource's properties.
82
+ * @param opts A bag of options that control this resource's behavior.
83
+ */
84
+ constructor(name: string, args: TableGrantArgs, opts?: pulumi.CustomResourceOptions);
85
+ }
86
+ /**
87
+ * Input properties used for looking up and filtering TableGrant resources.
88
+ */
89
+ export interface TableGrantState {
90
+ /**
91
+ * The name of the database containing the current or future tables on which to grant privileges.
92
+ */
93
+ databaseName?: pulumi.Input<string>;
94
+ /**
95
+ * When this is set to true and a schema*name is provided, apply this grant on all future tables in the given schema. When this is true and no schema*name is provided apply this grant on all future tables in the given database. The table*name and shares fields must be unset in order to use on*future.
96
+ */
97
+ onFuture?: pulumi.Input<boolean>;
98
+ /**
99
+ * The privilege to grant on the current or future table.
100
+ */
101
+ privilege?: pulumi.Input<string>;
102
+ /**
103
+ * Grants privilege to these roles.
104
+ */
105
+ roles?: pulumi.Input<pulumi.Input<string>[]>;
106
+ /**
107
+ * The name of the schema containing the current or future tables on which to grant privileges.
108
+ */
109
+ schemaName?: pulumi.Input<string>;
110
+ /**
111
+ * Grants privilege to these shares (only valid if onFuture is unset).
112
+ */
113
+ shares?: pulumi.Input<pulumi.Input<string>[]>;
114
+ /**
115
+ * The name of the table on which to grant privileges immediately (only valid if onFuture is unset).
116
+ */
117
+ tableName?: pulumi.Input<string>;
118
+ /**
119
+ * When this is set to true, allows the recipient role to grant the privileges to other roles.
120
+ */
121
+ withGrantOption?: pulumi.Input<boolean>;
122
+ }
123
+ /**
124
+ * The set of arguments for constructing a TableGrant resource.
125
+ */
126
+ export interface TableGrantArgs {
127
+ /**
128
+ * The name of the database containing the current or future tables on which to grant privileges.
129
+ */
130
+ databaseName: pulumi.Input<string>;
131
+ /**
132
+ * When this is set to true and a schema*name is provided, apply this grant on all future tables in the given schema. When this is true and no schema*name is provided apply this grant on all future tables in the given database. The table*name and shares fields must be unset in order to use on*future.
133
+ */
134
+ onFuture?: pulumi.Input<boolean>;
135
+ /**
136
+ * The privilege to grant on the current or future table.
137
+ */
138
+ privilege?: pulumi.Input<string>;
139
+ /**
140
+ * Grants privilege to these roles.
141
+ */
142
+ roles?: pulumi.Input<pulumi.Input<string>[]>;
143
+ /**
144
+ * The name of the schema containing the current or future tables on which to grant privileges.
145
+ */
146
+ schemaName?: pulumi.Input<string>;
147
+ /**
148
+ * Grants privilege to these shares (only valid if onFuture is unset).
149
+ */
150
+ shares?: pulumi.Input<pulumi.Input<string>[]>;
151
+ /**
152
+ * The name of the table on which to grant privileges immediately (only valid if onFuture is unset).
153
+ */
154
+ tableName?: pulumi.Input<string>;
155
+ /**
156
+ * When this is set to true, allows the recipient role to grant the privileges to other roles.
157
+ */
158
+ withGrantOption?: pulumi.Input<boolean>;
159
+ }
package/tableGrant.js ADDED
@@ -0,0 +1,95 @@
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.TableGrant = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * ## Example Usage
10
+ *
11
+ * ```typescript
12
+ * import * as pulumi from "@pulumi/pulumi";
13
+ * import * as snowflake from "@pulumi/snowflake";
14
+ *
15
+ * const grant = new snowflake.TableGrant("grant", {
16
+ * databaseName: "database",
17
+ * onFuture: false,
18
+ * privilege: "SELECT",
19
+ * roles: ["role1"],
20
+ * schemaName: "schema",
21
+ * shares: ["share1"],
22
+ * tableName: "table",
23
+ * withGrantOption: false,
24
+ * });
25
+ * ```
26
+ *
27
+ * ## Import
28
+ *
29
+ * # format is database name | schema name | table name | privilege | true/false for with_grant_option
30
+ *
31
+ * ```sh
32
+ * $ pulumi import snowflake:index/tableGrant:TableGrant example 'databaseName|schemaName|tableName|MODIFY|true'
33
+ * ```
34
+ */
35
+ class TableGrant extends pulumi.CustomResource {
36
+ constructor(name, argsOrState, opts) {
37
+ let inputs = {};
38
+ opts = opts || {};
39
+ if (opts.id) {
40
+ const state = argsOrState;
41
+ inputs["databaseName"] = state ? state.databaseName : undefined;
42
+ inputs["onFuture"] = state ? state.onFuture : undefined;
43
+ inputs["privilege"] = state ? state.privilege : undefined;
44
+ inputs["roles"] = state ? state.roles : undefined;
45
+ inputs["schemaName"] = state ? state.schemaName : undefined;
46
+ inputs["shares"] = state ? state.shares : undefined;
47
+ inputs["tableName"] = state ? state.tableName : undefined;
48
+ inputs["withGrantOption"] = state ? state.withGrantOption : undefined;
49
+ }
50
+ else {
51
+ const args = argsOrState;
52
+ if ((!args || args.databaseName === undefined) && !opts.urn) {
53
+ throw new Error("Missing required property 'databaseName'");
54
+ }
55
+ inputs["databaseName"] = args ? args.databaseName : undefined;
56
+ inputs["onFuture"] = args ? args.onFuture : undefined;
57
+ inputs["privilege"] = args ? args.privilege : undefined;
58
+ inputs["roles"] = args ? args.roles : undefined;
59
+ inputs["schemaName"] = args ? args.schemaName : undefined;
60
+ inputs["shares"] = args ? args.shares : undefined;
61
+ inputs["tableName"] = args ? args.tableName : undefined;
62
+ inputs["withGrantOption"] = args ? args.withGrantOption : undefined;
63
+ }
64
+ if (!opts.version) {
65
+ opts = pulumi.mergeOptions(opts, { version: utilities.getVersion() });
66
+ }
67
+ super(TableGrant.__pulumiType, name, inputs, opts);
68
+ }
69
+ /**
70
+ * Get an existing TableGrant resource's state with the given name, ID, and optional extra
71
+ * properties used to qualify the lookup.
72
+ *
73
+ * @param name The _unique_ name of the resulting resource.
74
+ * @param id The _unique_ provider ID of the resource to lookup.
75
+ * @param state Any extra arguments used during the lookup.
76
+ * @param opts Optional settings to control the behavior of the CustomResource.
77
+ */
78
+ static get(name, id, state, opts) {
79
+ return new TableGrant(name, state, Object.assign(Object.assign({}, opts), { id: id }));
80
+ }
81
+ /**
82
+ * Returns true if the given object is an instance of TableGrant. This is designed to work even
83
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
84
+ */
85
+ static isInstance(obj) {
86
+ if (obj === undefined || obj === null) {
87
+ return false;
88
+ }
89
+ return obj['__pulumiType'] === TableGrant.__pulumiType;
90
+ }
91
+ }
92
+ exports.TableGrant = TableGrant;
93
+ /** @internal */
94
+ TableGrant.__pulumiType = 'snowflake:index/tableGrant:TableGrant';
95
+ //# sourceMappingURL=tableGrant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tableGrant.js","sourceRoot":"","sources":["../tableGrant.ts"],"names":[],"mappings":"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"}
package/task.d.ts ADDED
@@ -0,0 +1,218 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * ## Example Usage
4
+ *
5
+ * ```typescript
6
+ * import * as pulumi from "@pulumi/pulumi";
7
+ * import * as snowflake from "@pulumi/snowflake";
8
+ *
9
+ * const task = new snowflake.Task("task", {
10
+ * comment: "my task",
11
+ * database: "db",
12
+ * schema: "schema",
13
+ * warehouse: "warehouse",
14
+ * schedule: "10",
15
+ * sqlStatement: "select * from foo;",
16
+ * sessionParameters: {
17
+ * foo: "bar",
18
+ * },
19
+ * userTaskTimeoutMs: 10000,
20
+ * after: "preceding_task",
21
+ * when: "foo AND bar",
22
+ * enabled: true,
23
+ * });
24
+ * ```
25
+ *
26
+ * ## Import
27
+ *
28
+ * # format is database name | schema name | task name
29
+ *
30
+ * ```sh
31
+ * $ pulumi import snowflake:index/task:Task example 'dbName|schemaName|taskName'
32
+ * ```
33
+ */
34
+ export declare class Task extends pulumi.CustomResource {
35
+ /**
36
+ * Get an existing Task resource's state with the given name, ID, and optional extra
37
+ * properties used to qualify the lookup.
38
+ *
39
+ * @param name The _unique_ name of the resulting resource.
40
+ * @param id The _unique_ provider ID of the resource to lookup.
41
+ * @param state Any extra arguments used during the lookup.
42
+ * @param opts Optional settings to control the behavior of the CustomResource.
43
+ */
44
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: TaskState, opts?: pulumi.CustomResourceOptions): Task;
45
+ /**
46
+ * Returns true if the given object is an instance of Task. This is designed to work even
47
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
48
+ */
49
+ static isInstance(obj: any): obj is Task;
50
+ /**
51
+ * Specifies the predecessor task in the same database and schema of the current task. When a run of the predecessor task finishes successfully, it triggers this task (after a brief lag).
52
+ */
53
+ readonly after: pulumi.Output<string | undefined>;
54
+ /**
55
+ * Specifies a comment for the task.
56
+ */
57
+ readonly comment: pulumi.Output<string | undefined>;
58
+ /**
59
+ * The database in which to create the task.
60
+ */
61
+ readonly database: pulumi.Output<string>;
62
+ /**
63
+ * Specifies if the task should be started (enabled) after creation or should remain suspended (default).
64
+ */
65
+ readonly enabled: pulumi.Output<boolean | undefined>;
66
+ /**
67
+ * Specifies the identifier for the task; must be unique for the database and schema in which the task is created.
68
+ */
69
+ readonly name: pulumi.Output<string>;
70
+ /**
71
+ * The schedule for periodically running the task. This can be a cron or interval in minutes.
72
+ */
73
+ readonly schedule: pulumi.Output<string | undefined>;
74
+ /**
75
+ * The schema in which to create the task.
76
+ */
77
+ readonly schema: pulumi.Output<string>;
78
+ /**
79
+ * Specifies session parameters to set for the session when the task runs. A task supports all session parameters.
80
+ */
81
+ readonly sessionParameters: pulumi.Output<{
82
+ [key: string]: string;
83
+ } | undefined>;
84
+ /**
85
+ * Any single SQL statement, or a call to a stored procedure, executed when the task runs.
86
+ */
87
+ readonly sqlStatement: pulumi.Output<string>;
88
+ /**
89
+ * Specifies the time limit on a single run of the task before it times out (in milliseconds).
90
+ */
91
+ readonly userTaskTimeoutMs: pulumi.Output<number | undefined>;
92
+ /**
93
+ * The warehouse the task will use.
94
+ */
95
+ readonly warehouse: pulumi.Output<string>;
96
+ /**
97
+ * Specifies a Boolean SQL expression; multiple conditions joined with AND/OR are supported.
98
+ */
99
+ readonly when: pulumi.Output<string | undefined>;
100
+ /**
101
+ * Create a Task resource with the given unique name, arguments, and options.
102
+ *
103
+ * @param name The _unique_ name of the resource.
104
+ * @param args The arguments to use to populate this resource's properties.
105
+ * @param opts A bag of options that control this resource's behavior.
106
+ */
107
+ constructor(name: string, args: TaskArgs, opts?: pulumi.CustomResourceOptions);
108
+ }
109
+ /**
110
+ * Input properties used for looking up and filtering Task resources.
111
+ */
112
+ export interface TaskState {
113
+ /**
114
+ * Specifies the predecessor task in the same database and schema of the current task. When a run of the predecessor task finishes successfully, it triggers this task (after a brief lag).
115
+ */
116
+ after?: pulumi.Input<string>;
117
+ /**
118
+ * Specifies a comment for the task.
119
+ */
120
+ comment?: pulumi.Input<string>;
121
+ /**
122
+ * The database in which to create the task.
123
+ */
124
+ database?: pulumi.Input<string>;
125
+ /**
126
+ * Specifies if the task should be started (enabled) after creation or should remain suspended (default).
127
+ */
128
+ enabled?: pulumi.Input<boolean>;
129
+ /**
130
+ * Specifies the identifier for the task; must be unique for the database and schema in which the task is created.
131
+ */
132
+ name?: pulumi.Input<string>;
133
+ /**
134
+ * The schedule for periodically running the task. This can be a cron or interval in minutes.
135
+ */
136
+ schedule?: pulumi.Input<string>;
137
+ /**
138
+ * The schema in which to create the task.
139
+ */
140
+ schema?: pulumi.Input<string>;
141
+ /**
142
+ * Specifies session parameters to set for the session when the task runs. A task supports all session parameters.
143
+ */
144
+ sessionParameters?: pulumi.Input<{
145
+ [key: string]: pulumi.Input<string>;
146
+ }>;
147
+ /**
148
+ * Any single SQL statement, or a call to a stored procedure, executed when the task runs.
149
+ */
150
+ sqlStatement?: pulumi.Input<string>;
151
+ /**
152
+ * Specifies the time limit on a single run of the task before it times out (in milliseconds).
153
+ */
154
+ userTaskTimeoutMs?: pulumi.Input<number>;
155
+ /**
156
+ * The warehouse the task will use.
157
+ */
158
+ warehouse?: pulumi.Input<string>;
159
+ /**
160
+ * Specifies a Boolean SQL expression; multiple conditions joined with AND/OR are supported.
161
+ */
162
+ when?: pulumi.Input<string>;
163
+ }
164
+ /**
165
+ * The set of arguments for constructing a Task resource.
166
+ */
167
+ export interface TaskArgs {
168
+ /**
169
+ * Specifies the predecessor task in the same database and schema of the current task. When a run of the predecessor task finishes successfully, it triggers this task (after a brief lag).
170
+ */
171
+ after?: pulumi.Input<string>;
172
+ /**
173
+ * Specifies a comment for the task.
174
+ */
175
+ comment?: pulumi.Input<string>;
176
+ /**
177
+ * The database in which to create the task.
178
+ */
179
+ database: pulumi.Input<string>;
180
+ /**
181
+ * Specifies if the task should be started (enabled) after creation or should remain suspended (default).
182
+ */
183
+ enabled?: pulumi.Input<boolean>;
184
+ /**
185
+ * Specifies the identifier for the task; must be unique for the database and schema in which the task is created.
186
+ */
187
+ name?: pulumi.Input<string>;
188
+ /**
189
+ * The schedule for periodically running the task. This can be a cron or interval in minutes.
190
+ */
191
+ schedule?: pulumi.Input<string>;
192
+ /**
193
+ * The schema in which to create the task.
194
+ */
195
+ schema: pulumi.Input<string>;
196
+ /**
197
+ * Specifies session parameters to set for the session when the task runs. A task supports all session parameters.
198
+ */
199
+ sessionParameters?: pulumi.Input<{
200
+ [key: string]: pulumi.Input<string>;
201
+ }>;
202
+ /**
203
+ * Any single SQL statement, or a call to a stored procedure, executed when the task runs.
204
+ */
205
+ sqlStatement: pulumi.Input<string>;
206
+ /**
207
+ * Specifies the time limit on a single run of the task before it times out (in milliseconds).
208
+ */
209
+ userTaskTimeoutMs?: pulumi.Input<number>;
210
+ /**
211
+ * The warehouse the task will use.
212
+ */
213
+ warehouse: pulumi.Input<string>;
214
+ /**
215
+ * Specifies a Boolean SQL expression; multiple conditions joined with AND/OR are supported.
216
+ */
217
+ when?: pulumi.Input<string>;
218
+ }
package/task.js ADDED
@@ -0,0 +1,117 @@
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.Task = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * ## Example Usage
10
+ *
11
+ * ```typescript
12
+ * import * as pulumi from "@pulumi/pulumi";
13
+ * import * as snowflake from "@pulumi/snowflake";
14
+ *
15
+ * const task = new snowflake.Task("task", {
16
+ * comment: "my task",
17
+ * database: "db",
18
+ * schema: "schema",
19
+ * warehouse: "warehouse",
20
+ * schedule: "10",
21
+ * sqlStatement: "select * from foo;",
22
+ * sessionParameters: {
23
+ * foo: "bar",
24
+ * },
25
+ * userTaskTimeoutMs: 10000,
26
+ * after: "preceding_task",
27
+ * when: "foo AND bar",
28
+ * enabled: true,
29
+ * });
30
+ * ```
31
+ *
32
+ * ## Import
33
+ *
34
+ * # format is database name | schema name | task name
35
+ *
36
+ * ```sh
37
+ * $ pulumi import snowflake:index/task:Task example 'dbName|schemaName|taskName'
38
+ * ```
39
+ */
40
+ class Task extends pulumi.CustomResource {
41
+ constructor(name, argsOrState, opts) {
42
+ let inputs = {};
43
+ opts = opts || {};
44
+ if (opts.id) {
45
+ const state = argsOrState;
46
+ inputs["after"] = state ? state.after : undefined;
47
+ inputs["comment"] = state ? state.comment : undefined;
48
+ inputs["database"] = state ? state.database : undefined;
49
+ inputs["enabled"] = state ? state.enabled : undefined;
50
+ inputs["name"] = state ? state.name : undefined;
51
+ inputs["schedule"] = state ? state.schedule : undefined;
52
+ inputs["schema"] = state ? state.schema : undefined;
53
+ inputs["sessionParameters"] = state ? state.sessionParameters : undefined;
54
+ inputs["sqlStatement"] = state ? state.sqlStatement : undefined;
55
+ inputs["userTaskTimeoutMs"] = state ? state.userTaskTimeoutMs : undefined;
56
+ inputs["warehouse"] = state ? state.warehouse : undefined;
57
+ inputs["when"] = state ? state.when : undefined;
58
+ }
59
+ else {
60
+ const args = argsOrState;
61
+ if ((!args || args.database === undefined) && !opts.urn) {
62
+ throw new Error("Missing required property 'database'");
63
+ }
64
+ if ((!args || args.schema === undefined) && !opts.urn) {
65
+ throw new Error("Missing required property 'schema'");
66
+ }
67
+ if ((!args || args.sqlStatement === undefined) && !opts.urn) {
68
+ throw new Error("Missing required property 'sqlStatement'");
69
+ }
70
+ if ((!args || args.warehouse === undefined) && !opts.urn) {
71
+ throw new Error("Missing required property 'warehouse'");
72
+ }
73
+ inputs["after"] = args ? args.after : undefined;
74
+ inputs["comment"] = args ? args.comment : undefined;
75
+ inputs["database"] = args ? args.database : undefined;
76
+ inputs["enabled"] = args ? args.enabled : undefined;
77
+ inputs["name"] = args ? args.name : undefined;
78
+ inputs["schedule"] = args ? args.schedule : undefined;
79
+ inputs["schema"] = args ? args.schema : undefined;
80
+ inputs["sessionParameters"] = args ? args.sessionParameters : undefined;
81
+ inputs["sqlStatement"] = args ? args.sqlStatement : undefined;
82
+ inputs["userTaskTimeoutMs"] = args ? args.userTaskTimeoutMs : undefined;
83
+ inputs["warehouse"] = args ? args.warehouse : undefined;
84
+ inputs["when"] = args ? args.when : undefined;
85
+ }
86
+ if (!opts.version) {
87
+ opts = pulumi.mergeOptions(opts, { version: utilities.getVersion() });
88
+ }
89
+ super(Task.__pulumiType, name, inputs, opts);
90
+ }
91
+ /**
92
+ * Get an existing Task resource's state with the given name, ID, and optional extra
93
+ * properties used to qualify the lookup.
94
+ *
95
+ * @param name The _unique_ name of the resulting resource.
96
+ * @param id The _unique_ provider ID of the resource to lookup.
97
+ * @param state Any extra arguments used during the lookup.
98
+ * @param opts Optional settings to control the behavior of the CustomResource.
99
+ */
100
+ static get(name, id, state, opts) {
101
+ return new Task(name, state, Object.assign(Object.assign({}, opts), { id: id }));
102
+ }
103
+ /**
104
+ * Returns true if the given object is an instance of Task. This is designed to work even
105
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
106
+ */
107
+ static isInstance(obj) {
108
+ if (obj === undefined || obj === null) {
109
+ return false;
110
+ }
111
+ return obj['__pulumiType'] === Task.__pulumiType;
112
+ }
113
+ }
114
+ exports.Task = Task;
115
+ /** @internal */
116
+ Task.__pulumiType = 'snowflake:index/task:Task';
117
+ //# sourceMappingURL=task.js.map
package/task.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task.js","sourceRoot":"","sources":["../task.ts"],"names":[],"mappings":"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"}