pulumi-snowflake 0.61.0a1731393894__py3-none-any.whl → 0.61.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of pulumi-snowflake might be problematic. Click here for more details.

Files changed (39) hide show
  1. pulumi_snowflake/__init__.py +110 -0
  2. pulumi_snowflake/_inputs.py +5182 -1837
  3. pulumi_snowflake/account_authentication_policy_attachment.py +149 -0
  4. pulumi_snowflake/authentication_policy.py +622 -0
  5. pulumi_snowflake/config/__init__.pyi +86 -36
  6. pulumi_snowflake/config/vars.py +104 -40
  7. pulumi_snowflake/external_volume.py +378 -0
  8. pulumi_snowflake/get_connections.py +147 -0
  9. pulumi_snowflake/get_grants.py +4 -0
  10. pulumi_snowflake/get_secrets.py +204 -0
  11. pulumi_snowflake/get_streams.py +105 -56
  12. pulumi_snowflake/grant_account_role.py +2 -2
  13. pulumi_snowflake/grant_application_role.py +2 -2
  14. pulumi_snowflake/grant_database_role.py +2 -2
  15. pulumi_snowflake/grant_ownership.py +14 -14
  16. pulumi_snowflake/grant_privileges_to_account_role.py +8 -8
  17. pulumi_snowflake/grant_privileges_to_database_role.py +8 -8
  18. pulumi_snowflake/grant_privileges_to_share.py +2 -2
  19. pulumi_snowflake/legacy_service_user.py +4 -0
  20. pulumi_snowflake/outputs.py +4390 -1335
  21. pulumi_snowflake/primary_connection.py +330 -0
  22. pulumi_snowflake/provider.py +433 -146
  23. pulumi_snowflake/pulumi-plugin.json +1 -1
  24. pulumi_snowflake/secondary_connection.py +339 -0
  25. pulumi_snowflake/secret_with_authorization_code_grant.py +548 -0
  26. pulumi_snowflake/secret_with_basic_authentication.py +500 -0
  27. pulumi_snowflake/secret_with_client_credentials.py +511 -0
  28. pulumi_snowflake/secret_with_generic_string.py +452 -0
  29. pulumi_snowflake/stream_on_directory_table.py +530 -0
  30. pulumi_snowflake/stream_on_external_table.py +50 -2
  31. pulumi_snowflake/stream_on_table.py +48 -0
  32. pulumi_snowflake/stream_on_view.py +679 -0
  33. pulumi_snowflake/tag_association.py +7 -7
  34. pulumi_snowflake/user.py +4 -0
  35. pulumi_snowflake/user_authentication_policy_attachment.py +197 -0
  36. {pulumi_snowflake-0.61.0a1731393894.dist-info → pulumi_snowflake-0.61.1.dist-info}/METADATA +1 -1
  37. {pulumi_snowflake-0.61.0a1731393894.dist-info → pulumi_snowflake-0.61.1.dist-info}/RECORD +39 -25
  38. {pulumi_snowflake-0.61.0a1731393894.dist-info → pulumi_snowflake-0.61.1.dist-info}/WHEEL +1 -1
  39. {pulumi_snowflake-0.61.0a1731393894.dist-info → pulumi_snowflake-0.61.1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,530 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from . import _utilities
16
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['StreamOnDirectoryTableArgs', 'StreamOnDirectoryTable']
20
+
21
+ @pulumi.input_type
22
+ class StreamOnDirectoryTableArgs:
23
+ def __init__(__self__, *,
24
+ database: pulumi.Input[str],
25
+ schema: pulumi.Input[str],
26
+ stage: pulumi.Input[str],
27
+ comment: Optional[pulumi.Input[str]] = None,
28
+ copy_grants: Optional[pulumi.Input[bool]] = None,
29
+ name: Optional[pulumi.Input[str]] = None):
30
+ """
31
+ The set of arguments for constructing a StreamOnDirectoryTable resource.
32
+ :param pulumi.Input[str] database: The database in which to create the stream. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
33
+ :param pulumi.Input[str] schema: The schema in which to create the stream. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
34
+ :param pulumi.Input[str] stage: Specifies an identifier for the stage the stream will monitor. Due to Snowflake limitations, the provider can not read the stage's database and schema. For stages, Snowflake returns only partially qualified name instead of fully qualified name. Please use stages located in the same schema as the stream. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
35
+ :param pulumi.Input[str] comment: Specifies a comment for the stream.
36
+ :param pulumi.Input[bool] copy_grants: Retains the access permissions from the original stream when a stream is recreated using the OR REPLACE clause. That is sometimes used when the provider detects changes for fields that can not be changed by ALTER. This value will not have any effect when creating a new stream.
37
+ :param pulumi.Input[str] name: Specifies the identifier for the stream; must be unique for the database and schema in which the stream is created. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
38
+ """
39
+ pulumi.set(__self__, "database", database)
40
+ pulumi.set(__self__, "schema", schema)
41
+ pulumi.set(__self__, "stage", stage)
42
+ if comment is not None:
43
+ pulumi.set(__self__, "comment", comment)
44
+ if copy_grants is not None:
45
+ pulumi.set(__self__, "copy_grants", copy_grants)
46
+ if name is not None:
47
+ pulumi.set(__self__, "name", name)
48
+
49
+ @property
50
+ @pulumi.getter
51
+ def database(self) -> pulumi.Input[str]:
52
+ """
53
+ The database in which to create the stream. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
54
+ """
55
+ return pulumi.get(self, "database")
56
+
57
+ @database.setter
58
+ def database(self, value: pulumi.Input[str]):
59
+ pulumi.set(self, "database", value)
60
+
61
+ @property
62
+ @pulumi.getter
63
+ def schema(self) -> pulumi.Input[str]:
64
+ """
65
+ The schema in which to create the stream. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
66
+ """
67
+ return pulumi.get(self, "schema")
68
+
69
+ @schema.setter
70
+ def schema(self, value: pulumi.Input[str]):
71
+ pulumi.set(self, "schema", value)
72
+
73
+ @property
74
+ @pulumi.getter
75
+ def stage(self) -> pulumi.Input[str]:
76
+ """
77
+ Specifies an identifier for the stage the stream will monitor. Due to Snowflake limitations, the provider can not read the stage's database and schema. For stages, Snowflake returns only partially qualified name instead of fully qualified name. Please use stages located in the same schema as the stream. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
78
+ """
79
+ return pulumi.get(self, "stage")
80
+
81
+ @stage.setter
82
+ def stage(self, value: pulumi.Input[str]):
83
+ pulumi.set(self, "stage", value)
84
+
85
+ @property
86
+ @pulumi.getter
87
+ def comment(self) -> Optional[pulumi.Input[str]]:
88
+ """
89
+ Specifies a comment for the stream.
90
+ """
91
+ return pulumi.get(self, "comment")
92
+
93
+ @comment.setter
94
+ def comment(self, value: Optional[pulumi.Input[str]]):
95
+ pulumi.set(self, "comment", value)
96
+
97
+ @property
98
+ @pulumi.getter(name="copyGrants")
99
+ def copy_grants(self) -> Optional[pulumi.Input[bool]]:
100
+ """
101
+ Retains the access permissions from the original stream when a stream is recreated using the OR REPLACE clause. That is sometimes used when the provider detects changes for fields that can not be changed by ALTER. This value will not have any effect when creating a new stream.
102
+ """
103
+ return pulumi.get(self, "copy_grants")
104
+
105
+ @copy_grants.setter
106
+ def copy_grants(self, value: Optional[pulumi.Input[bool]]):
107
+ pulumi.set(self, "copy_grants", value)
108
+
109
+ @property
110
+ @pulumi.getter
111
+ def name(self) -> Optional[pulumi.Input[str]]:
112
+ """
113
+ Specifies the identifier for the stream; must be unique for the database and schema in which the stream is created. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
114
+ """
115
+ return pulumi.get(self, "name")
116
+
117
+ @name.setter
118
+ def name(self, value: Optional[pulumi.Input[str]]):
119
+ pulumi.set(self, "name", value)
120
+
121
+
122
+ @pulumi.input_type
123
+ class _StreamOnDirectoryTableState:
124
+ def __init__(__self__, *,
125
+ comment: Optional[pulumi.Input[str]] = None,
126
+ copy_grants: Optional[pulumi.Input[bool]] = None,
127
+ database: Optional[pulumi.Input[str]] = None,
128
+ describe_outputs: Optional[pulumi.Input[Sequence[pulumi.Input['StreamOnDirectoryTableDescribeOutputArgs']]]] = None,
129
+ fully_qualified_name: Optional[pulumi.Input[str]] = None,
130
+ name: Optional[pulumi.Input[str]] = None,
131
+ schema: Optional[pulumi.Input[str]] = None,
132
+ show_outputs: Optional[pulumi.Input[Sequence[pulumi.Input['StreamOnDirectoryTableShowOutputArgs']]]] = None,
133
+ stage: Optional[pulumi.Input[str]] = None,
134
+ stale: Optional[pulumi.Input[bool]] = None,
135
+ stream_type: Optional[pulumi.Input[str]] = None):
136
+ """
137
+ Input properties used for looking up and filtering StreamOnDirectoryTable resources.
138
+ :param pulumi.Input[str] comment: Specifies a comment for the stream.
139
+ :param pulumi.Input[bool] copy_grants: Retains the access permissions from the original stream when a stream is recreated using the OR REPLACE clause. That is sometimes used when the provider detects changes for fields that can not be changed by ALTER. This value will not have any effect when creating a new stream.
140
+ :param pulumi.Input[str] database: The database in which to create the stream. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
141
+ :param pulumi.Input[Sequence[pulumi.Input['StreamOnDirectoryTableDescribeOutputArgs']]] describe_outputs: Outputs the result of `DESCRIBE STREAM` for the given stream.
142
+ :param pulumi.Input[str] fully_qualified_name: Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
143
+ :param pulumi.Input[str] name: Specifies the identifier for the stream; must be unique for the database and schema in which the stream is created. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
144
+ :param pulumi.Input[str] schema: The schema in which to create the stream. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
145
+ :param pulumi.Input[Sequence[pulumi.Input['StreamOnDirectoryTableShowOutputArgs']]] show_outputs: Outputs the result of `SHOW STREAMS` for the given stream.
146
+ :param pulumi.Input[str] stage: Specifies an identifier for the stage the stream will monitor. Due to Snowflake limitations, the provider can not read the stage's database and schema. For stages, Snowflake returns only partially qualified name instead of fully qualified name. Please use stages located in the same schema as the stream. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
147
+ :param pulumi.Input[str] stream_type: Specifies a type for the stream. This field is used for checking external changes and recreating the resources if needed.
148
+ """
149
+ if comment is not None:
150
+ pulumi.set(__self__, "comment", comment)
151
+ if copy_grants is not None:
152
+ pulumi.set(__self__, "copy_grants", copy_grants)
153
+ if database is not None:
154
+ pulumi.set(__self__, "database", database)
155
+ if describe_outputs is not None:
156
+ pulumi.set(__self__, "describe_outputs", describe_outputs)
157
+ if fully_qualified_name is not None:
158
+ pulumi.set(__self__, "fully_qualified_name", fully_qualified_name)
159
+ if name is not None:
160
+ pulumi.set(__self__, "name", name)
161
+ if schema is not None:
162
+ pulumi.set(__self__, "schema", schema)
163
+ if show_outputs is not None:
164
+ pulumi.set(__self__, "show_outputs", show_outputs)
165
+ if stage is not None:
166
+ pulumi.set(__self__, "stage", stage)
167
+ if stale is not None:
168
+ pulumi.set(__self__, "stale", stale)
169
+ if stream_type is not None:
170
+ pulumi.set(__self__, "stream_type", stream_type)
171
+
172
+ @property
173
+ @pulumi.getter
174
+ def comment(self) -> Optional[pulumi.Input[str]]:
175
+ """
176
+ Specifies a comment for the stream.
177
+ """
178
+ return pulumi.get(self, "comment")
179
+
180
+ @comment.setter
181
+ def comment(self, value: Optional[pulumi.Input[str]]):
182
+ pulumi.set(self, "comment", value)
183
+
184
+ @property
185
+ @pulumi.getter(name="copyGrants")
186
+ def copy_grants(self) -> Optional[pulumi.Input[bool]]:
187
+ """
188
+ Retains the access permissions from the original stream when a stream is recreated using the OR REPLACE clause. That is sometimes used when the provider detects changes for fields that can not be changed by ALTER. This value will not have any effect when creating a new stream.
189
+ """
190
+ return pulumi.get(self, "copy_grants")
191
+
192
+ @copy_grants.setter
193
+ def copy_grants(self, value: Optional[pulumi.Input[bool]]):
194
+ pulumi.set(self, "copy_grants", value)
195
+
196
+ @property
197
+ @pulumi.getter
198
+ def database(self) -> Optional[pulumi.Input[str]]:
199
+ """
200
+ The database in which to create the stream. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
201
+ """
202
+ return pulumi.get(self, "database")
203
+
204
+ @database.setter
205
+ def database(self, value: Optional[pulumi.Input[str]]):
206
+ pulumi.set(self, "database", value)
207
+
208
+ @property
209
+ @pulumi.getter(name="describeOutputs")
210
+ def describe_outputs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StreamOnDirectoryTableDescribeOutputArgs']]]]:
211
+ """
212
+ Outputs the result of `DESCRIBE STREAM` for the given stream.
213
+ """
214
+ return pulumi.get(self, "describe_outputs")
215
+
216
+ @describe_outputs.setter
217
+ def describe_outputs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StreamOnDirectoryTableDescribeOutputArgs']]]]):
218
+ pulumi.set(self, "describe_outputs", value)
219
+
220
+ @property
221
+ @pulumi.getter(name="fullyQualifiedName")
222
+ def fully_qualified_name(self) -> Optional[pulumi.Input[str]]:
223
+ """
224
+ Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
225
+ """
226
+ return pulumi.get(self, "fully_qualified_name")
227
+
228
+ @fully_qualified_name.setter
229
+ def fully_qualified_name(self, value: Optional[pulumi.Input[str]]):
230
+ pulumi.set(self, "fully_qualified_name", value)
231
+
232
+ @property
233
+ @pulumi.getter
234
+ def name(self) -> Optional[pulumi.Input[str]]:
235
+ """
236
+ Specifies the identifier for the stream; must be unique for the database and schema in which the stream is created. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
237
+ """
238
+ return pulumi.get(self, "name")
239
+
240
+ @name.setter
241
+ def name(self, value: Optional[pulumi.Input[str]]):
242
+ pulumi.set(self, "name", value)
243
+
244
+ @property
245
+ @pulumi.getter
246
+ def schema(self) -> Optional[pulumi.Input[str]]:
247
+ """
248
+ The schema in which to create the stream. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
249
+ """
250
+ return pulumi.get(self, "schema")
251
+
252
+ @schema.setter
253
+ def schema(self, value: Optional[pulumi.Input[str]]):
254
+ pulumi.set(self, "schema", value)
255
+
256
+ @property
257
+ @pulumi.getter(name="showOutputs")
258
+ def show_outputs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StreamOnDirectoryTableShowOutputArgs']]]]:
259
+ """
260
+ Outputs the result of `SHOW STREAMS` for the given stream.
261
+ """
262
+ return pulumi.get(self, "show_outputs")
263
+
264
+ @show_outputs.setter
265
+ def show_outputs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StreamOnDirectoryTableShowOutputArgs']]]]):
266
+ pulumi.set(self, "show_outputs", value)
267
+
268
+ @property
269
+ @pulumi.getter
270
+ def stage(self) -> Optional[pulumi.Input[str]]:
271
+ """
272
+ Specifies an identifier for the stage the stream will monitor. Due to Snowflake limitations, the provider can not read the stage's database and schema. For stages, Snowflake returns only partially qualified name instead of fully qualified name. Please use stages located in the same schema as the stream. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
273
+ """
274
+ return pulumi.get(self, "stage")
275
+
276
+ @stage.setter
277
+ def stage(self, value: Optional[pulumi.Input[str]]):
278
+ pulumi.set(self, "stage", value)
279
+
280
+ @property
281
+ @pulumi.getter
282
+ def stale(self) -> Optional[pulumi.Input[bool]]:
283
+ return pulumi.get(self, "stale")
284
+
285
+ @stale.setter
286
+ def stale(self, value: Optional[pulumi.Input[bool]]):
287
+ pulumi.set(self, "stale", value)
288
+
289
+ @property
290
+ @pulumi.getter(name="streamType")
291
+ def stream_type(self) -> Optional[pulumi.Input[str]]:
292
+ """
293
+ Specifies a type for the stream. This field is used for checking external changes and recreating the resources if needed.
294
+ """
295
+ return pulumi.get(self, "stream_type")
296
+
297
+ @stream_type.setter
298
+ def stream_type(self, value: Optional[pulumi.Input[str]]):
299
+ pulumi.set(self, "stream_type", value)
300
+
301
+
302
+ class StreamOnDirectoryTable(pulumi.CustomResource):
303
+ @overload
304
+ def __init__(__self__,
305
+ resource_name: str,
306
+ opts: Optional[pulumi.ResourceOptions] = None,
307
+ comment: Optional[pulumi.Input[str]] = None,
308
+ copy_grants: Optional[pulumi.Input[bool]] = None,
309
+ database: Optional[pulumi.Input[str]] = None,
310
+ name: Optional[pulumi.Input[str]] = None,
311
+ schema: Optional[pulumi.Input[str]] = None,
312
+ stage: Optional[pulumi.Input[str]] = None,
313
+ __props__=None):
314
+ """
315
+ ## Import
316
+
317
+ ```sh
318
+ $ pulumi import snowflake:index/streamOnDirectoryTable:StreamOnDirectoryTable example '"<database_name>"."<schema_name>"."<stream_name>"'
319
+ ```
320
+
321
+ :param str resource_name: The name of the resource.
322
+ :param pulumi.ResourceOptions opts: Options for the resource.
323
+ :param pulumi.Input[str] comment: Specifies a comment for the stream.
324
+ :param pulumi.Input[bool] copy_grants: Retains the access permissions from the original stream when a stream is recreated using the OR REPLACE clause. That is sometimes used when the provider detects changes for fields that can not be changed by ALTER. This value will not have any effect when creating a new stream.
325
+ :param pulumi.Input[str] database: The database in which to create the stream. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
326
+ :param pulumi.Input[str] name: Specifies the identifier for the stream; must be unique for the database and schema in which the stream is created. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
327
+ :param pulumi.Input[str] schema: The schema in which to create the stream. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
328
+ :param pulumi.Input[str] stage: Specifies an identifier for the stage the stream will monitor. Due to Snowflake limitations, the provider can not read the stage's database and schema. For stages, Snowflake returns only partially qualified name instead of fully qualified name. Please use stages located in the same schema as the stream. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
329
+ """
330
+ ...
331
+ @overload
332
+ def __init__(__self__,
333
+ resource_name: str,
334
+ args: StreamOnDirectoryTableArgs,
335
+ opts: Optional[pulumi.ResourceOptions] = None):
336
+ """
337
+ ## Import
338
+
339
+ ```sh
340
+ $ pulumi import snowflake:index/streamOnDirectoryTable:StreamOnDirectoryTable example '"<database_name>"."<schema_name>"."<stream_name>"'
341
+ ```
342
+
343
+ :param str resource_name: The name of the resource.
344
+ :param StreamOnDirectoryTableArgs args: The arguments to use to populate this resource's properties.
345
+ :param pulumi.ResourceOptions opts: Options for the resource.
346
+ """
347
+ ...
348
+ def __init__(__self__, resource_name: str, *args, **kwargs):
349
+ resource_args, opts = _utilities.get_resource_args_opts(StreamOnDirectoryTableArgs, pulumi.ResourceOptions, *args, **kwargs)
350
+ if resource_args is not None:
351
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
352
+ else:
353
+ __self__._internal_init(resource_name, *args, **kwargs)
354
+
355
+ def _internal_init(__self__,
356
+ resource_name: str,
357
+ opts: Optional[pulumi.ResourceOptions] = None,
358
+ comment: Optional[pulumi.Input[str]] = None,
359
+ copy_grants: Optional[pulumi.Input[bool]] = None,
360
+ database: Optional[pulumi.Input[str]] = None,
361
+ name: Optional[pulumi.Input[str]] = None,
362
+ schema: Optional[pulumi.Input[str]] = None,
363
+ stage: Optional[pulumi.Input[str]] = None,
364
+ __props__=None):
365
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
366
+ if not isinstance(opts, pulumi.ResourceOptions):
367
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
368
+ if opts.id is None:
369
+ if __props__ is not None:
370
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
371
+ __props__ = StreamOnDirectoryTableArgs.__new__(StreamOnDirectoryTableArgs)
372
+
373
+ __props__.__dict__["comment"] = comment
374
+ __props__.__dict__["copy_grants"] = copy_grants
375
+ if database is None and not opts.urn:
376
+ raise TypeError("Missing required property 'database'")
377
+ __props__.__dict__["database"] = database
378
+ __props__.__dict__["name"] = name
379
+ if schema is None and not opts.urn:
380
+ raise TypeError("Missing required property 'schema'")
381
+ __props__.__dict__["schema"] = schema
382
+ if stage is None and not opts.urn:
383
+ raise TypeError("Missing required property 'stage'")
384
+ __props__.__dict__["stage"] = stage
385
+ __props__.__dict__["describe_outputs"] = None
386
+ __props__.__dict__["fully_qualified_name"] = None
387
+ __props__.__dict__["show_outputs"] = None
388
+ __props__.__dict__["stale"] = None
389
+ __props__.__dict__["stream_type"] = None
390
+ super(StreamOnDirectoryTable, __self__).__init__(
391
+ 'snowflake:index/streamOnDirectoryTable:StreamOnDirectoryTable',
392
+ resource_name,
393
+ __props__,
394
+ opts)
395
+
396
+ @staticmethod
397
+ def get(resource_name: str,
398
+ id: pulumi.Input[str],
399
+ opts: Optional[pulumi.ResourceOptions] = None,
400
+ comment: Optional[pulumi.Input[str]] = None,
401
+ copy_grants: Optional[pulumi.Input[bool]] = None,
402
+ database: Optional[pulumi.Input[str]] = None,
403
+ describe_outputs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StreamOnDirectoryTableDescribeOutputArgs', 'StreamOnDirectoryTableDescribeOutputArgsDict']]]]] = None,
404
+ fully_qualified_name: Optional[pulumi.Input[str]] = None,
405
+ name: Optional[pulumi.Input[str]] = None,
406
+ schema: Optional[pulumi.Input[str]] = None,
407
+ show_outputs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StreamOnDirectoryTableShowOutputArgs', 'StreamOnDirectoryTableShowOutputArgsDict']]]]] = None,
408
+ stage: Optional[pulumi.Input[str]] = None,
409
+ stale: Optional[pulumi.Input[bool]] = None,
410
+ stream_type: Optional[pulumi.Input[str]] = None) -> 'StreamOnDirectoryTable':
411
+ """
412
+ Get an existing StreamOnDirectoryTable resource's state with the given name, id, and optional extra
413
+ properties used to qualify the lookup.
414
+
415
+ :param str resource_name: The unique name of the resulting resource.
416
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
417
+ :param pulumi.ResourceOptions opts: Options for the resource.
418
+ :param pulumi.Input[str] comment: Specifies a comment for the stream.
419
+ :param pulumi.Input[bool] copy_grants: Retains the access permissions from the original stream when a stream is recreated using the OR REPLACE clause. That is sometimes used when the provider detects changes for fields that can not be changed by ALTER. This value will not have any effect when creating a new stream.
420
+ :param pulumi.Input[str] database: The database in which to create the stream. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
421
+ :param pulumi.Input[Sequence[pulumi.Input[Union['StreamOnDirectoryTableDescribeOutputArgs', 'StreamOnDirectoryTableDescribeOutputArgsDict']]]] describe_outputs: Outputs the result of `DESCRIBE STREAM` for the given stream.
422
+ :param pulumi.Input[str] fully_qualified_name: Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
423
+ :param pulumi.Input[str] name: Specifies the identifier for the stream; must be unique for the database and schema in which the stream is created. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
424
+ :param pulumi.Input[str] schema: The schema in which to create the stream. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
425
+ :param pulumi.Input[Sequence[pulumi.Input[Union['StreamOnDirectoryTableShowOutputArgs', 'StreamOnDirectoryTableShowOutputArgsDict']]]] show_outputs: Outputs the result of `SHOW STREAMS` for the given stream.
426
+ :param pulumi.Input[str] stage: Specifies an identifier for the stage the stream will monitor. Due to Snowflake limitations, the provider can not read the stage's database and schema. For stages, Snowflake returns only partially qualified name instead of fully qualified name. Please use stages located in the same schema as the stream. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
427
+ :param pulumi.Input[str] stream_type: Specifies a type for the stream. This field is used for checking external changes and recreating the resources if needed.
428
+ """
429
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
430
+
431
+ __props__ = _StreamOnDirectoryTableState.__new__(_StreamOnDirectoryTableState)
432
+
433
+ __props__.__dict__["comment"] = comment
434
+ __props__.__dict__["copy_grants"] = copy_grants
435
+ __props__.__dict__["database"] = database
436
+ __props__.__dict__["describe_outputs"] = describe_outputs
437
+ __props__.__dict__["fully_qualified_name"] = fully_qualified_name
438
+ __props__.__dict__["name"] = name
439
+ __props__.__dict__["schema"] = schema
440
+ __props__.__dict__["show_outputs"] = show_outputs
441
+ __props__.__dict__["stage"] = stage
442
+ __props__.__dict__["stale"] = stale
443
+ __props__.__dict__["stream_type"] = stream_type
444
+ return StreamOnDirectoryTable(resource_name, opts=opts, __props__=__props__)
445
+
446
+ @property
447
+ @pulumi.getter
448
+ def comment(self) -> pulumi.Output[Optional[str]]:
449
+ """
450
+ Specifies a comment for the stream.
451
+ """
452
+ return pulumi.get(self, "comment")
453
+
454
+ @property
455
+ @pulumi.getter(name="copyGrants")
456
+ def copy_grants(self) -> pulumi.Output[Optional[bool]]:
457
+ """
458
+ Retains the access permissions from the original stream when a stream is recreated using the OR REPLACE clause. That is sometimes used when the provider detects changes for fields that can not be changed by ALTER. This value will not have any effect when creating a new stream.
459
+ """
460
+ return pulumi.get(self, "copy_grants")
461
+
462
+ @property
463
+ @pulumi.getter
464
+ def database(self) -> pulumi.Output[str]:
465
+ """
466
+ The database in which to create the stream. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
467
+ """
468
+ return pulumi.get(self, "database")
469
+
470
+ @property
471
+ @pulumi.getter(name="describeOutputs")
472
+ def describe_outputs(self) -> pulumi.Output[Sequence['outputs.StreamOnDirectoryTableDescribeOutput']]:
473
+ """
474
+ Outputs the result of `DESCRIBE STREAM` for the given stream.
475
+ """
476
+ return pulumi.get(self, "describe_outputs")
477
+
478
+ @property
479
+ @pulumi.getter(name="fullyQualifiedName")
480
+ def fully_qualified_name(self) -> pulumi.Output[str]:
481
+ """
482
+ Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
483
+ """
484
+ return pulumi.get(self, "fully_qualified_name")
485
+
486
+ @property
487
+ @pulumi.getter
488
+ def name(self) -> pulumi.Output[str]:
489
+ """
490
+ Specifies the identifier for the stream; must be unique for the database and schema in which the stream is created. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
491
+ """
492
+ return pulumi.get(self, "name")
493
+
494
+ @property
495
+ @pulumi.getter
496
+ def schema(self) -> pulumi.Output[str]:
497
+ """
498
+ The schema in which to create the stream. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
499
+ """
500
+ return pulumi.get(self, "schema")
501
+
502
+ @property
503
+ @pulumi.getter(name="showOutputs")
504
+ def show_outputs(self) -> pulumi.Output[Sequence['outputs.StreamOnDirectoryTableShowOutput']]:
505
+ """
506
+ Outputs the result of `SHOW STREAMS` for the given stream.
507
+ """
508
+ return pulumi.get(self, "show_outputs")
509
+
510
+ @property
511
+ @pulumi.getter
512
+ def stage(self) -> pulumi.Output[str]:
513
+ """
514
+ Specifies an identifier for the stage the stream will monitor. Due to Snowflake limitations, the provider can not read the stage's database and schema. For stages, Snowflake returns only partially qualified name instead of fully qualified name. Please use stages located in the same schema as the stream. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
515
+ """
516
+ return pulumi.get(self, "stage")
517
+
518
+ @property
519
+ @pulumi.getter
520
+ def stale(self) -> pulumi.Output[bool]:
521
+ return pulumi.get(self, "stale")
522
+
523
+ @property
524
+ @pulumi.getter(name="streamType")
525
+ def stream_type(self) -> pulumi.Output[str]:
526
+ """
527
+ Specifies a type for the stream. This field is used for checking external changes and recreating the resources if needed.
528
+ """
529
+ return pulumi.get(self, "stream_type")
530
+
@@ -173,7 +173,9 @@ class _StreamOnExternalTableState:
173
173
  insert_only: Optional[pulumi.Input[str]] = None,
174
174
  name: Optional[pulumi.Input[str]] = None,
175
175
  schema: Optional[pulumi.Input[str]] = None,
176
- show_outputs: Optional[pulumi.Input[Sequence[pulumi.Input['StreamOnExternalTableShowOutputArgs']]]] = None):
176
+ show_outputs: Optional[pulumi.Input[Sequence[pulumi.Input['StreamOnExternalTableShowOutputArgs']]]] = None,
177
+ stale: Optional[pulumi.Input[bool]] = None,
178
+ stream_type: Optional[pulumi.Input[str]] = None):
177
179
  """
178
180
  Input properties used for looking up and filtering StreamOnExternalTable resources.
179
181
  :param pulumi.Input[str] comment: Specifies a comment for the stream.
@@ -186,6 +188,7 @@ class _StreamOnExternalTableState:
186
188
  :param pulumi.Input[str] name: Specifies the identifier for the stream; must be unique for the database and schema in which the stream is created. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
187
189
  :param pulumi.Input[str] schema: The schema in which to create the stream. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
188
190
  :param pulumi.Input[Sequence[pulumi.Input['StreamOnExternalTableShowOutputArgs']]] show_outputs: Outputs the result of `SHOW STREAMS` for the given stream.
191
+ :param pulumi.Input[str] stream_type: Specifies a type for the stream. This field is used for checking external changes and recreating the resources if needed.
189
192
  """
190
193
  if at is not None:
191
194
  pulumi.set(__self__, "at", at)
@@ -211,6 +214,10 @@ class _StreamOnExternalTableState:
211
214
  pulumi.set(__self__, "schema", schema)
212
215
  if show_outputs is not None:
213
216
  pulumi.set(__self__, "show_outputs", show_outputs)
217
+ if stale is not None:
218
+ pulumi.set(__self__, "stale", stale)
219
+ if stream_type is not None:
220
+ pulumi.set(__self__, "stream_type", stream_type)
214
221
 
215
222
  @property
216
223
  @pulumi.getter
@@ -350,6 +357,27 @@ class _StreamOnExternalTableState:
350
357
  def show_outputs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StreamOnExternalTableShowOutputArgs']]]]):
351
358
  pulumi.set(self, "show_outputs", value)
352
359
 
360
+ @property
361
+ @pulumi.getter
362
+ def stale(self) -> Optional[pulumi.Input[bool]]:
363
+ return pulumi.get(self, "stale")
364
+
365
+ @stale.setter
366
+ def stale(self, value: Optional[pulumi.Input[bool]]):
367
+ pulumi.set(self, "stale", value)
368
+
369
+ @property
370
+ @pulumi.getter(name="streamType")
371
+ def stream_type(self) -> Optional[pulumi.Input[str]]:
372
+ """
373
+ Specifies a type for the stream. This field is used for checking external changes and recreating the resources if needed.
374
+ """
375
+ return pulumi.get(self, "stream_type")
376
+
377
+ @stream_type.setter
378
+ def stream_type(self, value: Optional[pulumi.Input[str]]):
379
+ pulumi.set(self, "stream_type", value)
380
+
353
381
 
354
382
  class StreamOnExternalTable(pulumi.CustomResource):
355
383
  @overload
@@ -447,6 +475,8 @@ class StreamOnExternalTable(pulumi.CustomResource):
447
475
  __props__.__dict__["describe_outputs"] = None
448
476
  __props__.__dict__["fully_qualified_name"] = None
449
477
  __props__.__dict__["show_outputs"] = None
478
+ __props__.__dict__["stale"] = None
479
+ __props__.__dict__["stream_type"] = None
450
480
  super(StreamOnExternalTable, __self__).__init__(
451
481
  'snowflake:index/streamOnExternalTable:StreamOnExternalTable',
452
482
  resource_name,
@@ -468,7 +498,9 @@ class StreamOnExternalTable(pulumi.CustomResource):
468
498
  insert_only: Optional[pulumi.Input[str]] = None,
469
499
  name: Optional[pulumi.Input[str]] = None,
470
500
  schema: Optional[pulumi.Input[str]] = None,
471
- show_outputs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StreamOnExternalTableShowOutputArgs', 'StreamOnExternalTableShowOutputArgsDict']]]]] = None) -> 'StreamOnExternalTable':
501
+ show_outputs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StreamOnExternalTableShowOutputArgs', 'StreamOnExternalTableShowOutputArgsDict']]]]] = None,
502
+ stale: Optional[pulumi.Input[bool]] = None,
503
+ stream_type: Optional[pulumi.Input[str]] = None) -> 'StreamOnExternalTable':
472
504
  """
473
505
  Get an existing StreamOnExternalTable resource's state with the given name, id, and optional extra
474
506
  properties used to qualify the lookup.
@@ -486,6 +518,7 @@ class StreamOnExternalTable(pulumi.CustomResource):
486
518
  :param pulumi.Input[str] name: Specifies the identifier for the stream; must be unique for the database and schema in which the stream is created. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
487
519
  :param pulumi.Input[str] schema: The schema in which to create the stream. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
488
520
  :param pulumi.Input[Sequence[pulumi.Input[Union['StreamOnExternalTableShowOutputArgs', 'StreamOnExternalTableShowOutputArgsDict']]]] show_outputs: Outputs the result of `SHOW STREAMS` for the given stream.
521
+ :param pulumi.Input[str] stream_type: Specifies a type for the stream. This field is used for checking external changes and recreating the resources if needed.
489
522
  """
490
523
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
491
524
 
@@ -503,6 +536,8 @@ class StreamOnExternalTable(pulumi.CustomResource):
503
536
  __props__.__dict__["name"] = name
504
537
  __props__.__dict__["schema"] = schema
505
538
  __props__.__dict__["show_outputs"] = show_outputs
539
+ __props__.__dict__["stale"] = stale
540
+ __props__.__dict__["stream_type"] = stream_type
506
541
  return StreamOnExternalTable(resource_name, opts=opts, __props__=__props__)
507
542
 
508
543
  @property
@@ -595,3 +630,16 @@ class StreamOnExternalTable(pulumi.CustomResource):
595
630
  """
596
631
  return pulumi.get(self, "show_outputs")
597
632
 
633
+ @property
634
+ @pulumi.getter
635
+ def stale(self) -> pulumi.Output[bool]:
636
+ return pulumi.get(self, "stale")
637
+
638
+ @property
639
+ @pulumi.getter(name="streamType")
640
+ def stream_type(self) -> pulumi.Output[str]:
641
+ """
642
+ Specifies a type for the stream. This field is used for checking external changes and recreating the resources if needed.
643
+ """
644
+ return pulumi.get(self, "stream_type")
645
+