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
@@ -0,0 +1,382 @@
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__ = ['GrantOwnershipArgs', 'GrantOwnership']
20
+
21
+ @pulumi.input_type
22
+ class GrantOwnershipArgs:
23
+ def __init__(__self__, *,
24
+ on: pulumi.Input['GrantOwnershipOnArgs'],
25
+ account_role_name: Optional[pulumi.Input[str]] = None,
26
+ database_role_name: Optional[pulumi.Input[str]] = None,
27
+ outbound_privileges: Optional[pulumi.Input[str]] = None):
28
+ """
29
+ The set of arguments for constructing a GrantOwnership resource.
30
+ :param pulumi.Input['GrantOwnershipOnArgs'] on: Configures which object(s) should transfer their ownership to the specified role.
31
+ :param pulumi.Input[str] account_role_name: The fully qualified name of the account role to which privileges will be granted. For more information about this resource, see docs.
32
+ :param pulumi.Input[str] database_role_name: The fully qualified name of the database role to which privileges will be granted. For more information about this resource, see docs.
33
+ :param pulumi.Input[str] outbound_privileges: Specifies whether to remove or transfer all existing outbound privileges on the object when ownership is transferred to a new role. Available options are: REVOKE for removing existing privileges and COPY to transfer them with ownership. For more information head over to [Snowflake documentation](https://docs.snowflake.com/en/sql-reference/sql/grant-ownership#optional-parameters).
34
+ """
35
+ pulumi.set(__self__, "on", on)
36
+ if account_role_name is not None:
37
+ pulumi.set(__self__, "account_role_name", account_role_name)
38
+ if database_role_name is not None:
39
+ pulumi.set(__self__, "database_role_name", database_role_name)
40
+ if outbound_privileges is not None:
41
+ pulumi.set(__self__, "outbound_privileges", outbound_privileges)
42
+
43
+ @property
44
+ @pulumi.getter
45
+ def on(self) -> pulumi.Input['GrantOwnershipOnArgs']:
46
+ """
47
+ Configures which object(s) should transfer their ownership to the specified role.
48
+ """
49
+ return pulumi.get(self, "on")
50
+
51
+ @on.setter
52
+ def on(self, value: pulumi.Input['GrantOwnershipOnArgs']):
53
+ pulumi.set(self, "on", value)
54
+
55
+ @property
56
+ @pulumi.getter(name="accountRoleName")
57
+ def account_role_name(self) -> Optional[pulumi.Input[str]]:
58
+ """
59
+ The fully qualified name of the account role to which privileges will be granted. For more information about this resource, see docs.
60
+ """
61
+ return pulumi.get(self, "account_role_name")
62
+
63
+ @account_role_name.setter
64
+ def account_role_name(self, value: Optional[pulumi.Input[str]]):
65
+ pulumi.set(self, "account_role_name", value)
66
+
67
+ @property
68
+ @pulumi.getter(name="databaseRoleName")
69
+ def database_role_name(self) -> Optional[pulumi.Input[str]]:
70
+ """
71
+ The fully qualified name of the database role to which privileges will be granted. For more information about this resource, see docs.
72
+ """
73
+ return pulumi.get(self, "database_role_name")
74
+
75
+ @database_role_name.setter
76
+ def database_role_name(self, value: Optional[pulumi.Input[str]]):
77
+ pulumi.set(self, "database_role_name", value)
78
+
79
+ @property
80
+ @pulumi.getter(name="outboundPrivileges")
81
+ def outbound_privileges(self) -> Optional[pulumi.Input[str]]:
82
+ """
83
+ Specifies whether to remove or transfer all existing outbound privileges on the object when ownership is transferred to a new role. Available options are: REVOKE for removing existing privileges and COPY to transfer them with ownership. For more information head over to [Snowflake documentation](https://docs.snowflake.com/en/sql-reference/sql/grant-ownership#optional-parameters).
84
+ """
85
+ return pulumi.get(self, "outbound_privileges")
86
+
87
+ @outbound_privileges.setter
88
+ def outbound_privileges(self, value: Optional[pulumi.Input[str]]):
89
+ pulumi.set(self, "outbound_privileges", value)
90
+
91
+
92
+ @pulumi.input_type
93
+ class _GrantOwnershipState:
94
+ def __init__(__self__, *,
95
+ account_role_name: Optional[pulumi.Input[str]] = None,
96
+ database_role_name: Optional[pulumi.Input[str]] = None,
97
+ on: Optional[pulumi.Input['GrantOwnershipOnArgs']] = None,
98
+ outbound_privileges: Optional[pulumi.Input[str]] = None):
99
+ """
100
+ Input properties used for looking up and filtering GrantOwnership resources.
101
+ :param pulumi.Input[str] account_role_name: The fully qualified name of the account role to which privileges will be granted. For more information about this resource, see docs.
102
+ :param pulumi.Input[str] database_role_name: The fully qualified name of the database role to which privileges will be granted. For more information about this resource, see docs.
103
+ :param pulumi.Input['GrantOwnershipOnArgs'] on: Configures which object(s) should transfer their ownership to the specified role.
104
+ :param pulumi.Input[str] outbound_privileges: Specifies whether to remove or transfer all existing outbound privileges on the object when ownership is transferred to a new role. Available options are: REVOKE for removing existing privileges and COPY to transfer them with ownership. For more information head over to [Snowflake documentation](https://docs.snowflake.com/en/sql-reference/sql/grant-ownership#optional-parameters).
105
+ """
106
+ if account_role_name is not None:
107
+ pulumi.set(__self__, "account_role_name", account_role_name)
108
+ if database_role_name is not None:
109
+ pulumi.set(__self__, "database_role_name", database_role_name)
110
+ if on is not None:
111
+ pulumi.set(__self__, "on", on)
112
+ if outbound_privileges is not None:
113
+ pulumi.set(__self__, "outbound_privileges", outbound_privileges)
114
+
115
+ @property
116
+ @pulumi.getter(name="accountRoleName")
117
+ def account_role_name(self) -> Optional[pulumi.Input[str]]:
118
+ """
119
+ The fully qualified name of the account role to which privileges will be granted. For more information about this resource, see docs.
120
+ """
121
+ return pulumi.get(self, "account_role_name")
122
+
123
+ @account_role_name.setter
124
+ def account_role_name(self, value: Optional[pulumi.Input[str]]):
125
+ pulumi.set(self, "account_role_name", value)
126
+
127
+ @property
128
+ @pulumi.getter(name="databaseRoleName")
129
+ def database_role_name(self) -> Optional[pulumi.Input[str]]:
130
+ """
131
+ The fully qualified name of the database role to which privileges will be granted. For more information about this resource, see docs.
132
+ """
133
+ return pulumi.get(self, "database_role_name")
134
+
135
+ @database_role_name.setter
136
+ def database_role_name(self, value: Optional[pulumi.Input[str]]):
137
+ pulumi.set(self, "database_role_name", value)
138
+
139
+ @property
140
+ @pulumi.getter
141
+ def on(self) -> Optional[pulumi.Input['GrantOwnershipOnArgs']]:
142
+ """
143
+ Configures which object(s) should transfer their ownership to the specified role.
144
+ """
145
+ return pulumi.get(self, "on")
146
+
147
+ @on.setter
148
+ def on(self, value: Optional[pulumi.Input['GrantOwnershipOnArgs']]):
149
+ pulumi.set(self, "on", value)
150
+
151
+ @property
152
+ @pulumi.getter(name="outboundPrivileges")
153
+ def outbound_privileges(self) -> Optional[pulumi.Input[str]]:
154
+ """
155
+ Specifies whether to remove or transfer all existing outbound privileges on the object when ownership is transferred to a new role. Available options are: REVOKE for removing existing privileges and COPY to transfer them with ownership. For more information head over to [Snowflake documentation](https://docs.snowflake.com/en/sql-reference/sql/grant-ownership#optional-parameters).
156
+ """
157
+ return pulumi.get(self, "outbound_privileges")
158
+
159
+ @outbound_privileges.setter
160
+ def outbound_privileges(self, value: Optional[pulumi.Input[str]]):
161
+ pulumi.set(self, "outbound_privileges", value)
162
+
163
+
164
+ class GrantOwnership(pulumi.CustomResource):
165
+ @overload
166
+ def __init__(__self__,
167
+ resource_name: str,
168
+ opts: Optional[pulumi.ResourceOptions] = None,
169
+ account_role_name: Optional[pulumi.Input[str]] = None,
170
+ database_role_name: Optional[pulumi.Input[str]] = None,
171
+ on: Optional[pulumi.Input[Union['GrantOwnershipOnArgs', 'GrantOwnershipOnArgsDict']]] = None,
172
+ outbound_privileges: Optional[pulumi.Input[str]] = None,
173
+ __props__=None):
174
+ """
175
+ ## Import
176
+
177
+ ### Import examples
178
+
179
+ #### OnObject on Schema ToAccountRole
180
+
181
+ ```sh
182
+ $ pulumi import snowflake:index/grantOwnership:GrantOwnership example 'ToAccountRole|"account_role"|COPY|OnObject|SCHEMA|"database_name"."schema_name"'`
183
+ ```
184
+
185
+ #### OnObject on Schema ToDatabaseRole
186
+
187
+ ```sh
188
+ $ pulumi import snowflake:index/grantOwnership:GrantOwnership example 'ToDatabaseRole|"database_name"."database_role_name"|COPY|OnObject|SCHEMA|"database_name"."schema_name"'`
189
+ ```
190
+
191
+ #### OnObject on Table
192
+
193
+ ```sh
194
+ $ pulumi import snowflake:index/grantOwnership:GrantOwnership example 'ToAccountRole|"account_role"|COPY|OnObject|TABLE|"database_name"."schema_name"."table_name"'`
195
+ ```
196
+
197
+ #### OnAll InDatabase
198
+
199
+ ```sh
200
+ $ pulumi import snowflake:index/grantOwnership:GrantOwnership example 'ToAccountRole|"account_role"|REVOKE|OnAll|TABLES|InDatabase|"database_name"'`
201
+ ```
202
+
203
+ #### OnAll InSchema
204
+
205
+ ```sh
206
+ $ pulumi import snowflake:index/grantOwnership:GrantOwnership example 'ToAccountRole|"account_role"||OnAll|TABLES|InSchema|"database_name"."schema_name"'`
207
+ ```
208
+
209
+ #### OnFuture InDatabase
210
+
211
+ ```sh
212
+ $ pulumi import snowflake:index/grantOwnership:GrantOwnership example 'ToAccountRole|"account_role"||OnFuture|TABLES|InDatabase|"database_name"'`
213
+ ```
214
+
215
+ #### OnFuture InSchema
216
+
217
+ ```sh
218
+ $ pulumi import snowflake:index/grantOwnership:GrantOwnership example 'ToAccountRole|"account_role"|COPY|OnFuture|TABLES|InSchema|"database_name"."schema_name"'`
219
+ ```
220
+
221
+ :param str resource_name: The name of the resource.
222
+ :param pulumi.ResourceOptions opts: Options for the resource.
223
+ :param pulumi.Input[str] account_role_name: The fully qualified name of the account role to which privileges will be granted. For more information about this resource, see docs.
224
+ :param pulumi.Input[str] database_role_name: The fully qualified name of the database role to which privileges will be granted. For more information about this resource, see docs.
225
+ :param pulumi.Input[Union['GrantOwnershipOnArgs', 'GrantOwnershipOnArgsDict']] on: Configures which object(s) should transfer their ownership to the specified role.
226
+ :param pulumi.Input[str] outbound_privileges: Specifies whether to remove or transfer all existing outbound privileges on the object when ownership is transferred to a new role. Available options are: REVOKE for removing existing privileges and COPY to transfer them with ownership. For more information head over to [Snowflake documentation](https://docs.snowflake.com/en/sql-reference/sql/grant-ownership#optional-parameters).
227
+ """
228
+ ...
229
+ @overload
230
+ def __init__(__self__,
231
+ resource_name: str,
232
+ args: GrantOwnershipArgs,
233
+ opts: Optional[pulumi.ResourceOptions] = None):
234
+ """
235
+ ## Import
236
+
237
+ ### Import examples
238
+
239
+ #### OnObject on Schema ToAccountRole
240
+
241
+ ```sh
242
+ $ pulumi import snowflake:index/grantOwnership:GrantOwnership example 'ToAccountRole|"account_role"|COPY|OnObject|SCHEMA|"database_name"."schema_name"'`
243
+ ```
244
+
245
+ #### OnObject on Schema ToDatabaseRole
246
+
247
+ ```sh
248
+ $ pulumi import snowflake:index/grantOwnership:GrantOwnership example 'ToDatabaseRole|"database_name"."database_role_name"|COPY|OnObject|SCHEMA|"database_name"."schema_name"'`
249
+ ```
250
+
251
+ #### OnObject on Table
252
+
253
+ ```sh
254
+ $ pulumi import snowflake:index/grantOwnership:GrantOwnership example 'ToAccountRole|"account_role"|COPY|OnObject|TABLE|"database_name"."schema_name"."table_name"'`
255
+ ```
256
+
257
+ #### OnAll InDatabase
258
+
259
+ ```sh
260
+ $ pulumi import snowflake:index/grantOwnership:GrantOwnership example 'ToAccountRole|"account_role"|REVOKE|OnAll|TABLES|InDatabase|"database_name"'`
261
+ ```
262
+
263
+ #### OnAll InSchema
264
+
265
+ ```sh
266
+ $ pulumi import snowflake:index/grantOwnership:GrantOwnership example 'ToAccountRole|"account_role"||OnAll|TABLES|InSchema|"database_name"."schema_name"'`
267
+ ```
268
+
269
+ #### OnFuture InDatabase
270
+
271
+ ```sh
272
+ $ pulumi import snowflake:index/grantOwnership:GrantOwnership example 'ToAccountRole|"account_role"||OnFuture|TABLES|InDatabase|"database_name"'`
273
+ ```
274
+
275
+ #### OnFuture InSchema
276
+
277
+ ```sh
278
+ $ pulumi import snowflake:index/grantOwnership:GrantOwnership example 'ToAccountRole|"account_role"|COPY|OnFuture|TABLES|InSchema|"database_name"."schema_name"'`
279
+ ```
280
+
281
+ :param str resource_name: The name of the resource.
282
+ :param GrantOwnershipArgs args: The arguments to use to populate this resource's properties.
283
+ :param pulumi.ResourceOptions opts: Options for the resource.
284
+ """
285
+ ...
286
+ def __init__(__self__, resource_name: str, *args, **kwargs):
287
+ resource_args, opts = _utilities.get_resource_args_opts(GrantOwnershipArgs, pulumi.ResourceOptions, *args, **kwargs)
288
+ if resource_args is not None:
289
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
290
+ else:
291
+ __self__._internal_init(resource_name, *args, **kwargs)
292
+
293
+ def _internal_init(__self__,
294
+ resource_name: str,
295
+ opts: Optional[pulumi.ResourceOptions] = None,
296
+ account_role_name: Optional[pulumi.Input[str]] = None,
297
+ database_role_name: Optional[pulumi.Input[str]] = None,
298
+ on: Optional[pulumi.Input[Union['GrantOwnershipOnArgs', 'GrantOwnershipOnArgsDict']]] = None,
299
+ outbound_privileges: Optional[pulumi.Input[str]] = None,
300
+ __props__=None):
301
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
302
+ if not isinstance(opts, pulumi.ResourceOptions):
303
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
304
+ if opts.id is None:
305
+ if __props__ is not None:
306
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
307
+ __props__ = GrantOwnershipArgs.__new__(GrantOwnershipArgs)
308
+
309
+ __props__.__dict__["account_role_name"] = account_role_name
310
+ __props__.__dict__["database_role_name"] = database_role_name
311
+ if on is None and not opts.urn:
312
+ raise TypeError("Missing required property 'on'")
313
+ __props__.__dict__["on"] = on
314
+ __props__.__dict__["outbound_privileges"] = outbound_privileges
315
+ super(GrantOwnership, __self__).__init__(
316
+ 'snowflake:index/grantOwnership:GrantOwnership',
317
+ resource_name,
318
+ __props__,
319
+ opts)
320
+
321
+ @staticmethod
322
+ def get(resource_name: str,
323
+ id: pulumi.Input[str],
324
+ opts: Optional[pulumi.ResourceOptions] = None,
325
+ account_role_name: Optional[pulumi.Input[str]] = None,
326
+ database_role_name: Optional[pulumi.Input[str]] = None,
327
+ on: Optional[pulumi.Input[Union['GrantOwnershipOnArgs', 'GrantOwnershipOnArgsDict']]] = None,
328
+ outbound_privileges: Optional[pulumi.Input[str]] = None) -> 'GrantOwnership':
329
+ """
330
+ Get an existing GrantOwnership resource's state with the given name, id, and optional extra
331
+ properties used to qualify the lookup.
332
+
333
+ :param str resource_name: The unique name of the resulting resource.
334
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
335
+ :param pulumi.ResourceOptions opts: Options for the resource.
336
+ :param pulumi.Input[str] account_role_name: The fully qualified name of the account role to which privileges will be granted. For more information about this resource, see docs.
337
+ :param pulumi.Input[str] database_role_name: The fully qualified name of the database role to which privileges will be granted. For more information about this resource, see docs.
338
+ :param pulumi.Input[Union['GrantOwnershipOnArgs', 'GrantOwnershipOnArgsDict']] on: Configures which object(s) should transfer their ownership to the specified role.
339
+ :param pulumi.Input[str] outbound_privileges: Specifies whether to remove or transfer all existing outbound privileges on the object when ownership is transferred to a new role. Available options are: REVOKE for removing existing privileges and COPY to transfer them with ownership. For more information head over to [Snowflake documentation](https://docs.snowflake.com/en/sql-reference/sql/grant-ownership#optional-parameters).
340
+ """
341
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
342
+
343
+ __props__ = _GrantOwnershipState.__new__(_GrantOwnershipState)
344
+
345
+ __props__.__dict__["account_role_name"] = account_role_name
346
+ __props__.__dict__["database_role_name"] = database_role_name
347
+ __props__.__dict__["on"] = on
348
+ __props__.__dict__["outbound_privileges"] = outbound_privileges
349
+ return GrantOwnership(resource_name, opts=opts, __props__=__props__)
350
+
351
+ @property
352
+ @pulumi.getter(name="accountRoleName")
353
+ def account_role_name(self) -> pulumi.Output[Optional[str]]:
354
+ """
355
+ The fully qualified name of the account role to which privileges will be granted. For more information about this resource, see docs.
356
+ """
357
+ return pulumi.get(self, "account_role_name")
358
+
359
+ @property
360
+ @pulumi.getter(name="databaseRoleName")
361
+ def database_role_name(self) -> pulumi.Output[Optional[str]]:
362
+ """
363
+ The fully qualified name of the database role to which privileges will be granted. For more information about this resource, see docs.
364
+ """
365
+ return pulumi.get(self, "database_role_name")
366
+
367
+ @property
368
+ @pulumi.getter
369
+ def on(self) -> pulumi.Output['outputs.GrantOwnershipOn']:
370
+ """
371
+ Configures which object(s) should transfer their ownership to the specified role.
372
+ """
373
+ return pulumi.get(self, "on")
374
+
375
+ @property
376
+ @pulumi.getter(name="outboundPrivileges")
377
+ def outbound_privileges(self) -> pulumi.Output[Optional[str]]:
378
+ """
379
+ Specifies whether to remove or transfer all existing outbound privileges on the object when ownership is transferred to a new role. Available options are: REVOKE for removing existing privileges and COPY to transfer them with ownership. For more information head over to [Snowflake documentation](https://docs.snowflake.com/en/sql-reference/sql/grant-ownership#optional-parameters).
380
+ """
381
+ return pulumi.get(self, "outbound_privileges")
382
+