pulumi-snowflake 0.50.2a1709892015__py3-none-any.whl → 1.2.0a1736835738__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of pulumi-snowflake might be problematic. Click here for more details.

Files changed (182) hide show
  1. pulumi_snowflake/__init__.py +224 -172
  2. pulumi_snowflake/_inputs.py +52854 -1662
  3. pulumi_snowflake/_utilities.py +41 -5
  4. pulumi_snowflake/account.py +188 -214
  5. pulumi_snowflake/account_authentication_policy_attachment.py +149 -0
  6. pulumi_snowflake/account_parameter.py +21 -44
  7. pulumi_snowflake/account_password_policy_attachment.py +7 -28
  8. pulumi_snowflake/account_role.py +250 -0
  9. pulumi_snowflake/alert.py +38 -43
  10. pulumi_snowflake/api_authentication_integration_with_authorization_code_grant.py +704 -0
  11. pulumi_snowflake/api_authentication_integration_with_client_credentials.py +657 -0
  12. pulumi_snowflake/api_authentication_integration_with_jwt_bearer.py +692 -0
  13. pulumi_snowflake/api_integration.py +35 -50
  14. pulumi_snowflake/authentication_policy.py +622 -0
  15. pulumi_snowflake/config/__init__.pyi +76 -99
  16. pulumi_snowflake/config/outputs.py +5 -0
  17. pulumi_snowflake/config/vars.py +93 -124
  18. pulumi_snowflake/cortex_search_service.py +596 -0
  19. pulumi_snowflake/database.py +819 -209
  20. pulumi_snowflake/database_role.py +81 -40
  21. pulumi_snowflake/dynamic_table.py +44 -47
  22. pulumi_snowflake/email_notification_integration.py +35 -26
  23. pulumi_snowflake/{unsafe_execute.py → execute.py} +36 -139
  24. pulumi_snowflake/external_function.py +54 -71
  25. pulumi_snowflake/external_oauth_integration.py +593 -538
  26. pulumi_snowflake/external_table.py +67 -86
  27. pulumi_snowflake/external_volume.py +382 -0
  28. pulumi_snowflake/failover_group.py +59 -96
  29. pulumi_snowflake/file_format.py +33 -24
  30. pulumi_snowflake/function_java.py +1211 -0
  31. pulumi_snowflake/function_javascript.py +882 -0
  32. pulumi_snowflake/function_python.py +1212 -0
  33. pulumi_snowflake/function_scala.py +1212 -0
  34. pulumi_snowflake/function_sql.py +835 -0
  35. pulumi_snowflake/get_account_roles.py +129 -0
  36. pulumi_snowflake/get_accounts.py +53 -22
  37. pulumi_snowflake/get_alerts.py +22 -5
  38. pulumi_snowflake/get_connections.py +109 -0
  39. pulumi_snowflake/get_cortex_search_services.py +216 -0
  40. pulumi_snowflake/get_current_account.py +24 -9
  41. pulumi_snowflake/get_current_role.py +14 -7
  42. pulumi_snowflake/get_database.py +25 -5
  43. pulumi_snowflake/get_database_role.py +162 -0
  44. pulumi_snowflake/get_database_roles.py +79 -43
  45. pulumi_snowflake/get_databases.py +91 -69
  46. pulumi_snowflake/get_dynamic_tables.py +36 -19
  47. pulumi_snowflake/get_external_functions.py +28 -5
  48. pulumi_snowflake/get_external_tables.py +28 -5
  49. pulumi_snowflake/get_failover_groups.py +18 -7
  50. pulumi_snowflake/get_file_formats.py +28 -5
  51. pulumi_snowflake/get_functions.py +28 -5
  52. pulumi_snowflake/get_grants.py +207 -80
  53. pulumi_snowflake/get_masking_policies.py +91 -47
  54. pulumi_snowflake/get_materialized_views.py +28 -5
  55. pulumi_snowflake/get_network_policies.py +129 -0
  56. pulumi_snowflake/get_parameters.py +38 -11
  57. pulumi_snowflake/get_pipes.py +28 -5
  58. pulumi_snowflake/get_procedures.py +28 -5
  59. pulumi_snowflake/get_resource_monitors.py +37 -20
  60. pulumi_snowflake/get_row_access_policies.py +91 -47
  61. pulumi_snowflake/get_schemas.py +145 -37
  62. pulumi_snowflake/get_secrets.py +200 -0
  63. pulumi_snowflake/get_security_integrations.py +129 -0
  64. pulumi_snowflake/get_sequences.py +28 -5
  65. pulumi_snowflake/get_shares.py +18 -5
  66. pulumi_snowflake/get_stages.py +28 -5
  67. pulumi_snowflake/get_storage_integrations.py +16 -5
  68. pulumi_snowflake/get_streamlits.py +170 -0
  69. pulumi_snowflake/get_streams.py +114 -50
  70. pulumi_snowflake/get_system_generate_scim_access_token.py +18 -5
  71. pulumi_snowflake/get_system_get_aws_sns_iam_policy.py +32 -7
  72. pulumi_snowflake/get_system_get_private_link_config.py +121 -6
  73. pulumi_snowflake/get_system_get_snowflake_platform_info.py +15 -7
  74. pulumi_snowflake/get_tables.py +28 -5
  75. pulumi_snowflake/get_tags.py +130 -0
  76. pulumi_snowflake/get_tasks.py +134 -50
  77. pulumi_snowflake/get_users.py +116 -40
  78. pulumi_snowflake/get_views.py +114 -50
  79. pulumi_snowflake/get_warehouses.py +79 -22
  80. pulumi_snowflake/grant_account_role.py +28 -61
  81. pulumi_snowflake/grant_application_role.py +257 -0
  82. pulumi_snowflake/grant_database_role.py +35 -108
  83. pulumi_snowflake/grant_ownership.py +382 -0
  84. pulumi_snowflake/grant_privileges_to_account_role.py +42 -78
  85. pulumi_snowflake/grant_privileges_to_database_role.py +37 -223
  86. pulumi_snowflake/grant_privileges_to_share.py +96 -44
  87. pulumi_snowflake/legacy_service_user.py +3670 -0
  88. pulumi_snowflake/managed_account.py +42 -9
  89. pulumi_snowflake/masking_policy.py +213 -306
  90. pulumi_snowflake/materialized_view.py +62 -67
  91. pulumi_snowflake/network_policy.py +217 -57
  92. pulumi_snowflake/network_policy_attachment.py +7 -32
  93. pulumi_snowflake/network_rule.py +473 -0
  94. pulumi_snowflake/notification_integration.py +51 -82
  95. pulumi_snowflake/oauth_integration_for_custom_clients.py +906 -0
  96. pulumi_snowflake/{oauth_integration.py → oauth_integration_for_partner_applications.py} +191 -188
  97. pulumi_snowflake/object_parameter.py +12 -99
  98. pulumi_snowflake/outputs.py +49200 -2928
  99. pulumi_snowflake/password_policy.py +41 -28
  100. pulumi_snowflake/pipe.py +33 -0
  101. pulumi_snowflake/primary_connection.py +330 -0
  102. pulumi_snowflake/procedure_java.py +1273 -0
  103. pulumi_snowflake/procedure_javascript.py +895 -0
  104. pulumi_snowflake/procedure_python.py +1226 -0
  105. pulumi_snowflake/procedure_scala.py +1273 -0
  106. pulumi_snowflake/procedure_sql.py +895 -0
  107. pulumi_snowflake/provider.py +378 -613
  108. pulumi_snowflake/pulumi-plugin.json +2 -1
  109. pulumi_snowflake/resource_monitor.py +118 -323
  110. pulumi_snowflake/row_access_policy.py +200 -145
  111. pulumi_snowflake/{saml_integration.py → saml2_integration.py} +356 -295
  112. pulumi_snowflake/schema.py +949 -174
  113. pulumi_snowflake/scim_integration.py +286 -105
  114. pulumi_snowflake/secondary_connection.py +339 -0
  115. pulumi_snowflake/secondary_database.py +1080 -0
  116. pulumi_snowflake/secret_with_authorization_code_grant.py +548 -0
  117. pulumi_snowflake/secret_with_basic_authentication.py +500 -0
  118. pulumi_snowflake/secret_with_client_credentials.py +511 -0
  119. pulumi_snowflake/secret_with_generic_string.py +452 -0
  120. pulumi_snowflake/sequence.py +9 -30
  121. pulumi_snowflake/service_user.py +3585 -0
  122. pulumi_snowflake/share.py +35 -26
  123. pulumi_snowflake/shared_database.py +939 -0
  124. pulumi_snowflake/stage.py +95 -80
  125. pulumi_snowflake/storage_integration.py +48 -2
  126. pulumi_snowflake/stream_on_directory_table.py +517 -0
  127. pulumi_snowflake/stream_on_external_table.py +632 -0
  128. pulumi_snowflake/stream_on_table.py +666 -0
  129. pulumi_snowflake/stream_on_view.py +666 -0
  130. pulumi_snowflake/streamlit.py +671 -0
  131. pulumi_snowflake/table.py +86 -93
  132. pulumi_snowflake/table_column_masking_policy_application.py +7 -14
  133. pulumi_snowflake/table_constraint.py +29 -168
  134. pulumi_snowflake/tag.py +142 -70
  135. pulumi_snowflake/tag_association.py +40 -211
  136. pulumi_snowflake/task.py +3048 -414
  137. pulumi_snowflake/user.py +3351 -380
  138. pulumi_snowflake/user_authentication_policy_attachment.py +197 -0
  139. pulumi_snowflake/user_password_policy_attachment.py +7 -6
  140. pulumi_snowflake/user_public_keys.py +5 -0
  141. pulumi_snowflake/view.py +466 -211
  142. pulumi_snowflake/warehouse.py +184 -164
  143. {pulumi_snowflake-0.50.2a1709892015.dist-info → pulumi_snowflake-1.2.0a1736835738.dist-info}/METADATA +7 -6
  144. pulumi_snowflake-1.2.0a1736835738.dist-info/RECORD +148 -0
  145. {pulumi_snowflake-0.50.2a1709892015.dist-info → pulumi_snowflake-1.2.0a1736835738.dist-info}/WHEEL +1 -1
  146. pulumi_snowflake/account_grant.py +0 -339
  147. pulumi_snowflake/database_grant.py +0 -491
  148. pulumi_snowflake/external_table_grant.py +0 -686
  149. pulumi_snowflake/failover_group_grant.py +0 -388
  150. pulumi_snowflake/file_format_grant.py +0 -631
  151. pulumi_snowflake/function.py +0 -868
  152. pulumi_snowflake/function_grant.py +0 -741
  153. pulumi_snowflake/get_role.py +0 -117
  154. pulumi_snowflake/get_roles.py +0 -116
  155. pulumi_snowflake/grant_privileges_to_role.py +0 -667
  156. pulumi_snowflake/integration_grant.py +0 -436
  157. pulumi_snowflake/masking_policy_grant.py +0 -538
  158. pulumi_snowflake/materialized_view_grant.py +0 -685
  159. pulumi_snowflake/pipe_grant.py +0 -583
  160. pulumi_snowflake/procedure.py +0 -883
  161. pulumi_snowflake/procedure_grant.py +0 -741
  162. pulumi_snowflake/resource_monitor_grant.py +0 -383
  163. pulumi_snowflake/role.py +0 -269
  164. pulumi_snowflake/role_grants.py +0 -348
  165. pulumi_snowflake/role_ownership_grant.py +0 -334
  166. pulumi_snowflake/row_access_policy_grant.py +0 -536
  167. pulumi_snowflake/schema_grant.py +0 -643
  168. pulumi_snowflake/sequence_grant.py +0 -631
  169. pulumi_snowflake/session_parameter.py +0 -328
  170. pulumi_snowflake/stage_grant.py +0 -631
  171. pulumi_snowflake/stream.py +0 -610
  172. pulumi_snowflake/stream_grant.py +0 -631
  173. pulumi_snowflake/table_grant.py +0 -673
  174. pulumi_snowflake/tag_grant.py +0 -528
  175. pulumi_snowflake/tag_masking_policy_association.py +0 -210
  176. pulumi_snowflake/task_grant.py +0 -631
  177. pulumi_snowflake/user_grant.py +0 -390
  178. pulumi_snowflake/user_ownership_grant.py +0 -286
  179. pulumi_snowflake/view_grant.py +0 -701
  180. pulumi_snowflake/warehouse_grant.py +0 -436
  181. pulumi_snowflake-0.50.2a1709892015.dist-info/RECORD +0 -136
  182. {pulumi_snowflake-0.50.2a1709892015.dist-info → pulumi_snowflake-1.2.0a1736835738.dist-info}/top_level.txt +0 -0
@@ -4,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,91 +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
- ```python
385
- import pulumi
386
- import pulumi_snowflake as snowflake
387
-
388
- tableau_desktop = snowflake.OauthIntegration("tableauDesktop",
389
- blocked_roles_lists=["SYSADMIN"],
390
- enabled=True,
391
- oauth_client="TABLEAU_DESKTOP",
392
- oauth_issue_refresh_tokens=True,
393
- oauth_refresh_token_validity=3600)
394
- ```
395
-
396
396
  ## Import
397
397
 
398
398
  ```sh
399
- $ pulumi import snowflake:index/oauthIntegration:OauthIntegration example name
399
+ $ pulumi import snowflake:index/oauthIntegrationForPartnerApplications:OauthIntegrationForPartnerApplications example "name"
400
400
  ```
401
401
 
402
402
  :param str resource_name: The name of the resource.
403
403
  :param pulumi.ResourceOptions opts: Options for the resource.
404
- :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.
405
405
  :param pulumi.Input[str] comment: Specifies a comment for the OAuth integration.
406
- :param pulumi.Input[bool] enabled: Specifies whether this OAuth integration is enabled or disabled.
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.
408
- :param pulumi.Input[str] oauth_client: Specifies the OAuth client type.
409
- :param pulumi.Input[str] oauth_client_type: Specifies the type of client being registered. Snowflake supports both confidential and public clients.
410
- :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.
411
- :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.
412
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.
413
- :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`.
414
412
  """
415
413
  ...
416
414
  @overload
417
415
  def __init__(__self__,
418
416
  resource_name: str,
419
- args: OauthIntegrationArgs,
417
+ args: OauthIntegrationForPartnerApplicationsArgs,
420
418
  opts: Optional[pulumi.ResourceOptions] = None):
421
419
  """
422
- ## Example Usage
423
-
424
- ```python
425
- import pulumi
426
- import pulumi_snowflake as snowflake
427
-
428
- tableau_desktop = snowflake.OauthIntegration("tableauDesktop",
429
- blocked_roles_lists=["SYSADMIN"],
430
- enabled=True,
431
- oauth_client="TABLEAU_DESKTOP",
432
- oauth_issue_refresh_tokens=True,
433
- oauth_refresh_token_validity=3600)
434
- ```
435
-
436
420
  ## Import
437
421
 
438
422
  ```sh
439
- $ pulumi import snowflake:index/oauthIntegration:OauthIntegration example name
423
+ $ pulumi import snowflake:index/oauthIntegrationForPartnerApplications:OauthIntegrationForPartnerApplications example "name"
440
424
  ```
441
425
 
442
426
  :param str resource_name: The name of the resource.
443
- :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.
444
428
  :param pulumi.ResourceOptions opts: Options for the resource.
445
429
  """
446
430
  ...
447
431
  def __init__(__self__, resource_name: str, *args, **kwargs):
448
- 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)
449
433
  if resource_args is not None:
450
434
  __self__._internal_init(resource_name, opts, **resource_args.__dict__)
451
435
  else:
@@ -456,11 +440,10 @@ class OauthIntegration(pulumi.CustomResource):
456
440
  opts: Optional[pulumi.ResourceOptions] = None,
457
441
  blocked_roles_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
458
442
  comment: Optional[pulumi.Input[str]] = None,
459
- enabled: Optional[pulumi.Input[bool]] = None,
443
+ enabled: Optional[pulumi.Input[str]] = None,
460
444
  name: Optional[pulumi.Input[str]] = None,
461
445
  oauth_client: Optional[pulumi.Input[str]] = None,
462
- oauth_client_type: Optional[pulumi.Input[str]] = None,
463
- oauth_issue_refresh_tokens: Optional[pulumi.Input[bool]] = None,
446
+ oauth_issue_refresh_tokens: Optional[pulumi.Input[str]] = None,
464
447
  oauth_redirect_uri: Optional[pulumi.Input[str]] = None,
465
448
  oauth_refresh_token_validity: Optional[pulumi.Input[int]] = None,
466
449
  oauth_use_secondary_roles: Optional[pulumi.Input[str]] = None,
@@ -471,7 +454,7 @@ class OauthIntegration(pulumi.CustomResource):
471
454
  if opts.id is None:
472
455
  if __props__ is not None:
473
456
  raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
474
- __props__ = OauthIntegrationArgs.__new__(OauthIntegrationArgs)
457
+ __props__ = OauthIntegrationForPartnerApplicationsArgs.__new__(OauthIntegrationForPartnerApplicationsArgs)
475
458
 
476
459
  __props__.__dict__["blocked_roles_lists"] = blocked_roles_lists
477
460
  __props__.__dict__["comment"] = comment
@@ -480,14 +463,16 @@ class OauthIntegration(pulumi.CustomResource):
480
463
  if oauth_client is None and not opts.urn:
481
464
  raise TypeError("Missing required property 'oauth_client'")
482
465
  __props__.__dict__["oauth_client"] = oauth_client
483
- __props__.__dict__["oauth_client_type"] = oauth_client_type
484
466
  __props__.__dict__["oauth_issue_refresh_tokens"] = oauth_issue_refresh_tokens
485
467
  __props__.__dict__["oauth_redirect_uri"] = oauth_redirect_uri
486
468
  __props__.__dict__["oauth_refresh_token_validity"] = oauth_refresh_token_validity
487
469
  __props__.__dict__["oauth_use_secondary_roles"] = oauth_use_secondary_roles
488
- __props__.__dict__["created_on"] = None
489
- super(OauthIntegration, __self__).__init__(
490
- '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',
491
476
  resource_name,
492
477
  __props__,
493
478
  opts)
@@ -498,56 +483,61 @@ class OauthIntegration(pulumi.CustomResource):
498
483
  opts: Optional[pulumi.ResourceOptions] = None,
499
484
  blocked_roles_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
500
485
  comment: Optional[pulumi.Input[str]] = None,
501
- created_on: Optional[pulumi.Input[str]] = None,
502
- 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,
503
489
  name: Optional[pulumi.Input[str]] = None,
504
490
  oauth_client: Optional[pulumi.Input[str]] = None,
505
- oauth_client_type: Optional[pulumi.Input[str]] = None,
506
- oauth_issue_refresh_tokens: Optional[pulumi.Input[bool]] = None,
491
+ oauth_issue_refresh_tokens: Optional[pulumi.Input[str]] = None,
507
492
  oauth_redirect_uri: Optional[pulumi.Input[str]] = None,
508
493
  oauth_refresh_token_validity: Optional[pulumi.Input[int]] = None,
509
- 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':
510
497
  """
511
- 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
512
499
  properties used to qualify the lookup.
513
500
 
514
501
  :param str resource_name: The unique name of the resulting resource.
515
502
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
516
503
  :param pulumi.ResourceOptions opts: Options for the resource.
517
- :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.
518
505
  :param pulumi.Input[str] comment: Specifies a comment for the OAuth integration.
519
- :param pulumi.Input[str] created_on: Date and time when the OAuth integration was created.
520
- :param pulumi.Input[bool] enabled: Specifies whether this OAuth integration is enabled or disabled.
521
- :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.
522
- :param pulumi.Input[str] oauth_client: Specifies the OAuth client type.
523
- :param pulumi.Input[str] oauth_client_type: Specifies the type of client being registered. Snowflake supports both confidential and public clients.
524
- :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.
525
- :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.
526
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.
527
- :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.
528
516
  """
529
517
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
530
518
 
531
- __props__ = _OauthIntegrationState.__new__(_OauthIntegrationState)
519
+ __props__ = _OauthIntegrationForPartnerApplicationsState.__new__(_OauthIntegrationForPartnerApplicationsState)
532
520
 
533
521
  __props__.__dict__["blocked_roles_lists"] = blocked_roles_lists
534
522
  __props__.__dict__["comment"] = comment
535
- __props__.__dict__["created_on"] = created_on
523
+ __props__.__dict__["describe_outputs"] = describe_outputs
536
524
  __props__.__dict__["enabled"] = enabled
525
+ __props__.__dict__["fully_qualified_name"] = fully_qualified_name
537
526
  __props__.__dict__["name"] = name
538
527
  __props__.__dict__["oauth_client"] = oauth_client
539
- __props__.__dict__["oauth_client_type"] = oauth_client_type
540
528
  __props__.__dict__["oauth_issue_refresh_tokens"] = oauth_issue_refresh_tokens
541
529
  __props__.__dict__["oauth_redirect_uri"] = oauth_redirect_uri
542
530
  __props__.__dict__["oauth_refresh_token_validity"] = oauth_refresh_token_validity
543
531
  __props__.__dict__["oauth_use_secondary_roles"] = oauth_use_secondary_roles
544
- 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__)
545
535
 
546
536
  @property
547
537
  @pulumi.getter(name="blockedRolesLists")
548
538
  def blocked_roles_lists(self) -> pulumi.Output[Optional[Sequence[str]]]:
549
539
  """
550
- 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.
551
541
  """
552
542
  return pulumi.get(self, "blocked_roles_lists")
553
543
 
@@ -560,26 +550,34 @@ class OauthIntegration(pulumi.CustomResource):
560
550
  return pulumi.get(self, "comment")
561
551
 
562
552
  @property
563
- @pulumi.getter(name="createdOn")
564
- def created_on(self) -> pulumi.Output[str]:
553
+ @pulumi.getter(name="describeOutputs")
554
+ def describe_outputs(self) -> pulumi.Output[Sequence['outputs.OauthIntegrationForPartnerApplicationsDescribeOutput']]:
565
555
  """
566
- Date and time when the OAuth integration was created.
556
+ Outputs the result of `DESCRIBE SECURITY INTEGRATION` for the given integration.
567
557
  """
568
- return pulumi.get(self, "created_on")
558
+ return pulumi.get(self, "describe_outputs")
569
559
 
570
560
  @property
571
561
  @pulumi.getter
572
- def enabled(self) -> pulumi.Output[Optional[bool]]:
562
+ def enabled(self) -> pulumi.Output[Optional[str]]:
573
563
  """
574
- 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.
575
565
  """
576
566
  return pulumi.get(self, "enabled")
577
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
+
578
576
  @property
579
577
  @pulumi.getter
580
578
  def name(self) -> pulumi.Output[str]:
581
579
  """
582
- 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: `|`, `.`, `"`.
583
581
  """
584
582
  return pulumi.get(self, "name")
585
583
 
@@ -587,32 +585,21 @@ class OauthIntegration(pulumi.CustomResource):
587
585
  @pulumi.getter(name="oauthClient")
588
586
  def oauth_client(self) -> pulumi.Output[str]:
589
587
  """
590
- Specifies the OAuth client type.
588
+ Creates an OAuth interface between Snowflake and a partner application. Valid options are: `LOOKER` | `TABLEAU_DESKTOP` | `TABLEAU_SERVER`.
591
589
  """
592
590
  return pulumi.get(self, "oauth_client")
593
591
 
594
- @property
595
- @pulumi.getter(name="oauthClientType")
596
- def oauth_client_type(self) -> pulumi.Output[Optional[str]]:
597
- """
598
- Specifies the type of client being registered. Snowflake supports both confidential and public clients.
599
- """
600
- return pulumi.get(self, "oauth_client_type")
601
-
602
592
  @property
603
593
  @pulumi.getter(name="oauthIssueRefreshTokens")
604
- def oauth_issue_refresh_tokens(self) -> pulumi.Output[Optional[bool]]:
594
+ def oauth_issue_refresh_tokens(self) -> pulumi.Output[Optional[str]]:
605
595
  """
606
- 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.
607
597
  """
608
598
  return pulumi.get(self, "oauth_issue_refresh_tokens")
609
599
 
610
600
  @property
611
601
  @pulumi.getter(name="oauthRedirectUri")
612
602
  def oauth_redirect_uri(self) -> pulumi.Output[Optional[str]]:
613
- """
614
- Specifies the client URI. After a user is authenticated, the web browser is redirected to this URI.
615
- """
616
603
  return pulumi.get(self, "oauth_redirect_uri")
617
604
 
618
605
  @property
@@ -627,7 +614,23 @@ class OauthIntegration(pulumi.CustomResource):
627
614
  @pulumi.getter(name="oauthUseSecondaryRoles")
628
615
  def oauth_use_secondary_roles(self) -> pulumi.Output[Optional[str]]:
629
616
  """
630
- 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`.
631
618
  """
632
619
  return pulumi.get(self, "oauth_use_secondary_roles")
633
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
+