pulumi-snowflake 0.50.3a1710160126__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 +52857 -1665
  3. pulumi_snowflake/_utilities.py +41 -5
  4. pulumi_snowflake/account.py +188 -218
  5. pulumi_snowflake/account_authentication_policy_attachment.py +149 -0
  6. pulumi_snowflake/account_parameter.py +21 -48
  7. pulumi_snowflake/account_password_policy_attachment.py +7 -32
  8. pulumi_snowflake/account_role.py +250 -0
  9. pulumi_snowflake/alert.py +38 -47
  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 +33 -52
  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 -213
  20. pulumi_snowflake/database_role.py +81 -44
  21. pulumi_snowflake/dynamic_table.py +42 -49
  22. pulumi_snowflake/email_notification_integration.py +33 -28
  23. pulumi_snowflake/{unsafe_execute.py → execute.py} +36 -39
  24. pulumi_snowflake/external_function.py +54 -75
  25. pulumi_snowflake/external_oauth_integration.py +593 -542
  26. pulumi_snowflake/external_table.py +67 -90
  27. pulumi_snowflake/external_volume.py +382 -0
  28. pulumi_snowflake/failover_group.py +57 -98
  29. pulumi_snowflake/file_format.py +33 -28
  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 -9
  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 -13
  41. pulumi_snowflake/get_current_role.py +14 -7
  42. pulumi_snowflake/get_database.py +25 -9
  43. pulumi_snowflake/get_database_role.py +162 -0
  44. pulumi_snowflake/get_database_roles.py +79 -47
  45. pulumi_snowflake/get_databases.py +91 -73
  46. pulumi_snowflake/get_dynamic_tables.py +36 -19
  47. pulumi_snowflake/get_external_functions.py +28 -9
  48. pulumi_snowflake/get_external_tables.py +28 -9
  49. pulumi_snowflake/get_failover_groups.py +18 -7
  50. pulumi_snowflake/get_file_formats.py +28 -9
  51. pulumi_snowflake/get_functions.py +28 -9
  52. pulumi_snowflake/get_grants.py +207 -84
  53. pulumi_snowflake/get_masking_policies.py +91 -51
  54. pulumi_snowflake/get_materialized_views.py +28 -9
  55. pulumi_snowflake/get_network_policies.py +129 -0
  56. pulumi_snowflake/get_parameters.py +38 -15
  57. pulumi_snowflake/get_pipes.py +28 -9
  58. pulumi_snowflake/get_procedures.py +28 -9
  59. pulumi_snowflake/get_resource_monitors.py +37 -24
  60. pulumi_snowflake/get_row_access_policies.py +91 -51
  61. pulumi_snowflake/get_schemas.py +145 -41
  62. pulumi_snowflake/get_secrets.py +200 -0
  63. pulumi_snowflake/get_security_integrations.py +129 -0
  64. pulumi_snowflake/get_sequences.py +28 -9
  65. pulumi_snowflake/get_shares.py +18 -9
  66. pulumi_snowflake/get_stages.py +28 -9
  67. pulumi_snowflake/get_storage_integrations.py +16 -9
  68. pulumi_snowflake/get_streamlits.py +170 -0
  69. pulumi_snowflake/get_streams.py +114 -54
  70. pulumi_snowflake/get_system_generate_scim_access_token.py +18 -9
  71. pulumi_snowflake/get_system_get_aws_sns_iam_policy.py +32 -7
  72. pulumi_snowflake/get_system_get_private_link_config.py +120 -5
  73. pulumi_snowflake/get_system_get_snowflake_platform_info.py +15 -7
  74. pulumi_snowflake/get_tables.py +28 -9
  75. pulumi_snowflake/get_tags.py +130 -0
  76. pulumi_snowflake/get_tasks.py +134 -54
  77. pulumi_snowflake/get_users.py +116 -44
  78. pulumi_snowflake/get_views.py +114 -54
  79. pulumi_snowflake/get_warehouses.py +79 -26
  80. pulumi_snowflake/grant_account_role.py +28 -75
  81. pulumi_snowflake/grant_application_role.py +257 -0
  82. pulumi_snowflake/grant_database_role.py +35 -94
  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 -383
  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 +40 -11
  89. pulumi_snowflake/masking_policy.py +213 -310
  90. pulumi_snowflake/materialized_view.py +62 -71
  91. pulumi_snowflake/network_policy.py +217 -61
  92. pulumi_snowflake/network_policy_attachment.py +5 -34
  93. pulumi_snowflake/network_rule.py +473 -0
  94. pulumi_snowflake/notification_integration.py +49 -84
  95. pulumi_snowflake/oauth_integration_for_custom_clients.py +906 -0
  96. pulumi_snowflake/{oauth_integration.py → oauth_integration_for_partner_applications.py} +191 -192
  97. pulumi_snowflake/object_parameter.py +10 -101
  98. pulumi_snowflake/outputs.py +49200 -2928
  99. pulumi_snowflake/password_policy.py +41 -28
  100. pulumi_snowflake/pipe.py +33 -4
  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 -327
  110. pulumi_snowflake/row_access_policy.py +200 -149
  111. pulumi_snowflake/{saml_integration.py → saml2_integration.py} +356 -299
  112. pulumi_snowflake/schema.py +949 -178
  113. pulumi_snowflake/scim_integration.py +286 -109
  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 -34
  121. pulumi_snowflake/service_user.py +3585 -0
  122. pulumi_snowflake/share.py +33 -28
  123. pulumi_snowflake/shared_database.py +939 -0
  124. pulumi_snowflake/stage.py +95 -84
  125. pulumi_snowflake/storage_integration.py +46 -4
  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 -97
  132. pulumi_snowflake/table_column_masking_policy_application.py +7 -14
  133. pulumi_snowflake/table_constraint.py +29 -172
  134. pulumi_snowflake/tag.py +142 -74
  135. pulumi_snowflake/tag_association.py +40 -215
  136. pulumi_snowflake/task.py +3048 -418
  137. pulumi_snowflake/user.py +3351 -384
  138. pulumi_snowflake/user_authentication_policy_attachment.py +197 -0
  139. pulumi_snowflake/user_password_policy_attachment.py +5 -4
  140. pulumi_snowflake/user_public_keys.py +5 -0
  141. pulumi_snowflake/view.py +466 -215
  142. pulumi_snowflake/warehouse.py +184 -168
  143. {pulumi_snowflake-0.50.3a1710160126.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.3a1710160126.dist-info → pulumi_snowflake-1.2.0a1736835738.dist-info}/WHEEL +1 -1
  146. pulumi_snowflake/account_grant.py +0 -343
  147. pulumi_snowflake/database_grant.py +0 -495
  148. pulumi_snowflake/external_table_grant.py +0 -690
  149. pulumi_snowflake/failover_group_grant.py +0 -388
  150. pulumi_snowflake/file_format_grant.py +0 -635
  151. pulumi_snowflake/function.py +0 -872
  152. pulumi_snowflake/function_grant.py +0 -745
  153. pulumi_snowflake/get_role.py +0 -121
  154. pulumi_snowflake/get_roles.py +0 -120
  155. pulumi_snowflake/grant_privileges_to_role.py +0 -825
  156. pulumi_snowflake/integration_grant.py +0 -440
  157. pulumi_snowflake/masking_policy_grant.py +0 -542
  158. pulumi_snowflake/materialized_view_grant.py +0 -689
  159. pulumi_snowflake/pipe_grant.py +0 -587
  160. pulumi_snowflake/procedure.py +0 -887
  161. pulumi_snowflake/procedure_grant.py +0 -745
  162. pulumi_snowflake/resource_monitor_grant.py +0 -387
  163. pulumi_snowflake/role.py +0 -273
  164. pulumi_snowflake/role_grants.py +0 -352
  165. pulumi_snowflake/role_ownership_grant.py +0 -338
  166. pulumi_snowflake/row_access_policy_grant.py +0 -540
  167. pulumi_snowflake/schema_grant.py +0 -647
  168. pulumi_snowflake/sequence_grant.py +0 -635
  169. pulumi_snowflake/session_parameter.py +0 -332
  170. pulumi_snowflake/stage_grant.py +0 -635
  171. pulumi_snowflake/stream.py +0 -614
  172. pulumi_snowflake/stream_grant.py +0 -635
  173. pulumi_snowflake/table_grant.py +0 -677
  174. pulumi_snowflake/tag_grant.py +0 -532
  175. pulumi_snowflake/tag_masking_policy_association.py +0 -210
  176. pulumi_snowflake/task_grant.py +0 -635
  177. pulumi_snowflake/user_grant.py +0 -394
  178. pulumi_snowflake/user_ownership_grant.py +0 -286
  179. pulumi_snowflake/view_grant.py +0 -705
  180. pulumi_snowflake/warehouse_grant.py +0 -440
  181. pulumi_snowflake-0.50.3a1710160126.dist-info/RECORD +0 -136
  182. {pulumi_snowflake-0.50.3a1710160126.dist-info → pulumi_snowflake-1.2.0a1736835738.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,473 @@
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
+
17
+ __all__ = ['NetworkRuleArgs', 'NetworkRule']
18
+
19
+ @pulumi.input_type
20
+ class NetworkRuleArgs:
21
+ def __init__(__self__, *,
22
+ database: pulumi.Input[str],
23
+ mode: pulumi.Input[str],
24
+ schema: pulumi.Input[str],
25
+ type: pulumi.Input[str],
26
+ value_lists: pulumi.Input[Sequence[pulumi.Input[str]]],
27
+ comment: Optional[pulumi.Input[str]] = None,
28
+ name: Optional[pulumi.Input[str]] = None):
29
+ """
30
+ The set of arguments for constructing a NetworkRule resource.
31
+ :param pulumi.Input[str] database: The database in which to create the network rule.
32
+ :param pulumi.Input[str] mode: Specifies what is restricted by the network rule. Valid values are INGRESS, INTERNAL_STAGE and EGRESS; see https://docs.snowflake.com/en/sql-reference/sql/create-network-rule#required-parameters for details.
33
+ :param pulumi.Input[str] schema: The schema in which to create the network rule.
34
+ :param pulumi.Input[str] type: Specifies the type of network identifiers being allowed or blocked. A network rule can have only one type. Allowed values are IPV4, AWSVPCEID, AZURELINKID and HOST_PORT; allowed values are determined by the mode of the network rule; see https://docs.snowflake.com/en/sql-reference/sql/create-network-rule#required-parameters for details.
35
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] value_lists: Specifies the network identifiers that will be allowed or blocked. Valid values in the list are determined by the type of network rule, see https://docs.snowflake.com/en/sql-reference/sql/create-network-rule#required-parameters for details.
36
+ :param pulumi.Input[str] comment: Specifies a comment for the network rule.
37
+ :param pulumi.Input[str] name: Specifies the identifier for the network rule; must be unique for the database and schema in which the network rule is created.
38
+ """
39
+ pulumi.set(__self__, "database", database)
40
+ pulumi.set(__self__, "mode", mode)
41
+ pulumi.set(__self__, "schema", schema)
42
+ pulumi.set(__self__, "type", type)
43
+ pulumi.set(__self__, "value_lists", value_lists)
44
+ if comment is not None:
45
+ pulumi.set(__self__, "comment", comment)
46
+ if name is not None:
47
+ pulumi.set(__self__, "name", name)
48
+
49
+ @property
50
+ @pulumi.getter
51
+ def database(self) -> pulumi.Input[str]:
52
+ """
53
+ The database in which to create the network rule.
54
+ """
55
+ return pulumi.get(self, "database")
56
+
57
+ @database.setter
58
+ def database(self, value: pulumi.Input[str]):
59
+ pulumi.set(self, "database", value)
60
+
61
+ @property
62
+ @pulumi.getter
63
+ def mode(self) -> pulumi.Input[str]:
64
+ """
65
+ Specifies what is restricted by the network rule. Valid values are INGRESS, INTERNAL_STAGE and EGRESS; see https://docs.snowflake.com/en/sql-reference/sql/create-network-rule#required-parameters for details.
66
+ """
67
+ return pulumi.get(self, "mode")
68
+
69
+ @mode.setter
70
+ def mode(self, value: pulumi.Input[str]):
71
+ pulumi.set(self, "mode", value)
72
+
73
+ @property
74
+ @pulumi.getter
75
+ def schema(self) -> pulumi.Input[str]:
76
+ """
77
+ The schema in which to create the network rule.
78
+ """
79
+ return pulumi.get(self, "schema")
80
+
81
+ @schema.setter
82
+ def schema(self, value: pulumi.Input[str]):
83
+ pulumi.set(self, "schema", value)
84
+
85
+ @property
86
+ @pulumi.getter
87
+ def type(self) -> pulumi.Input[str]:
88
+ """
89
+ Specifies the type of network identifiers being allowed or blocked. A network rule can have only one type. Allowed values are IPV4, AWSVPCEID, AZURELINKID and HOST_PORT; allowed values are determined by the mode of the network rule; see https://docs.snowflake.com/en/sql-reference/sql/create-network-rule#required-parameters for details.
90
+ """
91
+ return pulumi.get(self, "type")
92
+
93
+ @type.setter
94
+ def type(self, value: pulumi.Input[str]):
95
+ pulumi.set(self, "type", value)
96
+
97
+ @property
98
+ @pulumi.getter(name="valueLists")
99
+ def value_lists(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
100
+ """
101
+ Specifies the network identifiers that will be allowed or blocked. Valid values in the list are determined by the type of network rule, see https://docs.snowflake.com/en/sql-reference/sql/create-network-rule#required-parameters for details.
102
+ """
103
+ return pulumi.get(self, "value_lists")
104
+
105
+ @value_lists.setter
106
+ def value_lists(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]):
107
+ pulumi.set(self, "value_lists", value)
108
+
109
+ @property
110
+ @pulumi.getter
111
+ def comment(self) -> Optional[pulumi.Input[str]]:
112
+ """
113
+ Specifies a comment for the network rule.
114
+ """
115
+ return pulumi.get(self, "comment")
116
+
117
+ @comment.setter
118
+ def comment(self, value: Optional[pulumi.Input[str]]):
119
+ pulumi.set(self, "comment", value)
120
+
121
+ @property
122
+ @pulumi.getter
123
+ def name(self) -> Optional[pulumi.Input[str]]:
124
+ """
125
+ Specifies the identifier for the network rule; must be unique for the database and schema in which the network rule is created.
126
+ """
127
+ return pulumi.get(self, "name")
128
+
129
+ @name.setter
130
+ def name(self, value: Optional[pulumi.Input[str]]):
131
+ pulumi.set(self, "name", value)
132
+
133
+
134
+ @pulumi.input_type
135
+ class _NetworkRuleState:
136
+ def __init__(__self__, *,
137
+ comment: Optional[pulumi.Input[str]] = None,
138
+ database: Optional[pulumi.Input[str]] = None,
139
+ fully_qualified_name: Optional[pulumi.Input[str]] = None,
140
+ mode: Optional[pulumi.Input[str]] = None,
141
+ name: Optional[pulumi.Input[str]] = None,
142
+ schema: Optional[pulumi.Input[str]] = None,
143
+ type: Optional[pulumi.Input[str]] = None,
144
+ value_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
145
+ """
146
+ Input properties used for looking up and filtering NetworkRule resources.
147
+ :param pulumi.Input[str] comment: Specifies a comment for the network rule.
148
+ :param pulumi.Input[str] database: The database in which to create the network rule.
149
+ :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).
150
+ :param pulumi.Input[str] mode: Specifies what is restricted by the network rule. Valid values are INGRESS, INTERNAL_STAGE and EGRESS; see https://docs.snowflake.com/en/sql-reference/sql/create-network-rule#required-parameters for details.
151
+ :param pulumi.Input[str] name: Specifies the identifier for the network rule; must be unique for the database and schema in which the network rule is created.
152
+ :param pulumi.Input[str] schema: The schema in which to create the network rule.
153
+ :param pulumi.Input[str] type: Specifies the type of network identifiers being allowed or blocked. A network rule can have only one type. Allowed values are IPV4, AWSVPCEID, AZURELINKID and HOST_PORT; allowed values are determined by the mode of the network rule; see https://docs.snowflake.com/en/sql-reference/sql/create-network-rule#required-parameters for details.
154
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] value_lists: Specifies the network identifiers that will be allowed or blocked. Valid values in the list are determined by the type of network rule, see https://docs.snowflake.com/en/sql-reference/sql/create-network-rule#required-parameters for details.
155
+ """
156
+ if comment is not None:
157
+ pulumi.set(__self__, "comment", comment)
158
+ if database is not None:
159
+ pulumi.set(__self__, "database", database)
160
+ if fully_qualified_name is not None:
161
+ pulumi.set(__self__, "fully_qualified_name", fully_qualified_name)
162
+ if mode is not None:
163
+ pulumi.set(__self__, "mode", mode)
164
+ if name is not None:
165
+ pulumi.set(__self__, "name", name)
166
+ if schema is not None:
167
+ pulumi.set(__self__, "schema", schema)
168
+ if type is not None:
169
+ pulumi.set(__self__, "type", type)
170
+ if value_lists is not None:
171
+ pulumi.set(__self__, "value_lists", value_lists)
172
+
173
+ @property
174
+ @pulumi.getter
175
+ def comment(self) -> Optional[pulumi.Input[str]]:
176
+ """
177
+ Specifies a comment for the network rule.
178
+ """
179
+ return pulumi.get(self, "comment")
180
+
181
+ @comment.setter
182
+ def comment(self, value: Optional[pulumi.Input[str]]):
183
+ pulumi.set(self, "comment", value)
184
+
185
+ @property
186
+ @pulumi.getter
187
+ def database(self) -> Optional[pulumi.Input[str]]:
188
+ """
189
+ The database in which to create the network rule.
190
+ """
191
+ return pulumi.get(self, "database")
192
+
193
+ @database.setter
194
+ def database(self, value: Optional[pulumi.Input[str]]):
195
+ pulumi.set(self, "database", value)
196
+
197
+ @property
198
+ @pulumi.getter(name="fullyQualifiedName")
199
+ def fully_qualified_name(self) -> Optional[pulumi.Input[str]]:
200
+ """
201
+ Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
202
+ """
203
+ return pulumi.get(self, "fully_qualified_name")
204
+
205
+ @fully_qualified_name.setter
206
+ def fully_qualified_name(self, value: Optional[pulumi.Input[str]]):
207
+ pulumi.set(self, "fully_qualified_name", value)
208
+
209
+ @property
210
+ @pulumi.getter
211
+ def mode(self) -> Optional[pulumi.Input[str]]:
212
+ """
213
+ Specifies what is restricted by the network rule. Valid values are INGRESS, INTERNAL_STAGE and EGRESS; see https://docs.snowflake.com/en/sql-reference/sql/create-network-rule#required-parameters for details.
214
+ """
215
+ return pulumi.get(self, "mode")
216
+
217
+ @mode.setter
218
+ def mode(self, value: Optional[pulumi.Input[str]]):
219
+ pulumi.set(self, "mode", value)
220
+
221
+ @property
222
+ @pulumi.getter
223
+ def name(self) -> Optional[pulumi.Input[str]]:
224
+ """
225
+ Specifies the identifier for the network rule; must be unique for the database and schema in which the network rule is created.
226
+ """
227
+ return pulumi.get(self, "name")
228
+
229
+ @name.setter
230
+ def name(self, value: Optional[pulumi.Input[str]]):
231
+ pulumi.set(self, "name", value)
232
+
233
+ @property
234
+ @pulumi.getter
235
+ def schema(self) -> Optional[pulumi.Input[str]]:
236
+ """
237
+ The schema in which to create the network rule.
238
+ """
239
+ return pulumi.get(self, "schema")
240
+
241
+ @schema.setter
242
+ def schema(self, value: Optional[pulumi.Input[str]]):
243
+ pulumi.set(self, "schema", value)
244
+
245
+ @property
246
+ @pulumi.getter
247
+ def type(self) -> Optional[pulumi.Input[str]]:
248
+ """
249
+ Specifies the type of network identifiers being allowed or blocked. A network rule can have only one type. Allowed values are IPV4, AWSVPCEID, AZURELINKID and HOST_PORT; allowed values are determined by the mode of the network rule; see https://docs.snowflake.com/en/sql-reference/sql/create-network-rule#required-parameters for details.
250
+ """
251
+ return pulumi.get(self, "type")
252
+
253
+ @type.setter
254
+ def type(self, value: Optional[pulumi.Input[str]]):
255
+ pulumi.set(self, "type", value)
256
+
257
+ @property
258
+ @pulumi.getter(name="valueLists")
259
+ def value_lists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
260
+ """
261
+ Specifies the network identifiers that will be allowed or blocked. Valid values in the list are determined by the type of network rule, see https://docs.snowflake.com/en/sql-reference/sql/create-network-rule#required-parameters for details.
262
+ """
263
+ return pulumi.get(self, "value_lists")
264
+
265
+ @value_lists.setter
266
+ def value_lists(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
267
+ pulumi.set(self, "value_lists", value)
268
+
269
+
270
+ class NetworkRule(pulumi.CustomResource):
271
+ @overload
272
+ def __init__(__self__,
273
+ resource_name: str,
274
+ opts: Optional[pulumi.ResourceOptions] = None,
275
+ comment: Optional[pulumi.Input[str]] = None,
276
+ database: Optional[pulumi.Input[str]] = None,
277
+ mode: Optional[pulumi.Input[str]] = None,
278
+ name: Optional[pulumi.Input[str]] = None,
279
+ schema: Optional[pulumi.Input[str]] = None,
280
+ type: Optional[pulumi.Input[str]] = None,
281
+ value_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
282
+ __props__=None):
283
+ """
284
+ ## Import
285
+
286
+ ```sh
287
+ $ pulumi import snowflake:index/networkRule:NetworkRule example 'databaseName|schemaName|networkRuleName'
288
+ ```
289
+
290
+ :param str resource_name: The name of the resource.
291
+ :param pulumi.ResourceOptions opts: Options for the resource.
292
+ :param pulumi.Input[str] comment: Specifies a comment for the network rule.
293
+ :param pulumi.Input[str] database: The database in which to create the network rule.
294
+ :param pulumi.Input[str] mode: Specifies what is restricted by the network rule. Valid values are INGRESS, INTERNAL_STAGE and EGRESS; see https://docs.snowflake.com/en/sql-reference/sql/create-network-rule#required-parameters for details.
295
+ :param pulumi.Input[str] name: Specifies the identifier for the network rule; must be unique for the database and schema in which the network rule is created.
296
+ :param pulumi.Input[str] schema: The schema in which to create the network rule.
297
+ :param pulumi.Input[str] type: Specifies the type of network identifiers being allowed or blocked. A network rule can have only one type. Allowed values are IPV4, AWSVPCEID, AZURELINKID and HOST_PORT; allowed values are determined by the mode of the network rule; see https://docs.snowflake.com/en/sql-reference/sql/create-network-rule#required-parameters for details.
298
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] value_lists: Specifies the network identifiers that will be allowed or blocked. Valid values in the list are determined by the type of network rule, see https://docs.snowflake.com/en/sql-reference/sql/create-network-rule#required-parameters for details.
299
+ """
300
+ ...
301
+ @overload
302
+ def __init__(__self__,
303
+ resource_name: str,
304
+ args: NetworkRuleArgs,
305
+ opts: Optional[pulumi.ResourceOptions] = None):
306
+ """
307
+ ## Import
308
+
309
+ ```sh
310
+ $ pulumi import snowflake:index/networkRule:NetworkRule example 'databaseName|schemaName|networkRuleName'
311
+ ```
312
+
313
+ :param str resource_name: The name of the resource.
314
+ :param NetworkRuleArgs args: The arguments to use to populate this resource's properties.
315
+ :param pulumi.ResourceOptions opts: Options for the resource.
316
+ """
317
+ ...
318
+ def __init__(__self__, resource_name: str, *args, **kwargs):
319
+ resource_args, opts = _utilities.get_resource_args_opts(NetworkRuleArgs, pulumi.ResourceOptions, *args, **kwargs)
320
+ if resource_args is not None:
321
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
322
+ else:
323
+ __self__._internal_init(resource_name, *args, **kwargs)
324
+
325
+ def _internal_init(__self__,
326
+ resource_name: str,
327
+ opts: Optional[pulumi.ResourceOptions] = None,
328
+ comment: Optional[pulumi.Input[str]] = None,
329
+ database: Optional[pulumi.Input[str]] = None,
330
+ mode: Optional[pulumi.Input[str]] = None,
331
+ name: Optional[pulumi.Input[str]] = None,
332
+ schema: Optional[pulumi.Input[str]] = None,
333
+ type: Optional[pulumi.Input[str]] = None,
334
+ value_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
335
+ __props__=None):
336
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
337
+ if not isinstance(opts, pulumi.ResourceOptions):
338
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
339
+ if opts.id is None:
340
+ if __props__ is not None:
341
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
342
+ __props__ = NetworkRuleArgs.__new__(NetworkRuleArgs)
343
+
344
+ __props__.__dict__["comment"] = comment
345
+ if database is None and not opts.urn:
346
+ raise TypeError("Missing required property 'database'")
347
+ __props__.__dict__["database"] = database
348
+ if mode is None and not opts.urn:
349
+ raise TypeError("Missing required property 'mode'")
350
+ __props__.__dict__["mode"] = mode
351
+ __props__.__dict__["name"] = name
352
+ if schema is None and not opts.urn:
353
+ raise TypeError("Missing required property 'schema'")
354
+ __props__.__dict__["schema"] = schema
355
+ if type is None and not opts.urn:
356
+ raise TypeError("Missing required property 'type'")
357
+ __props__.__dict__["type"] = type
358
+ if value_lists is None and not opts.urn:
359
+ raise TypeError("Missing required property 'value_lists'")
360
+ __props__.__dict__["value_lists"] = value_lists
361
+ __props__.__dict__["fully_qualified_name"] = None
362
+ super(NetworkRule, __self__).__init__(
363
+ 'snowflake:index/networkRule:NetworkRule',
364
+ resource_name,
365
+ __props__,
366
+ opts)
367
+
368
+ @staticmethod
369
+ def get(resource_name: str,
370
+ id: pulumi.Input[str],
371
+ opts: Optional[pulumi.ResourceOptions] = None,
372
+ comment: Optional[pulumi.Input[str]] = None,
373
+ database: Optional[pulumi.Input[str]] = None,
374
+ fully_qualified_name: Optional[pulumi.Input[str]] = None,
375
+ mode: Optional[pulumi.Input[str]] = None,
376
+ name: Optional[pulumi.Input[str]] = None,
377
+ schema: Optional[pulumi.Input[str]] = None,
378
+ type: Optional[pulumi.Input[str]] = None,
379
+ value_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None) -> 'NetworkRule':
380
+ """
381
+ Get an existing NetworkRule resource's state with the given name, id, and optional extra
382
+ properties used to qualify the lookup.
383
+
384
+ :param str resource_name: The unique name of the resulting resource.
385
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
386
+ :param pulumi.ResourceOptions opts: Options for the resource.
387
+ :param pulumi.Input[str] comment: Specifies a comment for the network rule.
388
+ :param pulumi.Input[str] database: The database in which to create the network rule.
389
+ :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).
390
+ :param pulumi.Input[str] mode: Specifies what is restricted by the network rule. Valid values are INGRESS, INTERNAL_STAGE and EGRESS; see https://docs.snowflake.com/en/sql-reference/sql/create-network-rule#required-parameters for details.
391
+ :param pulumi.Input[str] name: Specifies the identifier for the network rule; must be unique for the database and schema in which the network rule is created.
392
+ :param pulumi.Input[str] schema: The schema in which to create the network rule.
393
+ :param pulumi.Input[str] type: Specifies the type of network identifiers being allowed or blocked. A network rule can have only one type. Allowed values are IPV4, AWSVPCEID, AZURELINKID and HOST_PORT; allowed values are determined by the mode of the network rule; see https://docs.snowflake.com/en/sql-reference/sql/create-network-rule#required-parameters for details.
394
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] value_lists: Specifies the network identifiers that will be allowed or blocked. Valid values in the list are determined by the type of network rule, see https://docs.snowflake.com/en/sql-reference/sql/create-network-rule#required-parameters for details.
395
+ """
396
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
397
+
398
+ __props__ = _NetworkRuleState.__new__(_NetworkRuleState)
399
+
400
+ __props__.__dict__["comment"] = comment
401
+ __props__.__dict__["database"] = database
402
+ __props__.__dict__["fully_qualified_name"] = fully_qualified_name
403
+ __props__.__dict__["mode"] = mode
404
+ __props__.__dict__["name"] = name
405
+ __props__.__dict__["schema"] = schema
406
+ __props__.__dict__["type"] = type
407
+ __props__.__dict__["value_lists"] = value_lists
408
+ return NetworkRule(resource_name, opts=opts, __props__=__props__)
409
+
410
+ @property
411
+ @pulumi.getter
412
+ def comment(self) -> pulumi.Output[Optional[str]]:
413
+ """
414
+ Specifies a comment for the network rule.
415
+ """
416
+ return pulumi.get(self, "comment")
417
+
418
+ @property
419
+ @pulumi.getter
420
+ def database(self) -> pulumi.Output[str]:
421
+ """
422
+ The database in which to create the network rule.
423
+ """
424
+ return pulumi.get(self, "database")
425
+
426
+ @property
427
+ @pulumi.getter(name="fullyQualifiedName")
428
+ def fully_qualified_name(self) -> pulumi.Output[str]:
429
+ """
430
+ Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
431
+ """
432
+ return pulumi.get(self, "fully_qualified_name")
433
+
434
+ @property
435
+ @pulumi.getter
436
+ def mode(self) -> pulumi.Output[str]:
437
+ """
438
+ Specifies what is restricted by the network rule. Valid values are INGRESS, INTERNAL_STAGE and EGRESS; see https://docs.snowflake.com/en/sql-reference/sql/create-network-rule#required-parameters for details.
439
+ """
440
+ return pulumi.get(self, "mode")
441
+
442
+ @property
443
+ @pulumi.getter
444
+ def name(self) -> pulumi.Output[str]:
445
+ """
446
+ Specifies the identifier for the network rule; must be unique for the database and schema in which the network rule is created.
447
+ """
448
+ return pulumi.get(self, "name")
449
+
450
+ @property
451
+ @pulumi.getter
452
+ def schema(self) -> pulumi.Output[str]:
453
+ """
454
+ The schema in which to create the network rule.
455
+ """
456
+ return pulumi.get(self, "schema")
457
+
458
+ @property
459
+ @pulumi.getter
460
+ def type(self) -> pulumi.Output[str]:
461
+ """
462
+ Specifies the type of network identifiers being allowed or blocked. A network rule can have only one type. Allowed values are IPV4, AWSVPCEID, AZURELINKID and HOST_PORT; allowed values are determined by the mode of the network rule; see https://docs.snowflake.com/en/sql-reference/sql/create-network-rule#required-parameters for details.
463
+ """
464
+ return pulumi.get(self, "type")
465
+
466
+ @property
467
+ @pulumi.getter(name="valueLists")
468
+ def value_lists(self) -> pulumi.Output[Sequence[str]]:
469
+ """
470
+ Specifies the network identifiers that will be allowed or blocked. Valid values in the list are determined by the type of network rule, see https://docs.snowflake.com/en/sql-reference/sql/create-network-rule#required-parameters for details.
471
+ """
472
+ return pulumi.get(self, "value_lists")
473
+