pulumi-snowflake 0.61.0a1731393894__py3-none-any.whl → 0.61.0a1731504398__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.0a1731504398.dist-info}/METADATA +1 -1
  37. {pulumi_snowflake-0.61.0a1731393894.dist-info → pulumi_snowflake-0.61.0a1731504398.dist-info}/RECORD +39 -25
  38. {pulumi_snowflake-0.61.0a1731393894.dist-info → pulumi_snowflake-0.61.0a1731504398.dist-info}/WHEEL +1 -1
  39. {pulumi_snowflake-0.61.0a1731393894.dist-info → pulumi_snowflake-0.61.0a1731504398.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,378 @@
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__ = ['ExternalVolumeArgs', 'ExternalVolume']
20
+
21
+ @pulumi.input_type
22
+ class ExternalVolumeArgs:
23
+ def __init__(__self__, *,
24
+ storage_locations: pulumi.Input[Sequence[pulumi.Input['ExternalVolumeStorageLocationArgs']]],
25
+ allow_writes: Optional[pulumi.Input[str]] = None,
26
+ comment: Optional[pulumi.Input[str]] = None,
27
+ name: Optional[pulumi.Input[str]] = None):
28
+ """
29
+ The set of arguments for constructing a ExternalVolume resource.
30
+ :param pulumi.Input[Sequence[pulumi.Input['ExternalVolumeStorageLocationArgs']]] storage_locations: List of named cloud storage locations in different regions and, optionally, cloud platforms. Minimum 1 required. The order of the list is important as it impacts the active storage location, and updates will be triggered if it changes. Note that not all parameter combinations are valid as they depend on the given storage*provider. Consult [the docs](https://docs.snowflake.com/en/sql-reference/sql/create-external-volume#cloud-provider-parameters-cloudproviderparams) for more details on this.
31
+ :param pulumi.Input[str] allow_writes: Specifies whether write operations are allowed for the external volume; must be set to TRUE for Iceberg tables that use Snowflake as the catalog. 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.
32
+ :param pulumi.Input[str] comment: Specifies a comment for the external volume.
33
+ :param pulumi.Input[str] name: Identifier for the external volume; must be unique for your account. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
34
+ """
35
+ pulumi.set(__self__, "storage_locations", storage_locations)
36
+ if allow_writes is not None:
37
+ pulumi.set(__self__, "allow_writes", allow_writes)
38
+ if comment is not None:
39
+ pulumi.set(__self__, "comment", comment)
40
+ if name is not None:
41
+ pulumi.set(__self__, "name", name)
42
+
43
+ @property
44
+ @pulumi.getter(name="storageLocations")
45
+ def storage_locations(self) -> pulumi.Input[Sequence[pulumi.Input['ExternalVolumeStorageLocationArgs']]]:
46
+ """
47
+ List of named cloud storage locations in different regions and, optionally, cloud platforms. Minimum 1 required. The order of the list is important as it impacts the active storage location, and updates will be triggered if it changes. Note that not all parameter combinations are valid as they depend on the given storage*provider. Consult [the docs](https://docs.snowflake.com/en/sql-reference/sql/create-external-volume#cloud-provider-parameters-cloudproviderparams) for more details on this.
48
+ """
49
+ return pulumi.get(self, "storage_locations")
50
+
51
+ @storage_locations.setter
52
+ def storage_locations(self, value: pulumi.Input[Sequence[pulumi.Input['ExternalVolumeStorageLocationArgs']]]):
53
+ pulumi.set(self, "storage_locations", value)
54
+
55
+ @property
56
+ @pulumi.getter(name="allowWrites")
57
+ def allow_writes(self) -> Optional[pulumi.Input[str]]:
58
+ """
59
+ Specifies whether write operations are allowed for the external volume; must be set to TRUE for Iceberg tables that use Snowflake as the catalog. 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.
60
+ """
61
+ return pulumi.get(self, "allow_writes")
62
+
63
+ @allow_writes.setter
64
+ def allow_writes(self, value: Optional[pulumi.Input[str]]):
65
+ pulumi.set(self, "allow_writes", value)
66
+
67
+ @property
68
+ @pulumi.getter
69
+ def comment(self) -> Optional[pulumi.Input[str]]:
70
+ """
71
+ Specifies a comment for the external volume.
72
+ """
73
+ return pulumi.get(self, "comment")
74
+
75
+ @comment.setter
76
+ def comment(self, value: Optional[pulumi.Input[str]]):
77
+ pulumi.set(self, "comment", value)
78
+
79
+ @property
80
+ @pulumi.getter
81
+ def name(self) -> Optional[pulumi.Input[str]]:
82
+ """
83
+ Identifier for the external volume; must be unique for your account. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
84
+ """
85
+ return pulumi.get(self, "name")
86
+
87
+ @name.setter
88
+ def name(self, value: Optional[pulumi.Input[str]]):
89
+ pulumi.set(self, "name", value)
90
+
91
+
92
+ @pulumi.input_type
93
+ class _ExternalVolumeState:
94
+ def __init__(__self__, *,
95
+ allow_writes: Optional[pulumi.Input[str]] = None,
96
+ comment: Optional[pulumi.Input[str]] = None,
97
+ describe_outputs: Optional[pulumi.Input[Sequence[pulumi.Input['ExternalVolumeDescribeOutputArgs']]]] = None,
98
+ fully_qualified_name: Optional[pulumi.Input[str]] = None,
99
+ name: Optional[pulumi.Input[str]] = None,
100
+ show_outputs: Optional[pulumi.Input[Sequence[pulumi.Input['ExternalVolumeShowOutputArgs']]]] = None,
101
+ storage_locations: Optional[pulumi.Input[Sequence[pulumi.Input['ExternalVolumeStorageLocationArgs']]]] = None):
102
+ """
103
+ Input properties used for looking up and filtering ExternalVolume resources.
104
+ :param pulumi.Input[str] allow_writes: Specifies whether write operations are allowed for the external volume; must be set to TRUE for Iceberg tables that use Snowflake as the catalog. 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.
105
+ :param pulumi.Input[str] comment: Specifies a comment for the external volume.
106
+ :param pulumi.Input[Sequence[pulumi.Input['ExternalVolumeDescribeOutputArgs']]] describe_outputs: Outputs the result of `DESCRIBE EXTERNAL VOLUME` for the given external volume.
107
+ :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).
108
+ :param pulumi.Input[str] name: Identifier for the external volume; must be unique for your account. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
109
+ :param pulumi.Input[Sequence[pulumi.Input['ExternalVolumeShowOutputArgs']]] show_outputs: Outputs the result of `SHOW EXTERNAL VOLUMES` for the given external volume.
110
+ :param pulumi.Input[Sequence[pulumi.Input['ExternalVolumeStorageLocationArgs']]] storage_locations: List of named cloud storage locations in different regions and, optionally, cloud platforms. Minimum 1 required. The order of the list is important as it impacts the active storage location, and updates will be triggered if it changes. Note that not all parameter combinations are valid as they depend on the given storage*provider. Consult [the docs](https://docs.snowflake.com/en/sql-reference/sql/create-external-volume#cloud-provider-parameters-cloudproviderparams) for more details on this.
111
+ """
112
+ if allow_writes is not None:
113
+ pulumi.set(__self__, "allow_writes", allow_writes)
114
+ if comment is not None:
115
+ pulumi.set(__self__, "comment", comment)
116
+ if describe_outputs is not None:
117
+ pulumi.set(__self__, "describe_outputs", describe_outputs)
118
+ if fully_qualified_name is not None:
119
+ pulumi.set(__self__, "fully_qualified_name", fully_qualified_name)
120
+ if name is not None:
121
+ pulumi.set(__self__, "name", name)
122
+ if show_outputs is not None:
123
+ pulumi.set(__self__, "show_outputs", show_outputs)
124
+ if storage_locations is not None:
125
+ pulumi.set(__self__, "storage_locations", storage_locations)
126
+
127
+ @property
128
+ @pulumi.getter(name="allowWrites")
129
+ def allow_writes(self) -> Optional[pulumi.Input[str]]:
130
+ """
131
+ Specifies whether write operations are allowed for the external volume; must be set to TRUE for Iceberg tables that use Snowflake as the catalog. 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.
132
+ """
133
+ return pulumi.get(self, "allow_writes")
134
+
135
+ @allow_writes.setter
136
+ def allow_writes(self, value: Optional[pulumi.Input[str]]):
137
+ pulumi.set(self, "allow_writes", value)
138
+
139
+ @property
140
+ @pulumi.getter
141
+ def comment(self) -> Optional[pulumi.Input[str]]:
142
+ """
143
+ Specifies a comment for the external volume.
144
+ """
145
+ return pulumi.get(self, "comment")
146
+
147
+ @comment.setter
148
+ def comment(self, value: Optional[pulumi.Input[str]]):
149
+ pulumi.set(self, "comment", value)
150
+
151
+ @property
152
+ @pulumi.getter(name="describeOutputs")
153
+ def describe_outputs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ExternalVolumeDescribeOutputArgs']]]]:
154
+ """
155
+ Outputs the result of `DESCRIBE EXTERNAL VOLUME` for the given external volume.
156
+ """
157
+ return pulumi.get(self, "describe_outputs")
158
+
159
+ @describe_outputs.setter
160
+ def describe_outputs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ExternalVolumeDescribeOutputArgs']]]]):
161
+ pulumi.set(self, "describe_outputs", value)
162
+
163
+ @property
164
+ @pulumi.getter(name="fullyQualifiedName")
165
+ def fully_qualified_name(self) -> Optional[pulumi.Input[str]]:
166
+ """
167
+ Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
168
+ """
169
+ return pulumi.get(self, "fully_qualified_name")
170
+
171
+ @fully_qualified_name.setter
172
+ def fully_qualified_name(self, value: Optional[pulumi.Input[str]]):
173
+ pulumi.set(self, "fully_qualified_name", value)
174
+
175
+ @property
176
+ @pulumi.getter
177
+ def name(self) -> Optional[pulumi.Input[str]]:
178
+ """
179
+ Identifier for the external volume; must be unique for your account. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
180
+ """
181
+ return pulumi.get(self, "name")
182
+
183
+ @name.setter
184
+ def name(self, value: Optional[pulumi.Input[str]]):
185
+ pulumi.set(self, "name", value)
186
+
187
+ @property
188
+ @pulumi.getter(name="showOutputs")
189
+ def show_outputs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ExternalVolumeShowOutputArgs']]]]:
190
+ """
191
+ Outputs the result of `SHOW EXTERNAL VOLUMES` for the given external volume.
192
+ """
193
+ return pulumi.get(self, "show_outputs")
194
+
195
+ @show_outputs.setter
196
+ def show_outputs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ExternalVolumeShowOutputArgs']]]]):
197
+ pulumi.set(self, "show_outputs", value)
198
+
199
+ @property
200
+ @pulumi.getter(name="storageLocations")
201
+ def storage_locations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ExternalVolumeStorageLocationArgs']]]]:
202
+ """
203
+ List of named cloud storage locations in different regions and, optionally, cloud platforms. Minimum 1 required. The order of the list is important as it impacts the active storage location, and updates will be triggered if it changes. Note that not all parameter combinations are valid as they depend on the given storage*provider. Consult [the docs](https://docs.snowflake.com/en/sql-reference/sql/create-external-volume#cloud-provider-parameters-cloudproviderparams) for more details on this.
204
+ """
205
+ return pulumi.get(self, "storage_locations")
206
+
207
+ @storage_locations.setter
208
+ def storage_locations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ExternalVolumeStorageLocationArgs']]]]):
209
+ pulumi.set(self, "storage_locations", value)
210
+
211
+
212
+ class ExternalVolume(pulumi.CustomResource):
213
+ @overload
214
+ def __init__(__self__,
215
+ resource_name: str,
216
+ opts: Optional[pulumi.ResourceOptions] = None,
217
+ allow_writes: Optional[pulumi.Input[str]] = None,
218
+ comment: Optional[pulumi.Input[str]] = None,
219
+ name: Optional[pulumi.Input[str]] = None,
220
+ storage_locations: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ExternalVolumeStorageLocationArgs', 'ExternalVolumeStorageLocationArgsDict']]]]] = None,
221
+ __props__=None):
222
+ """
223
+ Resource used to manage external volume objects. For more information, check [external volume documentation](https://docs.snowflake.com/en/sql-reference/commands-data-loading#external-volume).
224
+
225
+ :param str resource_name: The name of the resource.
226
+ :param pulumi.ResourceOptions opts: Options for the resource.
227
+ :param pulumi.Input[str] allow_writes: Specifies whether write operations are allowed for the external volume; must be set to TRUE for Iceberg tables that use Snowflake as the catalog. 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.
228
+ :param pulumi.Input[str] comment: Specifies a comment for the external volume.
229
+ :param pulumi.Input[str] name: Identifier for the external volume; must be unique for your account. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
230
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ExternalVolumeStorageLocationArgs', 'ExternalVolumeStorageLocationArgsDict']]]] storage_locations: List of named cloud storage locations in different regions and, optionally, cloud platforms. Minimum 1 required. The order of the list is important as it impacts the active storage location, and updates will be triggered if it changes. Note that not all parameter combinations are valid as they depend on the given storage*provider. Consult [the docs](https://docs.snowflake.com/en/sql-reference/sql/create-external-volume#cloud-provider-parameters-cloudproviderparams) for more details on this.
231
+ """
232
+ ...
233
+ @overload
234
+ def __init__(__self__,
235
+ resource_name: str,
236
+ args: ExternalVolumeArgs,
237
+ opts: Optional[pulumi.ResourceOptions] = None):
238
+ """
239
+ Resource used to manage external volume objects. For more information, check [external volume documentation](https://docs.snowflake.com/en/sql-reference/commands-data-loading#external-volume).
240
+
241
+ :param str resource_name: The name of the resource.
242
+ :param ExternalVolumeArgs args: The arguments to use to populate this resource's properties.
243
+ :param pulumi.ResourceOptions opts: Options for the resource.
244
+ """
245
+ ...
246
+ def __init__(__self__, resource_name: str, *args, **kwargs):
247
+ resource_args, opts = _utilities.get_resource_args_opts(ExternalVolumeArgs, pulumi.ResourceOptions, *args, **kwargs)
248
+ if resource_args is not None:
249
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
250
+ else:
251
+ __self__._internal_init(resource_name, *args, **kwargs)
252
+
253
+ def _internal_init(__self__,
254
+ resource_name: str,
255
+ opts: Optional[pulumi.ResourceOptions] = None,
256
+ allow_writes: Optional[pulumi.Input[str]] = None,
257
+ comment: Optional[pulumi.Input[str]] = None,
258
+ name: Optional[pulumi.Input[str]] = None,
259
+ storage_locations: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ExternalVolumeStorageLocationArgs', 'ExternalVolumeStorageLocationArgsDict']]]]] = None,
260
+ __props__=None):
261
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
262
+ if not isinstance(opts, pulumi.ResourceOptions):
263
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
264
+ if opts.id is None:
265
+ if __props__ is not None:
266
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
267
+ __props__ = ExternalVolumeArgs.__new__(ExternalVolumeArgs)
268
+
269
+ __props__.__dict__["allow_writes"] = allow_writes
270
+ __props__.__dict__["comment"] = comment
271
+ __props__.__dict__["name"] = name
272
+ if storage_locations is None and not opts.urn:
273
+ raise TypeError("Missing required property 'storage_locations'")
274
+ __props__.__dict__["storage_locations"] = storage_locations
275
+ __props__.__dict__["describe_outputs"] = None
276
+ __props__.__dict__["fully_qualified_name"] = None
277
+ __props__.__dict__["show_outputs"] = None
278
+ super(ExternalVolume, __self__).__init__(
279
+ 'snowflake:index/externalVolume:ExternalVolume',
280
+ resource_name,
281
+ __props__,
282
+ opts)
283
+
284
+ @staticmethod
285
+ def get(resource_name: str,
286
+ id: pulumi.Input[str],
287
+ opts: Optional[pulumi.ResourceOptions] = None,
288
+ allow_writes: Optional[pulumi.Input[str]] = None,
289
+ comment: Optional[pulumi.Input[str]] = None,
290
+ describe_outputs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ExternalVolumeDescribeOutputArgs', 'ExternalVolumeDescribeOutputArgsDict']]]]] = None,
291
+ fully_qualified_name: Optional[pulumi.Input[str]] = None,
292
+ name: Optional[pulumi.Input[str]] = None,
293
+ show_outputs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ExternalVolumeShowOutputArgs', 'ExternalVolumeShowOutputArgsDict']]]]] = None,
294
+ storage_locations: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ExternalVolumeStorageLocationArgs', 'ExternalVolumeStorageLocationArgsDict']]]]] = None) -> 'ExternalVolume':
295
+ """
296
+ Get an existing ExternalVolume resource's state with the given name, id, and optional extra
297
+ properties used to qualify the lookup.
298
+
299
+ :param str resource_name: The unique name of the resulting resource.
300
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
301
+ :param pulumi.ResourceOptions opts: Options for the resource.
302
+ :param pulumi.Input[str] allow_writes: Specifies whether write operations are allowed for the external volume; must be set to TRUE for Iceberg tables that use Snowflake as the catalog. 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.
303
+ :param pulumi.Input[str] comment: Specifies a comment for the external volume.
304
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ExternalVolumeDescribeOutputArgs', 'ExternalVolumeDescribeOutputArgsDict']]]] describe_outputs: Outputs the result of `DESCRIBE EXTERNAL VOLUME` for the given external volume.
305
+ :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).
306
+ :param pulumi.Input[str] name: Identifier for the external volume; must be unique for your account. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
307
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ExternalVolumeShowOutputArgs', 'ExternalVolumeShowOutputArgsDict']]]] show_outputs: Outputs the result of `SHOW EXTERNAL VOLUMES` for the given external volume.
308
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ExternalVolumeStorageLocationArgs', 'ExternalVolumeStorageLocationArgsDict']]]] storage_locations: List of named cloud storage locations in different regions and, optionally, cloud platforms. Minimum 1 required. The order of the list is important as it impacts the active storage location, and updates will be triggered if it changes. Note that not all parameter combinations are valid as they depend on the given storage*provider. Consult [the docs](https://docs.snowflake.com/en/sql-reference/sql/create-external-volume#cloud-provider-parameters-cloudproviderparams) for more details on this.
309
+ """
310
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
311
+
312
+ __props__ = _ExternalVolumeState.__new__(_ExternalVolumeState)
313
+
314
+ __props__.__dict__["allow_writes"] = allow_writes
315
+ __props__.__dict__["comment"] = comment
316
+ __props__.__dict__["describe_outputs"] = describe_outputs
317
+ __props__.__dict__["fully_qualified_name"] = fully_qualified_name
318
+ __props__.__dict__["name"] = name
319
+ __props__.__dict__["show_outputs"] = show_outputs
320
+ __props__.__dict__["storage_locations"] = storage_locations
321
+ return ExternalVolume(resource_name, opts=opts, __props__=__props__)
322
+
323
+ @property
324
+ @pulumi.getter(name="allowWrites")
325
+ def allow_writes(self) -> pulumi.Output[Optional[str]]:
326
+ """
327
+ Specifies whether write operations are allowed for the external volume; must be set to TRUE for Iceberg tables that use Snowflake as the catalog. 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.
328
+ """
329
+ return pulumi.get(self, "allow_writes")
330
+
331
+ @property
332
+ @pulumi.getter
333
+ def comment(self) -> pulumi.Output[Optional[str]]:
334
+ """
335
+ Specifies a comment for the external volume.
336
+ """
337
+ return pulumi.get(self, "comment")
338
+
339
+ @property
340
+ @pulumi.getter(name="describeOutputs")
341
+ def describe_outputs(self) -> pulumi.Output[Sequence['outputs.ExternalVolumeDescribeOutput']]:
342
+ """
343
+ Outputs the result of `DESCRIBE EXTERNAL VOLUME` for the given external volume.
344
+ """
345
+ return pulumi.get(self, "describe_outputs")
346
+
347
+ @property
348
+ @pulumi.getter(name="fullyQualifiedName")
349
+ def fully_qualified_name(self) -> pulumi.Output[str]:
350
+ """
351
+ Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
352
+ """
353
+ return pulumi.get(self, "fully_qualified_name")
354
+
355
+ @property
356
+ @pulumi.getter
357
+ def name(self) -> pulumi.Output[str]:
358
+ """
359
+ Identifier for the external volume; must be unique for your account. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
360
+ """
361
+ return pulumi.get(self, "name")
362
+
363
+ @property
364
+ @pulumi.getter(name="showOutputs")
365
+ def show_outputs(self) -> pulumi.Output[Sequence['outputs.ExternalVolumeShowOutput']]:
366
+ """
367
+ Outputs the result of `SHOW EXTERNAL VOLUMES` for the given external volume.
368
+ """
369
+ return pulumi.get(self, "show_outputs")
370
+
371
+ @property
372
+ @pulumi.getter(name="storageLocations")
373
+ def storage_locations(self) -> pulumi.Output[Sequence['outputs.ExternalVolumeStorageLocation']]:
374
+ """
375
+ List of named cloud storage locations in different regions and, optionally, cloud platforms. Minimum 1 required. The order of the list is important as it impacts the active storage location, and updates will be triggered if it changes. Note that not all parameter combinations are valid as they depend on the given storage*provider. Consult [the docs](https://docs.snowflake.com/en/sql-reference/sql/create-external-volume#cloud-provider-parameters-cloudproviderparams) for more details on this.
376
+ """
377
+ return pulumi.get(self, "storage_locations")
378
+
@@ -0,0 +1,147 @@
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
+
18
+ __all__ = [
19
+ 'GetConnectionsResult',
20
+ 'AwaitableGetConnectionsResult',
21
+ 'get_connections',
22
+ 'get_connections_output',
23
+ ]
24
+
25
+ @pulumi.output_type
26
+ class GetConnectionsResult:
27
+ """
28
+ A collection of values returned by getConnections.
29
+ """
30
+ def __init__(__self__, connections=None, id=None, like=None):
31
+ if connections and not isinstance(connections, list):
32
+ raise TypeError("Expected argument 'connections' to be a list")
33
+ pulumi.set(__self__, "connections", connections)
34
+ if id and not isinstance(id, str):
35
+ raise TypeError("Expected argument 'id' to be a str")
36
+ pulumi.set(__self__, "id", id)
37
+ if like and not isinstance(like, str):
38
+ raise TypeError("Expected argument 'like' to be a str")
39
+ pulumi.set(__self__, "like", like)
40
+
41
+ @property
42
+ @pulumi.getter
43
+ def connections(self) -> Sequence['outputs.GetConnectionsConnectionResult']:
44
+ """
45
+ Holds the aggregated output of all connections details queries.
46
+ """
47
+ return pulumi.get(self, "connections")
48
+
49
+ @property
50
+ @pulumi.getter
51
+ def id(self) -> str:
52
+ """
53
+ The provider-assigned unique ID for this managed resource.
54
+ """
55
+ return pulumi.get(self, "id")
56
+
57
+ @property
58
+ @pulumi.getter
59
+ def like(self) -> Optional[str]:
60
+ """
61
+ Filters the output with **case-insensitive** pattern, with support for SQL wildcard characters (`%` and `_`).
62
+ """
63
+ return pulumi.get(self, "like")
64
+
65
+
66
+ class AwaitableGetConnectionsResult(GetConnectionsResult):
67
+ # pylint: disable=using-constant-test
68
+ def __await__(self):
69
+ if False:
70
+ yield self
71
+ return GetConnectionsResult(
72
+ connections=self.connections,
73
+ id=self.id,
74
+ like=self.like)
75
+
76
+
77
+ def get_connections(like: Optional[str] = None,
78
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetConnectionsResult:
79
+ """
80
+ !> **V1 release candidate** This data source is a release candidate for the V1. We do not expect significant changes in it before the V1. We will welcome any feedback and adjust the data source if needed. Any errors reported will be resolved with a higher priority. We encourage checking this data source out before the V1 release. Please follow the migration guide to use it.
81
+
82
+ Datasource used to get details of filtered connections. Filtering is aligned with the current possibilities for [SHOW CONNECTIONS](https://docs.snowflake.com/en/sql-reference/sql/show-connections) query. The results of SHOW is encapsulated in one output collection `connections`.
83
+
84
+ ## Example Usage
85
+
86
+ ```python
87
+ import pulumi
88
+ import pulumi_snowflake as snowflake
89
+
90
+ # Simple usage
91
+ simple = snowflake.get_connections()
92
+ pulumi.export("simpleOutput", simple.connections)
93
+ # Filtering (like)
94
+ like = snowflake.get_connections(like="connection-name")
95
+ pulumi.export("likeOutput", like.connections)
96
+ # Filtering by prefix (like)
97
+ like_prefix = snowflake.get_connections(like="prefix%")
98
+ pulumi.export("likePrefixOutput", like_prefix.connections)
99
+ ```
100
+
101
+
102
+ :param str like: Filters the output with **case-insensitive** pattern, with support for SQL wildcard characters (`%` and `_`).
103
+ """
104
+ __args__ = dict()
105
+ __args__['like'] = like
106
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
107
+ __ret__ = pulumi.runtime.invoke('snowflake:index/getConnections:getConnections', __args__, opts=opts, typ=GetConnectionsResult).value
108
+
109
+ return AwaitableGetConnectionsResult(
110
+ connections=pulumi.get(__ret__, 'connections'),
111
+ id=pulumi.get(__ret__, 'id'),
112
+ like=pulumi.get(__ret__, 'like'))
113
+ def get_connections_output(like: Optional[pulumi.Input[Optional[str]]] = None,
114
+ opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetConnectionsResult]:
115
+ """
116
+ !> **V1 release candidate** This data source is a release candidate for the V1. We do not expect significant changes in it before the V1. We will welcome any feedback and adjust the data source if needed. Any errors reported will be resolved with a higher priority. We encourage checking this data source out before the V1 release. Please follow the migration guide to use it.
117
+
118
+ Datasource used to get details of filtered connections. Filtering is aligned with the current possibilities for [SHOW CONNECTIONS](https://docs.snowflake.com/en/sql-reference/sql/show-connections) query. The results of SHOW is encapsulated in one output collection `connections`.
119
+
120
+ ## Example Usage
121
+
122
+ ```python
123
+ import pulumi
124
+ import pulumi_snowflake as snowflake
125
+
126
+ # Simple usage
127
+ simple = snowflake.get_connections()
128
+ pulumi.export("simpleOutput", simple.connections)
129
+ # Filtering (like)
130
+ like = snowflake.get_connections(like="connection-name")
131
+ pulumi.export("likeOutput", like.connections)
132
+ # Filtering by prefix (like)
133
+ like_prefix = snowflake.get_connections(like="prefix%")
134
+ pulumi.export("likePrefixOutput", like_prefix.connections)
135
+ ```
136
+
137
+
138
+ :param str like: Filters the output with **case-insensitive** pattern, with support for SQL wildcard characters (`%` and `_`).
139
+ """
140
+ __args__ = dict()
141
+ __args__['like'] = like
142
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
143
+ __ret__ = pulumi.runtime.invoke_output('snowflake:index/getConnections:getConnections', __args__, opts=opts, typ=GetConnectionsResult)
144
+ return __ret__.apply(lambda __response__: GetConnectionsResult(
145
+ connections=pulumi.get(__response__, 'connections'),
146
+ id=pulumi.get(__response__, 'id'),
147
+ like=pulumi.get(__response__, 'like')))
@@ -130,6 +130,8 @@ def get_grants(future_grants_in: Optional[Union['GetGrantsFutureGrantsInArgs', '
130
130
  grants_to: Optional[Union['GetGrantsGrantsToArgs', 'GetGrantsGrantsToArgsDict']] = None,
131
131
  opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetGrantsResult:
132
132
  """
133
+ !> **V1 release candidate** This datasource was reworked and is a release candidate for the V1. We do not expect significant changes in it before the V1. We will welcome any feedback and adjust the resource if needed. Any errors reported will be resolved with a higher priority. We encourage checking this resource out before the V1 release. To migrate from older grant resources please follow the migration guide.
134
+
133
135
  ## Example Usage
134
136
 
135
137
  ```python
@@ -249,6 +251,8 @@ def get_grants_output(future_grants_in: Optional[pulumi.Input[Optional[Union['Ge
249
251
  grants_to: Optional[pulumi.Input[Optional[Union['GetGrantsGrantsToArgs', 'GetGrantsGrantsToArgsDict']]]] = None,
250
252
  opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetGrantsResult]:
251
253
  """
254
+ !> **V1 release candidate** This datasource was reworked and is a release candidate for the V1. We do not expect significant changes in it before the V1. We will welcome any feedback and adjust the resource if needed. Any errors reported will be resolved with a higher priority. We encourage checking this resource out before the V1 release. To migrate from older grant resources please follow the migration guide.
255
+
252
256
  ## Example Usage
253
257
 
254
258
  ```python