pulumi-snowflake 0.60.0a1728636583__py3-none-any.whl → 0.61.0__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 (43) hide show
  1. pulumi_snowflake/__init__.py +146 -0
  2. pulumi_snowflake/_inputs.py +20764 -4999
  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 +3670 -0
  20. pulumi_snowflake/masking_policy.py +4 -4
  21. pulumi_snowflake/outputs.py +14295 -3265
  22. pulumi_snowflake/primary_connection.py +330 -0
  23. pulumi_snowflake/provider.py +433 -146
  24. pulumi_snowflake/pulumi-plugin.json +1 -1
  25. pulumi_snowflake/row_access_policy.py +4 -4
  26. pulumi_snowflake/secondary_connection.py +339 -0
  27. pulumi_snowflake/secret_with_authorization_code_grant.py +548 -0
  28. pulumi_snowflake/secret_with_basic_authentication.py +500 -0
  29. pulumi_snowflake/secret_with_client_credentials.py +511 -0
  30. pulumi_snowflake/secret_with_generic_string.py +452 -0
  31. pulumi_snowflake/service_user.py +3585 -0
  32. pulumi_snowflake/stage.py +7 -7
  33. pulumi_snowflake/stream_on_directory_table.py +530 -0
  34. pulumi_snowflake/stream_on_external_table.py +645 -0
  35. pulumi_snowflake/stream_on_table.py +679 -0
  36. pulumi_snowflake/stream_on_view.py +679 -0
  37. pulumi_snowflake/tag_association.py +7 -7
  38. pulumi_snowflake/user.py +6 -2
  39. pulumi_snowflake/user_authentication_policy_attachment.py +197 -0
  40. {pulumi_snowflake-0.60.0a1728636583.dist-info → pulumi_snowflake-0.61.0.dist-info}/METADATA +1 -1
  41. {pulumi_snowflake-0.60.0a1728636583.dist-info → pulumi_snowflake-0.61.0.dist-info}/RECORD +43 -25
  42. {pulumi_snowflake-0.60.0a1728636583.dist-info → pulumi_snowflake-0.61.0.dist-info}/WHEEL +1 -1
  43. {pulumi_snowflake-0.60.0a1728636583.dist-info → pulumi_snowflake-0.61.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,645 @@
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__ = ['StreamOnExternalTableArgs', 'StreamOnExternalTable']
20
+
21
+ @pulumi.input_type
22
+ class StreamOnExternalTableArgs:
23
+ def __init__(__self__, *,
24
+ database: pulumi.Input[str],
25
+ external_table: pulumi.Input[str],
26
+ schema: pulumi.Input[str],
27
+ at: Optional[pulumi.Input['StreamOnExternalTableAtArgs']] = None,
28
+ before: Optional[pulumi.Input['StreamOnExternalTableBeforeArgs']] = None,
29
+ comment: Optional[pulumi.Input[str]] = None,
30
+ copy_grants: Optional[pulumi.Input[bool]] = None,
31
+ insert_only: Optional[pulumi.Input[str]] = None,
32
+ name: Optional[pulumi.Input[str]] = None):
33
+ """
34
+ The set of arguments for constructing a StreamOnExternalTable resource.
35
+ :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: `|`, `.`, `(`, `)`, `"`
36
+ :param pulumi.Input[str] external_table: Specifies an identifier for the external table the stream will monitor. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
37
+ :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: `|`, `.`, `(`, `)`, `"`
38
+ :param pulumi.Input[str] comment: Specifies a comment for the stream.
39
+ :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.
40
+ :param pulumi.Input[str] insert_only: Specifies whether this is an insert-only stream. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
41
+ :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: `|`, `.`, `(`, `)`, `"`
42
+ """
43
+ pulumi.set(__self__, "database", database)
44
+ pulumi.set(__self__, "external_table", external_table)
45
+ pulumi.set(__self__, "schema", schema)
46
+ if at is not None:
47
+ pulumi.set(__self__, "at", at)
48
+ if before is not None:
49
+ pulumi.set(__self__, "before", before)
50
+ if comment is not None:
51
+ pulumi.set(__self__, "comment", comment)
52
+ if copy_grants is not None:
53
+ pulumi.set(__self__, "copy_grants", copy_grants)
54
+ if insert_only is not None:
55
+ pulumi.set(__self__, "insert_only", insert_only)
56
+ if name is not None:
57
+ pulumi.set(__self__, "name", name)
58
+
59
+ @property
60
+ @pulumi.getter
61
+ def database(self) -> pulumi.Input[str]:
62
+ """
63
+ The database in which to create the stream. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
64
+ """
65
+ return pulumi.get(self, "database")
66
+
67
+ @database.setter
68
+ def database(self, value: pulumi.Input[str]):
69
+ pulumi.set(self, "database", value)
70
+
71
+ @property
72
+ @pulumi.getter(name="externalTable")
73
+ def external_table(self) -> pulumi.Input[str]:
74
+ """
75
+ Specifies an identifier for the external table the stream will monitor. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
76
+ """
77
+ return pulumi.get(self, "external_table")
78
+
79
+ @external_table.setter
80
+ def external_table(self, value: pulumi.Input[str]):
81
+ pulumi.set(self, "external_table", value)
82
+
83
+ @property
84
+ @pulumi.getter
85
+ def schema(self) -> pulumi.Input[str]:
86
+ """
87
+ The schema in which to create the stream. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
88
+ """
89
+ return pulumi.get(self, "schema")
90
+
91
+ @schema.setter
92
+ def schema(self, value: pulumi.Input[str]):
93
+ pulumi.set(self, "schema", value)
94
+
95
+ @property
96
+ @pulumi.getter
97
+ def at(self) -> Optional[pulumi.Input['StreamOnExternalTableAtArgs']]:
98
+ return pulumi.get(self, "at")
99
+
100
+ @at.setter
101
+ def at(self, value: Optional[pulumi.Input['StreamOnExternalTableAtArgs']]):
102
+ pulumi.set(self, "at", value)
103
+
104
+ @property
105
+ @pulumi.getter
106
+ def before(self) -> Optional[pulumi.Input['StreamOnExternalTableBeforeArgs']]:
107
+ return pulumi.get(self, "before")
108
+
109
+ @before.setter
110
+ def before(self, value: Optional[pulumi.Input['StreamOnExternalTableBeforeArgs']]):
111
+ pulumi.set(self, "before", value)
112
+
113
+ @property
114
+ @pulumi.getter
115
+ def comment(self) -> Optional[pulumi.Input[str]]:
116
+ """
117
+ Specifies a comment for the stream.
118
+ """
119
+ return pulumi.get(self, "comment")
120
+
121
+ @comment.setter
122
+ def comment(self, value: Optional[pulumi.Input[str]]):
123
+ pulumi.set(self, "comment", value)
124
+
125
+ @property
126
+ @pulumi.getter(name="copyGrants")
127
+ def copy_grants(self) -> Optional[pulumi.Input[bool]]:
128
+ """
129
+ 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.
130
+ """
131
+ return pulumi.get(self, "copy_grants")
132
+
133
+ @copy_grants.setter
134
+ def copy_grants(self, value: Optional[pulumi.Input[bool]]):
135
+ pulumi.set(self, "copy_grants", value)
136
+
137
+ @property
138
+ @pulumi.getter(name="insertOnly")
139
+ def insert_only(self) -> Optional[pulumi.Input[str]]:
140
+ """
141
+ Specifies whether this is an insert-only stream. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
142
+ """
143
+ return pulumi.get(self, "insert_only")
144
+
145
+ @insert_only.setter
146
+ def insert_only(self, value: Optional[pulumi.Input[str]]):
147
+ pulumi.set(self, "insert_only", value)
148
+
149
+ @property
150
+ @pulumi.getter
151
+ def name(self) -> Optional[pulumi.Input[str]]:
152
+ """
153
+ 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: `|`, `.`, `(`, `)`, `"`
154
+ """
155
+ return pulumi.get(self, "name")
156
+
157
+ @name.setter
158
+ def name(self, value: Optional[pulumi.Input[str]]):
159
+ pulumi.set(self, "name", value)
160
+
161
+
162
+ @pulumi.input_type
163
+ class _StreamOnExternalTableState:
164
+ def __init__(__self__, *,
165
+ at: Optional[pulumi.Input['StreamOnExternalTableAtArgs']] = None,
166
+ before: Optional[pulumi.Input['StreamOnExternalTableBeforeArgs']] = None,
167
+ comment: Optional[pulumi.Input[str]] = None,
168
+ copy_grants: Optional[pulumi.Input[bool]] = None,
169
+ database: Optional[pulumi.Input[str]] = None,
170
+ describe_outputs: Optional[pulumi.Input[Sequence[pulumi.Input['StreamOnExternalTableDescribeOutputArgs']]]] = None,
171
+ external_table: Optional[pulumi.Input[str]] = None,
172
+ fully_qualified_name: Optional[pulumi.Input[str]] = None,
173
+ insert_only: Optional[pulumi.Input[str]] = None,
174
+ name: Optional[pulumi.Input[str]] = None,
175
+ schema: Optional[pulumi.Input[str]] = 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):
179
+ """
180
+ Input properties used for looking up and filtering StreamOnExternalTable resources.
181
+ :param pulumi.Input[str] comment: Specifies a comment for the stream.
182
+ :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.
183
+ :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: `|`, `.`, `(`, `)`, `"`
184
+ :param pulumi.Input[Sequence[pulumi.Input['StreamOnExternalTableDescribeOutputArgs']]] describe_outputs: Outputs the result of `DESCRIBE STREAM` for the given stream.
185
+ :param pulumi.Input[str] external_table: Specifies an identifier for the external table the stream will monitor. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
186
+ :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).
187
+ :param pulumi.Input[str] insert_only: Specifies whether this is an insert-only stream. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
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: `|`, `.`, `(`, `)`, `"`
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: `|`, `.`, `(`, `)`, `"`
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.
192
+ """
193
+ if at is not None:
194
+ pulumi.set(__self__, "at", at)
195
+ if before is not None:
196
+ pulumi.set(__self__, "before", before)
197
+ if comment is not None:
198
+ pulumi.set(__self__, "comment", comment)
199
+ if copy_grants is not None:
200
+ pulumi.set(__self__, "copy_grants", copy_grants)
201
+ if database is not None:
202
+ pulumi.set(__self__, "database", database)
203
+ if describe_outputs is not None:
204
+ pulumi.set(__self__, "describe_outputs", describe_outputs)
205
+ if external_table is not None:
206
+ pulumi.set(__self__, "external_table", external_table)
207
+ if fully_qualified_name is not None:
208
+ pulumi.set(__self__, "fully_qualified_name", fully_qualified_name)
209
+ if insert_only is not None:
210
+ pulumi.set(__self__, "insert_only", insert_only)
211
+ if name is not None:
212
+ pulumi.set(__self__, "name", name)
213
+ if schema is not None:
214
+ pulumi.set(__self__, "schema", schema)
215
+ if show_outputs is not None:
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)
221
+
222
+ @property
223
+ @pulumi.getter
224
+ def at(self) -> Optional[pulumi.Input['StreamOnExternalTableAtArgs']]:
225
+ return pulumi.get(self, "at")
226
+
227
+ @at.setter
228
+ def at(self, value: Optional[pulumi.Input['StreamOnExternalTableAtArgs']]):
229
+ pulumi.set(self, "at", value)
230
+
231
+ @property
232
+ @pulumi.getter
233
+ def before(self) -> Optional[pulumi.Input['StreamOnExternalTableBeforeArgs']]:
234
+ return pulumi.get(self, "before")
235
+
236
+ @before.setter
237
+ def before(self, value: Optional[pulumi.Input['StreamOnExternalTableBeforeArgs']]):
238
+ pulumi.set(self, "before", value)
239
+
240
+ @property
241
+ @pulumi.getter
242
+ def comment(self) -> Optional[pulumi.Input[str]]:
243
+ """
244
+ Specifies a comment for the stream.
245
+ """
246
+ return pulumi.get(self, "comment")
247
+
248
+ @comment.setter
249
+ def comment(self, value: Optional[pulumi.Input[str]]):
250
+ pulumi.set(self, "comment", value)
251
+
252
+ @property
253
+ @pulumi.getter(name="copyGrants")
254
+ def copy_grants(self) -> Optional[pulumi.Input[bool]]:
255
+ """
256
+ 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.
257
+ """
258
+ return pulumi.get(self, "copy_grants")
259
+
260
+ @copy_grants.setter
261
+ def copy_grants(self, value: Optional[pulumi.Input[bool]]):
262
+ pulumi.set(self, "copy_grants", value)
263
+
264
+ @property
265
+ @pulumi.getter
266
+ def database(self) -> Optional[pulumi.Input[str]]:
267
+ """
268
+ The database in which to create the stream. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
269
+ """
270
+ return pulumi.get(self, "database")
271
+
272
+ @database.setter
273
+ def database(self, value: Optional[pulumi.Input[str]]):
274
+ pulumi.set(self, "database", value)
275
+
276
+ @property
277
+ @pulumi.getter(name="describeOutputs")
278
+ def describe_outputs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StreamOnExternalTableDescribeOutputArgs']]]]:
279
+ """
280
+ Outputs the result of `DESCRIBE STREAM` for the given stream.
281
+ """
282
+ return pulumi.get(self, "describe_outputs")
283
+
284
+ @describe_outputs.setter
285
+ def describe_outputs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StreamOnExternalTableDescribeOutputArgs']]]]):
286
+ pulumi.set(self, "describe_outputs", value)
287
+
288
+ @property
289
+ @pulumi.getter(name="externalTable")
290
+ def external_table(self) -> Optional[pulumi.Input[str]]:
291
+ """
292
+ Specifies an identifier for the external table the stream will monitor. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
293
+ """
294
+ return pulumi.get(self, "external_table")
295
+
296
+ @external_table.setter
297
+ def external_table(self, value: Optional[pulumi.Input[str]]):
298
+ pulumi.set(self, "external_table", value)
299
+
300
+ @property
301
+ @pulumi.getter(name="fullyQualifiedName")
302
+ def fully_qualified_name(self) -> Optional[pulumi.Input[str]]:
303
+ """
304
+ Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
305
+ """
306
+ return pulumi.get(self, "fully_qualified_name")
307
+
308
+ @fully_qualified_name.setter
309
+ def fully_qualified_name(self, value: Optional[pulumi.Input[str]]):
310
+ pulumi.set(self, "fully_qualified_name", value)
311
+
312
+ @property
313
+ @pulumi.getter(name="insertOnly")
314
+ def insert_only(self) -> Optional[pulumi.Input[str]]:
315
+ """
316
+ Specifies whether this is an insert-only stream. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
317
+ """
318
+ return pulumi.get(self, "insert_only")
319
+
320
+ @insert_only.setter
321
+ def insert_only(self, value: Optional[pulumi.Input[str]]):
322
+ pulumi.set(self, "insert_only", value)
323
+
324
+ @property
325
+ @pulumi.getter
326
+ def name(self) -> Optional[pulumi.Input[str]]:
327
+ """
328
+ 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: `|`, `.`, `(`, `)`, `"`
329
+ """
330
+ return pulumi.get(self, "name")
331
+
332
+ @name.setter
333
+ def name(self, value: Optional[pulumi.Input[str]]):
334
+ pulumi.set(self, "name", value)
335
+
336
+ @property
337
+ @pulumi.getter
338
+ def schema(self) -> Optional[pulumi.Input[str]]:
339
+ """
340
+ The schema in which to create the stream. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
341
+ """
342
+ return pulumi.get(self, "schema")
343
+
344
+ @schema.setter
345
+ def schema(self, value: Optional[pulumi.Input[str]]):
346
+ pulumi.set(self, "schema", value)
347
+
348
+ @property
349
+ @pulumi.getter(name="showOutputs")
350
+ def show_outputs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StreamOnExternalTableShowOutputArgs']]]]:
351
+ """
352
+ Outputs the result of `SHOW STREAMS` for the given stream.
353
+ """
354
+ return pulumi.get(self, "show_outputs")
355
+
356
+ @show_outputs.setter
357
+ def show_outputs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StreamOnExternalTableShowOutputArgs']]]]):
358
+ pulumi.set(self, "show_outputs", value)
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
+
381
+
382
+ class StreamOnExternalTable(pulumi.CustomResource):
383
+ @overload
384
+ def __init__(__self__,
385
+ resource_name: str,
386
+ opts: Optional[pulumi.ResourceOptions] = None,
387
+ at: Optional[pulumi.Input[Union['StreamOnExternalTableAtArgs', 'StreamOnExternalTableAtArgsDict']]] = None,
388
+ before: Optional[pulumi.Input[Union['StreamOnExternalTableBeforeArgs', 'StreamOnExternalTableBeforeArgsDict']]] = None,
389
+ comment: Optional[pulumi.Input[str]] = None,
390
+ copy_grants: Optional[pulumi.Input[bool]] = None,
391
+ database: Optional[pulumi.Input[str]] = None,
392
+ external_table: Optional[pulumi.Input[str]] = None,
393
+ insert_only: Optional[pulumi.Input[str]] = None,
394
+ name: Optional[pulumi.Input[str]] = None,
395
+ schema: Optional[pulumi.Input[str]] = None,
396
+ __props__=None):
397
+ """
398
+ ## Import
399
+
400
+ ```sh
401
+ $ pulumi import snowflake:index/streamOnExternalTable:StreamOnExternalTable example '"<database_name>"."<schema_name>"."<stream_name>"'
402
+ ```
403
+
404
+ :param str resource_name: The name of the resource.
405
+ :param pulumi.ResourceOptions opts: Options for the resource.
406
+ :param pulumi.Input[str] comment: Specifies a comment for the stream.
407
+ :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.
408
+ :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: `|`, `.`, `(`, `)`, `"`
409
+ :param pulumi.Input[str] external_table: Specifies an identifier for the external table the stream will monitor. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
410
+ :param pulumi.Input[str] insert_only: Specifies whether this is an insert-only stream. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
411
+ :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: `|`, `.`, `(`, `)`, `"`
412
+ :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: `|`, `.`, `(`, `)`, `"`
413
+ """
414
+ ...
415
+ @overload
416
+ def __init__(__self__,
417
+ resource_name: str,
418
+ args: StreamOnExternalTableArgs,
419
+ opts: Optional[pulumi.ResourceOptions] = None):
420
+ """
421
+ ## Import
422
+
423
+ ```sh
424
+ $ pulumi import snowflake:index/streamOnExternalTable:StreamOnExternalTable example '"<database_name>"."<schema_name>"."<stream_name>"'
425
+ ```
426
+
427
+ :param str resource_name: The name of the resource.
428
+ :param StreamOnExternalTableArgs args: The arguments to use to populate this resource's properties.
429
+ :param pulumi.ResourceOptions opts: Options for the resource.
430
+ """
431
+ ...
432
+ def __init__(__self__, resource_name: str, *args, **kwargs):
433
+ resource_args, opts = _utilities.get_resource_args_opts(StreamOnExternalTableArgs, pulumi.ResourceOptions, *args, **kwargs)
434
+ if resource_args is not None:
435
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
436
+ else:
437
+ __self__._internal_init(resource_name, *args, **kwargs)
438
+
439
+ def _internal_init(__self__,
440
+ resource_name: str,
441
+ opts: Optional[pulumi.ResourceOptions] = None,
442
+ at: Optional[pulumi.Input[Union['StreamOnExternalTableAtArgs', 'StreamOnExternalTableAtArgsDict']]] = None,
443
+ before: Optional[pulumi.Input[Union['StreamOnExternalTableBeforeArgs', 'StreamOnExternalTableBeforeArgsDict']]] = None,
444
+ comment: Optional[pulumi.Input[str]] = None,
445
+ copy_grants: Optional[pulumi.Input[bool]] = None,
446
+ database: Optional[pulumi.Input[str]] = None,
447
+ external_table: Optional[pulumi.Input[str]] = None,
448
+ insert_only: Optional[pulumi.Input[str]] = None,
449
+ name: Optional[pulumi.Input[str]] = None,
450
+ schema: Optional[pulumi.Input[str]] = None,
451
+ __props__=None):
452
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
453
+ if not isinstance(opts, pulumi.ResourceOptions):
454
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
455
+ if opts.id is None:
456
+ if __props__ is not None:
457
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
458
+ __props__ = StreamOnExternalTableArgs.__new__(StreamOnExternalTableArgs)
459
+
460
+ __props__.__dict__["at"] = at
461
+ __props__.__dict__["before"] = before
462
+ __props__.__dict__["comment"] = comment
463
+ __props__.__dict__["copy_grants"] = copy_grants
464
+ if database is None and not opts.urn:
465
+ raise TypeError("Missing required property 'database'")
466
+ __props__.__dict__["database"] = database
467
+ if external_table is None and not opts.urn:
468
+ raise TypeError("Missing required property 'external_table'")
469
+ __props__.__dict__["external_table"] = external_table
470
+ __props__.__dict__["insert_only"] = insert_only
471
+ __props__.__dict__["name"] = name
472
+ if schema is None and not opts.urn:
473
+ raise TypeError("Missing required property 'schema'")
474
+ __props__.__dict__["schema"] = schema
475
+ __props__.__dict__["describe_outputs"] = None
476
+ __props__.__dict__["fully_qualified_name"] = None
477
+ __props__.__dict__["show_outputs"] = None
478
+ __props__.__dict__["stale"] = None
479
+ __props__.__dict__["stream_type"] = None
480
+ super(StreamOnExternalTable, __self__).__init__(
481
+ 'snowflake:index/streamOnExternalTable:StreamOnExternalTable',
482
+ resource_name,
483
+ __props__,
484
+ opts)
485
+
486
+ @staticmethod
487
+ def get(resource_name: str,
488
+ id: pulumi.Input[str],
489
+ opts: Optional[pulumi.ResourceOptions] = None,
490
+ at: Optional[pulumi.Input[Union['StreamOnExternalTableAtArgs', 'StreamOnExternalTableAtArgsDict']]] = None,
491
+ before: Optional[pulumi.Input[Union['StreamOnExternalTableBeforeArgs', 'StreamOnExternalTableBeforeArgsDict']]] = None,
492
+ comment: Optional[pulumi.Input[str]] = None,
493
+ copy_grants: Optional[pulumi.Input[bool]] = None,
494
+ database: Optional[pulumi.Input[str]] = None,
495
+ describe_outputs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StreamOnExternalTableDescribeOutputArgs', 'StreamOnExternalTableDescribeOutputArgsDict']]]]] = None,
496
+ external_table: Optional[pulumi.Input[str]] = None,
497
+ fully_qualified_name: Optional[pulumi.Input[str]] = None,
498
+ insert_only: Optional[pulumi.Input[str]] = None,
499
+ name: Optional[pulumi.Input[str]] = None,
500
+ schema: Optional[pulumi.Input[str]] = None,
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':
504
+ """
505
+ Get an existing StreamOnExternalTable resource's state with the given name, id, and optional extra
506
+ properties used to qualify the lookup.
507
+
508
+ :param str resource_name: The unique name of the resulting resource.
509
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
510
+ :param pulumi.ResourceOptions opts: Options for the resource.
511
+ :param pulumi.Input[str] comment: Specifies a comment for the stream.
512
+ :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.
513
+ :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: `|`, `.`, `(`, `)`, `"`
514
+ :param pulumi.Input[Sequence[pulumi.Input[Union['StreamOnExternalTableDescribeOutputArgs', 'StreamOnExternalTableDescribeOutputArgsDict']]]] describe_outputs: Outputs the result of `DESCRIBE STREAM` for the given stream.
515
+ :param pulumi.Input[str] external_table: Specifies an identifier for the external table the stream will monitor. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
516
+ :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).
517
+ :param pulumi.Input[str] insert_only: Specifies whether this is an insert-only stream. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
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: `|`, `.`, `(`, `)`, `"`
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: `|`, `.`, `(`, `)`, `"`
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.
522
+ """
523
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
524
+
525
+ __props__ = _StreamOnExternalTableState.__new__(_StreamOnExternalTableState)
526
+
527
+ __props__.__dict__["at"] = at
528
+ __props__.__dict__["before"] = before
529
+ __props__.__dict__["comment"] = comment
530
+ __props__.__dict__["copy_grants"] = copy_grants
531
+ __props__.__dict__["database"] = database
532
+ __props__.__dict__["describe_outputs"] = describe_outputs
533
+ __props__.__dict__["external_table"] = external_table
534
+ __props__.__dict__["fully_qualified_name"] = fully_qualified_name
535
+ __props__.__dict__["insert_only"] = insert_only
536
+ __props__.__dict__["name"] = name
537
+ __props__.__dict__["schema"] = schema
538
+ __props__.__dict__["show_outputs"] = show_outputs
539
+ __props__.__dict__["stale"] = stale
540
+ __props__.__dict__["stream_type"] = stream_type
541
+ return StreamOnExternalTable(resource_name, opts=opts, __props__=__props__)
542
+
543
+ @property
544
+ @pulumi.getter
545
+ def at(self) -> pulumi.Output[Optional['outputs.StreamOnExternalTableAt']]:
546
+ return pulumi.get(self, "at")
547
+
548
+ @property
549
+ @pulumi.getter
550
+ def before(self) -> pulumi.Output[Optional['outputs.StreamOnExternalTableBefore']]:
551
+ return pulumi.get(self, "before")
552
+
553
+ @property
554
+ @pulumi.getter
555
+ def comment(self) -> pulumi.Output[Optional[str]]:
556
+ """
557
+ Specifies a comment for the stream.
558
+ """
559
+ return pulumi.get(self, "comment")
560
+
561
+ @property
562
+ @pulumi.getter(name="copyGrants")
563
+ def copy_grants(self) -> pulumi.Output[Optional[bool]]:
564
+ """
565
+ 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.
566
+ """
567
+ return pulumi.get(self, "copy_grants")
568
+
569
+ @property
570
+ @pulumi.getter
571
+ def database(self) -> pulumi.Output[str]:
572
+ """
573
+ The database in which to create the stream. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
574
+ """
575
+ return pulumi.get(self, "database")
576
+
577
+ @property
578
+ @pulumi.getter(name="describeOutputs")
579
+ def describe_outputs(self) -> pulumi.Output[Sequence['outputs.StreamOnExternalTableDescribeOutput']]:
580
+ """
581
+ Outputs the result of `DESCRIBE STREAM` for the given stream.
582
+ """
583
+ return pulumi.get(self, "describe_outputs")
584
+
585
+ @property
586
+ @pulumi.getter(name="externalTable")
587
+ def external_table(self) -> pulumi.Output[str]:
588
+ """
589
+ Specifies an identifier for the external table the stream will monitor. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
590
+ """
591
+ return pulumi.get(self, "external_table")
592
+
593
+ @property
594
+ @pulumi.getter(name="fullyQualifiedName")
595
+ def fully_qualified_name(self) -> pulumi.Output[str]:
596
+ """
597
+ Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
598
+ """
599
+ return pulumi.get(self, "fully_qualified_name")
600
+
601
+ @property
602
+ @pulumi.getter(name="insertOnly")
603
+ def insert_only(self) -> pulumi.Output[Optional[str]]:
604
+ """
605
+ Specifies whether this is an insert-only stream. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
606
+ """
607
+ return pulumi.get(self, "insert_only")
608
+
609
+ @property
610
+ @pulumi.getter
611
+ def name(self) -> pulumi.Output[str]:
612
+ """
613
+ 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: `|`, `.`, `(`, `)`, `"`
614
+ """
615
+ return pulumi.get(self, "name")
616
+
617
+ @property
618
+ @pulumi.getter
619
+ def schema(self) -> pulumi.Output[str]:
620
+ """
621
+ The schema in which to create the stream. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
622
+ """
623
+ return pulumi.get(self, "schema")
624
+
625
+ @property
626
+ @pulumi.getter(name="showOutputs")
627
+ def show_outputs(self) -> pulumi.Output[Sequence['outputs.StreamOnExternalTableShowOutput']]:
628
+ """
629
+ Outputs the result of `SHOW STREAMS` for the given stream.
630
+ """
631
+ return pulumi.get(self, "show_outputs")
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
+