pulumi-snowflake 0.50.2a1709892015__py3-none-any.whl → 1.2.0a1736835738__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 (182) hide show
  1. pulumi_snowflake/__init__.py +224 -172
  2. pulumi_snowflake/_inputs.py +52854 -1662
  3. pulumi_snowflake/_utilities.py +41 -5
  4. pulumi_snowflake/account.py +188 -214
  5. pulumi_snowflake/account_authentication_policy_attachment.py +149 -0
  6. pulumi_snowflake/account_parameter.py +21 -44
  7. pulumi_snowflake/account_password_policy_attachment.py +7 -28
  8. pulumi_snowflake/account_role.py +250 -0
  9. pulumi_snowflake/alert.py +38 -43
  10. pulumi_snowflake/api_authentication_integration_with_authorization_code_grant.py +704 -0
  11. pulumi_snowflake/api_authentication_integration_with_client_credentials.py +657 -0
  12. pulumi_snowflake/api_authentication_integration_with_jwt_bearer.py +692 -0
  13. pulumi_snowflake/api_integration.py +35 -50
  14. pulumi_snowflake/authentication_policy.py +622 -0
  15. pulumi_snowflake/config/__init__.pyi +76 -99
  16. pulumi_snowflake/config/outputs.py +5 -0
  17. pulumi_snowflake/config/vars.py +93 -124
  18. pulumi_snowflake/cortex_search_service.py +596 -0
  19. pulumi_snowflake/database.py +819 -209
  20. pulumi_snowflake/database_role.py +81 -40
  21. pulumi_snowflake/dynamic_table.py +44 -47
  22. pulumi_snowflake/email_notification_integration.py +35 -26
  23. pulumi_snowflake/{unsafe_execute.py → execute.py} +36 -139
  24. pulumi_snowflake/external_function.py +54 -71
  25. pulumi_snowflake/external_oauth_integration.py +593 -538
  26. pulumi_snowflake/external_table.py +67 -86
  27. pulumi_snowflake/external_volume.py +382 -0
  28. pulumi_snowflake/failover_group.py +59 -96
  29. pulumi_snowflake/file_format.py +33 -24
  30. pulumi_snowflake/function_java.py +1211 -0
  31. pulumi_snowflake/function_javascript.py +882 -0
  32. pulumi_snowflake/function_python.py +1212 -0
  33. pulumi_snowflake/function_scala.py +1212 -0
  34. pulumi_snowflake/function_sql.py +835 -0
  35. pulumi_snowflake/get_account_roles.py +129 -0
  36. pulumi_snowflake/get_accounts.py +53 -22
  37. pulumi_snowflake/get_alerts.py +22 -5
  38. pulumi_snowflake/get_connections.py +109 -0
  39. pulumi_snowflake/get_cortex_search_services.py +216 -0
  40. pulumi_snowflake/get_current_account.py +24 -9
  41. pulumi_snowflake/get_current_role.py +14 -7
  42. pulumi_snowflake/get_database.py +25 -5
  43. pulumi_snowflake/get_database_role.py +162 -0
  44. pulumi_snowflake/get_database_roles.py +79 -43
  45. pulumi_snowflake/get_databases.py +91 -69
  46. pulumi_snowflake/get_dynamic_tables.py +36 -19
  47. pulumi_snowflake/get_external_functions.py +28 -5
  48. pulumi_snowflake/get_external_tables.py +28 -5
  49. pulumi_snowflake/get_failover_groups.py +18 -7
  50. pulumi_snowflake/get_file_formats.py +28 -5
  51. pulumi_snowflake/get_functions.py +28 -5
  52. pulumi_snowflake/get_grants.py +207 -80
  53. pulumi_snowflake/get_masking_policies.py +91 -47
  54. pulumi_snowflake/get_materialized_views.py +28 -5
  55. pulumi_snowflake/get_network_policies.py +129 -0
  56. pulumi_snowflake/get_parameters.py +38 -11
  57. pulumi_snowflake/get_pipes.py +28 -5
  58. pulumi_snowflake/get_procedures.py +28 -5
  59. pulumi_snowflake/get_resource_monitors.py +37 -20
  60. pulumi_snowflake/get_row_access_policies.py +91 -47
  61. pulumi_snowflake/get_schemas.py +145 -37
  62. pulumi_snowflake/get_secrets.py +200 -0
  63. pulumi_snowflake/get_security_integrations.py +129 -0
  64. pulumi_snowflake/get_sequences.py +28 -5
  65. pulumi_snowflake/get_shares.py +18 -5
  66. pulumi_snowflake/get_stages.py +28 -5
  67. pulumi_snowflake/get_storage_integrations.py +16 -5
  68. pulumi_snowflake/get_streamlits.py +170 -0
  69. pulumi_snowflake/get_streams.py +114 -50
  70. pulumi_snowflake/get_system_generate_scim_access_token.py +18 -5
  71. pulumi_snowflake/get_system_get_aws_sns_iam_policy.py +32 -7
  72. pulumi_snowflake/get_system_get_private_link_config.py +121 -6
  73. pulumi_snowflake/get_system_get_snowflake_platform_info.py +15 -7
  74. pulumi_snowflake/get_tables.py +28 -5
  75. pulumi_snowflake/get_tags.py +130 -0
  76. pulumi_snowflake/get_tasks.py +134 -50
  77. pulumi_snowflake/get_users.py +116 -40
  78. pulumi_snowflake/get_views.py +114 -50
  79. pulumi_snowflake/get_warehouses.py +79 -22
  80. pulumi_snowflake/grant_account_role.py +28 -61
  81. pulumi_snowflake/grant_application_role.py +257 -0
  82. pulumi_snowflake/grant_database_role.py +35 -108
  83. pulumi_snowflake/grant_ownership.py +382 -0
  84. pulumi_snowflake/grant_privileges_to_account_role.py +42 -78
  85. pulumi_snowflake/grant_privileges_to_database_role.py +37 -223
  86. pulumi_snowflake/grant_privileges_to_share.py +96 -44
  87. pulumi_snowflake/legacy_service_user.py +3670 -0
  88. pulumi_snowflake/managed_account.py +42 -9
  89. pulumi_snowflake/masking_policy.py +213 -306
  90. pulumi_snowflake/materialized_view.py +62 -67
  91. pulumi_snowflake/network_policy.py +217 -57
  92. pulumi_snowflake/network_policy_attachment.py +7 -32
  93. pulumi_snowflake/network_rule.py +473 -0
  94. pulumi_snowflake/notification_integration.py +51 -82
  95. pulumi_snowflake/oauth_integration_for_custom_clients.py +906 -0
  96. pulumi_snowflake/{oauth_integration.py → oauth_integration_for_partner_applications.py} +191 -188
  97. pulumi_snowflake/object_parameter.py +12 -99
  98. pulumi_snowflake/outputs.py +49200 -2928
  99. pulumi_snowflake/password_policy.py +41 -28
  100. pulumi_snowflake/pipe.py +33 -0
  101. pulumi_snowflake/primary_connection.py +330 -0
  102. pulumi_snowflake/procedure_java.py +1273 -0
  103. pulumi_snowflake/procedure_javascript.py +895 -0
  104. pulumi_snowflake/procedure_python.py +1226 -0
  105. pulumi_snowflake/procedure_scala.py +1273 -0
  106. pulumi_snowflake/procedure_sql.py +895 -0
  107. pulumi_snowflake/provider.py +378 -613
  108. pulumi_snowflake/pulumi-plugin.json +2 -1
  109. pulumi_snowflake/resource_monitor.py +118 -323
  110. pulumi_snowflake/row_access_policy.py +200 -145
  111. pulumi_snowflake/{saml_integration.py → saml2_integration.py} +356 -295
  112. pulumi_snowflake/schema.py +949 -174
  113. pulumi_snowflake/scim_integration.py +286 -105
  114. pulumi_snowflake/secondary_connection.py +339 -0
  115. pulumi_snowflake/secondary_database.py +1080 -0
  116. pulumi_snowflake/secret_with_authorization_code_grant.py +548 -0
  117. pulumi_snowflake/secret_with_basic_authentication.py +500 -0
  118. pulumi_snowflake/secret_with_client_credentials.py +511 -0
  119. pulumi_snowflake/secret_with_generic_string.py +452 -0
  120. pulumi_snowflake/sequence.py +9 -30
  121. pulumi_snowflake/service_user.py +3585 -0
  122. pulumi_snowflake/share.py +35 -26
  123. pulumi_snowflake/shared_database.py +939 -0
  124. pulumi_snowflake/stage.py +95 -80
  125. pulumi_snowflake/storage_integration.py +48 -2
  126. pulumi_snowflake/stream_on_directory_table.py +517 -0
  127. pulumi_snowflake/stream_on_external_table.py +632 -0
  128. pulumi_snowflake/stream_on_table.py +666 -0
  129. pulumi_snowflake/stream_on_view.py +666 -0
  130. pulumi_snowflake/streamlit.py +671 -0
  131. pulumi_snowflake/table.py +86 -93
  132. pulumi_snowflake/table_column_masking_policy_application.py +7 -14
  133. pulumi_snowflake/table_constraint.py +29 -168
  134. pulumi_snowflake/tag.py +142 -70
  135. pulumi_snowflake/tag_association.py +40 -211
  136. pulumi_snowflake/task.py +3048 -414
  137. pulumi_snowflake/user.py +3351 -380
  138. pulumi_snowflake/user_authentication_policy_attachment.py +197 -0
  139. pulumi_snowflake/user_password_policy_attachment.py +7 -6
  140. pulumi_snowflake/user_public_keys.py +5 -0
  141. pulumi_snowflake/view.py +466 -211
  142. pulumi_snowflake/warehouse.py +184 -164
  143. {pulumi_snowflake-0.50.2a1709892015.dist-info → pulumi_snowflake-1.2.0a1736835738.dist-info}/METADATA +7 -6
  144. pulumi_snowflake-1.2.0a1736835738.dist-info/RECORD +148 -0
  145. {pulumi_snowflake-0.50.2a1709892015.dist-info → pulumi_snowflake-1.2.0a1736835738.dist-info}/WHEEL +1 -1
  146. pulumi_snowflake/account_grant.py +0 -339
  147. pulumi_snowflake/database_grant.py +0 -491
  148. pulumi_snowflake/external_table_grant.py +0 -686
  149. pulumi_snowflake/failover_group_grant.py +0 -388
  150. pulumi_snowflake/file_format_grant.py +0 -631
  151. pulumi_snowflake/function.py +0 -868
  152. pulumi_snowflake/function_grant.py +0 -741
  153. pulumi_snowflake/get_role.py +0 -117
  154. pulumi_snowflake/get_roles.py +0 -116
  155. pulumi_snowflake/grant_privileges_to_role.py +0 -667
  156. pulumi_snowflake/integration_grant.py +0 -436
  157. pulumi_snowflake/masking_policy_grant.py +0 -538
  158. pulumi_snowflake/materialized_view_grant.py +0 -685
  159. pulumi_snowflake/pipe_grant.py +0 -583
  160. pulumi_snowflake/procedure.py +0 -883
  161. pulumi_snowflake/procedure_grant.py +0 -741
  162. pulumi_snowflake/resource_monitor_grant.py +0 -383
  163. pulumi_snowflake/role.py +0 -269
  164. pulumi_snowflake/role_grants.py +0 -348
  165. pulumi_snowflake/role_ownership_grant.py +0 -334
  166. pulumi_snowflake/row_access_policy_grant.py +0 -536
  167. pulumi_snowflake/schema_grant.py +0 -643
  168. pulumi_snowflake/sequence_grant.py +0 -631
  169. pulumi_snowflake/session_parameter.py +0 -328
  170. pulumi_snowflake/stage_grant.py +0 -631
  171. pulumi_snowflake/stream.py +0 -610
  172. pulumi_snowflake/stream_grant.py +0 -631
  173. pulumi_snowflake/table_grant.py +0 -673
  174. pulumi_snowflake/tag_grant.py +0 -528
  175. pulumi_snowflake/tag_masking_policy_association.py +0 -210
  176. pulumi_snowflake/task_grant.py +0 -631
  177. pulumi_snowflake/user_grant.py +0 -390
  178. pulumi_snowflake/user_ownership_grant.py +0 -286
  179. pulumi_snowflake/view_grant.py +0 -701
  180. pulumi_snowflake/warehouse_grant.py +0 -436
  181. pulumi_snowflake-0.50.2a1709892015.dist-info/RECORD +0 -136
  182. {pulumi_snowflake-0.50.2a1709892015.dist-info → pulumi_snowflake-1.2.0a1736835738.dist-info}/top_level.txt +0 -0
@@ -4,11 +4,17 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
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
10
15
  from . import _utilities
11
16
  from . import outputs
17
+ from ._inputs import *
12
18
 
13
19
  __all__ = [
14
20
  'GetRowAccessPoliciesResult',
@@ -22,51 +28,73 @@ class GetRowAccessPoliciesResult:
22
28
  """
23
29
  A collection of values returned by getRowAccessPolicies.
24
30
  """
25
- def __init__(__self__, database=None, id=None, row_access_policies=None, schema=None):
26
- if database and not isinstance(database, str):
27
- raise TypeError("Expected argument 'database' to be a str")
28
- pulumi.set(__self__, "database", database)
31
+ def __init__(__self__, id=None, in_=None, like=None, limit=None, row_access_policies=None, with_describe=None):
29
32
  if id and not isinstance(id, str):
30
33
  raise TypeError("Expected argument 'id' to be a str")
31
34
  pulumi.set(__self__, "id", id)
35
+ if in_ and not isinstance(in_, dict):
36
+ raise TypeError("Expected argument 'in_' to be a dict")
37
+ pulumi.set(__self__, "in_", in_)
38
+ if like and not isinstance(like, str):
39
+ raise TypeError("Expected argument 'like' to be a str")
40
+ pulumi.set(__self__, "like", like)
41
+ if limit and not isinstance(limit, dict):
42
+ raise TypeError("Expected argument 'limit' to be a dict")
43
+ pulumi.set(__self__, "limit", limit)
32
44
  if row_access_policies and not isinstance(row_access_policies, list):
33
45
  raise TypeError("Expected argument 'row_access_policies' to be a list")
34
46
  pulumi.set(__self__, "row_access_policies", row_access_policies)
35
- if schema and not isinstance(schema, str):
36
- raise TypeError("Expected argument 'schema' to be a str")
37
- pulumi.set(__self__, "schema", schema)
47
+ if with_describe and not isinstance(with_describe, bool):
48
+ raise TypeError("Expected argument 'with_describe' to be a bool")
49
+ pulumi.set(__self__, "with_describe", with_describe)
38
50
 
39
51
  @property
40
52
  @pulumi.getter
41
- def database(self) -> str:
53
+ def id(self) -> str:
54
+ """
55
+ The provider-assigned unique ID for this managed resource.
56
+ """
57
+ return pulumi.get(self, "id")
58
+
59
+ @property
60
+ @pulumi.getter(name="in")
61
+ def in_(self) -> Optional['outputs.GetRowAccessPoliciesInResult']:
42
62
  """
43
- The database from which to return the schemas from.
63
+ IN clause to filter the list of row access policies
44
64
  """
45
- return pulumi.get(self, "database")
65
+ return pulumi.get(self, "in_")
46
66
 
47
67
  @property
48
68
  @pulumi.getter
49
- def id(self) -> str:
69
+ def like(self) -> Optional[str]:
50
70
  """
51
- The provider-assigned unique ID for this managed resource.
71
+ Filters the output with **case-insensitive** pattern, with support for SQL wildcard characters (`%` and `_`).
52
72
  """
53
- return pulumi.get(self, "id")
73
+ return pulumi.get(self, "like")
74
+
75
+ @property
76
+ @pulumi.getter
77
+ def limit(self) -> Optional['outputs.GetRowAccessPoliciesLimitResult']:
78
+ """
79
+ Limits the number of rows returned. If the `limit.from` is set, then the limit wll start from the first element matched by the expression. The expression is only used to match with the first element, later on the elements are not matched by the prefix, but you can enforce a certain pattern with `starts_with` or `like`.
80
+ """
81
+ return pulumi.get(self, "limit")
54
82
 
55
83
  @property
56
84
  @pulumi.getter(name="rowAccessPolicies")
57
85
  def row_access_policies(self) -> Sequence['outputs.GetRowAccessPoliciesRowAccessPolicyResult']:
58
86
  """
59
- The row access policy in the schema
87
+ Holds the aggregated output of all views details queries.
60
88
  """
61
89
  return pulumi.get(self, "row_access_policies")
62
90
 
63
91
  @property
64
- @pulumi.getter
65
- def schema(self) -> str:
92
+ @pulumi.getter(name="withDescribe")
93
+ def with_describe(self) -> Optional[bool]:
66
94
  """
67
- The schema from which to return the row access policy from.
95
+ Runs DESC ROW ACCESS POLICY for each row access policy returned by SHOW ROW ACCESS POLICIES. The output of describe is saved to the description field. By default this value is set to true.
68
96
  """
69
- return pulumi.get(self, "schema")
97
+ return pulumi.get(self, "with_describe")
70
98
 
71
99
 
72
100
  class AwaitableGetRowAccessPoliciesResult(GetRowAccessPoliciesResult):
@@ -75,52 +103,68 @@ class AwaitableGetRowAccessPoliciesResult(GetRowAccessPoliciesResult):
75
103
  if False:
76
104
  yield self
77
105
  return GetRowAccessPoliciesResult(
78
- database=self.database,
79
106
  id=self.id,
107
+ in_=self.in_,
108
+ like=self.like,
109
+ limit=self.limit,
80
110
  row_access_policies=self.row_access_policies,
81
- schema=self.schema)
111
+ with_describe=self.with_describe)
82
112
 
83
113
 
84
- def get_row_access_policies(database: Optional[str] = None,
85
- schema: Optional[str] = None,
114
+ def get_row_access_policies(in_: Optional[Union['GetRowAccessPoliciesInArgs', 'GetRowAccessPoliciesInArgsDict']] = None,
115
+ like: Optional[str] = None,
116
+ limit: Optional[Union['GetRowAccessPoliciesLimitArgs', 'GetRowAccessPoliciesLimitArgsDict']] = None,
117
+ with_describe: Optional[bool] = None,
86
118
  opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetRowAccessPoliciesResult:
87
119
  """
88
- ## Example Usage
120
+ Data source used to get details of filtered row access policies. Filtering is aligned with the current possibilities for [SHOW ROW ACCESS POLICIES](https://docs.snowflake.com/en/sql-reference/sql/show-row-access-policies) query. The results of SHOW and DESCRIBE are encapsulated in one output collection `row_access_policies`.
89
121
 
90
- ```python
91
- import pulumi
92
- import pulumi_snowflake as snowflake
93
122
 
94
- current = snowflake.get_row_access_policies(database="MYDB",
95
- schema="MYSCHEMA")
96
- ```
123
+ :param Union['GetRowAccessPoliciesInArgs', 'GetRowAccessPoliciesInArgsDict'] in_: IN clause to filter the list of row access policies
124
+ :param str like: Filters the output with **case-insensitive** pattern, with support for SQL wildcard characters (`%` and `_`).
125
+ :param Union['GetRowAccessPoliciesLimitArgs', 'GetRowAccessPoliciesLimitArgsDict'] limit: Limits the number of rows returned. If the `limit.from` is set, then the limit wll start from the first element matched by the expression. The expression is only used to match with the first element, later on the elements are not matched by the prefix, but you can enforce a certain pattern with `starts_with` or `like`.
126
+ :param bool with_describe: Runs DESC ROW ACCESS POLICY for each row access policy returned by SHOW ROW ACCESS POLICIES. The output of describe is saved to the description field. By default this value is set to true.
97
127
  """
98
128
  __args__ = dict()
99
- __args__['database'] = database
100
- __args__['schema'] = schema
129
+ __args__['in'] = in_
130
+ __args__['like'] = like
131
+ __args__['limit'] = limit
132
+ __args__['withDescribe'] = with_describe
101
133
  opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
102
134
  __ret__ = pulumi.runtime.invoke('snowflake:index/getRowAccessPolicies:getRowAccessPolicies', __args__, opts=opts, typ=GetRowAccessPoliciesResult).value
103
135
 
104
136
  return AwaitableGetRowAccessPoliciesResult(
105
- database=pulumi.get(__ret__, 'database'),
106
137
  id=pulumi.get(__ret__, 'id'),
138
+ in_=pulumi.get(__ret__, 'in_'),
139
+ like=pulumi.get(__ret__, 'like'),
140
+ limit=pulumi.get(__ret__, 'limit'),
107
141
  row_access_policies=pulumi.get(__ret__, 'row_access_policies'),
108
- schema=pulumi.get(__ret__, 'schema'))
109
-
110
-
111
- @_utilities.lift_output_func(get_row_access_policies)
112
- def get_row_access_policies_output(database: Optional[pulumi.Input[str]] = None,
113
- schema: Optional[pulumi.Input[str]] = None,
114
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRowAccessPoliciesResult]:
142
+ with_describe=pulumi.get(__ret__, 'with_describe'))
143
+ def get_row_access_policies_output(in_: Optional[pulumi.Input[Optional[Union['GetRowAccessPoliciesInArgs', 'GetRowAccessPoliciesInArgsDict']]]] = None,
144
+ like: Optional[pulumi.Input[Optional[str]]] = None,
145
+ limit: Optional[pulumi.Input[Optional[Union['GetRowAccessPoliciesLimitArgs', 'GetRowAccessPoliciesLimitArgsDict']]]] = None,
146
+ with_describe: Optional[pulumi.Input[Optional[bool]]] = None,
147
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetRowAccessPoliciesResult]:
115
148
  """
116
- ## Example Usage
149
+ Data source used to get details of filtered row access policies. Filtering is aligned with the current possibilities for [SHOW ROW ACCESS POLICIES](https://docs.snowflake.com/en/sql-reference/sql/show-row-access-policies) query. The results of SHOW and DESCRIBE are encapsulated in one output collection `row_access_policies`.
117
150
 
118
- ```python
119
- import pulumi
120
- import pulumi_snowflake as snowflake
121
151
 
122
- current = snowflake.get_row_access_policies(database="MYDB",
123
- schema="MYSCHEMA")
124
- ```
152
+ :param Union['GetRowAccessPoliciesInArgs', 'GetRowAccessPoliciesInArgsDict'] in_: IN clause to filter the list of row access policies
153
+ :param str like: Filters the output with **case-insensitive** pattern, with support for SQL wildcard characters (`%` and `_`).
154
+ :param Union['GetRowAccessPoliciesLimitArgs', 'GetRowAccessPoliciesLimitArgsDict'] limit: Limits the number of rows returned. If the `limit.from` is set, then the limit wll start from the first element matched by the expression. The expression is only used to match with the first element, later on the elements are not matched by the prefix, but you can enforce a certain pattern with `starts_with` or `like`.
155
+ :param bool with_describe: Runs DESC ROW ACCESS POLICY for each row access policy returned by SHOW ROW ACCESS POLICIES. The output of describe is saved to the description field. By default this value is set to true.
125
156
  """
126
- ...
157
+ __args__ = dict()
158
+ __args__['in'] = in_
159
+ __args__['like'] = like
160
+ __args__['limit'] = limit
161
+ __args__['withDescribe'] = with_describe
162
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
163
+ __ret__ = pulumi.runtime.invoke_output('snowflake:index/getRowAccessPolicies:getRowAccessPolicies', __args__, opts=opts, typ=GetRowAccessPoliciesResult)
164
+ return __ret__.apply(lambda __response__: GetRowAccessPoliciesResult(
165
+ id=pulumi.get(__response__, 'id'),
166
+ in_=pulumi.get(__response__, 'in_'),
167
+ like=pulumi.get(__response__, 'like'),
168
+ limit=pulumi.get(__response__, 'limit'),
169
+ row_access_policies=pulumi.get(__response__, 'row_access_policies'),
170
+ with_describe=pulumi.get(__response__, 'with_describe')))
@@ -4,11 +4,17 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
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
10
15
  from . import _utilities
11
16
  from . import outputs
17
+ from ._inputs import *
12
18
 
13
19
  __all__ = [
14
20
  'GetSchemasResult',
@@ -22,41 +28,96 @@ class GetSchemasResult:
22
28
  """
23
29
  A collection of values returned by getSchemas.
24
30
  """
25
- def __init__(__self__, database=None, id=None, schemas=None):
26
- if database and not isinstance(database, str):
27
- raise TypeError("Expected argument 'database' to be a str")
28
- pulumi.set(__self__, "database", database)
31
+ def __init__(__self__, id=None, in_=None, like=None, limit=None, schemas=None, starts_with=None, with_describe=None, with_parameters=None):
29
32
  if id and not isinstance(id, str):
30
33
  raise TypeError("Expected argument 'id' to be a str")
31
34
  pulumi.set(__self__, "id", id)
35
+ if in_ and not isinstance(in_, dict):
36
+ raise TypeError("Expected argument 'in_' to be a dict")
37
+ pulumi.set(__self__, "in_", in_)
38
+ if like and not isinstance(like, str):
39
+ raise TypeError("Expected argument 'like' to be a str")
40
+ pulumi.set(__self__, "like", like)
41
+ if limit and not isinstance(limit, dict):
42
+ raise TypeError("Expected argument 'limit' to be a dict")
43
+ pulumi.set(__self__, "limit", limit)
32
44
  if schemas and not isinstance(schemas, list):
33
45
  raise TypeError("Expected argument 'schemas' to be a list")
34
46
  pulumi.set(__self__, "schemas", schemas)
47
+ if starts_with and not isinstance(starts_with, str):
48
+ raise TypeError("Expected argument 'starts_with' to be a str")
49
+ pulumi.set(__self__, "starts_with", starts_with)
50
+ if with_describe and not isinstance(with_describe, bool):
51
+ raise TypeError("Expected argument 'with_describe' to be a bool")
52
+ pulumi.set(__self__, "with_describe", with_describe)
53
+ if with_parameters and not isinstance(with_parameters, bool):
54
+ raise TypeError("Expected argument 'with_parameters' to be a bool")
55
+ pulumi.set(__self__, "with_parameters", with_parameters)
35
56
 
36
57
  @property
37
58
  @pulumi.getter
38
- def database(self) -> str:
59
+ def id(self) -> str:
39
60
  """
40
- The database from which to return the schemas from.
61
+ The provider-assigned unique ID for this managed resource.
41
62
  """
42
- return pulumi.get(self, "database")
63
+ return pulumi.get(self, "id")
64
+
65
+ @property
66
+ @pulumi.getter(name="in")
67
+ def in_(self) -> Optional['outputs.GetSchemasInResult']:
68
+ """
69
+ IN clause to filter the list of streamlits
70
+ """
71
+ return pulumi.get(self, "in_")
43
72
 
44
73
  @property
45
74
  @pulumi.getter
46
- def id(self) -> str:
75
+ def like(self) -> Optional[str]:
47
76
  """
48
- The provider-assigned unique ID for this managed resource.
77
+ Filters the output with **case-insensitive** pattern, with support for SQL wildcard characters (`%` and `_`).
49
78
  """
50
- return pulumi.get(self, "id")
79
+ return pulumi.get(self, "like")
80
+
81
+ @property
82
+ @pulumi.getter
83
+ def limit(self) -> Optional['outputs.GetSchemasLimitResult']:
84
+ """
85
+ Limits the number of rows returned. If the `limit.from` is set, then the limit wll start from the first element matched by the expression. The expression is only used to match with the first element, later on the elements are not matched by the prefix, but you can enforce a certain pattern with `starts_with` or `like`.
86
+ """
87
+ return pulumi.get(self, "limit")
51
88
 
52
89
  @property
53
90
  @pulumi.getter
54
91
  def schemas(self) -> Sequence['outputs.GetSchemasSchemaResult']:
55
92
  """
56
- The schemas in the database
93
+ Holds the aggregated output of all SCHEMA details queries.
57
94
  """
58
95
  return pulumi.get(self, "schemas")
59
96
 
97
+ @property
98
+ @pulumi.getter(name="startsWith")
99
+ def starts_with(self) -> Optional[str]:
100
+ """
101
+ Filters the output with **case-sensitive** characters indicating the beginning of the object name.
102
+ """
103
+ return pulumi.get(self, "starts_with")
104
+
105
+ @property
106
+ @pulumi.getter(name="withDescribe")
107
+ def with_describe(self) -> Optional[bool]:
108
+ """
109
+ Runs DESC SCHEMA for each schema returned by SHOW SCHEMAS. The output of describe is saved to the description field. By default this value is set to true.
110
+ """
111
+ return pulumi.get(self, "with_describe")
112
+
113
+ @property
114
+ @pulumi.getter(name="withParameters")
115
+ def with_parameters(self) -> Optional[bool]:
116
+ """
117
+ Runs SHOW PARAMETERS FOR SCHEMA for each schema returned by SHOW SCHEMAS. The output of describe is saved to the parameters field as a map. By default this value is set to true.
118
+ """
119
+ return pulumi.get(self, "with_parameters")
120
+
60
121
 
61
122
  class AwaitableGetSchemasResult(GetSchemasResult):
62
123
  # pylint: disable=using-constant-test
@@ -64,45 +125,92 @@ class AwaitableGetSchemasResult(GetSchemasResult):
64
125
  if False:
65
126
  yield self
66
127
  return GetSchemasResult(
67
- database=self.database,
68
128
  id=self.id,
69
- schemas=self.schemas)
70
-
71
-
72
- def get_schemas(database: Optional[str] = None,
129
+ in_=self.in_,
130
+ like=self.like,
131
+ limit=self.limit,
132
+ schemas=self.schemas,
133
+ starts_with=self.starts_with,
134
+ with_describe=self.with_describe,
135
+ with_parameters=self.with_parameters)
136
+
137
+
138
+ def get_schemas(in_: Optional[Union['GetSchemasInArgs', 'GetSchemasInArgsDict']] = None,
139
+ like: Optional[str] = None,
140
+ limit: Optional[Union['GetSchemasLimitArgs', 'GetSchemasLimitArgsDict']] = None,
141
+ starts_with: Optional[str] = None,
142
+ with_describe: Optional[bool] = None,
143
+ with_parameters: Optional[bool] = None,
73
144
  opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetSchemasResult:
74
145
  """
75
- ## Example Usage
146
+ <!-- TODO(SNOW-1844996): Remove this note.-->
147
+ > **Note** Field `WITH PRIVILEGES` is currently missing. It will be added in the future.
148
+
149
+ Data source used to get details of filtered schemas. Filtering is aligned with the current possibilities for [SHOW SCHEMAS](https://docs.snowflake.com/en/sql-reference/sql/show-schemas) query. The results of SHOW, DESCRIBE, and SHOW PARAMETERS IN are encapsulated in one output collection.
76
150
 
77
- ```python
78
- import pulumi
79
- import pulumi_snowflake as snowflake
80
151
 
81
- current = snowflake.get_schemas(database="MYDB")
82
- ```
152
+ :param Union['GetSchemasInArgs', 'GetSchemasInArgsDict'] in_: IN clause to filter the list of streamlits
153
+ :param str like: Filters the output with **case-insensitive** pattern, with support for SQL wildcard characters (`%` and `_`).
154
+ :param Union['GetSchemasLimitArgs', 'GetSchemasLimitArgsDict'] limit: Limits the number of rows returned. If the `limit.from` is set, then the limit wll start from the first element matched by the expression. The expression is only used to match with the first element, later on the elements are not matched by the prefix, but you can enforce a certain pattern with `starts_with` or `like`.
155
+ :param str starts_with: Filters the output with **case-sensitive** characters indicating the beginning of the object name.
156
+ :param bool with_describe: Runs DESC SCHEMA for each schema returned by SHOW SCHEMAS. The output of describe is saved to the description field. By default this value is set to true.
157
+ :param bool with_parameters: Runs SHOW PARAMETERS FOR SCHEMA for each schema returned by SHOW SCHEMAS. The output of describe is saved to the parameters field as a map. By default this value is set to true.
83
158
  """
84
159
  __args__ = dict()
85
- __args__['database'] = database
160
+ __args__['in'] = in_
161
+ __args__['like'] = like
162
+ __args__['limit'] = limit
163
+ __args__['startsWith'] = starts_with
164
+ __args__['withDescribe'] = with_describe
165
+ __args__['withParameters'] = with_parameters
86
166
  opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
87
167
  __ret__ = pulumi.runtime.invoke('snowflake:index/getSchemas:getSchemas', __args__, opts=opts, typ=GetSchemasResult).value
88
168
 
89
169
  return AwaitableGetSchemasResult(
90
- database=pulumi.get(__ret__, 'database'),
91
170
  id=pulumi.get(__ret__, 'id'),
92
- schemas=pulumi.get(__ret__, 'schemas'))
93
-
94
-
95
- @_utilities.lift_output_func(get_schemas)
96
- def get_schemas_output(database: Optional[pulumi.Input[str]] = None,
97
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSchemasResult]:
171
+ in_=pulumi.get(__ret__, 'in_'),
172
+ like=pulumi.get(__ret__, 'like'),
173
+ limit=pulumi.get(__ret__, 'limit'),
174
+ schemas=pulumi.get(__ret__, 'schemas'),
175
+ starts_with=pulumi.get(__ret__, 'starts_with'),
176
+ with_describe=pulumi.get(__ret__, 'with_describe'),
177
+ with_parameters=pulumi.get(__ret__, 'with_parameters'))
178
+ def get_schemas_output(in_: Optional[pulumi.Input[Optional[Union['GetSchemasInArgs', 'GetSchemasInArgsDict']]]] = None,
179
+ like: Optional[pulumi.Input[Optional[str]]] = None,
180
+ limit: Optional[pulumi.Input[Optional[Union['GetSchemasLimitArgs', 'GetSchemasLimitArgsDict']]]] = None,
181
+ starts_with: Optional[pulumi.Input[Optional[str]]] = None,
182
+ with_describe: Optional[pulumi.Input[Optional[bool]]] = None,
183
+ with_parameters: Optional[pulumi.Input[Optional[bool]]] = None,
184
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSchemasResult]:
98
185
  """
99
- ## Example Usage
186
+ <!-- TODO(SNOW-1844996): Remove this note.-->
187
+ > **Note** Field `WITH PRIVILEGES` is currently missing. It will be added in the future.
100
188
 
101
- ```python
102
- import pulumi
103
- import pulumi_snowflake as snowflake
189
+ Data source used to get details of filtered schemas. Filtering is aligned with the current possibilities for [SHOW SCHEMAS](https://docs.snowflake.com/en/sql-reference/sql/show-schemas) query. The results of SHOW, DESCRIBE, and SHOW PARAMETERS IN are encapsulated in one output collection.
104
190
 
105
- current = snowflake.get_schemas(database="MYDB")
106
- ```
191
+
192
+ :param Union['GetSchemasInArgs', 'GetSchemasInArgsDict'] in_: IN clause to filter the list of streamlits
193
+ :param str like: Filters the output with **case-insensitive** pattern, with support for SQL wildcard characters (`%` and `_`).
194
+ :param Union['GetSchemasLimitArgs', 'GetSchemasLimitArgsDict'] limit: Limits the number of rows returned. If the `limit.from` is set, then the limit wll start from the first element matched by the expression. The expression is only used to match with the first element, later on the elements are not matched by the prefix, but you can enforce a certain pattern with `starts_with` or `like`.
195
+ :param str starts_with: Filters the output with **case-sensitive** characters indicating the beginning of the object name.
196
+ :param bool with_describe: Runs DESC SCHEMA for each schema returned by SHOW SCHEMAS. The output of describe is saved to the description field. By default this value is set to true.
197
+ :param bool with_parameters: Runs SHOW PARAMETERS FOR SCHEMA for each schema returned by SHOW SCHEMAS. The output of describe is saved to the parameters field as a map. By default this value is set to true.
107
198
  """
108
- ...
199
+ __args__ = dict()
200
+ __args__['in'] = in_
201
+ __args__['like'] = like
202
+ __args__['limit'] = limit
203
+ __args__['startsWith'] = starts_with
204
+ __args__['withDescribe'] = with_describe
205
+ __args__['withParameters'] = with_parameters
206
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
207
+ __ret__ = pulumi.runtime.invoke_output('snowflake:index/getSchemas:getSchemas', __args__, opts=opts, typ=GetSchemasResult)
208
+ return __ret__.apply(lambda __response__: GetSchemasResult(
209
+ id=pulumi.get(__response__, 'id'),
210
+ in_=pulumi.get(__response__, 'in_'),
211
+ like=pulumi.get(__response__, 'like'),
212
+ limit=pulumi.get(__response__, 'limit'),
213
+ schemas=pulumi.get(__response__, 'schemas'),
214
+ starts_with=pulumi.get(__response__, 'starts_with'),
215
+ with_describe=pulumi.get(__response__, 'with_describe'),
216
+ with_parameters=pulumi.get(__response__, 'with_parameters')))
@@ -0,0 +1,200 @@
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__ = [
20
+ 'GetSecretsResult',
21
+ 'AwaitableGetSecretsResult',
22
+ 'get_secrets',
23
+ 'get_secrets_output',
24
+ ]
25
+
26
+ @pulumi.output_type
27
+ class GetSecretsResult:
28
+ """
29
+ A collection of values returned by getSecrets.
30
+ """
31
+ def __init__(__self__, id=None, in_=None, like=None, secrets=None, with_describe=None):
32
+ if id and not isinstance(id, str):
33
+ raise TypeError("Expected argument 'id' to be a str")
34
+ pulumi.set(__self__, "id", id)
35
+ if in_ and not isinstance(in_, dict):
36
+ raise TypeError("Expected argument 'in_' to be a dict")
37
+ pulumi.set(__self__, "in_", in_)
38
+ if like and not isinstance(like, str):
39
+ raise TypeError("Expected argument 'like' to be a str")
40
+ pulumi.set(__self__, "like", like)
41
+ if secrets and not isinstance(secrets, list):
42
+ raise TypeError("Expected argument 'secrets' to be a list")
43
+ pulumi.set(__self__, "secrets", secrets)
44
+ if with_describe and not isinstance(with_describe, bool):
45
+ raise TypeError("Expected argument 'with_describe' to be a bool")
46
+ pulumi.set(__self__, "with_describe", with_describe)
47
+
48
+ @property
49
+ @pulumi.getter
50
+ def id(self) -> str:
51
+ """
52
+ The provider-assigned unique ID for this managed resource.
53
+ """
54
+ return pulumi.get(self, "id")
55
+
56
+ @property
57
+ @pulumi.getter(name="in")
58
+ def in_(self) -> Optional['outputs.GetSecretsInResult']:
59
+ """
60
+ IN clause to filter the list of secrets
61
+ """
62
+ return pulumi.get(self, "in_")
63
+
64
+ @property
65
+ @pulumi.getter
66
+ def like(self) -> Optional[str]:
67
+ """
68
+ Filters the output with **case-insensitive** pattern, with support for SQL wildcard characters (`%` and `_`).
69
+ """
70
+ return pulumi.get(self, "like")
71
+
72
+ @property
73
+ @pulumi.getter
74
+ def secrets(self) -> Sequence['outputs.GetSecretsSecretResult']:
75
+ """
76
+ Holds the aggregated output of all secrets details queries.
77
+ """
78
+ return pulumi.get(self, "secrets")
79
+
80
+ @property
81
+ @pulumi.getter(name="withDescribe")
82
+ def with_describe(self) -> Optional[bool]:
83
+ """
84
+ Runs DESC SECRET for each secret returned by SHOW SECRETS. The output of describe is saved to the description field. By default this value is set to true.
85
+ """
86
+ return pulumi.get(self, "with_describe")
87
+
88
+
89
+ class AwaitableGetSecretsResult(GetSecretsResult):
90
+ # pylint: disable=using-constant-test
91
+ def __await__(self):
92
+ if False:
93
+ yield self
94
+ return GetSecretsResult(
95
+ id=self.id,
96
+ in_=self.in_,
97
+ like=self.like,
98
+ secrets=self.secrets,
99
+ with_describe=self.with_describe)
100
+
101
+
102
+ def get_secrets(in_: Optional[Union['GetSecretsInArgs', 'GetSecretsInArgsDict']] = None,
103
+ like: Optional[str] = None,
104
+ with_describe: Optional[bool] = None,
105
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetSecretsResult:
106
+ """
107
+ Data source used to get details of filtered secrets. Filtering is aligned with the current possibilities for [SHOW SECRETS](https://docs.snowflake.com/en/sql-reference/sql/show-secrets) query. The results of SHOW and DESCRIBE are encapsulated in one output collection `secrets`.
108
+
109
+ ## Example Usage
110
+
111
+ ```python
112
+ import pulumi
113
+ import pulumi_snowflake as snowflake
114
+
115
+ # Simple usage
116
+ simple = snowflake.get_secrets()
117
+ pulumi.export("simpleOutput", simple.secrets)
118
+ # Filtering (like)
119
+ like = snowflake.get_secrets(like="secret-name")
120
+ pulumi.export("likeOutput", like.secrets)
121
+ # Filtering by prefix (like)
122
+ like_prefix = snowflake.get_secrets(like="prefix%")
123
+ pulumi.export("likePrefixOutput", like_prefix.secrets)
124
+ # Filtering (in)
125
+ in_ = snowflake.get_secrets(in_={
126
+ "schema": test["fullyQualifiedName"],
127
+ })
128
+ pulumi.export("inOutput", in_.secrets)
129
+ # Without additional data (to limit the number of calls make for every found secret)
130
+ only_show = snowflake.get_secrets(with_describe=False)
131
+ pulumi.export("onlyShowOutput", only_show.secrets)
132
+ ```
133
+
134
+
135
+ :param Union['GetSecretsInArgs', 'GetSecretsInArgsDict'] in_: IN clause to filter the list of secrets
136
+ :param str like: Filters the output with **case-insensitive** pattern, with support for SQL wildcard characters (`%` and `_`).
137
+ :param bool with_describe: Runs DESC SECRET for each secret returned by SHOW SECRETS. The output of describe is saved to the description field. By default this value is set to true.
138
+ """
139
+ __args__ = dict()
140
+ __args__['in'] = in_
141
+ __args__['like'] = like
142
+ __args__['withDescribe'] = with_describe
143
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
144
+ __ret__ = pulumi.runtime.invoke('snowflake:index/getSecrets:getSecrets', __args__, opts=opts, typ=GetSecretsResult).value
145
+
146
+ return AwaitableGetSecretsResult(
147
+ id=pulumi.get(__ret__, 'id'),
148
+ in_=pulumi.get(__ret__, 'in_'),
149
+ like=pulumi.get(__ret__, 'like'),
150
+ secrets=pulumi.get(__ret__, 'secrets'),
151
+ with_describe=pulumi.get(__ret__, 'with_describe'))
152
+ def get_secrets_output(in_: Optional[pulumi.Input[Optional[Union['GetSecretsInArgs', 'GetSecretsInArgsDict']]]] = None,
153
+ like: Optional[pulumi.Input[Optional[str]]] = None,
154
+ with_describe: Optional[pulumi.Input[Optional[bool]]] = None,
155
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSecretsResult]:
156
+ """
157
+ Data source used to get details of filtered secrets. Filtering is aligned with the current possibilities for [SHOW SECRETS](https://docs.snowflake.com/en/sql-reference/sql/show-secrets) query. The results of SHOW and DESCRIBE are encapsulated in one output collection `secrets`.
158
+
159
+ ## Example Usage
160
+
161
+ ```python
162
+ import pulumi
163
+ import pulumi_snowflake as snowflake
164
+
165
+ # Simple usage
166
+ simple = snowflake.get_secrets()
167
+ pulumi.export("simpleOutput", simple.secrets)
168
+ # Filtering (like)
169
+ like = snowflake.get_secrets(like="secret-name")
170
+ pulumi.export("likeOutput", like.secrets)
171
+ # Filtering by prefix (like)
172
+ like_prefix = snowflake.get_secrets(like="prefix%")
173
+ pulumi.export("likePrefixOutput", like_prefix.secrets)
174
+ # Filtering (in)
175
+ in_ = snowflake.get_secrets(in_={
176
+ "schema": test["fullyQualifiedName"],
177
+ })
178
+ pulumi.export("inOutput", in_.secrets)
179
+ # Without additional data (to limit the number of calls make for every found secret)
180
+ only_show = snowflake.get_secrets(with_describe=False)
181
+ pulumi.export("onlyShowOutput", only_show.secrets)
182
+ ```
183
+
184
+
185
+ :param Union['GetSecretsInArgs', 'GetSecretsInArgsDict'] in_: IN clause to filter the list of secrets
186
+ :param str like: Filters the output with **case-insensitive** pattern, with support for SQL wildcard characters (`%` and `_`).
187
+ :param bool with_describe: Runs DESC SECRET for each secret returned by SHOW SECRETS. The output of describe is saved to the description field. By default this value is set to true.
188
+ """
189
+ __args__ = dict()
190
+ __args__['in'] = in_
191
+ __args__['like'] = like
192
+ __args__['withDescribe'] = with_describe
193
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
194
+ __ret__ = pulumi.runtime.invoke_output('snowflake:index/getSecrets:getSecrets', __args__, opts=opts, typ=GetSecretsResult)
195
+ return __ret__.apply(lambda __response__: GetSecretsResult(
196
+ id=pulumi.get(__response__, 'id'),
197
+ in_=pulumi.get(__response__, 'in_'),
198
+ like=pulumi.get(__response__, 'like'),
199
+ secrets=pulumi.get(__response__, 'secrets'),
200
+ with_describe=pulumi.get(__response__, 'with_describe')))