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
@@ -4,38 +4,42 @@
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
16
+ from . import outputs
17
+ from ._inputs import *
11
18
 
12
- __all__ = ['OauthIntegrationArgs', 'OauthIntegration']
19
+ __all__ = ['OauthIntegrationForPartnerApplicationsArgs', 'OauthIntegrationForPartnerApplications']
13
20
 
14
21
  @pulumi.input_type
15
- class OauthIntegrationArgs:
22
+ class OauthIntegrationForPartnerApplicationsArgs:
16
23
  def __init__(__self__, *,
17
24
  oauth_client: pulumi.Input[str],
18
25
  blocked_roles_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
19
26
  comment: Optional[pulumi.Input[str]] = None,
20
- enabled: Optional[pulumi.Input[bool]] = None,
27
+ enabled: Optional[pulumi.Input[str]] = None,
21
28
  name: Optional[pulumi.Input[str]] = None,
22
- oauth_client_type: Optional[pulumi.Input[str]] = None,
23
- oauth_issue_refresh_tokens: Optional[pulumi.Input[bool]] = None,
29
+ oauth_issue_refresh_tokens: Optional[pulumi.Input[str]] = None,
24
30
  oauth_redirect_uri: Optional[pulumi.Input[str]] = None,
25
31
  oauth_refresh_token_validity: Optional[pulumi.Input[int]] = None,
26
32
  oauth_use_secondary_roles: Optional[pulumi.Input[str]] = None):
27
33
  """
28
- The set of arguments for constructing a OauthIntegration resource.
29
- :param pulumi.Input[str] oauth_client: Specifies the OAuth client type.
30
- :param pulumi.Input[Sequence[pulumi.Input[str]]] blocked_roles_lists: List of roles that a user cannot explicitly consent to using after authenticating. Do not include ACCOUNTADMIN, ORGADMIN or SECURITYADMIN as they are already implicitly enforced and will cause in-place updates.
34
+ The set of arguments for constructing a OauthIntegrationForPartnerApplications resource.
35
+ :param pulumi.Input[str] oauth_client: Creates an OAuth interface between Snowflake and a partner application. Valid options are: `LOOKER` | `TABLEAU_DESKTOP` | `TABLEAU_SERVER`.
36
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] blocked_roles_lists: A set of Snowflake roles that a user cannot explicitly consent to using after authenticating. By default, this list includes the ACCOUNTADMIN, ORGADMIN and SECURITYADMIN roles. To remove these privileged roles from the list, use the ALTER ACCOUNT command to set the OAUTH*ADD*PRIVILEGED*ROLES*TO*BLOCKED*LIST account parameter to FALSE. For more information about this resource, see docs.
31
37
  :param pulumi.Input[str] comment: Specifies a comment for the OAuth integration.
32
- :param pulumi.Input[bool] enabled: Specifies whether this OAuth integration is enabled or disabled.
33
- :param pulumi.Input[str] name: Specifies the name of the OAuth integration. This name follows the rules for Object Identifiers. The name should be unique among security integrations in your account.
34
- :param pulumi.Input[str] oauth_client_type: Specifies the type of client being registered. Snowflake supports both confidential and public clients.
35
- :param pulumi.Input[bool] oauth_issue_refresh_tokens: Specifies whether to allow the client to exchange a refresh token for an access token when the current access token has expired.
36
- :param pulumi.Input[str] oauth_redirect_uri: Specifies the client URI. After a user is authenticated, the web browser is redirected to this URI.
38
+ :param pulumi.Input[str] enabled: Specifies whether this OAuth integration is enabled or disabled. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
39
+ :param pulumi.Input[str] name: Specifies the name of the OAuth integration. This name follows the rules for Object Identifiers. The name should be unique among security integrations in your account. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
40
+ :param pulumi.Input[str] oauth_issue_refresh_tokens: Specifies whether to allow the client to exchange a refresh token for an access token when the current access token has expired. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
37
41
  :param pulumi.Input[int] oauth_refresh_token_validity: Specifies how long refresh tokens should be valid (in seconds). OAUTH*ISSUE*REFRESH_TOKENS must be set to TRUE.
38
- :param pulumi.Input[str] oauth_use_secondary_roles: Specifies whether default secondary roles set in the user properties are activated by default in the session being opened.
42
+ :param pulumi.Input[str] oauth_use_secondary_roles: Specifies whether default secondary roles set in the user properties are activated by default in the session being opened. Valid options are: `IMPLICIT` | `NONE`.
39
43
  """
40
44
  pulumi.set(__self__, "oauth_client", oauth_client)
41
45
  if blocked_roles_lists is not None:
@@ -46,8 +50,6 @@ class OauthIntegrationArgs:
46
50
  pulumi.set(__self__, "enabled", enabled)
47
51
  if name is not None:
48
52
  pulumi.set(__self__, "name", name)
49
- if oauth_client_type is not None:
50
- pulumi.set(__self__, "oauth_client_type", oauth_client_type)
51
53
  if oauth_issue_refresh_tokens is not None:
52
54
  pulumi.set(__self__, "oauth_issue_refresh_tokens", oauth_issue_refresh_tokens)
53
55
  if oauth_redirect_uri is not None:
@@ -61,7 +63,7 @@ class OauthIntegrationArgs:
61
63
  @pulumi.getter(name="oauthClient")
62
64
  def oauth_client(self) -> pulumi.Input[str]:
63
65
  """
64
- Specifies the OAuth client type.
66
+ Creates an OAuth interface between Snowflake and a partner application. Valid options are: `LOOKER` | `TABLEAU_DESKTOP` | `TABLEAU_SERVER`.
65
67
  """
66
68
  return pulumi.get(self, "oauth_client")
67
69
 
@@ -73,7 +75,7 @@ class OauthIntegrationArgs:
73
75
  @pulumi.getter(name="blockedRolesLists")
74
76
  def blocked_roles_lists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
75
77
  """
76
- List of roles that a user cannot explicitly consent to using after authenticating. Do not include ACCOUNTADMIN, ORGADMIN or SECURITYADMIN as they are already implicitly enforced and will cause in-place updates.
78
+ A set of Snowflake roles that a user cannot explicitly consent to using after authenticating. By default, this list includes the ACCOUNTADMIN, ORGADMIN and SECURITYADMIN roles. To remove these privileged roles from the list, use the ALTER ACCOUNT command to set the OAUTH*ADD*PRIVILEGED*ROLES*TO*BLOCKED*LIST account parameter to FALSE. For more information about this resource, see docs.
77
79
  """
78
80
  return pulumi.get(self, "blocked_roles_lists")
79
81
 
@@ -95,21 +97,21 @@ class OauthIntegrationArgs:
95
97
 
96
98
  @property
97
99
  @pulumi.getter
98
- def enabled(self) -> Optional[pulumi.Input[bool]]:
100
+ def enabled(self) -> Optional[pulumi.Input[str]]:
99
101
  """
100
- Specifies whether this OAuth integration is enabled or disabled.
102
+ Specifies whether this OAuth integration is enabled or disabled. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
101
103
  """
102
104
  return pulumi.get(self, "enabled")
103
105
 
104
106
  @enabled.setter
105
- def enabled(self, value: Optional[pulumi.Input[bool]]):
107
+ def enabled(self, value: Optional[pulumi.Input[str]]):
106
108
  pulumi.set(self, "enabled", value)
107
109
 
108
110
  @property
109
111
  @pulumi.getter
110
112
  def name(self) -> Optional[pulumi.Input[str]]:
111
113
  """
112
- Specifies the name of the OAuth integration. This name follows the rules for Object Identifiers. The name should be unique among security integrations in your account.
114
+ Specifies the name of the OAuth integration. This name follows the rules for Object Identifiers. The name should be unique among security integrations in your account. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
113
115
  """
114
116
  return pulumi.get(self, "name")
115
117
 
@@ -117,36 +119,21 @@ class OauthIntegrationArgs:
117
119
  def name(self, value: Optional[pulumi.Input[str]]):
118
120
  pulumi.set(self, "name", value)
119
121
 
120
- @property
121
- @pulumi.getter(name="oauthClientType")
122
- def oauth_client_type(self) -> Optional[pulumi.Input[str]]:
123
- """
124
- Specifies the type of client being registered. Snowflake supports both confidential and public clients.
125
- """
126
- return pulumi.get(self, "oauth_client_type")
127
-
128
- @oauth_client_type.setter
129
- def oauth_client_type(self, value: Optional[pulumi.Input[str]]):
130
- pulumi.set(self, "oauth_client_type", value)
131
-
132
122
  @property
133
123
  @pulumi.getter(name="oauthIssueRefreshTokens")
134
- def oauth_issue_refresh_tokens(self) -> Optional[pulumi.Input[bool]]:
124
+ def oauth_issue_refresh_tokens(self) -> Optional[pulumi.Input[str]]:
135
125
  """
136
- Specifies whether to allow the client to exchange a refresh token for an access token when the current access token has expired.
126
+ Specifies whether to allow the client to exchange a refresh token for an access token when the current access token has expired. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
137
127
  """
138
128
  return pulumi.get(self, "oauth_issue_refresh_tokens")
139
129
 
140
130
  @oauth_issue_refresh_tokens.setter
141
- def oauth_issue_refresh_tokens(self, value: Optional[pulumi.Input[bool]]):
131
+ def oauth_issue_refresh_tokens(self, value: Optional[pulumi.Input[str]]):
142
132
  pulumi.set(self, "oauth_issue_refresh_tokens", value)
143
133
 
144
134
  @property
145
135
  @pulumi.getter(name="oauthRedirectUri")
146
136
  def oauth_redirect_uri(self) -> Optional[pulumi.Input[str]]:
147
- """
148
- Specifies the client URI. After a user is authenticated, the web browser is redirected to this URI.
149
- """
150
137
  return pulumi.get(self, "oauth_redirect_uri")
151
138
 
152
139
  @oauth_redirect_uri.setter
@@ -169,7 +156,7 @@ class OauthIntegrationArgs:
169
156
  @pulumi.getter(name="oauthUseSecondaryRoles")
170
157
  def oauth_use_secondary_roles(self) -> Optional[pulumi.Input[str]]:
171
158
  """
172
- Specifies whether default secondary roles set in the user properties are activated by default in the session being opened.
159
+ Specifies whether default secondary roles set in the user properties are activated by default in the session being opened. Valid options are: `IMPLICIT` | `NONE`.
173
160
  """
174
161
  return pulumi.get(self, "oauth_use_secondary_roles")
175
162
 
@@ -179,47 +166,50 @@ class OauthIntegrationArgs:
179
166
 
180
167
 
181
168
  @pulumi.input_type
182
- class _OauthIntegrationState:
169
+ class _OauthIntegrationForPartnerApplicationsState:
183
170
  def __init__(__self__, *,
184
171
  blocked_roles_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
185
172
  comment: Optional[pulumi.Input[str]] = None,
186
- created_on: Optional[pulumi.Input[str]] = None,
187
- enabled: Optional[pulumi.Input[bool]] = None,
173
+ describe_outputs: Optional[pulumi.Input[Sequence[pulumi.Input['OauthIntegrationForPartnerApplicationsDescribeOutputArgs']]]] = None,
174
+ enabled: Optional[pulumi.Input[str]] = None,
175
+ fully_qualified_name: Optional[pulumi.Input[str]] = None,
188
176
  name: Optional[pulumi.Input[str]] = None,
189
177
  oauth_client: Optional[pulumi.Input[str]] = None,
190
- oauth_client_type: Optional[pulumi.Input[str]] = None,
191
- oauth_issue_refresh_tokens: Optional[pulumi.Input[bool]] = None,
178
+ oauth_issue_refresh_tokens: Optional[pulumi.Input[str]] = None,
192
179
  oauth_redirect_uri: Optional[pulumi.Input[str]] = None,
193
180
  oauth_refresh_token_validity: Optional[pulumi.Input[int]] = None,
194
- oauth_use_secondary_roles: Optional[pulumi.Input[str]] = None):
181
+ oauth_use_secondary_roles: Optional[pulumi.Input[str]] = None,
182
+ related_parameters: Optional[pulumi.Input[Sequence[pulumi.Input['OauthIntegrationForPartnerApplicationsRelatedParameterArgs']]]] = None,
183
+ show_outputs: Optional[pulumi.Input[Sequence[pulumi.Input['OauthIntegrationForPartnerApplicationsShowOutputArgs']]]] = None):
195
184
  """
196
- Input properties used for looking up and filtering OauthIntegration resources.
197
- :param pulumi.Input[Sequence[pulumi.Input[str]]] blocked_roles_lists: List of roles that a user cannot explicitly consent to using after authenticating. Do not include ACCOUNTADMIN, ORGADMIN or SECURITYADMIN as they are already implicitly enforced and will cause in-place updates.
185
+ Input properties used for looking up and filtering OauthIntegrationForPartnerApplications resources.
186
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] blocked_roles_lists: A set of Snowflake roles that a user cannot explicitly consent to using after authenticating. By default, this list includes the ACCOUNTADMIN, ORGADMIN and SECURITYADMIN roles. To remove these privileged roles from the list, use the ALTER ACCOUNT command to set the OAUTH*ADD*PRIVILEGED*ROLES*TO*BLOCKED*LIST account parameter to FALSE. For more information about this resource, see docs.
198
187
  :param pulumi.Input[str] comment: Specifies a comment for the OAuth integration.
199
- :param pulumi.Input[str] created_on: Date and time when the OAuth integration was created.
200
- :param pulumi.Input[bool] enabled: Specifies whether this OAuth integration is enabled or disabled.
201
- :param pulumi.Input[str] name: Specifies the name of the OAuth integration. This name follows the rules for Object Identifiers. The name should be unique among security integrations in your account.
202
- :param pulumi.Input[str] oauth_client: Specifies the OAuth client type.
203
- :param pulumi.Input[str] oauth_client_type: Specifies the type of client being registered. Snowflake supports both confidential and public clients.
204
- :param pulumi.Input[bool] oauth_issue_refresh_tokens: Specifies whether to allow the client to exchange a refresh token for an access token when the current access token has expired.
205
- :param pulumi.Input[str] oauth_redirect_uri: Specifies the client URI. After a user is authenticated, the web browser is redirected to this URI.
188
+ :param pulumi.Input[Sequence[pulumi.Input['OauthIntegrationForPartnerApplicationsDescribeOutputArgs']]] describe_outputs: Outputs the result of `DESCRIBE SECURITY INTEGRATION` for the given integration.
189
+ :param pulumi.Input[str] enabled: Specifies whether this OAuth integration is enabled or disabled. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
190
+ :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).
191
+ :param pulumi.Input[str] name: Specifies the name of the OAuth integration. This name follows the rules for Object Identifiers. The name should be unique among security integrations in your account. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
192
+ :param pulumi.Input[str] oauth_client: Creates an OAuth interface between Snowflake and a partner application. Valid options are: `LOOKER` | `TABLEAU_DESKTOP` | `TABLEAU_SERVER`.
193
+ :param pulumi.Input[str] oauth_issue_refresh_tokens: Specifies whether to allow the client to exchange a refresh token for an access token when the current access token has expired. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
206
194
  :param pulumi.Input[int] oauth_refresh_token_validity: Specifies how long refresh tokens should be valid (in seconds). OAUTH*ISSUE*REFRESH_TOKENS must be set to TRUE.
207
- :param pulumi.Input[str] oauth_use_secondary_roles: Specifies whether default secondary roles set in the user properties are activated by default in the session being opened.
195
+ :param pulumi.Input[str] oauth_use_secondary_roles: Specifies whether default secondary roles set in the user properties are activated by default in the session being opened. Valid options are: `IMPLICIT` | `NONE`.
196
+ :param pulumi.Input[Sequence[pulumi.Input['OauthIntegrationForPartnerApplicationsRelatedParameterArgs']]] related_parameters: Parameters related to this security integration.
197
+ :param pulumi.Input[Sequence[pulumi.Input['OauthIntegrationForPartnerApplicationsShowOutputArgs']]] show_outputs: Outputs the result of `SHOW SECURITY INTEGRATION` for the given integration.
208
198
  """
209
199
  if blocked_roles_lists is not None:
210
200
  pulumi.set(__self__, "blocked_roles_lists", blocked_roles_lists)
211
201
  if comment is not None:
212
202
  pulumi.set(__self__, "comment", comment)
213
- if created_on is not None:
214
- pulumi.set(__self__, "created_on", created_on)
203
+ if describe_outputs is not None:
204
+ pulumi.set(__self__, "describe_outputs", describe_outputs)
215
205
  if enabled is not None:
216
206
  pulumi.set(__self__, "enabled", enabled)
207
+ if fully_qualified_name is not None:
208
+ pulumi.set(__self__, "fully_qualified_name", fully_qualified_name)
217
209
  if name is not None:
218
210
  pulumi.set(__self__, "name", name)
219
211
  if oauth_client is not None:
220
212
  pulumi.set(__self__, "oauth_client", oauth_client)
221
- if oauth_client_type is not None:
222
- pulumi.set(__self__, "oauth_client_type", oauth_client_type)
223
213
  if oauth_issue_refresh_tokens is not None:
224
214
  pulumi.set(__self__, "oauth_issue_refresh_tokens", oauth_issue_refresh_tokens)
225
215
  if oauth_redirect_uri is not None:
@@ -228,12 +218,16 @@ class _OauthIntegrationState:
228
218
  pulumi.set(__self__, "oauth_refresh_token_validity", oauth_refresh_token_validity)
229
219
  if oauth_use_secondary_roles is not None:
230
220
  pulumi.set(__self__, "oauth_use_secondary_roles", oauth_use_secondary_roles)
221
+ if related_parameters is not None:
222
+ pulumi.set(__self__, "related_parameters", related_parameters)
223
+ if show_outputs is not None:
224
+ pulumi.set(__self__, "show_outputs", show_outputs)
231
225
 
232
226
  @property
233
227
  @pulumi.getter(name="blockedRolesLists")
234
228
  def blocked_roles_lists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
235
229
  """
236
- List of roles that a user cannot explicitly consent to using after authenticating. Do not include ACCOUNTADMIN, ORGADMIN or SECURITYADMIN as they are already implicitly enforced and will cause in-place updates.
230
+ A set of Snowflake roles that a user cannot explicitly consent to using after authenticating. By default, this list includes the ACCOUNTADMIN, ORGADMIN and SECURITYADMIN roles. To remove these privileged roles from the list, use the ALTER ACCOUNT command to set the OAUTH*ADD*PRIVILEGED*ROLES*TO*BLOCKED*LIST account parameter to FALSE. For more information about this resource, see docs.
237
231
  """
238
232
  return pulumi.get(self, "blocked_roles_lists")
239
233
 
@@ -254,34 +248,46 @@ class _OauthIntegrationState:
254
248
  pulumi.set(self, "comment", value)
255
249
 
256
250
  @property
257
- @pulumi.getter(name="createdOn")
258
- def created_on(self) -> Optional[pulumi.Input[str]]:
251
+ @pulumi.getter(name="describeOutputs")
252
+ def describe_outputs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OauthIntegrationForPartnerApplicationsDescribeOutputArgs']]]]:
259
253
  """
260
- Date and time when the OAuth integration was created.
254
+ Outputs the result of `DESCRIBE SECURITY INTEGRATION` for the given integration.
261
255
  """
262
- return pulumi.get(self, "created_on")
256
+ return pulumi.get(self, "describe_outputs")
263
257
 
264
- @created_on.setter
265
- def created_on(self, value: Optional[pulumi.Input[str]]):
266
- pulumi.set(self, "created_on", value)
258
+ @describe_outputs.setter
259
+ def describe_outputs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OauthIntegrationForPartnerApplicationsDescribeOutputArgs']]]]):
260
+ pulumi.set(self, "describe_outputs", value)
267
261
 
268
262
  @property
269
263
  @pulumi.getter
270
- def enabled(self) -> Optional[pulumi.Input[bool]]:
264
+ def enabled(self) -> Optional[pulumi.Input[str]]:
271
265
  """
272
- Specifies whether this OAuth integration is enabled or disabled.
266
+ Specifies whether this OAuth integration is enabled or disabled. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
273
267
  """
274
268
  return pulumi.get(self, "enabled")
275
269
 
276
270
  @enabled.setter
277
- def enabled(self, value: Optional[pulumi.Input[bool]]):
271
+ def enabled(self, value: Optional[pulumi.Input[str]]):
278
272
  pulumi.set(self, "enabled", value)
279
273
 
274
+ @property
275
+ @pulumi.getter(name="fullyQualifiedName")
276
+ def fully_qualified_name(self) -> Optional[pulumi.Input[str]]:
277
+ """
278
+ Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
279
+ """
280
+ return pulumi.get(self, "fully_qualified_name")
281
+
282
+ @fully_qualified_name.setter
283
+ def fully_qualified_name(self, value: Optional[pulumi.Input[str]]):
284
+ pulumi.set(self, "fully_qualified_name", value)
285
+
280
286
  @property
281
287
  @pulumi.getter
282
288
  def name(self) -> Optional[pulumi.Input[str]]:
283
289
  """
284
- Specifies the name of the OAuth integration. This name follows the rules for Object Identifiers. The name should be unique among security integrations in your account.
290
+ Specifies the name of the OAuth integration. This name follows the rules for Object Identifiers. The name should be unique among security integrations in your account. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
285
291
  """
286
292
  return pulumi.get(self, "name")
287
293
 
@@ -293,7 +299,7 @@ class _OauthIntegrationState:
293
299
  @pulumi.getter(name="oauthClient")
294
300
  def oauth_client(self) -> Optional[pulumi.Input[str]]:
295
301
  """
296
- Specifies the OAuth client type.
302
+ Creates an OAuth interface between Snowflake and a partner application. Valid options are: `LOOKER` | `TABLEAU_DESKTOP` | `TABLEAU_SERVER`.
297
303
  """
298
304
  return pulumi.get(self, "oauth_client")
299
305
 
@@ -301,36 +307,21 @@ class _OauthIntegrationState:
301
307
  def oauth_client(self, value: Optional[pulumi.Input[str]]):
302
308
  pulumi.set(self, "oauth_client", value)
303
309
 
304
- @property
305
- @pulumi.getter(name="oauthClientType")
306
- def oauth_client_type(self) -> Optional[pulumi.Input[str]]:
307
- """
308
- Specifies the type of client being registered. Snowflake supports both confidential and public clients.
309
- """
310
- return pulumi.get(self, "oauth_client_type")
311
-
312
- @oauth_client_type.setter
313
- def oauth_client_type(self, value: Optional[pulumi.Input[str]]):
314
- pulumi.set(self, "oauth_client_type", value)
315
-
316
310
  @property
317
311
  @pulumi.getter(name="oauthIssueRefreshTokens")
318
- def oauth_issue_refresh_tokens(self) -> Optional[pulumi.Input[bool]]:
312
+ def oauth_issue_refresh_tokens(self) -> Optional[pulumi.Input[str]]:
319
313
  """
320
- Specifies whether to allow the client to exchange a refresh token for an access token when the current access token has expired.
314
+ Specifies whether to allow the client to exchange a refresh token for an access token when the current access token has expired. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
321
315
  """
322
316
  return pulumi.get(self, "oauth_issue_refresh_tokens")
323
317
 
324
318
  @oauth_issue_refresh_tokens.setter
325
- def oauth_issue_refresh_tokens(self, value: Optional[pulumi.Input[bool]]):
319
+ def oauth_issue_refresh_tokens(self, value: Optional[pulumi.Input[str]]):
326
320
  pulumi.set(self, "oauth_issue_refresh_tokens", value)
327
321
 
328
322
  @property
329
323
  @pulumi.getter(name="oauthRedirectUri")
330
324
  def oauth_redirect_uri(self) -> Optional[pulumi.Input[str]]:
331
- """
332
- Specifies the client URI. After a user is authenticated, the web browser is redirected to this URI.
333
- """
334
325
  return pulumi.get(self, "oauth_redirect_uri")
335
326
 
336
327
  @oauth_redirect_uri.setter
@@ -353,7 +344,7 @@ class _OauthIntegrationState:
353
344
  @pulumi.getter(name="oauthUseSecondaryRoles")
354
345
  def oauth_use_secondary_roles(self) -> Optional[pulumi.Input[str]]:
355
346
  """
356
- Specifies whether default secondary roles set in the user properties are activated by default in the session being opened.
347
+ Specifies whether default secondary roles set in the user properties are activated by default in the session being opened. Valid options are: `IMPLICIT` | `NONE`.
357
348
  """
358
349
  return pulumi.get(self, "oauth_use_secondary_roles")
359
350
 
@@ -361,95 +352,84 @@ class _OauthIntegrationState:
361
352
  def oauth_use_secondary_roles(self, value: Optional[pulumi.Input[str]]):
362
353
  pulumi.set(self, "oauth_use_secondary_roles", value)
363
354
 
355
+ @property
356
+ @pulumi.getter(name="relatedParameters")
357
+ def related_parameters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OauthIntegrationForPartnerApplicationsRelatedParameterArgs']]]]:
358
+ """
359
+ Parameters related to this security integration.
360
+ """
361
+ return pulumi.get(self, "related_parameters")
362
+
363
+ @related_parameters.setter
364
+ def related_parameters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OauthIntegrationForPartnerApplicationsRelatedParameterArgs']]]]):
365
+ pulumi.set(self, "related_parameters", value)
366
+
367
+ @property
368
+ @pulumi.getter(name="showOutputs")
369
+ def show_outputs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OauthIntegrationForPartnerApplicationsShowOutputArgs']]]]:
370
+ """
371
+ Outputs the result of `SHOW SECURITY INTEGRATION` for the given integration.
372
+ """
373
+ return pulumi.get(self, "show_outputs")
364
374
 
365
- class OauthIntegration(pulumi.CustomResource):
375
+ @show_outputs.setter
376
+ def show_outputs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OauthIntegrationForPartnerApplicationsShowOutputArgs']]]]):
377
+ pulumi.set(self, "show_outputs", value)
378
+
379
+
380
+ class OauthIntegrationForPartnerApplications(pulumi.CustomResource):
366
381
  @overload
367
382
  def __init__(__self__,
368
383
  resource_name: str,
369
384
  opts: Optional[pulumi.ResourceOptions] = None,
370
385
  blocked_roles_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
371
386
  comment: Optional[pulumi.Input[str]] = None,
372
- enabled: Optional[pulumi.Input[bool]] = None,
387
+ enabled: Optional[pulumi.Input[str]] = None,
373
388
  name: Optional[pulumi.Input[str]] = None,
374
389
  oauth_client: Optional[pulumi.Input[str]] = None,
375
- oauth_client_type: Optional[pulumi.Input[str]] = None,
376
- oauth_issue_refresh_tokens: Optional[pulumi.Input[bool]] = None,
390
+ oauth_issue_refresh_tokens: Optional[pulumi.Input[str]] = None,
377
391
  oauth_redirect_uri: Optional[pulumi.Input[str]] = None,
378
392
  oauth_refresh_token_validity: Optional[pulumi.Input[int]] = None,
379
393
  oauth_use_secondary_roles: Optional[pulumi.Input[str]] = None,
380
394
  __props__=None):
381
395
  """
382
- ## Example Usage
383
-
384
- <!--Start PulumiCodeChooser -->
385
- ```python
386
- import pulumi
387
- import pulumi_snowflake as snowflake
388
-
389
- tableau_desktop = snowflake.OauthIntegration("tableauDesktop",
390
- blocked_roles_lists=["SYSADMIN"],
391
- enabled=True,
392
- oauth_client="TABLEAU_DESKTOP",
393
- oauth_issue_refresh_tokens=True,
394
- oauth_refresh_token_validity=3600)
395
- ```
396
- <!--End PulumiCodeChooser -->
397
-
398
396
  ## Import
399
397
 
400
398
  ```sh
401
- $ pulumi import snowflake:index/oauthIntegration:OauthIntegration example name
399
+ $ pulumi import snowflake:index/oauthIntegrationForPartnerApplications:OauthIntegrationForPartnerApplications example "name"
402
400
  ```
403
401
 
404
402
  :param str resource_name: The name of the resource.
405
403
  :param pulumi.ResourceOptions opts: Options for the resource.
406
- :param pulumi.Input[Sequence[pulumi.Input[str]]] blocked_roles_lists: List of roles that a user cannot explicitly consent to using after authenticating. Do not include ACCOUNTADMIN, ORGADMIN or SECURITYADMIN as they are already implicitly enforced and will cause in-place updates.
404
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] blocked_roles_lists: A set of Snowflake roles that a user cannot explicitly consent to using after authenticating. By default, this list includes the ACCOUNTADMIN, ORGADMIN and SECURITYADMIN roles. To remove these privileged roles from the list, use the ALTER ACCOUNT command to set the OAUTH*ADD*PRIVILEGED*ROLES*TO*BLOCKED*LIST account parameter to FALSE. For more information about this resource, see docs.
407
405
  :param pulumi.Input[str] comment: Specifies a comment for the OAuth integration.
408
- :param pulumi.Input[bool] enabled: Specifies whether this OAuth integration is enabled or disabled.
409
- :param pulumi.Input[str] name: Specifies the name of the OAuth integration. This name follows the rules for Object Identifiers. The name should be unique among security integrations in your account.
410
- :param pulumi.Input[str] oauth_client: Specifies the OAuth client type.
411
- :param pulumi.Input[str] oauth_client_type: Specifies the type of client being registered. Snowflake supports both confidential and public clients.
412
- :param pulumi.Input[bool] oauth_issue_refresh_tokens: Specifies whether to allow the client to exchange a refresh token for an access token when the current access token has expired.
413
- :param pulumi.Input[str] oauth_redirect_uri: Specifies the client URI. After a user is authenticated, the web browser is redirected to this URI.
406
+ :param pulumi.Input[str] enabled: Specifies whether this OAuth integration is enabled or disabled. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
407
+ :param pulumi.Input[str] name: Specifies the name of the OAuth integration. This name follows the rules for Object Identifiers. The name should be unique among security integrations in your account. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
408
+ :param pulumi.Input[str] oauth_client: Creates an OAuth interface between Snowflake and a partner application. Valid options are: `LOOKER` | `TABLEAU_DESKTOP` | `TABLEAU_SERVER`.
409
+ :param pulumi.Input[str] oauth_issue_refresh_tokens: Specifies whether to allow the client to exchange a refresh token for an access token when the current access token has expired. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
414
410
  :param pulumi.Input[int] oauth_refresh_token_validity: Specifies how long refresh tokens should be valid (in seconds). OAUTH*ISSUE*REFRESH_TOKENS must be set to TRUE.
415
- :param pulumi.Input[str] oauth_use_secondary_roles: Specifies whether default secondary roles set in the user properties are activated by default in the session being opened.
411
+ :param pulumi.Input[str] oauth_use_secondary_roles: Specifies whether default secondary roles set in the user properties are activated by default in the session being opened. Valid options are: `IMPLICIT` | `NONE`.
416
412
  """
417
413
  ...
418
414
  @overload
419
415
  def __init__(__self__,
420
416
  resource_name: str,
421
- args: OauthIntegrationArgs,
417
+ args: OauthIntegrationForPartnerApplicationsArgs,
422
418
  opts: Optional[pulumi.ResourceOptions] = None):
423
419
  """
424
- ## Example Usage
425
-
426
- <!--Start PulumiCodeChooser -->
427
- ```python
428
- import pulumi
429
- import pulumi_snowflake as snowflake
430
-
431
- tableau_desktop = snowflake.OauthIntegration("tableauDesktop",
432
- blocked_roles_lists=["SYSADMIN"],
433
- enabled=True,
434
- oauth_client="TABLEAU_DESKTOP",
435
- oauth_issue_refresh_tokens=True,
436
- oauth_refresh_token_validity=3600)
437
- ```
438
- <!--End PulumiCodeChooser -->
439
-
440
420
  ## Import
441
421
 
442
422
  ```sh
443
- $ pulumi import snowflake:index/oauthIntegration:OauthIntegration example name
423
+ $ pulumi import snowflake:index/oauthIntegrationForPartnerApplications:OauthIntegrationForPartnerApplications example "name"
444
424
  ```
445
425
 
446
426
  :param str resource_name: The name of the resource.
447
- :param OauthIntegrationArgs args: The arguments to use to populate this resource's properties.
427
+ :param OauthIntegrationForPartnerApplicationsArgs args: The arguments to use to populate this resource's properties.
448
428
  :param pulumi.ResourceOptions opts: Options for the resource.
449
429
  """
450
430
  ...
451
431
  def __init__(__self__, resource_name: str, *args, **kwargs):
452
- resource_args, opts = _utilities.get_resource_args_opts(OauthIntegrationArgs, pulumi.ResourceOptions, *args, **kwargs)
432
+ resource_args, opts = _utilities.get_resource_args_opts(OauthIntegrationForPartnerApplicationsArgs, pulumi.ResourceOptions, *args, **kwargs)
453
433
  if resource_args is not None:
454
434
  __self__._internal_init(resource_name, opts, **resource_args.__dict__)
455
435
  else:
@@ -460,11 +440,10 @@ class OauthIntegration(pulumi.CustomResource):
460
440
  opts: Optional[pulumi.ResourceOptions] = None,
461
441
  blocked_roles_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
462
442
  comment: Optional[pulumi.Input[str]] = None,
463
- enabled: Optional[pulumi.Input[bool]] = None,
443
+ enabled: Optional[pulumi.Input[str]] = None,
464
444
  name: Optional[pulumi.Input[str]] = None,
465
445
  oauth_client: Optional[pulumi.Input[str]] = None,
466
- oauth_client_type: Optional[pulumi.Input[str]] = None,
467
- oauth_issue_refresh_tokens: Optional[pulumi.Input[bool]] = None,
446
+ oauth_issue_refresh_tokens: Optional[pulumi.Input[str]] = None,
468
447
  oauth_redirect_uri: Optional[pulumi.Input[str]] = None,
469
448
  oauth_refresh_token_validity: Optional[pulumi.Input[int]] = None,
470
449
  oauth_use_secondary_roles: Optional[pulumi.Input[str]] = None,
@@ -475,7 +454,7 @@ class OauthIntegration(pulumi.CustomResource):
475
454
  if opts.id is None:
476
455
  if __props__ is not None:
477
456
  raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
478
- __props__ = OauthIntegrationArgs.__new__(OauthIntegrationArgs)
457
+ __props__ = OauthIntegrationForPartnerApplicationsArgs.__new__(OauthIntegrationForPartnerApplicationsArgs)
479
458
 
480
459
  __props__.__dict__["blocked_roles_lists"] = blocked_roles_lists
481
460
  __props__.__dict__["comment"] = comment
@@ -484,14 +463,16 @@ class OauthIntegration(pulumi.CustomResource):
484
463
  if oauth_client is None and not opts.urn:
485
464
  raise TypeError("Missing required property 'oauth_client'")
486
465
  __props__.__dict__["oauth_client"] = oauth_client
487
- __props__.__dict__["oauth_client_type"] = oauth_client_type
488
466
  __props__.__dict__["oauth_issue_refresh_tokens"] = oauth_issue_refresh_tokens
489
467
  __props__.__dict__["oauth_redirect_uri"] = oauth_redirect_uri
490
468
  __props__.__dict__["oauth_refresh_token_validity"] = oauth_refresh_token_validity
491
469
  __props__.__dict__["oauth_use_secondary_roles"] = oauth_use_secondary_roles
492
- __props__.__dict__["created_on"] = None
493
- super(OauthIntegration, __self__).__init__(
494
- 'snowflake:index/oauthIntegration:OauthIntegration',
470
+ __props__.__dict__["describe_outputs"] = None
471
+ __props__.__dict__["fully_qualified_name"] = None
472
+ __props__.__dict__["related_parameters"] = None
473
+ __props__.__dict__["show_outputs"] = None
474
+ super(OauthIntegrationForPartnerApplications, __self__).__init__(
475
+ 'snowflake:index/oauthIntegrationForPartnerApplications:OauthIntegrationForPartnerApplications',
495
476
  resource_name,
496
477
  __props__,
497
478
  opts)
@@ -502,56 +483,61 @@ class OauthIntegration(pulumi.CustomResource):
502
483
  opts: Optional[pulumi.ResourceOptions] = None,
503
484
  blocked_roles_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
504
485
  comment: Optional[pulumi.Input[str]] = None,
505
- created_on: Optional[pulumi.Input[str]] = None,
506
- enabled: Optional[pulumi.Input[bool]] = None,
486
+ describe_outputs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OauthIntegrationForPartnerApplicationsDescribeOutputArgs', 'OauthIntegrationForPartnerApplicationsDescribeOutputArgsDict']]]]] = None,
487
+ enabled: Optional[pulumi.Input[str]] = None,
488
+ fully_qualified_name: Optional[pulumi.Input[str]] = None,
507
489
  name: Optional[pulumi.Input[str]] = None,
508
490
  oauth_client: Optional[pulumi.Input[str]] = None,
509
- oauth_client_type: Optional[pulumi.Input[str]] = None,
510
- oauth_issue_refresh_tokens: Optional[pulumi.Input[bool]] = None,
491
+ oauth_issue_refresh_tokens: Optional[pulumi.Input[str]] = None,
511
492
  oauth_redirect_uri: Optional[pulumi.Input[str]] = None,
512
493
  oauth_refresh_token_validity: Optional[pulumi.Input[int]] = None,
513
- oauth_use_secondary_roles: Optional[pulumi.Input[str]] = None) -> 'OauthIntegration':
494
+ oauth_use_secondary_roles: Optional[pulumi.Input[str]] = None,
495
+ related_parameters: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OauthIntegrationForPartnerApplicationsRelatedParameterArgs', 'OauthIntegrationForPartnerApplicationsRelatedParameterArgsDict']]]]] = None,
496
+ show_outputs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OauthIntegrationForPartnerApplicationsShowOutputArgs', 'OauthIntegrationForPartnerApplicationsShowOutputArgsDict']]]]] = None) -> 'OauthIntegrationForPartnerApplications':
514
497
  """
515
- Get an existing OauthIntegration resource's state with the given name, id, and optional extra
498
+ Get an existing OauthIntegrationForPartnerApplications resource's state with the given name, id, and optional extra
516
499
  properties used to qualify the lookup.
517
500
 
518
501
  :param str resource_name: The unique name of the resulting resource.
519
502
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
520
503
  :param pulumi.ResourceOptions opts: Options for the resource.
521
- :param pulumi.Input[Sequence[pulumi.Input[str]]] blocked_roles_lists: List of roles that a user cannot explicitly consent to using after authenticating. Do not include ACCOUNTADMIN, ORGADMIN or SECURITYADMIN as they are already implicitly enforced and will cause in-place updates.
504
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] blocked_roles_lists: A set of Snowflake roles that a user cannot explicitly consent to using after authenticating. By default, this list includes the ACCOUNTADMIN, ORGADMIN and SECURITYADMIN roles. To remove these privileged roles from the list, use the ALTER ACCOUNT command to set the OAUTH*ADD*PRIVILEGED*ROLES*TO*BLOCKED*LIST account parameter to FALSE. For more information about this resource, see docs.
522
505
  :param pulumi.Input[str] comment: Specifies a comment for the OAuth integration.
523
- :param pulumi.Input[str] created_on: Date and time when the OAuth integration was created.
524
- :param pulumi.Input[bool] enabled: Specifies whether this OAuth integration is enabled or disabled.
525
- :param pulumi.Input[str] name: Specifies the name of the OAuth integration. This name follows the rules for Object Identifiers. The name should be unique among security integrations in your account.
526
- :param pulumi.Input[str] oauth_client: Specifies the OAuth client type.
527
- :param pulumi.Input[str] oauth_client_type: Specifies the type of client being registered. Snowflake supports both confidential and public clients.
528
- :param pulumi.Input[bool] oauth_issue_refresh_tokens: Specifies whether to allow the client to exchange a refresh token for an access token when the current access token has expired.
529
- :param pulumi.Input[str] oauth_redirect_uri: Specifies the client URI. After a user is authenticated, the web browser is redirected to this URI.
506
+ :param pulumi.Input[Sequence[pulumi.Input[Union['OauthIntegrationForPartnerApplicationsDescribeOutputArgs', 'OauthIntegrationForPartnerApplicationsDescribeOutputArgsDict']]]] describe_outputs: Outputs the result of `DESCRIBE SECURITY INTEGRATION` for the given integration.
507
+ :param pulumi.Input[str] enabled: Specifies whether this OAuth integration is enabled or disabled. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
508
+ :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).
509
+ :param pulumi.Input[str] name: Specifies the name of the OAuth integration. This name follows the rules for Object Identifiers. The name should be unique among security integrations in your account. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
510
+ :param pulumi.Input[str] oauth_client: Creates an OAuth interface between Snowflake and a partner application. Valid options are: `LOOKER` | `TABLEAU_DESKTOP` | `TABLEAU_SERVER`.
511
+ :param pulumi.Input[str] oauth_issue_refresh_tokens: Specifies whether to allow the client to exchange a refresh token for an access token when the current access token has expired. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
530
512
  :param pulumi.Input[int] oauth_refresh_token_validity: Specifies how long refresh tokens should be valid (in seconds). OAUTH*ISSUE*REFRESH_TOKENS must be set to TRUE.
531
- :param pulumi.Input[str] oauth_use_secondary_roles: Specifies whether default secondary roles set in the user properties are activated by default in the session being opened.
513
+ :param pulumi.Input[str] oauth_use_secondary_roles: Specifies whether default secondary roles set in the user properties are activated by default in the session being opened. Valid options are: `IMPLICIT` | `NONE`.
514
+ :param pulumi.Input[Sequence[pulumi.Input[Union['OauthIntegrationForPartnerApplicationsRelatedParameterArgs', 'OauthIntegrationForPartnerApplicationsRelatedParameterArgsDict']]]] related_parameters: Parameters related to this security integration.
515
+ :param pulumi.Input[Sequence[pulumi.Input[Union['OauthIntegrationForPartnerApplicationsShowOutputArgs', 'OauthIntegrationForPartnerApplicationsShowOutputArgsDict']]]] show_outputs: Outputs the result of `SHOW SECURITY INTEGRATION` for the given integration.
532
516
  """
533
517
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
534
518
 
535
- __props__ = _OauthIntegrationState.__new__(_OauthIntegrationState)
519
+ __props__ = _OauthIntegrationForPartnerApplicationsState.__new__(_OauthIntegrationForPartnerApplicationsState)
536
520
 
537
521
  __props__.__dict__["blocked_roles_lists"] = blocked_roles_lists
538
522
  __props__.__dict__["comment"] = comment
539
- __props__.__dict__["created_on"] = created_on
523
+ __props__.__dict__["describe_outputs"] = describe_outputs
540
524
  __props__.__dict__["enabled"] = enabled
525
+ __props__.__dict__["fully_qualified_name"] = fully_qualified_name
541
526
  __props__.__dict__["name"] = name
542
527
  __props__.__dict__["oauth_client"] = oauth_client
543
- __props__.__dict__["oauth_client_type"] = oauth_client_type
544
528
  __props__.__dict__["oauth_issue_refresh_tokens"] = oauth_issue_refresh_tokens
545
529
  __props__.__dict__["oauth_redirect_uri"] = oauth_redirect_uri
546
530
  __props__.__dict__["oauth_refresh_token_validity"] = oauth_refresh_token_validity
547
531
  __props__.__dict__["oauth_use_secondary_roles"] = oauth_use_secondary_roles
548
- return OauthIntegration(resource_name, opts=opts, __props__=__props__)
532
+ __props__.__dict__["related_parameters"] = related_parameters
533
+ __props__.__dict__["show_outputs"] = show_outputs
534
+ return OauthIntegrationForPartnerApplications(resource_name, opts=opts, __props__=__props__)
549
535
 
550
536
  @property
551
537
  @pulumi.getter(name="blockedRolesLists")
552
538
  def blocked_roles_lists(self) -> pulumi.Output[Optional[Sequence[str]]]:
553
539
  """
554
- List of roles that a user cannot explicitly consent to using after authenticating. Do not include ACCOUNTADMIN, ORGADMIN or SECURITYADMIN as they are already implicitly enforced and will cause in-place updates.
540
+ A set of Snowflake roles that a user cannot explicitly consent to using after authenticating. By default, this list includes the ACCOUNTADMIN, ORGADMIN and SECURITYADMIN roles. To remove these privileged roles from the list, use the ALTER ACCOUNT command to set the OAUTH*ADD*PRIVILEGED*ROLES*TO*BLOCKED*LIST account parameter to FALSE. For more information about this resource, see docs.
555
541
  """
556
542
  return pulumi.get(self, "blocked_roles_lists")
557
543
 
@@ -564,26 +550,34 @@ class OauthIntegration(pulumi.CustomResource):
564
550
  return pulumi.get(self, "comment")
565
551
 
566
552
  @property
567
- @pulumi.getter(name="createdOn")
568
- def created_on(self) -> pulumi.Output[str]:
553
+ @pulumi.getter(name="describeOutputs")
554
+ def describe_outputs(self) -> pulumi.Output[Sequence['outputs.OauthIntegrationForPartnerApplicationsDescribeOutput']]:
569
555
  """
570
- Date and time when the OAuth integration was created.
556
+ Outputs the result of `DESCRIBE SECURITY INTEGRATION` for the given integration.
571
557
  """
572
- return pulumi.get(self, "created_on")
558
+ return pulumi.get(self, "describe_outputs")
573
559
 
574
560
  @property
575
561
  @pulumi.getter
576
- def enabled(self) -> pulumi.Output[Optional[bool]]:
562
+ def enabled(self) -> pulumi.Output[Optional[str]]:
577
563
  """
578
- Specifies whether this OAuth integration is enabled or disabled.
564
+ Specifies whether this OAuth integration is enabled or disabled. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
579
565
  """
580
566
  return pulumi.get(self, "enabled")
581
567
 
568
+ @property
569
+ @pulumi.getter(name="fullyQualifiedName")
570
+ def fully_qualified_name(self) -> pulumi.Output[str]:
571
+ """
572
+ Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
573
+ """
574
+ return pulumi.get(self, "fully_qualified_name")
575
+
582
576
  @property
583
577
  @pulumi.getter
584
578
  def name(self) -> pulumi.Output[str]:
585
579
  """
586
- Specifies the name of the OAuth integration. This name follows the rules for Object Identifiers. The name should be unique among security integrations in your account.
580
+ Specifies the name of the OAuth integration. This name follows the rules for Object Identifiers. The name should be unique among security integrations in your account. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
587
581
  """
588
582
  return pulumi.get(self, "name")
589
583
 
@@ -591,32 +585,21 @@ class OauthIntegration(pulumi.CustomResource):
591
585
  @pulumi.getter(name="oauthClient")
592
586
  def oauth_client(self) -> pulumi.Output[str]:
593
587
  """
594
- Specifies the OAuth client type.
588
+ Creates an OAuth interface between Snowflake and a partner application. Valid options are: `LOOKER` | `TABLEAU_DESKTOP` | `TABLEAU_SERVER`.
595
589
  """
596
590
  return pulumi.get(self, "oauth_client")
597
591
 
598
- @property
599
- @pulumi.getter(name="oauthClientType")
600
- def oauth_client_type(self) -> pulumi.Output[Optional[str]]:
601
- """
602
- Specifies the type of client being registered. Snowflake supports both confidential and public clients.
603
- """
604
- return pulumi.get(self, "oauth_client_type")
605
-
606
592
  @property
607
593
  @pulumi.getter(name="oauthIssueRefreshTokens")
608
- def oauth_issue_refresh_tokens(self) -> pulumi.Output[Optional[bool]]:
594
+ def oauth_issue_refresh_tokens(self) -> pulumi.Output[Optional[str]]:
609
595
  """
610
- Specifies whether to allow the client to exchange a refresh token for an access token when the current access token has expired.
596
+ Specifies whether to allow the client to exchange a refresh token for an access token when the current access token has expired. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
611
597
  """
612
598
  return pulumi.get(self, "oauth_issue_refresh_tokens")
613
599
 
614
600
  @property
615
601
  @pulumi.getter(name="oauthRedirectUri")
616
602
  def oauth_redirect_uri(self) -> pulumi.Output[Optional[str]]:
617
- """
618
- Specifies the client URI. After a user is authenticated, the web browser is redirected to this URI.
619
- """
620
603
  return pulumi.get(self, "oauth_redirect_uri")
621
604
 
622
605
  @property
@@ -631,7 +614,23 @@ class OauthIntegration(pulumi.CustomResource):
631
614
  @pulumi.getter(name="oauthUseSecondaryRoles")
632
615
  def oauth_use_secondary_roles(self) -> pulumi.Output[Optional[str]]:
633
616
  """
634
- Specifies whether default secondary roles set in the user properties are activated by default in the session being opened.
617
+ Specifies whether default secondary roles set in the user properties are activated by default in the session being opened. Valid options are: `IMPLICIT` | `NONE`.
635
618
  """
636
619
  return pulumi.get(self, "oauth_use_secondary_roles")
637
620
 
621
+ @property
622
+ @pulumi.getter(name="relatedParameters")
623
+ def related_parameters(self) -> pulumi.Output[Sequence['outputs.OauthIntegrationForPartnerApplicationsRelatedParameter']]:
624
+ """
625
+ Parameters related to this security integration.
626
+ """
627
+ return pulumi.get(self, "related_parameters")
628
+
629
+ @property
630
+ @pulumi.getter(name="showOutputs")
631
+ def show_outputs(self) -> pulumi.Output[Sequence['outputs.OauthIntegrationForPartnerApplicationsShowOutput']]:
632
+ """
633
+ Outputs the result of `SHOW SECURITY INTEGRATION` for the given integration.
634
+ """
635
+ return pulumi.get(self, "show_outputs")
636
+