@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
@@ -0,0 +1,187 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as inputs from "./types/input";
3
+ import * as outputs from "./types/output";
4
+ /**
5
+ * > **Deprecation** This resource is deprecated and will be removed in a future major version release. Please use snowflake.Database or snowflake.SharedDatabase or snowflake.SecondaryDatabase instead. <deprecation>
6
+ *
7
+ * ## Example Usage
8
+ *
9
+ * ```typescript
10
+ * import * as pulumi from "@pulumi/pulumi";
11
+ * import * as snowflake from "@pulumi/snowflake";
12
+ *
13
+ * const simple = new snowflake.DatabaseOld("simple", {
14
+ * name: "testing",
15
+ * comment: "test comment",
16
+ * dataRetentionTimeInDays: 3,
17
+ * });
18
+ * const withReplication = new snowflake.DatabaseOld("with_replication", {
19
+ * name: "testing_2",
20
+ * comment: "test comment 2",
21
+ * replicationConfiguration: {
22
+ * accounts: [
23
+ * "test_account1",
24
+ * "test_account_2",
25
+ * ],
26
+ * ignoreEditionCheck: true,
27
+ * },
28
+ * });
29
+ * const fromReplica = new snowflake.DatabaseOld("from_replica", {
30
+ * name: "testing_3",
31
+ * comment: "test comment",
32
+ * dataRetentionTimeInDays: 3,
33
+ * fromReplica: "\"org1\".\"account1\".\"primary_db_name\"",
34
+ * });
35
+ * const fromShare = new snowflake.DatabaseOld("from_share", {
36
+ * name: "testing_4",
37
+ * comment: "test comment",
38
+ * fromShare: {
39
+ * provider: "account1_locator",
40
+ * share: "share1",
41
+ * },
42
+ * });
43
+ * ```
44
+ *
45
+ * ## Import
46
+ *
47
+ * ```sh
48
+ * $ pulumi import snowflake:index/databaseOld:DatabaseOld example 'database_name'
49
+ * ```
50
+ */
51
+ export declare class DatabaseOld extends pulumi.CustomResource {
52
+ /**
53
+ * Get an existing DatabaseOld resource's state with the given name, ID, and optional extra
54
+ * properties used to qualify the lookup.
55
+ *
56
+ * @param name The _unique_ name of the resulting resource.
57
+ * @param id The _unique_ provider ID of the resource to lookup.
58
+ * @param state Any extra arguments used during the lookup.
59
+ * @param opts Optional settings to control the behavior of the CustomResource.
60
+ */
61
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DatabaseOldState, opts?: pulumi.CustomResourceOptions): DatabaseOld;
62
+ /**
63
+ * Returns true if the given object is an instance of DatabaseOld. This is designed to work even
64
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
65
+ */
66
+ static isInstance(obj: any): obj is DatabaseOld;
67
+ /**
68
+ * Specifies a comment for the database.
69
+ */
70
+ readonly comment: pulumi.Output<string | undefined>;
71
+ /**
72
+ * 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).
73
+ */
74
+ readonly dataRetentionTimeInDays: pulumi.Output<number | undefined>;
75
+ /**
76
+ * Specify a database to create a clone from.
77
+ */
78
+ readonly fromDatabase: pulumi.Output<string | undefined>;
79
+ /**
80
+ * 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"`
81
+ */
82
+ readonly fromReplica: pulumi.Output<string | undefined>;
83
+ /**
84
+ * 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.
85
+ */
86
+ readonly fromShare: pulumi.Output<{
87
+ [key: string]: string;
88
+ } | undefined>;
89
+ /**
90
+ * 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.
91
+ */
92
+ readonly isTransient: pulumi.Output<boolean | undefined>;
93
+ /**
94
+ * Specifies the identifier for the database; must be unique for your account.
95
+ */
96
+ readonly name: pulumi.Output<string>;
97
+ /**
98
+ * When set, specifies the configurations for database replication.
99
+ */
100
+ readonly replicationConfiguration: pulumi.Output<outputs.DatabaseOldReplicationConfiguration | undefined>;
101
+ /**
102
+ * Create a DatabaseOld resource with the given unique name, arguments, and options.
103
+ *
104
+ * @param name The _unique_ name of the resource.
105
+ * @param args The arguments to use to populate this resource's properties.
106
+ * @param opts A bag of options that control this resource's behavior.
107
+ */
108
+ constructor(name: string, args?: DatabaseOldArgs, opts?: pulumi.CustomResourceOptions);
109
+ }
110
+ /**
111
+ * Input properties used for looking up and filtering DatabaseOld resources.
112
+ */
113
+ export interface DatabaseOldState {
114
+ /**
115
+ * Specifies a comment for the database.
116
+ */
117
+ comment?: pulumi.Input<string>;
118
+ /**
119
+ * 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).
120
+ */
121
+ dataRetentionTimeInDays?: pulumi.Input<number>;
122
+ /**
123
+ * Specify a database to create a clone from.
124
+ */
125
+ fromDatabase?: pulumi.Input<string>;
126
+ /**
127
+ * 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"`
128
+ */
129
+ fromReplica?: pulumi.Input<string>;
130
+ /**
131
+ * 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.
132
+ */
133
+ fromShare?: pulumi.Input<{
134
+ [key: string]: pulumi.Input<string>;
135
+ }>;
136
+ /**
137
+ * 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.
138
+ */
139
+ isTransient?: pulumi.Input<boolean>;
140
+ /**
141
+ * Specifies the identifier for the database; must be unique for your account.
142
+ */
143
+ name?: pulumi.Input<string>;
144
+ /**
145
+ * When set, specifies the configurations for database replication.
146
+ */
147
+ replicationConfiguration?: pulumi.Input<inputs.DatabaseOldReplicationConfiguration>;
148
+ }
149
+ /**
150
+ * The set of arguments for constructing a DatabaseOld resource.
151
+ */
152
+ export interface DatabaseOldArgs {
153
+ /**
154
+ * Specifies a comment for the database.
155
+ */
156
+ comment?: pulumi.Input<string>;
157
+ /**
158
+ * 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).
159
+ */
160
+ dataRetentionTimeInDays?: pulumi.Input<number>;
161
+ /**
162
+ * Specify a database to create a clone from.
163
+ */
164
+ fromDatabase?: pulumi.Input<string>;
165
+ /**
166
+ * 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"`
167
+ */
168
+ fromReplica?: pulumi.Input<string>;
169
+ /**
170
+ * 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.
171
+ */
172
+ fromShare?: pulumi.Input<{
173
+ [key: string]: pulumi.Input<string>;
174
+ }>;
175
+ /**
176
+ * 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.
177
+ */
178
+ isTransient?: pulumi.Input<boolean>;
179
+ /**
180
+ * Specifies the identifier for the database; must be unique for your account.
181
+ */
182
+ name?: pulumi.Input<string>;
183
+ /**
184
+ * When set, specifies the configurations for database replication.
185
+ */
186
+ replicationConfiguration?: pulumi.Input<inputs.DatabaseOldReplicationConfiguration>;
187
+ }
package/databaseOld.js ADDED
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.DatabaseOld = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * > **Deprecation** This resource is deprecated and will be removed in a future major version release. Please use snowflake.Database or snowflake.SharedDatabase or snowflake.SecondaryDatabase instead. <deprecation>
10
+ *
11
+ * ## Example Usage
12
+ *
13
+ * ```typescript
14
+ * import * as pulumi from "@pulumi/pulumi";
15
+ * import * as snowflake from "@pulumi/snowflake";
16
+ *
17
+ * const simple = new snowflake.DatabaseOld("simple", {
18
+ * name: "testing",
19
+ * comment: "test comment",
20
+ * dataRetentionTimeInDays: 3,
21
+ * });
22
+ * const withReplication = new snowflake.DatabaseOld("with_replication", {
23
+ * name: "testing_2",
24
+ * comment: "test comment 2",
25
+ * replicationConfiguration: {
26
+ * accounts: [
27
+ * "test_account1",
28
+ * "test_account_2",
29
+ * ],
30
+ * ignoreEditionCheck: true,
31
+ * },
32
+ * });
33
+ * const fromReplica = new snowflake.DatabaseOld("from_replica", {
34
+ * name: "testing_3",
35
+ * comment: "test comment",
36
+ * dataRetentionTimeInDays: 3,
37
+ * fromReplica: "\"org1\".\"account1\".\"primary_db_name\"",
38
+ * });
39
+ * const fromShare = new snowflake.DatabaseOld("from_share", {
40
+ * name: "testing_4",
41
+ * comment: "test comment",
42
+ * fromShare: {
43
+ * provider: "account1_locator",
44
+ * share: "share1",
45
+ * },
46
+ * });
47
+ * ```
48
+ *
49
+ * ## Import
50
+ *
51
+ * ```sh
52
+ * $ pulumi import snowflake:index/databaseOld:DatabaseOld example 'database_name'
53
+ * ```
54
+ */
55
+ class DatabaseOld extends pulumi.CustomResource {
56
+ /**
57
+ * Get an existing DatabaseOld resource's state with the given name, ID, and optional extra
58
+ * properties used to qualify the lookup.
59
+ *
60
+ * @param name The _unique_ name of the resulting resource.
61
+ * @param id The _unique_ provider ID of the resource to lookup.
62
+ * @param state Any extra arguments used during the lookup.
63
+ * @param opts Optional settings to control the behavior of the CustomResource.
64
+ */
65
+ static get(name, id, state, opts) {
66
+ return new DatabaseOld(name, state, Object.assign(Object.assign({}, opts), { id: id }));
67
+ }
68
+ /**
69
+ * Returns true if the given object is an instance of DatabaseOld. This is designed to work even
70
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
71
+ */
72
+ static isInstance(obj) {
73
+ if (obj === undefined || obj === null) {
74
+ return false;
75
+ }
76
+ return obj['__pulumiType'] === DatabaseOld.__pulumiType;
77
+ }
78
+ constructor(name, argsOrState, opts) {
79
+ let resourceInputs = {};
80
+ opts = opts || {};
81
+ if (opts.id) {
82
+ const state = argsOrState;
83
+ resourceInputs["comment"] = state ? state.comment : undefined;
84
+ resourceInputs["dataRetentionTimeInDays"] = state ? state.dataRetentionTimeInDays : undefined;
85
+ resourceInputs["fromDatabase"] = state ? state.fromDatabase : undefined;
86
+ resourceInputs["fromReplica"] = state ? state.fromReplica : undefined;
87
+ resourceInputs["fromShare"] = state ? state.fromShare : undefined;
88
+ resourceInputs["isTransient"] = state ? state.isTransient : undefined;
89
+ resourceInputs["name"] = state ? state.name : undefined;
90
+ resourceInputs["replicationConfiguration"] = state ? state.replicationConfiguration : undefined;
91
+ }
92
+ else {
93
+ const args = argsOrState;
94
+ resourceInputs["comment"] = args ? args.comment : undefined;
95
+ resourceInputs["dataRetentionTimeInDays"] = args ? args.dataRetentionTimeInDays : undefined;
96
+ resourceInputs["fromDatabase"] = args ? args.fromDatabase : undefined;
97
+ resourceInputs["fromReplica"] = args ? args.fromReplica : undefined;
98
+ resourceInputs["fromShare"] = args ? args.fromShare : undefined;
99
+ resourceInputs["isTransient"] = args ? args.isTransient : undefined;
100
+ resourceInputs["name"] = args ? args.name : undefined;
101
+ resourceInputs["replicationConfiguration"] = args ? args.replicationConfiguration : undefined;
102
+ }
103
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
104
+ super(DatabaseOld.__pulumiType, name, resourceInputs, opts);
105
+ }
106
+ }
107
+ exports.DatabaseOld = DatabaseOld;
108
+ /** @internal */
109
+ DatabaseOld.__pulumiType = 'snowflake:index/databaseOld:DatabaseOld';
110
+ //# sourceMappingURL=databaseOld.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"databaseOld.js","sourceRoot":"","sources":["../databaseOld.ts"],"names":[],"mappings":"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"}