@pulumi/snowflake 0.56.0-alpha.1721327760 → 0.56.0

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 (160) hide show
  1. package/apiAuthenticationIntegrationWithAuthorizationCodeGrant.d.ts +195 -0
  2. package/apiAuthenticationIntegrationWithAuthorizationCodeGrant.js +91 -0
  3. package/apiAuthenticationIntegrationWithAuthorizationCodeGrant.js.map +1 -0
  4. package/apiAuthenticationIntegrationWithClientCredentials.d.ts +183 -0
  5. package/apiAuthenticationIntegrationWithClientCredentials.js +89 -0
  6. package/apiAuthenticationIntegrationWithClientCredentials.js.map +1 -0
  7. package/apiAuthenticationIntegrationWithJwtBearer.d.ts +186 -0
  8. package/apiAuthenticationIntegrationWithJwtBearer.js +94 -0
  9. package/apiAuthenticationIntegrationWithJwtBearer.js.map +1 -0
  10. package/cortexSearchService.d.ts +159 -0
  11. package/cortexSearchService.js +92 -0
  12. package/cortexSearchService.js.map +1 -0
  13. package/database.d.ts +240 -77
  14. package/database.js +94 -45
  15. package/database.js.map +1 -1
  16. package/databaseOld.d.ts +187 -0
  17. package/databaseOld.js +110 -0
  18. package/databaseOld.js.map +1 -0
  19. package/externalOauthIntegration.d.ts +118 -116
  20. package/externalOauthIntegration.js +43 -55
  21. package/externalOauthIntegration.js.map +1 -1
  22. package/failoverGroup.d.ts +1 -1
  23. package/failoverGroup.js +1 -1
  24. package/getCortexSearchServices.d.ts +136 -0
  25. package/getCortexSearchServices.js +83 -0
  26. package/getCortexSearchServices.js.map +1 -0
  27. package/getDatabases.d.ts +41 -38
  28. package/getDatabases.js +8 -17
  29. package/getDatabases.js.map +1 -1
  30. package/getSecurityIntegrations.d.ts +61 -0
  31. package/getSecurityIntegrations.js +31 -0
  32. package/getSecurityIntegrations.js.map +1 -0
  33. package/getWarehouses.d.ts +53 -17
  34. package/getWarehouses.js +13 -18
  35. package/getWarehouses.js.map +1 -1
  36. package/grantPrivilegesToDatabaseRole.d.ts +0 -2
  37. package/grantPrivilegesToDatabaseRole.js +0 -2
  38. package/grantPrivilegesToDatabaseRole.js.map +1 -1
  39. package/index.d.ts +37 -82
  40. package/index.js +60 -139
  41. package/index.js.map +1 -1
  42. package/managedAccount.d.ts +3 -3
  43. package/oauthIntegration.d.ts +2 -0
  44. package/oauthIntegration.js +2 -0
  45. package/oauthIntegration.js.map +1 -1
  46. package/oauthIntegrationForCustomClients.d.ts +274 -0
  47. package/oauthIntegrationForCustomClients.js +148 -0
  48. package/oauthIntegrationForCustomClients.js.map +1 -0
  49. package/oauthIntegrationForPartnerApplications.d.ts +162 -0
  50. package/oauthIntegrationForPartnerApplications.js +84 -0
  51. package/oauthIntegrationForPartnerApplications.js.map +1 -0
  52. package/package.json +2 -2
  53. package/saml2Integration.d.ts +267 -0
  54. package/saml2Integration.js +106 -0
  55. package/saml2Integration.js.map +1 -0
  56. package/samlIntegration.d.ts +2 -0
  57. package/samlIntegration.js +2 -0
  58. package/samlIntegration.js.map +1 -1
  59. package/scimIntegration.d.ts +67 -33
  60. package/scimIntegration.js +19 -20
  61. package/scimIntegration.js.map +1 -1
  62. package/secondaryDatabase.d.ts +289 -0
  63. package/secondaryDatabase.js +103 -0
  64. package/secondaryDatabase.js.map +1 -0
  65. package/sequence.d.ts +3 -3
  66. package/sequence.js +3 -3
  67. package/sharedDatabase.d.ts +251 -0
  68. package/sharedDatabase.js +95 -0
  69. package/sharedDatabase.js.map +1 -0
  70. package/tagAssociation.d.ts +19 -19
  71. package/tagAssociation.js +19 -19
  72. package/types/input.d.ts +1015 -75
  73. package/types/output.d.ts +1835 -280
  74. package/userPasswordPolicyAttachment.d.ts +18 -0
  75. package/userPasswordPolicyAttachment.js +18 -0
  76. package/userPasswordPolicyAttachment.js.map +1 -1
  77. package/warehouse.d.ts +61 -48
  78. package/warehouse.js +8 -2
  79. package/warehouse.js.map +1 -1
  80. package/accountGrant.d.ts +0 -102
  81. package/accountGrant.js +0 -82
  82. package/accountGrant.js.map +0 -1
  83. package/databaseGrant.d.ts +0 -143
  84. package/databaseGrant.js +0 -96
  85. package/databaseGrant.js.map +0 -1
  86. package/externalTableGrant.d.ts +0 -194
  87. package/externalTableGrant.js +0 -110
  88. package/externalTableGrant.js.map +0 -1
  89. package/failoverGroupGrant.d.ts +0 -102
  90. package/failoverGroupGrant.js +0 -65
  91. package/failoverGroupGrant.js.map +0 -1
  92. package/fileFormatGrant.d.ts +0 -178
  93. package/fileFormatGrant.js +0 -104
  94. package/fileFormatGrant.js.map +0 -1
  95. package/functionGrant.d.ts +0 -210
  96. package/functionGrant.js +0 -116
  97. package/functionGrant.js.map +0 -1
  98. package/grantPrivilegesToRole.d.ts +0 -323
  99. package/grantPrivilegesToRole.js +0 -255
  100. package/grantPrivilegesToRole.js.map +0 -1
  101. package/integrationGrant.d.ts +0 -127
  102. package/integrationGrant.js +0 -90
  103. package/integrationGrant.js.map +0 -1
  104. package/maskingPolicyGrant.d.ts +0 -154
  105. package/maskingPolicyGrant.js +0 -103
  106. package/maskingPolicyGrant.js.map +0 -1
  107. package/materializedViewGrant.d.ts +0 -194
  108. package/materializedViewGrant.js +0 -107
  109. package/materializedViewGrant.js.map +0 -1
  110. package/pipeGrant.d.ts +0 -166
  111. package/pipeGrant.js +0 -99
  112. package/pipeGrant.js.map +0 -1
  113. package/procedureGrant.d.ts +0 -210
  114. package/procedureGrant.js +0 -116
  115. package/procedureGrant.js.map +0 -1
  116. package/resourceMonitorGrant.d.ts +0 -112
  117. package/resourceMonitorGrant.js +0 -85
  118. package/resourceMonitorGrant.js.map +0 -1
  119. package/roleGrants.d.ts +0 -115
  120. package/roleGrants.js +0 -98
  121. package/roleGrants.js.map +0 -1
  122. package/roleOwnershipGrant.d.ts +0 -108
  123. package/roleOwnershipGrant.js +0 -94
  124. package/roleOwnershipGrant.js.map +0 -1
  125. package/rowAccessPolicyGrant.d.ts +0 -153
  126. package/rowAccessPolicyGrant.js +0 -102
  127. package/rowAccessPolicyGrant.js.map +0 -1
  128. package/schemaGrant.d.ts +0 -172
  129. package/schemaGrant.js +0 -104
  130. package/schemaGrant.js.map +0 -1
  131. package/sequenceGrant.d.ts +0 -178
  132. package/sequenceGrant.js +0 -104
  133. package/sequenceGrant.js.map +0 -1
  134. package/stageGrant.d.ts +0 -178
  135. package/stageGrant.js +0 -104
  136. package/stageGrant.js.map +0 -1
  137. package/streamGrant.d.ts +0 -178
  138. package/streamGrant.js +0 -104
  139. package/streamGrant.js.map +0 -1
  140. package/tableGrant.d.ts +0 -188
  141. package/tableGrant.js +0 -101
  142. package/tableGrant.js.map +0 -1
  143. package/tagGrant.d.ts +0 -149
  144. package/tagGrant.js +0 -98
  145. package/tagGrant.js.map +0 -1
  146. package/taskGrant.d.ts +0 -178
  147. package/taskGrant.js +0 -104
  148. package/taskGrant.js.map +0 -1
  149. package/userGrant.d.ts +0 -115
  150. package/userGrant.js +0 -91
  151. package/userGrant.js.map +0 -1
  152. package/userOwnershipGrant.d.ts +0 -78
  153. package/userOwnershipGrant.js +0 -64
  154. package/userOwnershipGrant.js.map +0 -1
  155. package/viewGrant.d.ts +0 -205
  156. package/viewGrant.js +0 -118
  157. package/viewGrant.js.map +0 -1
  158. package/warehouseGrant.d.ts +0 -127
  159. package/warehouseGrant.js +0 -90
  160. package/warehouseGrant.js.map +0 -1
package/database.d.ts CHANGED
@@ -2,49 +2,74 @@ import * as pulumi from "@pulumi/pulumi";
2
2
  import * as inputs from "./types/input";
3
3
  import * as outputs from "./types/output";
4
4
  /**
5
- * ## Example Usage
5
+ * !> **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.
6
6
  *
7
- * ```typescript
8
- * import * as pulumi from "@pulumi/pulumi";
9
- * import * as snowflake from "@pulumi/snowflake";
7
+ * Represents a standard database. If replication configuration is specified, the database is promoted to serve as a primary database for replication.
10
8
  *
11
- * const simple = new snowflake.Database("simple", {
12
- * name: "testing",
13
- * comment: "test comment",
14
- * dataRetentionTimeInDays: 3,
15
- * });
16
- * const withReplication = new snowflake.Database("with_replication", {
17
- * name: "testing_2",
18
- * comment: "test comment 2",
19
- * replicationConfiguration: {
20
- * accounts: [
21
- * "test_account1",
22
- * "test_account_2",
23
- * ],
24
- * ignoreEditionCheck: true,
9
+ * ## Minimal
10
+ *
11
+ * resource "snowflake.Database" "primary" {
12
+ * name = "databaseName"
13
+ * }
14
+ *
15
+ * ## Complete (with every optional set)
16
+ *
17
+ * resource "snowflake.Database" "primary" {
18
+ * name = "databaseName"
19
+ * isTransient = false
20
+ * comment = "my standard database"
21
+ *
22
+ * dataRetentionTimeInDays = 10
23
+ * dataRetentionTimeInDaysSave = 10
24
+ * maxDataExtensionTimeInDays = 20
25
+ * externalVolume = "<external_volume_name>"
26
+ * catalog = "<catalog_name>"
27
+ * replaceInvalidCharacters = false
28
+ * defaultDdlCollation = "en_US"
29
+ * storageSerializationPolicy = "COMPATIBLE"
30
+ * logLevel = "INFO"
31
+ * traceLevel = "ALWAYS"
32
+ * suspendTaskAfterNumFailures = 10
33
+ * taskAutoRetryAttempts = 10
34
+ * userTaskManagedInitialWarehouseSize = "LARGE"
35
+ * userTaskTimeoutMs = 3600000
36
+ * userTaskMinimumTriggerIntervalInSeconds = 120
37
+ * quotedIdentifiersIgnoreCase = false
38
+ * enableConsoleOutput = false
39
+ *
40
+ * replication {
41
+ * enableToAccount {
42
+ * accountIdentifier = "<secondary_account_organization_name>.<secondary_account_name>"
43
+ * withFailover = true
44
+ * }
45
+ * ignoreEditionCheck = true
46
+ * }
47
+ * }
48
+ *
49
+ * ## Replication with forEach
50
+ *
51
+ * locals {
52
+ * replicationConfigs = [
53
+ * {
54
+ * accountIdentifier = "<secondary_account_organization_name>.<secondary_account_name>"
55
+ * withFailover = true
25
56
  * },
26
- * });
27
- * const fromReplica = new snowflake.Database("from_replica", {
28
- * name: "testing_3",
29
- * comment: "test comment",
30
- * dataRetentionTimeInDays: 3,
31
- * fromReplica: "\"org1\".\"account1\".\"primary_db_name\"",
32
- * });
33
- * const fromShare = new snowflake.Database("from_share", {
34
- * name: "testing_4",
35
- * comment: "test comment",
36
- * fromShare: {
37
- * provider: "account1_locator",
38
- * share: "share1",
57
+ * {
58
+ * accountIdentifier = "<secondary_account_organization_name>.<secondary_account_name>"
59
+ * withFailover = true
39
60
  * },
40
- * });
41
- * ```
61
+ * ]
62
+ * }
42
63
  *
43
- * ## Import
64
+ * resource "snowflake.Database" "primary" {
65
+ * name = "databaseName"
66
+ * forEach = local.replication_configs
44
67
  *
45
- * ```sh
46
- * $ pulumi import snowflake:index/database:Database example name
47
- * ```
68
+ * replication {
69
+ * enableToAccount = each.value
70
+ * ignoreEditionCheck = true
71
+ * }
72
+ * }
48
73
  */
49
74
  export declare class Database extends pulumi.CustomResource {
50
75
  /**
@@ -62,40 +87,86 @@ export declare class Database extends pulumi.CustomResource {
62
87
  * when multiple copies of the Pulumi SDK have been loaded into the same process.
63
88
  */
64
89
  static isInstance(obj: any): obj is Database;
90
+ /**
91
+ * The database parameter that specifies the default catalog to use for Iceberg tables.
92
+ */
93
+ readonly catalog: pulumi.Output<string>;
65
94
  /**
66
95
  * Specifies a comment for the database.
67
96
  */
68
97
  readonly comment: pulumi.Output<string | undefined>;
69
98
  /**
70
- * Number of days for which Snowflake retains historical data for performing Time Travel actions (SELECT, CLONE, UNDROP) on the object. A value of 0 effectively disables Time Travel for the specified database. Default value for this field is set to -1, which is a fallback to use Snowflake default. For more information, see [Understanding & Using Time Travel](https://docs.snowflake.com/en/user-guide/data-time-travel).
99
+ * Specifies the number of days for which Time Travel actions (CLONE and UNDROP) can be performed on the database, as well as specifying the default Time Travel retention time for all schemas created in the database. For more details, see [Understanding & Using Time Travel](https://docs.snowflake.com/en/user-guide/data-time-travel).
71
100
  */
72
- readonly dataRetentionTimeInDays: pulumi.Output<number | undefined>;
101
+ readonly dataRetentionTimeInDays: pulumi.Output<number>;
73
102
  /**
74
- * Specify a database to create a clone from.
103
+ * Specifies a default collation specification for all schemas and tables added to the database. It can be overridden on schema or table level. For more information, see [collation specification](https://docs.snowflake.com/en/sql-reference/collation#label-collation-specification).
75
104
  */
76
- readonly fromDatabase: pulumi.Output<string | undefined>;
105
+ readonly defaultDdlCollation: pulumi.Output<string>;
77
106
  /**
78
- * Specify a fully-qualified path to a database to create a replica from. A fully qualified path follows the format of `"<organization_name>"."<account_name>"."<db_name>"`. An example would be: `"myorg1"."account1"."db1"`
107
+ * If true, enables stdout/stderr fast path logging for anonymous stored procedures.
79
108
  */
80
- readonly fromReplica: pulumi.Output<string | undefined>;
109
+ readonly enableConsoleOutput: pulumi.Output<boolean>;
81
110
  /**
82
- * Specify a provider and a share in this map to create a database from a share. As of version 0.87.0, the provider field is the account locator.
111
+ * The database parameter that specifies the default external volume to use for Iceberg tables.
83
112
  */
84
- readonly fromShare: pulumi.Output<{
85
- [key: string]: string;
86
- } | undefined>;
113
+ readonly externalVolume: pulumi.Output<string>;
87
114
  /**
88
- * Specifies a database as transient. Transient databases do not have a Fail-safe period so they do not incur additional storage costs once they leave Time Travel; however, this means they are also not protected by Fail-safe in the event of a data loss.
115
+ * Specifies the database as transient. Transient databases do not have a Fail-safe period so they do not incur additional storage costs once they leave Time Travel; however, this means they are also not protected by Fail-safe in the event of a data loss.
89
116
  */
90
117
  readonly isTransient: pulumi.Output<boolean | undefined>;
91
118
  /**
92
- * Specifies the identifier for the database; must be unique for your account.
119
+ * Specifies the severity level of messages that should be ingested and made available in the active event table. Valid options are: [TRACE DEBUG INFO WARN ERROR FATAL OFF]. Messages at the specified level (and at more severe levels) are ingested. For more information, see [LOG_LEVEL](https://docs.snowflake.com/en/sql-reference/parameters.html#label-log-level).
120
+ */
121
+ readonly logLevel: pulumi.Output<string>;
122
+ /**
123
+ * Object parameter that specifies the maximum number of days for which Snowflake can extend the data retention period for tables in the database to prevent streams on the tables from becoming stale. For a detailed description of this parameter, see [MAX*DATA*EXTENSION*TIME*IN_DAYS](https://docs.snowflake.com/en/sql-reference/parameters.html#label-max-data-extension-time-in-days).
124
+ */
125
+ readonly maxDataExtensionTimeInDays: pulumi.Output<number>;
126
+ /**
127
+ * Specifies the identifier for the database; must be unique for your account. As a best practice for [Database Replication and Failover](https://docs.snowflake.com/en/user-guide/db-replication-intro), it is recommended to give each secondary database the same name as its primary database. This practice supports referencing fully-qualified objects (i.e. '\n\n.\n\n.\n\n') by other objects in the same database, such as querying a fully-qualified table name in a view. If a secondary database has a different name from the primary database, then these object references would break in the secondary database.
93
128
  */
94
129
  readonly name: pulumi.Output<string>;
95
130
  /**
96
- * When set, specifies the configurations for database replication.
131
+ * If true, the case of quoted identifiers is ignored.
132
+ */
133
+ readonly quotedIdentifiersIgnoreCase: pulumi.Output<boolean>;
134
+ /**
135
+ * Specifies whether to replace invalid UTF-8 characters with the Unicode replacement character (�) in query results for an Iceberg table. You can only set this parameter for tables that use an external Iceberg catalog.
136
+ */
137
+ readonly replaceInvalidCharacters: pulumi.Output<boolean>;
138
+ /**
139
+ * Configures replication for a given database. When specified, this database will be promoted to serve as a primary database for replication. A primary database can be replicated in one or more accounts, allowing users in those accounts to query objects in each secondary (i.e. replica) database.
140
+ */
141
+ readonly replication: pulumi.Output<outputs.DatabaseReplication | undefined>;
142
+ /**
143
+ * The storage serialization policy for Iceberg tables that use Snowflake as the catalog. Valid options are: [COMPATIBLE OPTIMIZED]. COMPATIBLE: Snowflake performs encoding and compression of data files that ensures interoperability with third-party compute engines. OPTIMIZED: Snowflake performs encoding and compression of data files that ensures the best table performance within Snowflake.
144
+ */
145
+ readonly storageSerializationPolicy: pulumi.Output<string>;
146
+ /**
147
+ * How many times a task must fail in a row before it is automatically suspended. 0 disables auto-suspending.
148
+ */
149
+ readonly suspendTaskAfterNumFailures: pulumi.Output<number>;
150
+ /**
151
+ * Maximum automatic retries allowed for a user task.
152
+ */
153
+ readonly taskAutoRetryAttempts: pulumi.Output<number>;
154
+ /**
155
+ * Controls how trace events are ingested into the event table. Valid options are: [ALWAYS ON*EVENT OFF]. For information about levels, see [TRACE*LEVEL](https://docs.snowflake.com/en/sql-reference/parameters.html#label-trace-level).
156
+ */
157
+ readonly traceLevel: pulumi.Output<string>;
158
+ /**
159
+ * The initial size of warehouse to use for managed warehouses in the absence of history.
160
+ */
161
+ readonly userTaskManagedInitialWarehouseSize: pulumi.Output<string>;
162
+ /**
163
+ * Minimum amount of time between Triggered Task executions in seconds.
164
+ */
165
+ readonly userTaskMinimumTriggerIntervalInSeconds: pulumi.Output<number>;
166
+ /**
167
+ * User task execution timeout in milliseconds.
97
168
  */
98
- readonly replicationConfiguration: pulumi.Output<outputs.DatabaseReplicationConfiguration | undefined>;
169
+ readonly userTaskTimeoutMs: pulumi.Output<number>;
99
170
  /**
100
171
  * Create a Database resource with the given unique name, arguments, and options.
101
172
  *
@@ -109,77 +180,169 @@ export declare class Database extends pulumi.CustomResource {
109
180
  * Input properties used for looking up and filtering Database resources.
110
181
  */
111
182
  export interface DatabaseState {
183
+ /**
184
+ * The database parameter that specifies the default catalog to use for Iceberg tables.
185
+ */
186
+ catalog?: pulumi.Input<string>;
112
187
  /**
113
188
  * Specifies a comment for the database.
114
189
  */
115
190
  comment?: pulumi.Input<string>;
116
191
  /**
117
- * Number of days for which Snowflake retains historical data for performing Time Travel actions (SELECT, CLONE, UNDROP) on the object. A value of 0 effectively disables Time Travel for the specified database. Default value for this field is set to -1, which is a fallback to use Snowflake default. For more information, see [Understanding & Using Time Travel](https://docs.snowflake.com/en/user-guide/data-time-travel).
192
+ * Specifies the number of days for which Time Travel actions (CLONE and UNDROP) can be performed on the database, as well as specifying the default Time Travel retention time for all schemas created in the database. For more details, see [Understanding & Using Time Travel](https://docs.snowflake.com/en/user-guide/data-time-travel).
118
193
  */
119
194
  dataRetentionTimeInDays?: pulumi.Input<number>;
120
195
  /**
121
- * Specify a database to create a clone from.
196
+ * Specifies a default collation specification for all schemas and tables added to the database. It can be overridden on schema or table level. For more information, see [collation specification](https://docs.snowflake.com/en/sql-reference/collation#label-collation-specification).
122
197
  */
123
- fromDatabase?: pulumi.Input<string>;
198
+ defaultDdlCollation?: pulumi.Input<string>;
124
199
  /**
125
- * Specify a fully-qualified path to a database to create a replica from. A fully qualified path follows the format of `"<organization_name>"."<account_name>"."<db_name>"`. An example would be: `"myorg1"."account1"."db1"`
200
+ * If true, enables stdout/stderr fast path logging for anonymous stored procedures.
126
201
  */
127
- fromReplica?: pulumi.Input<string>;
202
+ enableConsoleOutput?: pulumi.Input<boolean>;
128
203
  /**
129
- * Specify a provider and a share in this map to create a database from a share. As of version 0.87.0, the provider field is the account locator.
204
+ * The database parameter that specifies the default external volume to use for Iceberg tables.
130
205
  */
131
- fromShare?: pulumi.Input<{
132
- [key: string]: pulumi.Input<string>;
133
- }>;
206
+ externalVolume?: pulumi.Input<string>;
134
207
  /**
135
- * Specifies a database as transient. Transient databases do not have a Fail-safe period so they do not incur additional storage costs once they leave Time Travel; however, this means they are also not protected by Fail-safe in the event of a data loss.
208
+ * Specifies the database as transient. Transient databases do not have a Fail-safe period so they do not incur additional storage costs once they leave Time Travel; however, this means they are also not protected by Fail-safe in the event of a data loss.
136
209
  */
137
210
  isTransient?: pulumi.Input<boolean>;
138
211
  /**
139
- * Specifies the identifier for the database; must be unique for your account.
212
+ * Specifies the severity level of messages that should be ingested and made available in the active event table. Valid options are: [TRACE DEBUG INFO WARN ERROR FATAL OFF]. Messages at the specified level (and at more severe levels) are ingested. For more information, see [LOG_LEVEL](https://docs.snowflake.com/en/sql-reference/parameters.html#label-log-level).
213
+ */
214
+ logLevel?: pulumi.Input<string>;
215
+ /**
216
+ * Object parameter that specifies the maximum number of days for which Snowflake can extend the data retention period for tables in the database to prevent streams on the tables from becoming stale. For a detailed description of this parameter, see [MAX*DATA*EXTENSION*TIME*IN_DAYS](https://docs.snowflake.com/en/sql-reference/parameters.html#label-max-data-extension-time-in-days).
217
+ */
218
+ maxDataExtensionTimeInDays?: pulumi.Input<number>;
219
+ /**
220
+ * Specifies the identifier for the database; must be unique for your account. As a best practice for [Database Replication and Failover](https://docs.snowflake.com/en/user-guide/db-replication-intro), it is recommended to give each secondary database the same name as its primary database. This practice supports referencing fully-qualified objects (i.e. '\n\n.\n\n.\n\n') by other objects in the same database, such as querying a fully-qualified table name in a view. If a secondary database has a different name from the primary database, then these object references would break in the secondary database.
140
221
  */
141
222
  name?: pulumi.Input<string>;
142
223
  /**
143
- * When set, specifies the configurations for database replication.
224
+ * If true, the case of quoted identifiers is ignored.
144
225
  */
145
- replicationConfiguration?: pulumi.Input<inputs.DatabaseReplicationConfiguration>;
226
+ quotedIdentifiersIgnoreCase?: pulumi.Input<boolean>;
227
+ /**
228
+ * Specifies whether to replace invalid UTF-8 characters with the Unicode replacement character (�) in query results for an Iceberg table. You can only set this parameter for tables that use an external Iceberg catalog.
229
+ */
230
+ replaceInvalidCharacters?: pulumi.Input<boolean>;
231
+ /**
232
+ * Configures replication for a given database. When specified, this database will be promoted to serve as a primary database for replication. A primary database can be replicated in one or more accounts, allowing users in those accounts to query objects in each secondary (i.e. replica) database.
233
+ */
234
+ replication?: pulumi.Input<inputs.DatabaseReplication>;
235
+ /**
236
+ * The storage serialization policy for Iceberg tables that use Snowflake as the catalog. Valid options are: [COMPATIBLE OPTIMIZED]. COMPATIBLE: Snowflake performs encoding and compression of data files that ensures interoperability with third-party compute engines. OPTIMIZED: Snowflake performs encoding and compression of data files that ensures the best table performance within Snowflake.
237
+ */
238
+ storageSerializationPolicy?: pulumi.Input<string>;
239
+ /**
240
+ * How many times a task must fail in a row before it is automatically suspended. 0 disables auto-suspending.
241
+ */
242
+ suspendTaskAfterNumFailures?: pulumi.Input<number>;
243
+ /**
244
+ * Maximum automatic retries allowed for a user task.
245
+ */
246
+ taskAutoRetryAttempts?: pulumi.Input<number>;
247
+ /**
248
+ * Controls how trace events are ingested into the event table. Valid options are: [ALWAYS ON*EVENT OFF]. For information about levels, see [TRACE*LEVEL](https://docs.snowflake.com/en/sql-reference/parameters.html#label-trace-level).
249
+ */
250
+ traceLevel?: pulumi.Input<string>;
251
+ /**
252
+ * The initial size of warehouse to use for managed warehouses in the absence of history.
253
+ */
254
+ userTaskManagedInitialWarehouseSize?: pulumi.Input<string>;
255
+ /**
256
+ * Minimum amount of time between Triggered Task executions in seconds.
257
+ */
258
+ userTaskMinimumTriggerIntervalInSeconds?: pulumi.Input<number>;
259
+ /**
260
+ * User task execution timeout in milliseconds.
261
+ */
262
+ userTaskTimeoutMs?: pulumi.Input<number>;
146
263
  }
147
264
  /**
148
265
  * The set of arguments for constructing a Database resource.
149
266
  */
150
267
  export interface DatabaseArgs {
268
+ /**
269
+ * The database parameter that specifies the default catalog to use for Iceberg tables.
270
+ */
271
+ catalog?: pulumi.Input<string>;
151
272
  /**
152
273
  * Specifies a comment for the database.
153
274
  */
154
275
  comment?: pulumi.Input<string>;
155
276
  /**
156
- * Number of days for which Snowflake retains historical data for performing Time Travel actions (SELECT, CLONE, UNDROP) on the object. A value of 0 effectively disables Time Travel for the specified database. Default value for this field is set to -1, which is a fallback to use Snowflake default. For more information, see [Understanding & Using Time Travel](https://docs.snowflake.com/en/user-guide/data-time-travel).
277
+ * Specifies the number of days for which Time Travel actions (CLONE and UNDROP) can be performed on the database, as well as specifying the default Time Travel retention time for all schemas created in the database. For more details, see [Understanding & Using Time Travel](https://docs.snowflake.com/en/user-guide/data-time-travel).
157
278
  */
158
279
  dataRetentionTimeInDays?: pulumi.Input<number>;
159
280
  /**
160
- * Specify a database to create a clone from.
281
+ * Specifies a default collation specification for all schemas and tables added to the database. It can be overridden on schema or table level. For more information, see [collation specification](https://docs.snowflake.com/en/sql-reference/collation#label-collation-specification).
161
282
  */
162
- fromDatabase?: pulumi.Input<string>;
283
+ defaultDdlCollation?: pulumi.Input<string>;
163
284
  /**
164
- * Specify a fully-qualified path to a database to create a replica from. A fully qualified path follows the format of `"<organization_name>"."<account_name>"."<db_name>"`. An example would be: `"myorg1"."account1"."db1"`
285
+ * If true, enables stdout/stderr fast path logging for anonymous stored procedures.
165
286
  */
166
- fromReplica?: pulumi.Input<string>;
287
+ enableConsoleOutput?: pulumi.Input<boolean>;
167
288
  /**
168
- * Specify a provider and a share in this map to create a database from a share. As of version 0.87.0, the provider field is the account locator.
289
+ * The database parameter that specifies the default external volume to use for Iceberg tables.
169
290
  */
170
- fromShare?: pulumi.Input<{
171
- [key: string]: pulumi.Input<string>;
172
- }>;
291
+ externalVolume?: pulumi.Input<string>;
173
292
  /**
174
- * Specifies a database as transient. Transient databases do not have a Fail-safe period so they do not incur additional storage costs once they leave Time Travel; however, this means they are also not protected by Fail-safe in the event of a data loss.
293
+ * Specifies the database as transient. Transient databases do not have a Fail-safe period so they do not incur additional storage costs once they leave Time Travel; however, this means they are also not protected by Fail-safe in the event of a data loss.
175
294
  */
176
295
  isTransient?: pulumi.Input<boolean>;
177
296
  /**
178
- * Specifies the identifier for the database; must be unique for your account.
297
+ * Specifies the severity level of messages that should be ingested and made available in the active event table. Valid options are: [TRACE DEBUG INFO WARN ERROR FATAL OFF]. Messages at the specified level (and at more severe levels) are ingested. For more information, see [LOG_LEVEL](https://docs.snowflake.com/en/sql-reference/parameters.html#label-log-level).
298
+ */
299
+ logLevel?: pulumi.Input<string>;
300
+ /**
301
+ * Object parameter that specifies the maximum number of days for which Snowflake can extend the data retention period for tables in the database to prevent streams on the tables from becoming stale. For a detailed description of this parameter, see [MAX*DATA*EXTENSION*TIME*IN_DAYS](https://docs.snowflake.com/en/sql-reference/parameters.html#label-max-data-extension-time-in-days).
302
+ */
303
+ maxDataExtensionTimeInDays?: pulumi.Input<number>;
304
+ /**
305
+ * Specifies the identifier for the database; must be unique for your account. As a best practice for [Database Replication and Failover](https://docs.snowflake.com/en/user-guide/db-replication-intro), it is recommended to give each secondary database the same name as its primary database. This practice supports referencing fully-qualified objects (i.e. '\n\n.\n\n.\n\n') by other objects in the same database, such as querying a fully-qualified table name in a view. If a secondary database has a different name from the primary database, then these object references would break in the secondary database.
179
306
  */
180
307
  name?: pulumi.Input<string>;
181
308
  /**
182
- * When set, specifies the configurations for database replication.
309
+ * If true, the case of quoted identifiers is ignored.
310
+ */
311
+ quotedIdentifiersIgnoreCase?: pulumi.Input<boolean>;
312
+ /**
313
+ * Specifies whether to replace invalid UTF-8 characters with the Unicode replacement character (�) in query results for an Iceberg table. You can only set this parameter for tables that use an external Iceberg catalog.
314
+ */
315
+ replaceInvalidCharacters?: pulumi.Input<boolean>;
316
+ /**
317
+ * Configures replication for a given database. When specified, this database will be promoted to serve as a primary database for replication. A primary database can be replicated in one or more accounts, allowing users in those accounts to query objects in each secondary (i.e. replica) database.
318
+ */
319
+ replication?: pulumi.Input<inputs.DatabaseReplication>;
320
+ /**
321
+ * The storage serialization policy for Iceberg tables that use Snowflake as the catalog. Valid options are: [COMPATIBLE OPTIMIZED]. COMPATIBLE: Snowflake performs encoding and compression of data files that ensures interoperability with third-party compute engines. OPTIMIZED: Snowflake performs encoding and compression of data files that ensures the best table performance within Snowflake.
322
+ */
323
+ storageSerializationPolicy?: pulumi.Input<string>;
324
+ /**
325
+ * How many times a task must fail in a row before it is automatically suspended. 0 disables auto-suspending.
326
+ */
327
+ suspendTaskAfterNumFailures?: pulumi.Input<number>;
328
+ /**
329
+ * Maximum automatic retries allowed for a user task.
330
+ */
331
+ taskAutoRetryAttempts?: pulumi.Input<number>;
332
+ /**
333
+ * Controls how trace events are ingested into the event table. Valid options are: [ALWAYS ON*EVENT OFF]. For information about levels, see [TRACE*LEVEL](https://docs.snowflake.com/en/sql-reference/parameters.html#label-trace-level).
334
+ */
335
+ traceLevel?: pulumi.Input<string>;
336
+ /**
337
+ * The initial size of warehouse to use for managed warehouses in the absence of history.
338
+ */
339
+ userTaskManagedInitialWarehouseSize?: pulumi.Input<string>;
340
+ /**
341
+ * Minimum amount of time between Triggered Task executions in seconds.
342
+ */
343
+ userTaskMinimumTriggerIntervalInSeconds?: pulumi.Input<number>;
344
+ /**
345
+ * User task execution timeout in milliseconds.
183
346
  */
184
- replicationConfiguration?: pulumi.Input<inputs.DatabaseReplicationConfiguration>;
347
+ userTaskTimeoutMs?: pulumi.Input<number>;
185
348
  }
package/database.js CHANGED
@@ -6,49 +6,74 @@ exports.Database = void 0;
6
6
  const pulumi = require("@pulumi/pulumi");
7
7
  const utilities = require("./utilities");
8
8
  /**
9
- * ## Example Usage
9
+ * !> **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.
10
10
  *
11
- * ```typescript
12
- * import * as pulumi from "@pulumi/pulumi";
13
- * import * as snowflake from "@pulumi/snowflake";
11
+ * Represents a standard database. If replication configuration is specified, the database is promoted to serve as a primary database for replication.
14
12
  *
15
- * const simple = new snowflake.Database("simple", {
16
- * name: "testing",
17
- * comment: "test comment",
18
- * dataRetentionTimeInDays: 3,
19
- * });
20
- * const withReplication = new snowflake.Database("with_replication", {
21
- * name: "testing_2",
22
- * comment: "test comment 2",
23
- * replicationConfiguration: {
24
- * accounts: [
25
- * "test_account1",
26
- * "test_account_2",
27
- * ],
28
- * ignoreEditionCheck: true,
13
+ * ## Minimal
14
+ *
15
+ * resource "snowflake.Database" "primary" {
16
+ * name = "databaseName"
17
+ * }
18
+ *
19
+ * ## Complete (with every optional set)
20
+ *
21
+ * resource "snowflake.Database" "primary" {
22
+ * name = "databaseName"
23
+ * isTransient = false
24
+ * comment = "my standard database"
25
+ *
26
+ * dataRetentionTimeInDays = 10
27
+ * dataRetentionTimeInDaysSave = 10
28
+ * maxDataExtensionTimeInDays = 20
29
+ * externalVolume = "<external_volume_name>"
30
+ * catalog = "<catalog_name>"
31
+ * replaceInvalidCharacters = false
32
+ * defaultDdlCollation = "en_US"
33
+ * storageSerializationPolicy = "COMPATIBLE"
34
+ * logLevel = "INFO"
35
+ * traceLevel = "ALWAYS"
36
+ * suspendTaskAfterNumFailures = 10
37
+ * taskAutoRetryAttempts = 10
38
+ * userTaskManagedInitialWarehouseSize = "LARGE"
39
+ * userTaskTimeoutMs = 3600000
40
+ * userTaskMinimumTriggerIntervalInSeconds = 120
41
+ * quotedIdentifiersIgnoreCase = false
42
+ * enableConsoleOutput = false
43
+ *
44
+ * replication {
45
+ * enableToAccount {
46
+ * accountIdentifier = "<secondary_account_organization_name>.<secondary_account_name>"
47
+ * withFailover = true
48
+ * }
49
+ * ignoreEditionCheck = true
50
+ * }
51
+ * }
52
+ *
53
+ * ## Replication with forEach
54
+ *
55
+ * locals {
56
+ * replicationConfigs = [
57
+ * {
58
+ * accountIdentifier = "<secondary_account_organization_name>.<secondary_account_name>"
59
+ * withFailover = true
29
60
  * },
30
- * });
31
- * const fromReplica = new snowflake.Database("from_replica", {
32
- * name: "testing_3",
33
- * comment: "test comment",
34
- * dataRetentionTimeInDays: 3,
35
- * fromReplica: "\"org1\".\"account1\".\"primary_db_name\"",
36
- * });
37
- * const fromShare = new snowflake.Database("from_share", {
38
- * name: "testing_4",
39
- * comment: "test comment",
40
- * fromShare: {
41
- * provider: "account1_locator",
42
- * share: "share1",
61
+ * {
62
+ * accountIdentifier = "<secondary_account_organization_name>.<secondary_account_name>"
63
+ * withFailover = true
43
64
  * },
44
- * });
45
- * ```
65
+ * ]
66
+ * }
46
67
  *
47
- * ## Import
68
+ * resource "snowflake.Database" "primary" {
69
+ * name = "databaseName"
70
+ * forEach = local.replication_configs
48
71
  *
49
- * ```sh
50
- * $ pulumi import snowflake:index/database:Database example name
51
- * ```
72
+ * replication {
73
+ * enableToAccount = each.value
74
+ * ignoreEditionCheck = true
75
+ * }
76
+ * }
52
77
  */
53
78
  class Database extends pulumi.CustomResource {
54
79
  /**
@@ -78,25 +103,49 @@ class Database extends pulumi.CustomResource {
78
103
  opts = opts || {};
79
104
  if (opts.id) {
80
105
  const state = argsOrState;
106
+ resourceInputs["catalog"] = state ? state.catalog : undefined;
81
107
  resourceInputs["comment"] = state ? state.comment : undefined;
82
108
  resourceInputs["dataRetentionTimeInDays"] = state ? state.dataRetentionTimeInDays : undefined;
83
- resourceInputs["fromDatabase"] = state ? state.fromDatabase : undefined;
84
- resourceInputs["fromReplica"] = state ? state.fromReplica : undefined;
85
- resourceInputs["fromShare"] = state ? state.fromShare : undefined;
109
+ resourceInputs["defaultDdlCollation"] = state ? state.defaultDdlCollation : undefined;
110
+ resourceInputs["enableConsoleOutput"] = state ? state.enableConsoleOutput : undefined;
111
+ resourceInputs["externalVolume"] = state ? state.externalVolume : undefined;
86
112
  resourceInputs["isTransient"] = state ? state.isTransient : undefined;
113
+ resourceInputs["logLevel"] = state ? state.logLevel : undefined;
114
+ resourceInputs["maxDataExtensionTimeInDays"] = state ? state.maxDataExtensionTimeInDays : undefined;
87
115
  resourceInputs["name"] = state ? state.name : undefined;
88
- resourceInputs["replicationConfiguration"] = state ? state.replicationConfiguration : undefined;
116
+ resourceInputs["quotedIdentifiersIgnoreCase"] = state ? state.quotedIdentifiersIgnoreCase : undefined;
117
+ resourceInputs["replaceInvalidCharacters"] = state ? state.replaceInvalidCharacters : undefined;
118
+ resourceInputs["replication"] = state ? state.replication : undefined;
119
+ resourceInputs["storageSerializationPolicy"] = state ? state.storageSerializationPolicy : undefined;
120
+ resourceInputs["suspendTaskAfterNumFailures"] = state ? state.suspendTaskAfterNumFailures : undefined;
121
+ resourceInputs["taskAutoRetryAttempts"] = state ? state.taskAutoRetryAttempts : undefined;
122
+ resourceInputs["traceLevel"] = state ? state.traceLevel : undefined;
123
+ resourceInputs["userTaskManagedInitialWarehouseSize"] = state ? state.userTaskManagedInitialWarehouseSize : undefined;
124
+ resourceInputs["userTaskMinimumTriggerIntervalInSeconds"] = state ? state.userTaskMinimumTriggerIntervalInSeconds : undefined;
125
+ resourceInputs["userTaskTimeoutMs"] = state ? state.userTaskTimeoutMs : undefined;
89
126
  }
90
127
  else {
91
128
  const args = argsOrState;
129
+ resourceInputs["catalog"] = args ? args.catalog : undefined;
92
130
  resourceInputs["comment"] = args ? args.comment : undefined;
93
131
  resourceInputs["dataRetentionTimeInDays"] = args ? args.dataRetentionTimeInDays : undefined;
94
- resourceInputs["fromDatabase"] = args ? args.fromDatabase : undefined;
95
- resourceInputs["fromReplica"] = args ? args.fromReplica : undefined;
96
- resourceInputs["fromShare"] = args ? args.fromShare : undefined;
132
+ resourceInputs["defaultDdlCollation"] = args ? args.defaultDdlCollation : undefined;
133
+ resourceInputs["enableConsoleOutput"] = args ? args.enableConsoleOutput : undefined;
134
+ resourceInputs["externalVolume"] = args ? args.externalVolume : undefined;
97
135
  resourceInputs["isTransient"] = args ? args.isTransient : undefined;
136
+ resourceInputs["logLevel"] = args ? args.logLevel : undefined;
137
+ resourceInputs["maxDataExtensionTimeInDays"] = args ? args.maxDataExtensionTimeInDays : undefined;
98
138
  resourceInputs["name"] = args ? args.name : undefined;
99
- resourceInputs["replicationConfiguration"] = args ? args.replicationConfiguration : undefined;
139
+ resourceInputs["quotedIdentifiersIgnoreCase"] = args ? args.quotedIdentifiersIgnoreCase : undefined;
140
+ resourceInputs["replaceInvalidCharacters"] = args ? args.replaceInvalidCharacters : undefined;
141
+ resourceInputs["replication"] = args ? args.replication : undefined;
142
+ resourceInputs["storageSerializationPolicy"] = args ? args.storageSerializationPolicy : undefined;
143
+ resourceInputs["suspendTaskAfterNumFailures"] = args ? args.suspendTaskAfterNumFailures : undefined;
144
+ resourceInputs["taskAutoRetryAttempts"] = args ? args.taskAutoRetryAttempts : undefined;
145
+ resourceInputs["traceLevel"] = args ? args.traceLevel : undefined;
146
+ resourceInputs["userTaskManagedInitialWarehouseSize"] = args ? args.userTaskManagedInitialWarehouseSize : undefined;
147
+ resourceInputs["userTaskMinimumTriggerIntervalInSeconds"] = args ? args.userTaskMinimumTriggerIntervalInSeconds : undefined;
148
+ resourceInputs["userTaskTimeoutMs"] = args ? args.userTaskTimeoutMs : undefined;
100
149
  }
101
150
  opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
102
151
  super(Database.__pulumiType, name, resourceInputs, opts);
package/database.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"database.js","sourceRoot":"","sources":["../database.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database.js","sourceRoot":"","sources":["../database.ts"],"names":[],"mappings":"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"}