pulumi-snowflake 0.56.0a1721327760__py3-none-any.whl → 0.57.0__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.
Files changed (74) hide show
  1. pulumi_snowflake/__init__.py +78 -209
  2. pulumi_snowflake/_inputs.py +12188 -1362
  3. pulumi_snowflake/_utilities.py +2 -0
  4. pulumi_snowflake/account_role.py +226 -0
  5. pulumi_snowflake/api_authentication_integration_with_authorization_code_grant.py +692 -0
  6. pulumi_snowflake/api_authentication_integration_with_client_credentials.py +645 -0
  7. pulumi_snowflake/api_authentication_integration_with_jwt_bearer.py +680 -0
  8. pulumi_snowflake/cortex_search_service.py +563 -0
  9. pulumi_snowflake/database.py +854 -232
  10. pulumi_snowflake/database_old.py +556 -0
  11. pulumi_snowflake/external_oauth_integration.py +562 -534
  12. pulumi_snowflake/failover_group.py +2 -2
  13. pulumi_snowflake/get_cortex_search_services.py +197 -0
  14. pulumi_snowflake/get_databases.py +71 -62
  15. pulumi_snowflake/get_network_policies.py +122 -0
  16. pulumi_snowflake/get_roles.py +37 -31
  17. pulumi_snowflake/get_schemas.py +115 -38
  18. pulumi_snowflake/get_security_integrations.py +122 -0
  19. pulumi_snowflake/get_streamlits.py +159 -0
  20. pulumi_snowflake/get_warehouses.py +66 -18
  21. pulumi_snowflake/grant_privileges_to_database_role.py +0 -4
  22. pulumi_snowflake/managed_account.py +7 -7
  23. pulumi_snowflake/network_policy.py +103 -19
  24. pulumi_snowflake/oauth_integration.py +4 -0
  25. pulumi_snowflake/oauth_integration_for_custom_clients.py +940 -0
  26. pulumi_snowflake/oauth_integration_for_partner_applications.py +584 -0
  27. pulumi_snowflake/outputs.py +16178 -2927
  28. pulumi_snowflake/pulumi-plugin.json +1 -1
  29. pulumi_snowflake/role.py +44 -72
  30. pulumi_snowflake/saml2_integration.py +975 -0
  31. pulumi_snowflake/saml_integration.py +4 -0
  32. pulumi_snowflake/schema.py +905 -151
  33. pulumi_snowflake/scim_integration.py +257 -103
  34. pulumi_snowflake/secondary_database.py +1059 -0
  35. pulumi_snowflake/sequence.py +6 -6
  36. pulumi_snowflake/shared_database.py +914 -0
  37. pulumi_snowflake/streamlit.py +650 -0
  38. pulumi_snowflake/table.py +0 -120
  39. pulumi_snowflake/table_constraint.py +2 -2
  40. pulumi_snowflake/tag_association.py +38 -38
  41. pulumi_snowflake/unsafe_execute.py +8 -8
  42. pulumi_snowflake/user_password_policy_attachment.py +32 -0
  43. pulumi_snowflake/warehouse.py +143 -120
  44. {pulumi_snowflake-0.56.0a1721327760.dist-info → pulumi_snowflake-0.57.0.dist-info}/METADATA +1 -1
  45. {pulumi_snowflake-0.56.0a1721327760.dist-info → pulumi_snowflake-0.57.0.dist-info}/RECORD +47 -58
  46. {pulumi_snowflake-0.56.0a1721327760.dist-info → pulumi_snowflake-0.57.0.dist-info}/WHEEL +1 -1
  47. pulumi_snowflake/account_grant.py +0 -319
  48. pulumi_snowflake/database_grant.py +0 -471
  49. pulumi_snowflake/external_table_grant.py +0 -666
  50. pulumi_snowflake/failover_group_grant.py +0 -368
  51. pulumi_snowflake/file_format_grant.py +0 -611
  52. pulumi_snowflake/function_grant.py +0 -721
  53. pulumi_snowflake/grant_privileges_to_role.py +0 -821
  54. pulumi_snowflake/integration_grant.py +0 -416
  55. pulumi_snowflake/masking_policy_grant.py +0 -518
  56. pulumi_snowflake/materialized_view_grant.py +0 -665
  57. pulumi_snowflake/pipe_grant.py +0 -563
  58. pulumi_snowflake/procedure_grant.py +0 -721
  59. pulumi_snowflake/resource_monitor_grant.py +0 -363
  60. pulumi_snowflake/role_grants.py +0 -340
  61. pulumi_snowflake/role_ownership_grant.py +0 -329
  62. pulumi_snowflake/row_access_policy_grant.py +0 -516
  63. pulumi_snowflake/schema_grant.py +0 -603
  64. pulumi_snowflake/sequence_grant.py +0 -611
  65. pulumi_snowflake/stage_grant.py +0 -611
  66. pulumi_snowflake/stream_grant.py +0 -611
  67. pulumi_snowflake/table_grant.py +0 -653
  68. pulumi_snowflake/tag_grant.py +0 -508
  69. pulumi_snowflake/task_grant.py +0 -611
  70. pulumi_snowflake/user_grant.py +0 -370
  71. pulumi_snowflake/user_ownership_grant.py +0 -275
  72. pulumi_snowflake/view_grant.py +0 -685
  73. pulumi_snowflake/warehouse_grant.py +0 -416
  74. {pulumi_snowflake-0.56.0a1721327760.dist-info → pulumi_snowflake-0.57.0.dist-info}/top_level.txt +0 -0
@@ -8,47 +8,72 @@ import pulumi
8
8
  import pulumi.runtime
9
9
  from typing import Any, Mapping, Optional, Sequence, Union, overload
10
10
  from . import _utilities
11
+ from . import outputs
12
+ from ._inputs import *
11
13
 
12
14
  __all__ = ['ScimIntegrationArgs', 'ScimIntegration']
13
15
 
14
16
  @pulumi.input_type
15
17
  class ScimIntegrationArgs:
16
18
  def __init__(__self__, *,
17
- provisioner_role: pulumi.Input[str],
19
+ enabled: pulumi.Input[bool],
20
+ run_as_role: pulumi.Input[str],
18
21
  scim_client: pulumi.Input[str],
22
+ comment: Optional[pulumi.Input[str]] = None,
19
23
  name: Optional[pulumi.Input[str]] = None,
20
- network_policy: Optional[pulumi.Input[str]] = None):
24
+ network_policy: Optional[pulumi.Input[str]] = None,
25
+ sync_password: Optional[pulumi.Input[str]] = None):
21
26
  """
22
27
  The set of arguments for constructing a ScimIntegration resource.
23
- :param pulumi.Input[str] provisioner_role: Specify the SCIM role in Snowflake that owns any users and roles that are imported from the identity provider into Snowflake using SCIM.
24
- :param pulumi.Input[str] scim_client: Specifies the client type for the scim integration
25
- :param pulumi.Input[str] name: Specifies the name of the SCIM integration. This name follows the rules for Object Identifiers. The name should be unique among security integrations in your account.
26
- :param pulumi.Input[str] network_policy: Specifies an existing network policy active for your account. The network policy restricts the list of user IP addresses when exchanging an authorization code for an access or refresh token and when using a refresh token to obtain a new access token. If this parameter is not set, the network policy for the account (if any) is used instead.
27
- """
28
- pulumi.set(__self__, "provisioner_role", provisioner_role)
28
+ :param pulumi.Input[bool] enabled: Specify whether the security integration is enabled.
29
+ :param pulumi.Input[str] run_as_role: Specify the SCIM role in Snowflake that owns any users and roles that are imported from the identity provider into Snowflake using SCIM. Provider assumes that the specified role is already provided. Valid options are: `OKTA_PROVISIONER` | `AAD_PROVISIONER` | `GENERIC_SCIM_PROVISIONER`.
30
+ :param pulumi.Input[str] scim_client: Specifies the client type for the scim integration. Valid options are: `OKTA` | `AZURE` | `GENERIC`.
31
+ :param pulumi.Input[str] comment: Specifies a comment for the integration.
32
+ :param pulumi.Input[str] name: String that specifies the identifier (i.e. name) for the integration; must be unique in your account.
33
+ :param pulumi.Input[str] network_policy: Specifies an existing network policy that controls SCIM network traffic.
34
+ :param pulumi.Input[str] sync_password: Specifies whether to enable or disable the synchronization of a user password from an Okta SCIM client as part of the API request to Snowflake. This property is not supported for Azure SCIM. 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.
35
+ """
36
+ pulumi.set(__self__, "enabled", enabled)
37
+ pulumi.set(__self__, "run_as_role", run_as_role)
29
38
  pulumi.set(__self__, "scim_client", scim_client)
39
+ if comment is not None:
40
+ pulumi.set(__self__, "comment", comment)
30
41
  if name is not None:
31
42
  pulumi.set(__self__, "name", name)
32
43
  if network_policy is not None:
33
44
  pulumi.set(__self__, "network_policy", network_policy)
45
+ if sync_password is not None:
46
+ pulumi.set(__self__, "sync_password", sync_password)
47
+
48
+ @property
49
+ @pulumi.getter
50
+ def enabled(self) -> pulumi.Input[bool]:
51
+ """
52
+ Specify whether the security integration is enabled.
53
+ """
54
+ return pulumi.get(self, "enabled")
55
+
56
+ @enabled.setter
57
+ def enabled(self, value: pulumi.Input[bool]):
58
+ pulumi.set(self, "enabled", value)
34
59
 
35
60
  @property
36
- @pulumi.getter(name="provisionerRole")
37
- def provisioner_role(self) -> pulumi.Input[str]:
61
+ @pulumi.getter(name="runAsRole")
62
+ def run_as_role(self) -> pulumi.Input[str]:
38
63
  """
39
- Specify the SCIM role in Snowflake that owns any users and roles that are imported from the identity provider into Snowflake using SCIM.
64
+ Specify the SCIM role in Snowflake that owns any users and roles that are imported from the identity provider into Snowflake using SCIM. Provider assumes that the specified role is already provided. Valid options are: `OKTA_PROVISIONER` | `AAD_PROVISIONER` | `GENERIC_SCIM_PROVISIONER`.
40
65
  """
41
- return pulumi.get(self, "provisioner_role")
66
+ return pulumi.get(self, "run_as_role")
42
67
 
43
- @provisioner_role.setter
44
- def provisioner_role(self, value: pulumi.Input[str]):
45
- pulumi.set(self, "provisioner_role", value)
68
+ @run_as_role.setter
69
+ def run_as_role(self, value: pulumi.Input[str]):
70
+ pulumi.set(self, "run_as_role", value)
46
71
 
47
72
  @property
48
73
  @pulumi.getter(name="scimClient")
49
74
  def scim_client(self) -> pulumi.Input[str]:
50
75
  """
51
- Specifies the client type for the scim integration
76
+ Specifies the client type for the scim integration. Valid options are: `OKTA` | `AZURE` | `GENERIC`.
52
77
  """
53
78
  return pulumi.get(self, "scim_client")
54
79
 
@@ -56,11 +81,23 @@ class ScimIntegrationArgs:
56
81
  def scim_client(self, value: pulumi.Input[str]):
57
82
  pulumi.set(self, "scim_client", value)
58
83
 
84
+ @property
85
+ @pulumi.getter
86
+ def comment(self) -> Optional[pulumi.Input[str]]:
87
+ """
88
+ Specifies a comment for the integration.
89
+ """
90
+ return pulumi.get(self, "comment")
91
+
92
+ @comment.setter
93
+ def comment(self, value: Optional[pulumi.Input[str]]):
94
+ pulumi.set(self, "comment", value)
95
+
59
96
  @property
60
97
  @pulumi.getter
61
98
  def name(self) -> Optional[pulumi.Input[str]]:
62
99
  """
63
- Specifies the name of the SCIM integration. This name follows the rules for Object Identifiers. The name should be unique among security integrations in your account.
100
+ String that specifies the identifier (i.e. name) for the integration; must be unique in your account.
64
101
  """
65
102
  return pulumi.get(self, "name")
66
103
 
@@ -72,7 +109,7 @@ class ScimIntegrationArgs:
72
109
  @pulumi.getter(name="networkPolicy")
73
110
  def network_policy(self) -> Optional[pulumi.Input[str]]:
74
111
  """
75
- Specifies an existing network policy active for your account. The network policy restricts the list of user IP addresses when exchanging an authorization code for an access or refresh token and when using a refresh token to obtain a new access token. If this parameter is not set, the network policy for the account (if any) is used instead.
112
+ Specifies an existing network policy that controls SCIM network traffic.
76
113
  """
77
114
  return pulumi.get(self, "network_policy")
78
115
 
@@ -80,51 +117,103 @@ class ScimIntegrationArgs:
80
117
  def network_policy(self, value: Optional[pulumi.Input[str]]):
81
118
  pulumi.set(self, "network_policy", value)
82
119
 
120
+ @property
121
+ @pulumi.getter(name="syncPassword")
122
+ def sync_password(self) -> Optional[pulumi.Input[str]]:
123
+ """
124
+ Specifies whether to enable or disable the synchronization of a user password from an Okta SCIM client as part of the API request to Snowflake. This property is not supported for Azure SCIM. 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.
125
+ """
126
+ return pulumi.get(self, "sync_password")
127
+
128
+ @sync_password.setter
129
+ def sync_password(self, value: Optional[pulumi.Input[str]]):
130
+ pulumi.set(self, "sync_password", value)
131
+
83
132
 
84
133
  @pulumi.input_type
85
134
  class _ScimIntegrationState:
86
135
  def __init__(__self__, *,
87
- created_on: Optional[pulumi.Input[str]] = None,
136
+ comment: Optional[pulumi.Input[str]] = None,
137
+ describe_outputs: Optional[pulumi.Input[Sequence[pulumi.Input['ScimIntegrationDescribeOutputArgs']]]] = None,
138
+ enabled: Optional[pulumi.Input[bool]] = None,
88
139
  name: Optional[pulumi.Input[str]] = None,
89
140
  network_policy: Optional[pulumi.Input[str]] = None,
90
- provisioner_role: Optional[pulumi.Input[str]] = None,
91
- scim_client: Optional[pulumi.Input[str]] = None):
141
+ run_as_role: Optional[pulumi.Input[str]] = None,
142
+ scim_client: Optional[pulumi.Input[str]] = None,
143
+ show_outputs: Optional[pulumi.Input[Sequence[pulumi.Input['ScimIntegrationShowOutputArgs']]]] = None,
144
+ sync_password: Optional[pulumi.Input[str]] = None):
92
145
  """
93
146
  Input properties used for looking up and filtering ScimIntegration resources.
94
- :param pulumi.Input[str] created_on: Date and time when the SCIM integration was created.
95
- :param pulumi.Input[str] name: Specifies the name of the SCIM integration. This name follows the rules for Object Identifiers. The name should be unique among security integrations in your account.
96
- :param pulumi.Input[str] network_policy: Specifies an existing network policy active for your account. The network policy restricts the list of user IP addresses when exchanging an authorization code for an access or refresh token and when using a refresh token to obtain a new access token. If this parameter is not set, the network policy for the account (if any) is used instead.
97
- :param pulumi.Input[str] provisioner_role: Specify the SCIM role in Snowflake that owns any users and roles that are imported from the identity provider into Snowflake using SCIM.
98
- :param pulumi.Input[str] scim_client: Specifies the client type for the scim integration
99
- """
100
- if created_on is not None:
101
- pulumi.set(__self__, "created_on", created_on)
147
+ :param pulumi.Input[str] comment: Specifies a comment for the integration.
148
+ :param pulumi.Input[Sequence[pulumi.Input['ScimIntegrationDescribeOutputArgs']]] describe_outputs: Outputs the result of `DESCRIBE SECURITY INTEGRATIONS` for the given security integration.
149
+ :param pulumi.Input[bool] enabled: Specify whether the security integration is enabled.
150
+ :param pulumi.Input[str] name: String that specifies the identifier (i.e. name) for the integration; must be unique in your account.
151
+ :param pulumi.Input[str] network_policy: Specifies an existing network policy that controls SCIM network traffic.
152
+ :param pulumi.Input[str] run_as_role: Specify the SCIM role in Snowflake that owns any users and roles that are imported from the identity provider into Snowflake using SCIM. Provider assumes that the specified role is already provided. Valid options are: `OKTA_PROVISIONER` | `AAD_PROVISIONER` | `GENERIC_SCIM_PROVISIONER`.
153
+ :param pulumi.Input[str] scim_client: Specifies the client type for the scim integration. Valid options are: `OKTA` | `AZURE` | `GENERIC`.
154
+ :param pulumi.Input[Sequence[pulumi.Input['ScimIntegrationShowOutputArgs']]] show_outputs: Outputs the result of `SHOW SECURITY INTEGRATIONS` for the given security integration.
155
+ :param pulumi.Input[str] sync_password: Specifies whether to enable or disable the synchronization of a user password from an Okta SCIM client as part of the API request to Snowflake. This property is not supported for Azure SCIM. 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.
156
+ """
157
+ if comment is not None:
158
+ pulumi.set(__self__, "comment", comment)
159
+ if describe_outputs is not None:
160
+ pulumi.set(__self__, "describe_outputs", describe_outputs)
161
+ if enabled is not None:
162
+ pulumi.set(__self__, "enabled", enabled)
102
163
  if name is not None:
103
164
  pulumi.set(__self__, "name", name)
104
165
  if network_policy is not None:
105
166
  pulumi.set(__self__, "network_policy", network_policy)
106
- if provisioner_role is not None:
107
- pulumi.set(__self__, "provisioner_role", provisioner_role)
167
+ if run_as_role is not None:
168
+ pulumi.set(__self__, "run_as_role", run_as_role)
108
169
  if scim_client is not None:
109
170
  pulumi.set(__self__, "scim_client", scim_client)
171
+ if show_outputs is not None:
172
+ pulumi.set(__self__, "show_outputs", show_outputs)
173
+ if sync_password is not None:
174
+ pulumi.set(__self__, "sync_password", sync_password)
175
+
176
+ @property
177
+ @pulumi.getter
178
+ def comment(self) -> Optional[pulumi.Input[str]]:
179
+ """
180
+ Specifies a comment for the integration.
181
+ """
182
+ return pulumi.get(self, "comment")
183
+
184
+ @comment.setter
185
+ def comment(self, value: Optional[pulumi.Input[str]]):
186
+ pulumi.set(self, "comment", value)
187
+
188
+ @property
189
+ @pulumi.getter(name="describeOutputs")
190
+ def describe_outputs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ScimIntegrationDescribeOutputArgs']]]]:
191
+ """
192
+ Outputs the result of `DESCRIBE SECURITY INTEGRATIONS` for the given security integration.
193
+ """
194
+ return pulumi.get(self, "describe_outputs")
195
+
196
+ @describe_outputs.setter
197
+ def describe_outputs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ScimIntegrationDescribeOutputArgs']]]]):
198
+ pulumi.set(self, "describe_outputs", value)
110
199
 
111
200
  @property
112
- @pulumi.getter(name="createdOn")
113
- def created_on(self) -> Optional[pulumi.Input[str]]:
201
+ @pulumi.getter
202
+ def enabled(self) -> Optional[pulumi.Input[bool]]:
114
203
  """
115
- Date and time when the SCIM integration was created.
204
+ Specify whether the security integration is enabled.
116
205
  """
117
- return pulumi.get(self, "created_on")
206
+ return pulumi.get(self, "enabled")
118
207
 
119
- @created_on.setter
120
- def created_on(self, value: Optional[pulumi.Input[str]]):
121
- pulumi.set(self, "created_on", value)
208
+ @enabled.setter
209
+ def enabled(self, value: Optional[pulumi.Input[bool]]):
210
+ pulumi.set(self, "enabled", value)
122
211
 
123
212
  @property
124
213
  @pulumi.getter
125
214
  def name(self) -> Optional[pulumi.Input[str]]:
126
215
  """
127
- Specifies the name of the SCIM integration. This name follows the rules for Object Identifiers. The name should be unique among security integrations in your account.
216
+ String that specifies the identifier (i.e. name) for the integration; must be unique in your account.
128
217
  """
129
218
  return pulumi.get(self, "name")
130
219
 
@@ -136,7 +225,7 @@ class _ScimIntegrationState:
136
225
  @pulumi.getter(name="networkPolicy")
137
226
  def network_policy(self) -> Optional[pulumi.Input[str]]:
138
227
  """
139
- Specifies an existing network policy active for your account. The network policy restricts the list of user IP addresses when exchanging an authorization code for an access or refresh token and when using a refresh token to obtain a new access token. If this parameter is not set, the network policy for the account (if any) is used instead.
228
+ Specifies an existing network policy that controls SCIM network traffic.
140
229
  """
141
230
  return pulumi.get(self, "network_policy")
142
231
 
@@ -145,22 +234,22 @@ class _ScimIntegrationState:
145
234
  pulumi.set(self, "network_policy", value)
146
235
 
147
236
  @property
148
- @pulumi.getter(name="provisionerRole")
149
- def provisioner_role(self) -> Optional[pulumi.Input[str]]:
237
+ @pulumi.getter(name="runAsRole")
238
+ def run_as_role(self) -> Optional[pulumi.Input[str]]:
150
239
  """
151
- Specify the SCIM role in Snowflake that owns any users and roles that are imported from the identity provider into Snowflake using SCIM.
240
+ Specify the SCIM role in Snowflake that owns any users and roles that are imported from the identity provider into Snowflake using SCIM. Provider assumes that the specified role is already provided. Valid options are: `OKTA_PROVISIONER` | `AAD_PROVISIONER` | `GENERIC_SCIM_PROVISIONER`.
152
241
  """
153
- return pulumi.get(self, "provisioner_role")
242
+ return pulumi.get(self, "run_as_role")
154
243
 
155
- @provisioner_role.setter
156
- def provisioner_role(self, value: Optional[pulumi.Input[str]]):
157
- pulumi.set(self, "provisioner_role", value)
244
+ @run_as_role.setter
245
+ def run_as_role(self, value: Optional[pulumi.Input[str]]):
246
+ pulumi.set(self, "run_as_role", value)
158
247
 
159
248
  @property
160
249
  @pulumi.getter(name="scimClient")
161
250
  def scim_client(self) -> Optional[pulumi.Input[str]]:
162
251
  """
163
- Specifies the client type for the scim integration
252
+ Specifies the client type for the scim integration. Valid options are: `OKTA` | `AZURE` | `GENERIC`.
164
253
  """
165
254
  return pulumi.get(self, "scim_client")
166
255
 
@@ -168,43 +257,64 @@ class _ScimIntegrationState:
168
257
  def scim_client(self, value: Optional[pulumi.Input[str]]):
169
258
  pulumi.set(self, "scim_client", value)
170
259
 
260
+ @property
261
+ @pulumi.getter(name="showOutputs")
262
+ def show_outputs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ScimIntegrationShowOutputArgs']]]]:
263
+ """
264
+ Outputs the result of `SHOW SECURITY INTEGRATIONS` for the given security integration.
265
+ """
266
+ return pulumi.get(self, "show_outputs")
267
+
268
+ @show_outputs.setter
269
+ def show_outputs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ScimIntegrationShowOutputArgs']]]]):
270
+ pulumi.set(self, "show_outputs", value)
271
+
272
+ @property
273
+ @pulumi.getter(name="syncPassword")
274
+ def sync_password(self) -> Optional[pulumi.Input[str]]:
275
+ """
276
+ Specifies whether to enable or disable the synchronization of a user password from an Okta SCIM client as part of the API request to Snowflake. This property is not supported for Azure SCIM. 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.
277
+ """
278
+ return pulumi.get(self, "sync_password")
279
+
280
+ @sync_password.setter
281
+ def sync_password(self, value: Optional[pulumi.Input[str]]):
282
+ pulumi.set(self, "sync_password", value)
283
+
171
284
 
172
285
  class ScimIntegration(pulumi.CustomResource):
173
286
  @overload
174
287
  def __init__(__self__,
175
288
  resource_name: str,
176
289
  opts: Optional[pulumi.ResourceOptions] = None,
290
+ comment: Optional[pulumi.Input[str]] = None,
291
+ enabled: Optional[pulumi.Input[bool]] = None,
177
292
  name: Optional[pulumi.Input[str]] = None,
178
293
  network_policy: Optional[pulumi.Input[str]] = None,
179
- provisioner_role: Optional[pulumi.Input[str]] = None,
294
+ run_as_role: Optional[pulumi.Input[str]] = None,
180
295
  scim_client: Optional[pulumi.Input[str]] = None,
296
+ sync_password: Optional[pulumi.Input[str]] = None,
181
297
  __props__=None):
182
298
  """
183
- ## Example Usage
299
+ !> **V1 release candidate** This resource was reworked and is a release candidate for the V1. We do not expect significant changes in it before the V1. We will welcome any feedback and adjust the resource if needed. Any errors reported will be resolved with a higher priority. We encourage checking this resource out before the V1 release. Please follow the migration guide to use it.
184
300
 
185
- ```python
186
- import pulumi
187
- import pulumi_snowflake as snowflake
188
-
189
- aad = snowflake.ScimIntegration("aad",
190
- name="AAD_PROVISIONING",
191
- network_policy="AAD_NETWORK_POLICY",
192
- provisioner_role="AAD_PROVISIONER",
193
- scim_client="AZURE")
194
- ```
301
+ Resource used to manage scim security integration objects. For more information, check [security integrations documentation](https://docs.snowflake.com/en/sql-reference/sql/create-security-integration-scim).
195
302
 
196
303
  ## Import
197
304
 
198
305
  ```sh
199
- $ pulumi import snowflake:index/scimIntegration:ScimIntegration example name
306
+ $ pulumi import snowflake:index/scimIntegration:ScimIntegration example "name"
200
307
  ```
201
308
 
202
309
  :param str resource_name: The name of the resource.
203
310
  :param pulumi.ResourceOptions opts: Options for the resource.
204
- :param pulumi.Input[str] name: Specifies the name of the SCIM integration. This name follows the rules for Object Identifiers. The name should be unique among security integrations in your account.
205
- :param pulumi.Input[str] network_policy: Specifies an existing network policy active for your account. The network policy restricts the list of user IP addresses when exchanging an authorization code for an access or refresh token and when using a refresh token to obtain a new access token. If this parameter is not set, the network policy for the account (if any) is used instead.
206
- :param pulumi.Input[str] provisioner_role: Specify the SCIM role in Snowflake that owns any users and roles that are imported from the identity provider into Snowflake using SCIM.
207
- :param pulumi.Input[str] scim_client: Specifies the client type for the scim integration
311
+ :param pulumi.Input[str] comment: Specifies a comment for the integration.
312
+ :param pulumi.Input[bool] enabled: Specify whether the security integration is enabled.
313
+ :param pulumi.Input[str] name: String that specifies the identifier (i.e. name) for the integration; must be unique in your account.
314
+ :param pulumi.Input[str] network_policy: Specifies an existing network policy that controls SCIM network traffic.
315
+ :param pulumi.Input[str] run_as_role: Specify the SCIM role in Snowflake that owns any users and roles that are imported from the identity provider into Snowflake using SCIM. Provider assumes that the specified role is already provided. Valid options are: `OKTA_PROVISIONER` | `AAD_PROVISIONER` | `GENERIC_SCIM_PROVISIONER`.
316
+ :param pulumi.Input[str] scim_client: Specifies the client type for the scim integration. Valid options are: `OKTA` | `AZURE` | `GENERIC`.
317
+ :param pulumi.Input[str] sync_password: Specifies whether to enable or disable the synchronization of a user password from an Okta SCIM client as part of the API request to Snowflake. This property is not supported for Azure SCIM. 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.
208
318
  """
209
319
  ...
210
320
  @overload
@@ -213,23 +323,14 @@ class ScimIntegration(pulumi.CustomResource):
213
323
  args: ScimIntegrationArgs,
214
324
  opts: Optional[pulumi.ResourceOptions] = None):
215
325
  """
216
- ## Example Usage
326
+ !> **V1 release candidate** This resource was reworked and is a release candidate for the V1. We do not expect significant changes in it before the V1. We will welcome any feedback and adjust the resource if needed. Any errors reported will be resolved with a higher priority. We encourage checking this resource out before the V1 release. Please follow the migration guide to use it.
217
327
 
218
- ```python
219
- import pulumi
220
- import pulumi_snowflake as snowflake
221
-
222
- aad = snowflake.ScimIntegration("aad",
223
- name="AAD_PROVISIONING",
224
- network_policy="AAD_NETWORK_POLICY",
225
- provisioner_role="AAD_PROVISIONER",
226
- scim_client="AZURE")
227
- ```
328
+ Resource used to manage scim security integration objects. For more information, check [security integrations documentation](https://docs.snowflake.com/en/sql-reference/sql/create-security-integration-scim).
228
329
 
229
330
  ## Import
230
331
 
231
332
  ```sh
232
- $ pulumi import snowflake:index/scimIntegration:ScimIntegration example name
333
+ $ pulumi import snowflake:index/scimIntegration:ScimIntegration example "name"
233
334
  ```
234
335
 
235
336
  :param str resource_name: The name of the resource.
@@ -247,10 +348,13 @@ class ScimIntegration(pulumi.CustomResource):
247
348
  def _internal_init(__self__,
248
349
  resource_name: str,
249
350
  opts: Optional[pulumi.ResourceOptions] = None,
351
+ comment: Optional[pulumi.Input[str]] = None,
352
+ enabled: Optional[pulumi.Input[bool]] = None,
250
353
  name: Optional[pulumi.Input[str]] = None,
251
354
  network_policy: Optional[pulumi.Input[str]] = None,
252
- provisioner_role: Optional[pulumi.Input[str]] = None,
355
+ run_as_role: Optional[pulumi.Input[str]] = None,
253
356
  scim_client: Optional[pulumi.Input[str]] = None,
357
+ sync_password: Optional[pulumi.Input[str]] = None,
254
358
  __props__=None):
255
359
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
256
360
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -260,15 +364,21 @@ class ScimIntegration(pulumi.CustomResource):
260
364
  raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
261
365
  __props__ = ScimIntegrationArgs.__new__(ScimIntegrationArgs)
262
366
 
367
+ __props__.__dict__["comment"] = comment
368
+ if enabled is None and not opts.urn:
369
+ raise TypeError("Missing required property 'enabled'")
370
+ __props__.__dict__["enabled"] = enabled
263
371
  __props__.__dict__["name"] = name
264
372
  __props__.__dict__["network_policy"] = network_policy
265
- if provisioner_role is None and not opts.urn:
266
- raise TypeError("Missing required property 'provisioner_role'")
267
- __props__.__dict__["provisioner_role"] = provisioner_role
373
+ if run_as_role is None and not opts.urn:
374
+ raise TypeError("Missing required property 'run_as_role'")
375
+ __props__.__dict__["run_as_role"] = run_as_role
268
376
  if scim_client is None and not opts.urn:
269
377
  raise TypeError("Missing required property 'scim_client'")
270
378
  __props__.__dict__["scim_client"] = scim_client
271
- __props__.__dict__["created_on"] = None
379
+ __props__.__dict__["sync_password"] = sync_password
380
+ __props__.__dict__["describe_outputs"] = None
381
+ __props__.__dict__["show_outputs"] = None
272
382
  super(ScimIntegration, __self__).__init__(
273
383
  'snowflake:index/scimIntegration:ScimIntegration',
274
384
  resource_name,
@@ -279,11 +389,15 @@ class ScimIntegration(pulumi.CustomResource):
279
389
  def get(resource_name: str,
280
390
  id: pulumi.Input[str],
281
391
  opts: Optional[pulumi.ResourceOptions] = None,
282
- created_on: Optional[pulumi.Input[str]] = None,
392
+ comment: Optional[pulumi.Input[str]] = None,
393
+ describe_outputs: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ScimIntegrationDescribeOutputArgs']]]]] = None,
394
+ enabled: Optional[pulumi.Input[bool]] = None,
283
395
  name: Optional[pulumi.Input[str]] = None,
284
396
  network_policy: Optional[pulumi.Input[str]] = None,
285
- provisioner_role: Optional[pulumi.Input[str]] = None,
286
- scim_client: Optional[pulumi.Input[str]] = None) -> 'ScimIntegration':
397
+ run_as_role: Optional[pulumi.Input[str]] = None,
398
+ scim_client: Optional[pulumi.Input[str]] = None,
399
+ show_outputs: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ScimIntegrationShowOutputArgs']]]]] = None,
400
+ sync_password: Optional[pulumi.Input[str]] = None) -> 'ScimIntegration':
287
401
  """
288
402
  Get an existing ScimIntegration resource's state with the given name, id, and optional extra
289
403
  properties used to qualify the lookup.
@@ -291,36 +405,60 @@ class ScimIntegration(pulumi.CustomResource):
291
405
  :param str resource_name: The unique name of the resulting resource.
292
406
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
293
407
  :param pulumi.ResourceOptions opts: Options for the resource.
294
- :param pulumi.Input[str] created_on: Date and time when the SCIM integration was created.
295
- :param pulumi.Input[str] name: Specifies the name of the SCIM integration. This name follows the rules for Object Identifiers. The name should be unique among security integrations in your account.
296
- :param pulumi.Input[str] network_policy: Specifies an existing network policy active for your account. The network policy restricts the list of user IP addresses when exchanging an authorization code for an access or refresh token and when using a refresh token to obtain a new access token. If this parameter is not set, the network policy for the account (if any) is used instead.
297
- :param pulumi.Input[str] provisioner_role: Specify the SCIM role in Snowflake that owns any users and roles that are imported from the identity provider into Snowflake using SCIM.
298
- :param pulumi.Input[str] scim_client: Specifies the client type for the scim integration
408
+ :param pulumi.Input[str] comment: Specifies a comment for the integration.
409
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ScimIntegrationDescribeOutputArgs']]]] describe_outputs: Outputs the result of `DESCRIBE SECURITY INTEGRATIONS` for the given security integration.
410
+ :param pulumi.Input[bool] enabled: Specify whether the security integration is enabled.
411
+ :param pulumi.Input[str] name: String that specifies the identifier (i.e. name) for the integration; must be unique in your account.
412
+ :param pulumi.Input[str] network_policy: Specifies an existing network policy that controls SCIM network traffic.
413
+ :param pulumi.Input[str] run_as_role: Specify the SCIM role in Snowflake that owns any users and roles that are imported from the identity provider into Snowflake using SCIM. Provider assumes that the specified role is already provided. Valid options are: `OKTA_PROVISIONER` | `AAD_PROVISIONER` | `GENERIC_SCIM_PROVISIONER`.
414
+ :param pulumi.Input[str] scim_client: Specifies the client type for the scim integration. Valid options are: `OKTA` | `AZURE` | `GENERIC`.
415
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ScimIntegrationShowOutputArgs']]]] show_outputs: Outputs the result of `SHOW SECURITY INTEGRATIONS` for the given security integration.
416
+ :param pulumi.Input[str] sync_password: Specifies whether to enable or disable the synchronization of a user password from an Okta SCIM client as part of the API request to Snowflake. This property is not supported for Azure SCIM. 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.
299
417
  """
300
418
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
301
419
 
302
420
  __props__ = _ScimIntegrationState.__new__(_ScimIntegrationState)
303
421
 
304
- __props__.__dict__["created_on"] = created_on
422
+ __props__.__dict__["comment"] = comment
423
+ __props__.__dict__["describe_outputs"] = describe_outputs
424
+ __props__.__dict__["enabled"] = enabled
305
425
  __props__.__dict__["name"] = name
306
426
  __props__.__dict__["network_policy"] = network_policy
307
- __props__.__dict__["provisioner_role"] = provisioner_role
427
+ __props__.__dict__["run_as_role"] = run_as_role
308
428
  __props__.__dict__["scim_client"] = scim_client
429
+ __props__.__dict__["show_outputs"] = show_outputs
430
+ __props__.__dict__["sync_password"] = sync_password
309
431
  return ScimIntegration(resource_name, opts=opts, __props__=__props__)
310
432
 
311
433
  @property
312
- @pulumi.getter(name="createdOn")
313
- def created_on(self) -> pulumi.Output[str]:
434
+ @pulumi.getter
435
+ def comment(self) -> pulumi.Output[Optional[str]]:
436
+ """
437
+ Specifies a comment for the integration.
438
+ """
439
+ return pulumi.get(self, "comment")
440
+
441
+ @property
442
+ @pulumi.getter(name="describeOutputs")
443
+ def describe_outputs(self) -> pulumi.Output[Sequence['outputs.ScimIntegrationDescribeOutput']]:
444
+ """
445
+ Outputs the result of `DESCRIBE SECURITY INTEGRATIONS` for the given security integration.
446
+ """
447
+ return pulumi.get(self, "describe_outputs")
448
+
449
+ @property
450
+ @pulumi.getter
451
+ def enabled(self) -> pulumi.Output[bool]:
314
452
  """
315
- Date and time when the SCIM integration was created.
453
+ Specify whether the security integration is enabled.
316
454
  """
317
- return pulumi.get(self, "created_on")
455
+ return pulumi.get(self, "enabled")
318
456
 
319
457
  @property
320
458
  @pulumi.getter
321
459
  def name(self) -> pulumi.Output[str]:
322
460
  """
323
- Specifies the name of the SCIM integration. This name follows the rules for Object Identifiers. The name should be unique among security integrations in your account.
461
+ String that specifies the identifier (i.e. name) for the integration; must be unique in your account.
324
462
  """
325
463
  return pulumi.get(self, "name")
326
464
 
@@ -328,23 +466,39 @@ class ScimIntegration(pulumi.CustomResource):
328
466
  @pulumi.getter(name="networkPolicy")
329
467
  def network_policy(self) -> pulumi.Output[Optional[str]]:
330
468
  """
331
- Specifies an existing network policy active for your account. The network policy restricts the list of user IP addresses when exchanging an authorization code for an access or refresh token and when using a refresh token to obtain a new access token. If this parameter is not set, the network policy for the account (if any) is used instead.
469
+ Specifies an existing network policy that controls SCIM network traffic.
332
470
  """
333
471
  return pulumi.get(self, "network_policy")
334
472
 
335
473
  @property
336
- @pulumi.getter(name="provisionerRole")
337
- def provisioner_role(self) -> pulumi.Output[str]:
474
+ @pulumi.getter(name="runAsRole")
475
+ def run_as_role(self) -> pulumi.Output[str]:
338
476
  """
339
- Specify the SCIM role in Snowflake that owns any users and roles that are imported from the identity provider into Snowflake using SCIM.
477
+ Specify the SCIM role in Snowflake that owns any users and roles that are imported from the identity provider into Snowflake using SCIM. Provider assumes that the specified role is already provided. Valid options are: `OKTA_PROVISIONER` | `AAD_PROVISIONER` | `GENERIC_SCIM_PROVISIONER`.
340
478
  """
341
- return pulumi.get(self, "provisioner_role")
479
+ return pulumi.get(self, "run_as_role")
342
480
 
343
481
  @property
344
482
  @pulumi.getter(name="scimClient")
345
483
  def scim_client(self) -> pulumi.Output[str]:
346
484
  """
347
- Specifies the client type for the scim integration
485
+ Specifies the client type for the scim integration. Valid options are: `OKTA` | `AZURE` | `GENERIC`.
348
486
  """
349
487
  return pulumi.get(self, "scim_client")
350
488
 
489
+ @property
490
+ @pulumi.getter(name="showOutputs")
491
+ def show_outputs(self) -> pulumi.Output[Sequence['outputs.ScimIntegrationShowOutput']]:
492
+ """
493
+ Outputs the result of `SHOW SECURITY INTEGRATIONS` for the given security integration.
494
+ """
495
+ return pulumi.get(self, "show_outputs")
496
+
497
+ @property
498
+ @pulumi.getter(name="syncPassword")
499
+ def sync_password(self) -> pulumi.Output[Optional[str]]:
500
+ """
501
+ Specifies whether to enable or disable the synchronization of a user password from an Okta SCIM client as part of the API request to Snowflake. This property is not supported for Azure SCIM. 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.
502
+ """
503
+ return pulumi.get(self, "sync_password")
504
+