@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
package/stage.d.ts ADDED
@@ -0,0 +1,192 @@
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 exampleStage = new snowflake.Stage("exampleStage", {
10
+ * url: "s3://com.example.bucket/prefix",
11
+ * database: "EXAMPLE_DB",
12
+ * schema: "EXAMPLE_SCHEMA",
13
+ * credentials: `AWS_KEY_ID='${_var.example_aws_key_id}' AWS_SECRET_KEY='${_var.example_aws_secret_key}'`,
14
+ * });
15
+ * const grantExampleStage = new snowflake.StageGrant("grantExampleStage", {
16
+ * databaseName: exampleStage.database,
17
+ * schemaName: exampleStage.schema,
18
+ * roles: ["LOADER"],
19
+ * privilege: "OWNERSHIP",
20
+ * stageName: exampleStage.name,
21
+ * });
22
+ * ```
23
+ *
24
+ * ## Import
25
+ *
26
+ * # format is database name | schema name | stage name
27
+ *
28
+ * ```sh
29
+ * $ pulumi import snowflake:index/stage:Stage example 'dbName|schemaName|stageName'
30
+ * ```
31
+ */
32
+ export declare class Stage extends pulumi.CustomResource {
33
+ /**
34
+ * Get an existing Stage resource's state with the given name, ID, and optional extra
35
+ * properties used to qualify the lookup.
36
+ *
37
+ * @param name The _unique_ name of the resulting resource.
38
+ * @param id The _unique_ provider ID of the resource to lookup.
39
+ * @param state Any extra arguments used during the lookup.
40
+ * @param opts Optional settings to control the behavior of the CustomResource.
41
+ */
42
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: StageState, opts?: pulumi.CustomResourceOptions): Stage;
43
+ /**
44
+ * Returns true if the given object is an instance of Stage. This is designed to work even
45
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
46
+ */
47
+ static isInstance(obj: any): obj is Stage;
48
+ readonly awsExternalId: pulumi.Output<string>;
49
+ /**
50
+ * Specifies a comment for the stage.
51
+ */
52
+ readonly comment: pulumi.Output<string | undefined>;
53
+ /**
54
+ * Specifies the copy options for the stage.
55
+ */
56
+ readonly copyOptions: pulumi.Output<string | undefined>;
57
+ /**
58
+ * Specifies the credentials for the stage.
59
+ */
60
+ readonly credentials: pulumi.Output<string | undefined>;
61
+ /**
62
+ * The database in which to create the stage.
63
+ */
64
+ readonly database: pulumi.Output<string>;
65
+ /**
66
+ * Specifies the encryption settings for the stage.
67
+ */
68
+ readonly encryption: pulumi.Output<string | undefined>;
69
+ /**
70
+ * Specifies the file format for the stage.
71
+ */
72
+ readonly fileFormat: pulumi.Output<string | undefined>;
73
+ /**
74
+ * Specifies the identifier for the stage; must be unique for the database and schema in which the stage is created.
75
+ */
76
+ readonly name: pulumi.Output<string>;
77
+ /**
78
+ * The schema in which to create the stage.
79
+ */
80
+ readonly schema: pulumi.Output<string>;
81
+ readonly snowflakeIamUser: pulumi.Output<string>;
82
+ /**
83
+ * Specifies the name of the storage integration used to delegate authentication responsibility for external cloud storage to a Snowflake identity and access management (IAM) entity.
84
+ */
85
+ readonly storageIntegration: pulumi.Output<string | undefined>;
86
+ /**
87
+ * Specifies the URL for the stage.
88
+ */
89
+ readonly url: pulumi.Output<string | undefined>;
90
+ /**
91
+ * Create a Stage resource with the given unique name, arguments, and options.
92
+ *
93
+ * @param name The _unique_ name of the resource.
94
+ * @param args The arguments to use to populate this resource's properties.
95
+ * @param opts A bag of options that control this resource's behavior.
96
+ */
97
+ constructor(name: string, args: StageArgs, opts?: pulumi.CustomResourceOptions);
98
+ }
99
+ /**
100
+ * Input properties used for looking up and filtering Stage resources.
101
+ */
102
+ export interface StageState {
103
+ awsExternalId?: pulumi.Input<string>;
104
+ /**
105
+ * Specifies a comment for the stage.
106
+ */
107
+ comment?: pulumi.Input<string>;
108
+ /**
109
+ * Specifies the copy options for the stage.
110
+ */
111
+ copyOptions?: pulumi.Input<string>;
112
+ /**
113
+ * Specifies the credentials for the stage.
114
+ */
115
+ credentials?: pulumi.Input<string>;
116
+ /**
117
+ * The database in which to create the stage.
118
+ */
119
+ database?: pulumi.Input<string>;
120
+ /**
121
+ * Specifies the encryption settings for the stage.
122
+ */
123
+ encryption?: pulumi.Input<string>;
124
+ /**
125
+ * Specifies the file format for the stage.
126
+ */
127
+ fileFormat?: pulumi.Input<string>;
128
+ /**
129
+ * Specifies the identifier for the stage; must be unique for the database and schema in which the stage is created.
130
+ */
131
+ name?: pulumi.Input<string>;
132
+ /**
133
+ * The schema in which to create the stage.
134
+ */
135
+ schema?: pulumi.Input<string>;
136
+ snowflakeIamUser?: pulumi.Input<string>;
137
+ /**
138
+ * Specifies the name of the storage integration used to delegate authentication responsibility for external cloud storage to a Snowflake identity and access management (IAM) entity.
139
+ */
140
+ storageIntegration?: pulumi.Input<string>;
141
+ /**
142
+ * Specifies the URL for the stage.
143
+ */
144
+ url?: pulumi.Input<string>;
145
+ }
146
+ /**
147
+ * The set of arguments for constructing a Stage resource.
148
+ */
149
+ export interface StageArgs {
150
+ awsExternalId?: pulumi.Input<string>;
151
+ /**
152
+ * Specifies a comment for the stage.
153
+ */
154
+ comment?: pulumi.Input<string>;
155
+ /**
156
+ * Specifies the copy options for the stage.
157
+ */
158
+ copyOptions?: pulumi.Input<string>;
159
+ /**
160
+ * Specifies the credentials for the stage.
161
+ */
162
+ credentials?: pulumi.Input<string>;
163
+ /**
164
+ * The database in which to create the stage.
165
+ */
166
+ database: pulumi.Input<string>;
167
+ /**
168
+ * Specifies the encryption settings for the stage.
169
+ */
170
+ encryption?: pulumi.Input<string>;
171
+ /**
172
+ * Specifies the file format for the stage.
173
+ */
174
+ fileFormat?: pulumi.Input<string>;
175
+ /**
176
+ * Specifies the identifier for the stage; must be unique for the database and schema in which the stage is created.
177
+ */
178
+ name?: pulumi.Input<string>;
179
+ /**
180
+ * The schema in which to create the stage.
181
+ */
182
+ schema: pulumi.Input<string>;
183
+ snowflakeIamUser?: pulumi.Input<string>;
184
+ /**
185
+ * Specifies the name of the storage integration used to delegate authentication responsibility for external cloud storage to a Snowflake identity and access management (IAM) entity.
186
+ */
187
+ storageIntegration?: pulumi.Input<string>;
188
+ /**
189
+ * Specifies the URL for the stage.
190
+ */
191
+ url?: pulumi.Input<string>;
192
+ }
package/stage.js ADDED
@@ -0,0 +1,109 @@
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.Stage = 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 exampleStage = new snowflake.Stage("exampleStage", {
16
+ * url: "s3://com.example.bucket/prefix",
17
+ * database: "EXAMPLE_DB",
18
+ * schema: "EXAMPLE_SCHEMA",
19
+ * credentials: `AWS_KEY_ID='${_var.example_aws_key_id}' AWS_SECRET_KEY='${_var.example_aws_secret_key}'`,
20
+ * });
21
+ * const grantExampleStage = new snowflake.StageGrant("grantExampleStage", {
22
+ * databaseName: exampleStage.database,
23
+ * schemaName: exampleStage.schema,
24
+ * roles: ["LOADER"],
25
+ * privilege: "OWNERSHIP",
26
+ * stageName: exampleStage.name,
27
+ * });
28
+ * ```
29
+ *
30
+ * ## Import
31
+ *
32
+ * # format is database name | schema name | stage name
33
+ *
34
+ * ```sh
35
+ * $ pulumi import snowflake:index/stage:Stage example 'dbName|schemaName|stageName'
36
+ * ```
37
+ */
38
+ class Stage extends pulumi.CustomResource {
39
+ constructor(name, argsOrState, opts) {
40
+ let inputs = {};
41
+ opts = opts || {};
42
+ if (opts.id) {
43
+ const state = argsOrState;
44
+ inputs["awsExternalId"] = state ? state.awsExternalId : undefined;
45
+ inputs["comment"] = state ? state.comment : undefined;
46
+ inputs["copyOptions"] = state ? state.copyOptions : undefined;
47
+ inputs["credentials"] = state ? state.credentials : undefined;
48
+ inputs["database"] = state ? state.database : undefined;
49
+ inputs["encryption"] = state ? state.encryption : undefined;
50
+ inputs["fileFormat"] = state ? state.fileFormat : undefined;
51
+ inputs["name"] = state ? state.name : undefined;
52
+ inputs["schema"] = state ? state.schema : undefined;
53
+ inputs["snowflakeIamUser"] = state ? state.snowflakeIamUser : undefined;
54
+ inputs["storageIntegration"] = state ? state.storageIntegration : undefined;
55
+ inputs["url"] = state ? state.url : undefined;
56
+ }
57
+ else {
58
+ const args = argsOrState;
59
+ if ((!args || args.database === undefined) && !opts.urn) {
60
+ throw new Error("Missing required property 'database'");
61
+ }
62
+ if ((!args || args.schema === undefined) && !opts.urn) {
63
+ throw new Error("Missing required property 'schema'");
64
+ }
65
+ inputs["awsExternalId"] = args ? args.awsExternalId : undefined;
66
+ inputs["comment"] = args ? args.comment : undefined;
67
+ inputs["copyOptions"] = args ? args.copyOptions : undefined;
68
+ inputs["credentials"] = args ? args.credentials : undefined;
69
+ inputs["database"] = args ? args.database : undefined;
70
+ inputs["encryption"] = args ? args.encryption : undefined;
71
+ inputs["fileFormat"] = args ? args.fileFormat : undefined;
72
+ inputs["name"] = args ? args.name : undefined;
73
+ inputs["schema"] = args ? args.schema : undefined;
74
+ inputs["snowflakeIamUser"] = args ? args.snowflakeIamUser : undefined;
75
+ inputs["storageIntegration"] = args ? args.storageIntegration : undefined;
76
+ inputs["url"] = args ? args.url : undefined;
77
+ }
78
+ if (!opts.version) {
79
+ opts = pulumi.mergeOptions(opts, { version: utilities.getVersion() });
80
+ }
81
+ super(Stage.__pulumiType, name, inputs, opts);
82
+ }
83
+ /**
84
+ * Get an existing Stage resource's state with the given name, ID, and optional extra
85
+ * properties used to qualify the lookup.
86
+ *
87
+ * @param name The _unique_ name of the resulting resource.
88
+ * @param id The _unique_ provider ID of the resource to lookup.
89
+ * @param state Any extra arguments used during the lookup.
90
+ * @param opts Optional settings to control the behavior of the CustomResource.
91
+ */
92
+ static get(name, id, state, opts) {
93
+ return new Stage(name, state, Object.assign(Object.assign({}, opts), { id: id }));
94
+ }
95
+ /**
96
+ * Returns true if the given object is an instance of Stage. This is designed to work even
97
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
98
+ */
99
+ static isInstance(obj) {
100
+ if (obj === undefined || obj === null) {
101
+ return false;
102
+ }
103
+ return obj['__pulumiType'] === Stage.__pulumiType;
104
+ }
105
+ }
106
+ exports.Stage = Stage;
107
+ /** @internal */
108
+ Stage.__pulumiType = 'snowflake:index/stage:Stage';
109
+ //# sourceMappingURL=stage.js.map
package/stage.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stage.js","sourceRoot":"","sources":["../stage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,165 @@
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.StageGrant("grant", {
10
+ * databaseName: "db",
11
+ * onFuture: false,
12
+ * privilege: "USAGE",
13
+ * roles: [
14
+ * "role1",
15
+ * "role2",
16
+ * ],
17
+ * schemaName: "schema",
18
+ * shares: [
19
+ * "share1",
20
+ * "share2",
21
+ * ],
22
+ * stageName: "stage",
23
+ * withGrantOption: false,
24
+ * });
25
+ * ```
26
+ *
27
+ * ## Import
28
+ *
29
+ * # format is database name | schema name | stage name | privilege | true/false for with_grant_option
30
+ *
31
+ * ```sh
32
+ * $ pulumi import snowflake:index/stageGrant:StageGrant example 'databaseName|schemaName|stageName|USAGE|true'
33
+ * ```
34
+ */
35
+ export declare class StageGrant extends pulumi.CustomResource {
36
+ /**
37
+ * Get an existing StageGrant resource's state with the given name, ID, and optional extra
38
+ * properties used to qualify the lookup.
39
+ *
40
+ * @param name The _unique_ name of the resulting resource.
41
+ * @param id The _unique_ provider ID of the resource to lookup.
42
+ * @param state Any extra arguments used during the lookup.
43
+ * @param opts Optional settings to control the behavior of the CustomResource.
44
+ */
45
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: StageGrantState, opts?: pulumi.CustomResourceOptions): StageGrant;
46
+ /**
47
+ * Returns true if the given object is an instance of StageGrant. This is designed to work even
48
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
49
+ */
50
+ static isInstance(obj: any): obj is StageGrant;
51
+ /**
52
+ * The name of the database containing the current stage on which to grant privileges.
53
+ */
54
+ readonly databaseName: pulumi.Output<string>;
55
+ /**
56
+ * When this is set to true and a schema*name is provided, apply this grant on all future stages in the given schema. When this is true and no schema*name is provided apply this grant on all future stages in the given database. The stage*name and shares fields must be unset in order to use on*future.
57
+ */
58
+ readonly onFuture: pulumi.Output<boolean | undefined>;
59
+ /**
60
+ * The privilege to grant on the stage.
61
+ */
62
+ readonly privilege: pulumi.Output<string | undefined>;
63
+ /**
64
+ * Grants privilege to these roles.
65
+ */
66
+ readonly roles: pulumi.Output<string[] | undefined>;
67
+ /**
68
+ * The name of the schema containing the current stage on which to grant privileges.
69
+ */
70
+ readonly schemaName: pulumi.Output<string>;
71
+ /**
72
+ * Grants privilege to these shares (only valid if onFuture is false).
73
+ */
74
+ readonly shares: pulumi.Output<string[] | undefined>;
75
+ /**
76
+ * The name of the stage on which to grant privilege (only valid if onFuture is false).
77
+ */
78
+ readonly stageName: pulumi.Output<string | undefined>;
79
+ /**
80
+ * When this is set to true, allows the recipient role to grant the privileges to other roles.
81
+ */
82
+ readonly withGrantOption: pulumi.Output<boolean | undefined>;
83
+ /**
84
+ * Create a StageGrant resource with the given unique name, arguments, and options.
85
+ *
86
+ * @param name The _unique_ name of the resource.
87
+ * @param args The arguments to use to populate this resource's properties.
88
+ * @param opts A bag of options that control this resource's behavior.
89
+ */
90
+ constructor(name: string, args: StageGrantArgs, opts?: pulumi.CustomResourceOptions);
91
+ }
92
+ /**
93
+ * Input properties used for looking up and filtering StageGrant resources.
94
+ */
95
+ export interface StageGrantState {
96
+ /**
97
+ * The name of the database containing the current stage on which to grant privileges.
98
+ */
99
+ databaseName?: pulumi.Input<string>;
100
+ /**
101
+ * When this is set to true and a schema*name is provided, apply this grant on all future stages in the given schema. When this is true and no schema*name is provided apply this grant on all future stages in the given database. The stage*name and shares fields must be unset in order to use on*future.
102
+ */
103
+ onFuture?: pulumi.Input<boolean>;
104
+ /**
105
+ * The privilege to grant on the stage.
106
+ */
107
+ privilege?: pulumi.Input<string>;
108
+ /**
109
+ * Grants privilege to these roles.
110
+ */
111
+ roles?: pulumi.Input<pulumi.Input<string>[]>;
112
+ /**
113
+ * The name of the schema containing the current stage on which to grant privileges.
114
+ */
115
+ schemaName?: pulumi.Input<string>;
116
+ /**
117
+ * Grants privilege to these shares (only valid if onFuture is false).
118
+ */
119
+ shares?: pulumi.Input<pulumi.Input<string>[]>;
120
+ /**
121
+ * The name of the stage on which to grant privilege (only valid if onFuture is false).
122
+ */
123
+ stageName?: pulumi.Input<string>;
124
+ /**
125
+ * When this is set to true, allows the recipient role to grant the privileges to other roles.
126
+ */
127
+ withGrantOption?: pulumi.Input<boolean>;
128
+ }
129
+ /**
130
+ * The set of arguments for constructing a StageGrant resource.
131
+ */
132
+ export interface StageGrantArgs {
133
+ /**
134
+ * The name of the database containing the current stage on which to grant privileges.
135
+ */
136
+ databaseName: pulumi.Input<string>;
137
+ /**
138
+ * When this is set to true and a schema*name is provided, apply this grant on all future stages in the given schema. When this is true and no schema*name is provided apply this grant on all future stages in the given database. The stage*name and shares fields must be unset in order to use on*future.
139
+ */
140
+ onFuture?: pulumi.Input<boolean>;
141
+ /**
142
+ * The privilege to grant on the stage.
143
+ */
144
+ privilege?: pulumi.Input<string>;
145
+ /**
146
+ * Grants privilege to these roles.
147
+ */
148
+ roles?: pulumi.Input<pulumi.Input<string>[]>;
149
+ /**
150
+ * The name of the schema containing the current stage on which to grant privileges.
151
+ */
152
+ schemaName: pulumi.Input<string>;
153
+ /**
154
+ * Grants privilege to these shares (only valid if onFuture is false).
155
+ */
156
+ shares?: pulumi.Input<pulumi.Input<string>[]>;
157
+ /**
158
+ * The name of the stage on which to grant privilege (only valid if onFuture is false).
159
+ */
160
+ stageName?: pulumi.Input<string>;
161
+ /**
162
+ * When this is set to true, allows the recipient role to grant the privileges to other roles.
163
+ */
164
+ withGrantOption?: pulumi.Input<boolean>;
165
+ }
package/stageGrant.js ADDED
@@ -0,0 +1,104 @@
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.StageGrant = 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.StageGrant("grant", {
16
+ * databaseName: "db",
17
+ * onFuture: false,
18
+ * privilege: "USAGE",
19
+ * roles: [
20
+ * "role1",
21
+ * "role2",
22
+ * ],
23
+ * schemaName: "schema",
24
+ * shares: [
25
+ * "share1",
26
+ * "share2",
27
+ * ],
28
+ * stageName: "stage",
29
+ * withGrantOption: false,
30
+ * });
31
+ * ```
32
+ *
33
+ * ## Import
34
+ *
35
+ * # format is database name | schema name | stage name | privilege | true/false for with_grant_option
36
+ *
37
+ * ```sh
38
+ * $ pulumi import snowflake:index/stageGrant:StageGrant example 'databaseName|schemaName|stageName|USAGE|true'
39
+ * ```
40
+ */
41
+ class StageGrant extends pulumi.CustomResource {
42
+ constructor(name, argsOrState, opts) {
43
+ let inputs = {};
44
+ opts = opts || {};
45
+ if (opts.id) {
46
+ const state = argsOrState;
47
+ inputs["databaseName"] = state ? state.databaseName : undefined;
48
+ inputs["onFuture"] = state ? state.onFuture : undefined;
49
+ inputs["privilege"] = state ? state.privilege : undefined;
50
+ inputs["roles"] = state ? state.roles : undefined;
51
+ inputs["schemaName"] = state ? state.schemaName : undefined;
52
+ inputs["shares"] = state ? state.shares : undefined;
53
+ inputs["stageName"] = state ? state.stageName : undefined;
54
+ inputs["withGrantOption"] = state ? state.withGrantOption : undefined;
55
+ }
56
+ else {
57
+ const args = argsOrState;
58
+ if ((!args || args.databaseName === undefined) && !opts.urn) {
59
+ throw new Error("Missing required property 'databaseName'");
60
+ }
61
+ if ((!args || args.schemaName === undefined) && !opts.urn) {
62
+ throw new Error("Missing required property 'schemaName'");
63
+ }
64
+ inputs["databaseName"] = args ? args.databaseName : undefined;
65
+ inputs["onFuture"] = args ? args.onFuture : undefined;
66
+ inputs["privilege"] = args ? args.privilege : undefined;
67
+ inputs["roles"] = args ? args.roles : undefined;
68
+ inputs["schemaName"] = args ? args.schemaName : undefined;
69
+ inputs["shares"] = args ? args.shares : undefined;
70
+ inputs["stageName"] = args ? args.stageName : undefined;
71
+ inputs["withGrantOption"] = args ? args.withGrantOption : undefined;
72
+ }
73
+ if (!opts.version) {
74
+ opts = pulumi.mergeOptions(opts, { version: utilities.getVersion() });
75
+ }
76
+ super(StageGrant.__pulumiType, name, inputs, opts);
77
+ }
78
+ /**
79
+ * Get an existing StageGrant resource's state with the given name, ID, and optional extra
80
+ * properties used to qualify the lookup.
81
+ *
82
+ * @param name The _unique_ name of the resulting resource.
83
+ * @param id The _unique_ provider ID of the resource to lookup.
84
+ * @param state Any extra arguments used during the lookup.
85
+ * @param opts Optional settings to control the behavior of the CustomResource.
86
+ */
87
+ static get(name, id, state, opts) {
88
+ return new StageGrant(name, state, Object.assign(Object.assign({}, opts), { id: id }));
89
+ }
90
+ /**
91
+ * Returns true if the given object is an instance of StageGrant. This is designed to work even
92
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
93
+ */
94
+ static isInstance(obj) {
95
+ if (obj === undefined || obj === null) {
96
+ return false;
97
+ }
98
+ return obj['__pulumiType'] === StageGrant.__pulumiType;
99
+ }
100
+ }
101
+ exports.StageGrant = StageGrant;
102
+ /** @internal */
103
+ StageGrant.__pulumiType = 'snowflake:index/stageGrant:StageGrant';
104
+ //# sourceMappingURL=stageGrant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stageGrant.js","sourceRoot":"","sources":["../stageGrant.ts"],"names":[],"mappings":"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"}