@pulumi/snowflake 2.18.0-alpha.1783237205 → 2.18.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 (271) hide show
  1. package/accountParameter.d.ts +3 -3
  2. package/accountSessionPolicyAttachment.d.ts +0 -2
  3. package/accountSessionPolicyAttachment.d.ts.map +1 -1
  4. package/accountSessionPolicyAttachment.js +0 -2
  5. package/accountSessionPolicyAttachment.js.map +1 -1
  6. package/apiIntegration.d.ts +2 -0
  7. package/apiIntegration.d.ts.map +1 -1
  8. package/apiIntegration.js +2 -0
  9. package/apiIntegration.js.map +1 -1
  10. package/apiIntegrationAmazonApiGateway.d.ts +202 -0
  11. package/apiIntegrationAmazonApiGateway.d.ts.map +1 -0
  12. package/apiIntegrationAmazonApiGateway.js +149 -0
  13. package/apiIntegrationAmazonApiGateway.js.map +1 -0
  14. package/apiIntegrationAzureApiManagement.d.ts +202 -0
  15. package/apiIntegrationAzureApiManagement.d.ts.map +1 -0
  16. package/apiIntegrationAzureApiManagement.js +149 -0
  17. package/apiIntegrationAzureApiManagement.js.map +1 -0
  18. package/apiIntegrationExternalMcpDynamicClient.d.ts +175 -0
  19. package/apiIntegrationExternalMcpDynamicClient.d.ts.map +1 -0
  20. package/apiIntegrationExternalMcpDynamicClient.js +137 -0
  21. package/apiIntegrationExternalMcpDynamicClient.js.map +1 -0
  22. package/apiIntegrationExternalMcpOauth2.d.ts +243 -0
  23. package/apiIntegrationExternalMcpOauth2.d.ts.map +1 -0
  24. package/apiIntegrationExternalMcpOauth2.js +166 -0
  25. package/apiIntegrationExternalMcpOauth2.js.map +1 -0
  26. package/apiIntegrationGitRepositoryGithubApp.d.ts +161 -0
  27. package/apiIntegrationGitRepositoryGithubApp.d.ts.map +1 -0
  28. package/apiIntegrationGitRepositoryGithubApp.js +130 -0
  29. package/apiIntegrationGitRepositoryGithubApp.js.map +1 -0
  30. package/apiIntegrationGitRepositoryOauth2.d.ts +269 -0
  31. package/apiIntegrationGitRepositoryOauth2.d.ts.map +1 -0
  32. package/apiIntegrationGitRepositoryOauth2.js +172 -0
  33. package/apiIntegrationGitRepositoryOauth2.js.map +1 -0
  34. package/apiIntegrationGitRepositoryPrivateLink.d.ts +234 -0
  35. package/apiIntegrationGitRepositoryPrivateLink.d.ts.map +1 -0
  36. package/apiIntegrationGitRepositoryPrivateLink.js +156 -0
  37. package/apiIntegrationGitRepositoryPrivateLink.js.map +1 -0
  38. package/apiIntegrationGitRepositoryToken.d.ts +206 -0
  39. package/apiIntegrationGitRepositoryToken.d.ts.map +1 -0
  40. package/apiIntegrationGitRepositoryToken.js +145 -0
  41. package/apiIntegrationGitRepositoryToken.js.map +1 -0
  42. package/apiIntegrationGoogleCloudApiGateway.d.ts +175 -0
  43. package/apiIntegrationGoogleCloudApiGateway.d.ts.map +1 -0
  44. package/apiIntegrationGoogleCloudApiGateway.js +137 -0
  45. package/apiIntegrationGoogleCloudApiGateway.js.map +1 -0
  46. package/authenticationPolicy.d.ts +0 -2
  47. package/authenticationPolicy.d.ts.map +1 -1
  48. package/authenticationPolicy.js +0 -2
  49. package/authenticationPolicy.js.map +1 -1
  50. package/catalogIntegrationAwsGlue.d.ts +0 -2
  51. package/catalogIntegrationAwsGlue.d.ts.map +1 -1
  52. package/catalogIntegrationAwsGlue.js +0 -2
  53. package/catalogIntegrationAwsGlue.js.map +1 -1
  54. package/catalogIntegrationIcebergRest.d.ts +0 -2
  55. package/catalogIntegrationIcebergRest.d.ts.map +1 -1
  56. package/catalogIntegrationIcebergRest.js +0 -2
  57. package/catalogIntegrationIcebergRest.js.map +1 -1
  58. package/catalogIntegrationObjectStorage.d.ts +0 -2
  59. package/catalogIntegrationObjectStorage.d.ts.map +1 -1
  60. package/catalogIntegrationObjectStorage.js +0 -2
  61. package/catalogIntegrationObjectStorage.js.map +1 -1
  62. package/catalogIntegrationOpenCatalog.d.ts +0 -2
  63. package/catalogIntegrationOpenCatalog.d.ts.map +1 -1
  64. package/catalogIntegrationOpenCatalog.js +0 -2
  65. package/catalogIntegrationOpenCatalog.js.map +1 -1
  66. package/computePool.d.ts +3 -3
  67. package/config/vars.d.ts +2 -2
  68. package/cortexAgent.d.ts +3 -3
  69. package/currentAccount.d.ts +60 -2
  70. package/currentAccount.d.ts.map +1 -1
  71. package/currentAccount.js +10 -2
  72. package/currentAccount.js.map +1 -1
  73. package/currentOrganizationAccount.d.ts +60 -2
  74. package/currentOrganizationAccount.d.ts.map +1 -1
  75. package/currentOrganizationAccount.js +10 -2
  76. package/currentOrganizationAccount.js.map +1 -1
  77. package/database.d.ts +12 -0
  78. package/database.d.ts.map +1 -1
  79. package/database.js +2 -0
  80. package/database.js.map +1 -1
  81. package/externalVolume.d.ts +0 -2
  82. package/externalVolume.d.ts.map +1 -1
  83. package/externalVolume.js +0 -2
  84. package/externalVolume.js.map +1 -1
  85. package/functionJava.d.ts +12 -0
  86. package/functionJava.d.ts.map +1 -1
  87. package/functionJava.js +2 -0
  88. package/functionJava.js.map +1 -1
  89. package/functionJavascript.d.ts +12 -0
  90. package/functionJavascript.d.ts.map +1 -1
  91. package/functionJavascript.js +2 -0
  92. package/functionJavascript.js.map +1 -1
  93. package/functionPython.d.ts +12 -0
  94. package/functionPython.d.ts.map +1 -1
  95. package/functionPython.js +2 -0
  96. package/functionPython.js.map +1 -1
  97. package/functionScala.d.ts +12 -0
  98. package/functionScala.d.ts.map +1 -1
  99. package/functionScala.js +2 -0
  100. package/functionScala.js.map +1 -1
  101. package/functionSql.d.ts +12 -0
  102. package/functionSql.d.ts.map +1 -1
  103. package/functionSql.js +2 -0
  104. package/functionSql.js.map +1 -1
  105. package/getApiIntegrations.d.ts +118 -0
  106. package/getApiIntegrations.d.ts.map +1 -0
  107. package/getApiIntegrations.js +115 -0
  108. package/getApiIntegrations.js.map +1 -0
  109. package/getAuthenticationPolicies.d.ts +0 -4
  110. package/getAuthenticationPolicies.d.ts.map +1 -1
  111. package/getAuthenticationPolicies.js +0 -4
  112. package/getAuthenticationPolicies.js.map +1 -1
  113. package/getCatalogIntegrations.d.ts +0 -4
  114. package/getCatalogIntegrations.d.ts.map +1 -1
  115. package/getCatalogIntegrations.js +0 -4
  116. package/getCatalogIntegrations.js.map +1 -1
  117. package/getExternalVolumes.d.ts +0 -4
  118. package/getExternalVolumes.d.ts.map +1 -1
  119. package/getExternalVolumes.js +0 -4
  120. package/getExternalVolumes.js.map +1 -1
  121. package/getNotebooks.d.ts +2 -2
  122. package/getNotebooks.js +2 -2
  123. package/getPasswordPolicies.d.ts +0 -4
  124. package/getPasswordPolicies.d.ts.map +1 -1
  125. package/getPasswordPolicies.js +0 -4
  126. package/getPasswordPolicies.js.map +1 -1
  127. package/getSessionPolicies.d.ts +0 -4
  128. package/getSessionPolicies.d.ts.map +1 -1
  129. package/getSessionPolicies.js +0 -4
  130. package/getSessionPolicies.js.map +1 -1
  131. package/getStorageIntegrations.d.ts +0 -4
  132. package/getStorageIntegrations.d.ts.map +1 -1
  133. package/getStorageIntegrations.js +0 -4
  134. package/getStorageIntegrations.js.map +1 -1
  135. package/getStorageLifecyclePolicies.d.ts +75 -0
  136. package/getStorageLifecyclePolicies.d.ts.map +1 -0
  137. package/getStorageLifecyclePolicies.js +61 -0
  138. package/getStorageLifecyclePolicies.js.map +1 -0
  139. package/grantOwnership.d.ts +0 -2
  140. package/grantOwnership.d.ts.map +1 -1
  141. package/grantOwnership.js +0 -2
  142. package/grantOwnership.js.map +1 -1
  143. package/icebergTableFromDeltaFiles.d.ts +222 -0
  144. package/icebergTableFromDeltaFiles.d.ts.map +1 -0
  145. package/icebergTableFromDeltaFiles.js +148 -0
  146. package/icebergTableFromDeltaFiles.js.map +1 -0
  147. package/icebergTableFromFiles.d.ts +212 -0
  148. package/icebergTableFromFiles.d.ts.map +1 -0
  149. package/icebergTableFromFiles.js +148 -0
  150. package/icebergTableFromFiles.js.map +1 -0
  151. package/index.d.ts +48 -0
  152. package/index.d.ts.map +1 -1
  153. package/index.js +82 -5
  154. package/index.js.map +1 -1
  155. package/legacyServiceUser.d.ts +12 -0
  156. package/legacyServiceUser.d.ts.map +1 -1
  157. package/legacyServiceUser.js +2 -0
  158. package/legacyServiceUser.js.map +1 -1
  159. package/listing.d.ts +3 -3
  160. package/notebook.d.ts +1 -1
  161. package/notebook.js +1 -1
  162. package/package.json +2 -2
  163. package/passwordPolicy.d.ts +0 -2
  164. package/passwordPolicy.d.ts.map +1 -1
  165. package/passwordPolicy.js +0 -2
  166. package/passwordPolicy.js.map +1 -1
  167. package/postgresInstance.d.ts +250 -0
  168. package/postgresInstance.d.ts.map +1 -0
  169. package/postgresInstance.js +165 -0
  170. package/postgresInstance.js.map +1 -0
  171. package/procedureJava.d.ts +12 -0
  172. package/procedureJava.d.ts.map +1 -1
  173. package/procedureJava.js +2 -0
  174. package/procedureJava.js.map +1 -1
  175. package/procedureJavascript.d.ts +12 -0
  176. package/procedureJavascript.d.ts.map +1 -1
  177. package/procedureJavascript.js +2 -0
  178. package/procedureJavascript.js.map +1 -1
  179. package/procedurePython.d.ts +12 -0
  180. package/procedurePython.d.ts.map +1 -1
  181. package/procedurePython.js +2 -0
  182. package/procedurePython.js.map +1 -1
  183. package/procedureScala.d.ts +12 -0
  184. package/procedureScala.d.ts.map +1 -1
  185. package/procedureScala.js +2 -0
  186. package/procedureScala.js.map +1 -1
  187. package/procedureSql.d.ts +12 -0
  188. package/procedureSql.d.ts.map +1 -1
  189. package/procedureSql.js +2 -0
  190. package/procedureSql.js.map +1 -1
  191. package/provider.d.ts +2 -2
  192. package/schema.d.ts +12 -0
  193. package/schema.d.ts.map +1 -1
  194. package/schema.js +2 -0
  195. package/schema.js.map +1 -1
  196. package/secondaryDatabase.d.ts +12 -0
  197. package/secondaryDatabase.d.ts.map +1 -1
  198. package/secondaryDatabase.js +2 -0
  199. package/secondaryDatabase.js.map +1 -1
  200. package/serviceUser.d.ts +12 -0
  201. package/serviceUser.d.ts.map +1 -1
  202. package/serviceUser.js +2 -0
  203. package/serviceUser.js.map +1 -1
  204. package/sessionPolicy.d.ts +0 -2
  205. package/sessionPolicy.d.ts.map +1 -1
  206. package/sessionPolicy.js +0 -2
  207. package/sessionPolicy.js.map +1 -1
  208. package/sharedDatabase.d.ts +12 -0
  209. package/sharedDatabase.d.ts.map +1 -1
  210. package/sharedDatabase.js +2 -0
  211. package/sharedDatabase.js.map +1 -1
  212. package/stageExternalAzure.d.ts +0 -2
  213. package/stageExternalAzure.d.ts.map +1 -1
  214. package/stageExternalAzure.js +0 -2
  215. package/stageExternalAzure.js.map +1 -1
  216. package/stageExternalGcs.d.ts +0 -2
  217. package/stageExternalGcs.d.ts.map +1 -1
  218. package/stageExternalGcs.js +0 -2
  219. package/stageExternalGcs.js.map +1 -1
  220. package/stageExternalS3.d.ts +0 -2
  221. package/stageExternalS3.d.ts.map +1 -1
  222. package/stageExternalS3.js +0 -2
  223. package/stageExternalS3.js.map +1 -1
  224. package/stageExternalS3Compatible.d.ts +0 -2
  225. package/stageExternalS3Compatible.d.ts.map +1 -1
  226. package/stageExternalS3Compatible.js +0 -2
  227. package/stageExternalS3Compatible.js.map +1 -1
  228. package/stageInternal.d.ts +0 -2
  229. package/stageInternal.d.ts.map +1 -1
  230. package/stageInternal.js +0 -2
  231. package/stageInternal.js.map +1 -1
  232. package/storageIntegrationAws.d.ts +0 -2
  233. package/storageIntegrationAws.d.ts.map +1 -1
  234. package/storageIntegrationAws.js +0 -2
  235. package/storageIntegrationAws.js.map +1 -1
  236. package/storageIntegrationAzure.d.ts +0 -2
  237. package/storageIntegrationAzure.d.ts.map +1 -1
  238. package/storageIntegrationAzure.js +0 -2
  239. package/storageIntegrationAzure.js.map +1 -1
  240. package/storageIntegrationGcs.d.ts +0 -2
  241. package/storageIntegrationGcs.d.ts.map +1 -1
  242. package/storageIntegrationGcs.js +0 -2
  243. package/storageIntegrationGcs.js.map +1 -1
  244. package/storageLifecyclePolicy.d.ts +214 -0
  245. package/storageLifecyclePolicy.d.ts.map +1 -0
  246. package/storageLifecyclePolicy.js +159 -0
  247. package/storageLifecyclePolicy.js.map +1 -0
  248. package/tableStorageLifecyclePolicyAttachment.d.ts +154 -0
  249. package/tableStorageLifecyclePolicyAttachment.d.ts.map +1 -0
  250. package/tableStorageLifecyclePolicyAttachment.js +159 -0
  251. package/tableStorageLifecyclePolicyAttachment.js.map +1 -0
  252. package/tagAssociation.d.ts +5 -3
  253. package/tagAssociation.d.ts.map +1 -1
  254. package/tagAssociation.js +2 -0
  255. package/tagAssociation.js.map +1 -1
  256. package/task.d.ts +15 -3
  257. package/task.d.ts.map +1 -1
  258. package/task.js +2 -0
  259. package/task.js.map +1 -1
  260. package/types/input.d.ts +546 -6
  261. package/types/input.d.ts.map +1 -1
  262. package/types/output.d.ts +647 -6
  263. package/types/output.d.ts.map +1 -1
  264. package/user.d.ts +12 -0
  265. package/user.d.ts.map +1 -1
  266. package/user.js +2 -0
  267. package/user.js.map +1 -1
  268. package/userSessionPolicyAttachment.d.ts +0 -2
  269. package/userSessionPolicyAttachment.d.ts.map +1 -1
  270. package/userSessionPolicyAttachment.js +0 -2
  271. package/userSessionPolicyAttachment.js.map +1 -1
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by pulumi-language-nodejs. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
16
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
17
+ }) : function(o, v) {
18
+ o["default"] = v;
19
+ });
20
+ var __importStar = (this && this.__importStar) || function (mod) {
21
+ if (mod && mod.__esModule) return mod;
22
+ var result = {};
23
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
24
+ __setModuleDefault(result, mod);
25
+ return result;
26
+ };
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ exports.ApiIntegrationExternalMcpDynamicClient = void 0;
29
+ const pulumi = __importStar(require("@pulumi/pulumi"));
30
+ const utilities = __importStar(require("./utilities"));
31
+ /**
32
+ * > **Caution: Preview Feature** This feature is considered a preview feature in the provider, regardless of the state of the resource in Snowflake. We do not guarantee its stability. It will be reworked and marked as a stable feature in future releases. Breaking changes are expected, even without bumping the major version. To use this feature, add the relevant feature name to `previewFeaturesEnabled` field in the provider configuration. Please always refer to the Getting Help section in our Github repo to best determine how to get help for your questions.
33
+ *
34
+ * Resource used to manage API integration External MCP Dynamic Client Registration objects. For more information, check [api integration documentation](https://docs.snowflake.com/en/sql-reference/sql/create-api-integration).
35
+ *
36
+ * ## Example Usage
37
+ *
38
+ * > **Note** Instead of using fully_qualified_name, you can reference objects managed outside Terraform by constructing a correct ID, consult identifiers guide.
39
+ * <!-- TODO(SNOW-1634854): include an example showing both methods-->
40
+ *
41
+ * ```typescript
42
+ * import * as pulumi from "@pulumi/pulumi";
43
+ * import * as snowflake from "@pulumi/snowflake";
44
+ *
45
+ * // basic resource
46
+ * const basic = new snowflake.ApiIntegrationExternalMcpDynamicClient("basic", {
47
+ * name: "external_mcp_dynamic_client_integration",
48
+ * oauthResourceUrl: "https://mcp-server.example.com",
49
+ * apiAllowedPrefixes: ["https://mcp-server.example.com/"],
50
+ * enabled: true,
51
+ * });
52
+ * // complete resource
53
+ * const complete = new snowflake.ApiIntegrationExternalMcpDynamicClient("complete", {
54
+ * name: "external_mcp_dynamic_client_integration_complete",
55
+ * oauthResourceUrl: "https://mcp-server.example.com",
56
+ * apiAllowedPrefixes: ["https://mcp-server.example.com/"],
57
+ * apiBlockedPrefixes: ["https://mcp-server.example.com/blocked/"],
58
+ * enabled: true,
59
+ * comment: "Example External MCP Dynamic Client Registration integration",
60
+ * });
61
+ * ```
62
+ *
63
+ * > **Note** If a field has a default value, it is shown next to the type in the schema.
64
+ *
65
+ * ## Import
66
+ *
67
+ * ```sh
68
+ * $ pulumi import snowflake:index/apiIntegrationExternalMcpDynamicClient:ApiIntegrationExternalMcpDynamicClient example '"<name>"'
69
+ * ```
70
+ */
71
+ class ApiIntegrationExternalMcpDynamicClient extends pulumi.CustomResource {
72
+ /**
73
+ * Get an existing ApiIntegrationExternalMcpDynamicClient resource's state with the given name, ID, and optional extra
74
+ * properties used to qualify the lookup.
75
+ *
76
+ * @param name The _unique_ name of the resulting resource.
77
+ * @param id The _unique_ provider ID of the resource to lookup.
78
+ * @param state Any extra arguments used during the lookup.
79
+ * @param opts Optional settings to control the behavior of the CustomResource.
80
+ */
81
+ static get(name, id, state, opts) {
82
+ return new ApiIntegrationExternalMcpDynamicClient(name, state, { ...opts, id: id });
83
+ }
84
+ /** @internal */
85
+ static __pulumiType = 'snowflake:index/apiIntegrationExternalMcpDynamicClient:ApiIntegrationExternalMcpDynamicClient';
86
+ /**
87
+ * Returns true if the given object is an instance of ApiIntegrationExternalMcpDynamicClient. This is designed to work even
88
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
89
+ */
90
+ static isInstance(obj) {
91
+ if (obj === undefined || obj === null) {
92
+ return false;
93
+ }
94
+ return obj['__pulumiType'] === ApiIntegrationExternalMcpDynamicClient.__pulumiType;
95
+ }
96
+ constructor(name, argsOrState, opts) {
97
+ let resourceInputs = {};
98
+ opts = opts || {};
99
+ if (opts.id) {
100
+ const state = argsOrState;
101
+ resourceInputs["apiAllowedPrefixes"] = state?.apiAllowedPrefixes;
102
+ resourceInputs["apiBlockedPrefixes"] = state?.apiBlockedPrefixes;
103
+ resourceInputs["comment"] = state?.comment;
104
+ resourceInputs["describeOutputs"] = state?.describeOutputs;
105
+ resourceInputs["enabled"] = state?.enabled;
106
+ resourceInputs["fullyQualifiedName"] = state?.fullyQualifiedName;
107
+ resourceInputs["name"] = state?.name;
108
+ resourceInputs["oauthResourceUrl"] = state?.oauthResourceUrl;
109
+ resourceInputs["showOutputs"] = state?.showOutputs;
110
+ }
111
+ else {
112
+ const args = argsOrState;
113
+ if (args?.apiAllowedPrefixes === undefined && !opts.urn) {
114
+ throw new Error("Missing required property 'apiAllowedPrefixes'");
115
+ }
116
+ if (args?.enabled === undefined && !opts.urn) {
117
+ throw new Error("Missing required property 'enabled'");
118
+ }
119
+ if (args?.oauthResourceUrl === undefined && !opts.urn) {
120
+ throw new Error("Missing required property 'oauthResourceUrl'");
121
+ }
122
+ resourceInputs["apiAllowedPrefixes"] = args?.apiAllowedPrefixes;
123
+ resourceInputs["apiBlockedPrefixes"] = args?.apiBlockedPrefixes;
124
+ resourceInputs["comment"] = args?.comment;
125
+ resourceInputs["enabled"] = args?.enabled;
126
+ resourceInputs["name"] = args?.name;
127
+ resourceInputs["oauthResourceUrl"] = args?.oauthResourceUrl;
128
+ resourceInputs["describeOutputs"] = undefined /*out*/;
129
+ resourceInputs["fullyQualifiedName"] = undefined /*out*/;
130
+ resourceInputs["showOutputs"] = undefined /*out*/;
131
+ }
132
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
133
+ super(ApiIntegrationExternalMcpDynamicClient.__pulumiType, name, resourceInputs, opts);
134
+ }
135
+ }
136
+ exports.ApiIntegrationExternalMcpDynamicClient = ApiIntegrationExternalMcpDynamicClient;
137
+ //# sourceMappingURL=apiIntegrationExternalMcpDynamicClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apiIntegrationExternalMcpDynamicClient.js","sourceRoot":"","sources":["../apiIntegrationExternalMcpDynamicClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,243 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as inputs from "./types/input";
3
+ import * as outputs from "./types/output";
4
+ /**
5
+ * > **Caution: Preview Feature** This feature is considered a preview feature in the provider, regardless of the state of the resource in Snowflake. We do not guarantee its stability. It will be reworked and marked as a stable feature in future releases. Breaking changes are expected, even without bumping the major version. To use this feature, add the relevant feature name to `previewFeaturesEnabled` field in the provider configuration. Please always refer to the Getting Help section in our Github repo to best determine how to get help for your questions.
6
+ *
7
+ * Resource used to manage API integration for external MCP (Model Context Protocol) servers using OAuth 2.0 authentication. For more information, check [api integration documentation](https://docs.snowflake.com/en/sql-reference/sql/create-api-integration).
8
+ *
9
+ * ## Example Usage
10
+ *
11
+ * > **Note** Instead of using fully_qualified_name, you can reference objects managed outside Terraform by constructing a correct ID, consult identifiers guide.
12
+ * <!-- TODO(SNOW-1634854): include an example showing both methods-->
13
+ *
14
+ * ```typescript
15
+ * import * as pulumi from "@pulumi/pulumi";
16
+ * import * as snowflake from "@pulumi/snowflake";
17
+ *
18
+ * // basic resource
19
+ * const basic = new snowflake.ApiIntegrationExternalMcpOauth2("basic", {
20
+ * name: "external_mcp_oauth2_integration",
21
+ * oauthClientId: "my-client-id",
22
+ * oauthClientSecret: "my-client-secret",
23
+ * oauthTokenEndpoint: "https://mcp-server.example.com/oauth/token",
24
+ * oauthAuthorizationEndpoint: "https://mcp-server.example.com/oauth/authorize",
25
+ * apiAllowedPrefixes: ["https://mcp-server.example.com/"],
26
+ * enabled: true,
27
+ * });
28
+ * // complete resource
29
+ * const complete = new snowflake.ApiIntegrationExternalMcpOauth2("complete", {
30
+ * name: "external_mcp_oauth2_integration_complete",
31
+ * oauthClientId: "my-client-id",
32
+ * oauthClientSecret: "my-client-secret",
33
+ * oauthTokenEndpoint: "https://mcp-server.example.com/oauth/token",
34
+ * oauthAuthorizationEndpoint: "https://mcp-server.example.com/oauth/authorize",
35
+ * oauthClientAuthMethod: "CLIENT_SECRET_POST",
36
+ * oauthRefreshTokenValidity: 86400,
37
+ * apiAllowedPrefixes: ["https://mcp-server.example.com/"],
38
+ * apiBlockedPrefixes: ["https://mcp-server.example.com/blocked/"],
39
+ * enabled: true,
40
+ * comment: "Example External MCP OAuth2 integration",
41
+ * });
42
+ * ```
43
+ *
44
+ * > **Note** If a field has a default value, it is shown next to the type in the schema.
45
+ *
46
+ * ## Import
47
+ *
48
+ * ```sh
49
+ * $ pulumi import snowflake:index/apiIntegrationExternalMcpOauth2:ApiIntegrationExternalMcpOauth2 example '"<name>"'
50
+ * ```
51
+ */
52
+ export declare class ApiIntegrationExternalMcpOauth2 extends pulumi.CustomResource {
53
+ /**
54
+ * Get an existing ApiIntegrationExternalMcpOauth2 resource's state with the given name, ID, and optional extra
55
+ * properties used to qualify the lookup.
56
+ *
57
+ * @param name The _unique_ name of the resulting resource.
58
+ * @param id The _unique_ provider ID of the resource to lookup.
59
+ * @param state Any extra arguments used during the lookup.
60
+ * @param opts Optional settings to control the behavior of the CustomResource.
61
+ */
62
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ApiIntegrationExternalMcpOauth2State, opts?: pulumi.CustomResourceOptions): ApiIntegrationExternalMcpOauth2;
63
+ /**
64
+ * Returns true if the given object is an instance of ApiIntegrationExternalMcpOauth2. This is designed to work even
65
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
66
+ */
67
+ static isInstance(obj: any): obj is ApiIntegrationExternalMcpOauth2;
68
+ /**
69
+ * Explicitly limits external functions that use the integration to reference one or more HTTPS proxy service and remote service endpoints and resources.
70
+ */
71
+ readonly apiAllowedPrefixes: pulumi.Output<string[]>;
72
+ /**
73
+ * Lists the endpoints and resources in the HTTPS proxy service that are not allowed to be called from Snowflake.
74
+ */
75
+ readonly apiBlockedPrefixes: pulumi.Output<string[] | undefined>;
76
+ /**
77
+ * Specifies a comment for the integration.
78
+ */
79
+ readonly comment: pulumi.Output<string | undefined>;
80
+ /**
81
+ * Outputs the result of `DESCRIBE API INTEGRATION` for the given integration.
82
+ */
83
+ readonly describeOutputs: pulumi.Output<outputs.ApiIntegrationExternalMcpOauth2DescribeOutput[]>;
84
+ /**
85
+ * Specifies whether this API integration is enabled or disabled.
86
+ */
87
+ readonly enabled: pulumi.Output<boolean>;
88
+ /**
89
+ * Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
90
+ */
91
+ readonly fullyQualifiedName: pulumi.Output<string>;
92
+ /**
93
+ * Specifies the identifier (i.e. name) for the integration. This value must be unique in your account. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
94
+ */
95
+ readonly name: pulumi.Output<string>;
96
+ /**
97
+ * Specifies the OAuth 2.0 authorization endpoint URL for the MCP server.
98
+ */
99
+ readonly oauthAuthorizationEndpoint: pulumi.Output<string>;
100
+ /**
101
+ * Specifies the OAuth 2.0 client authentication method. Valid values are (case-insensitive): `CLIENT_SECRET_BASIC` | `CLIENT_SECRET_POST`.
102
+ */
103
+ readonly oauthClientAuthMethod: pulumi.Output<string | undefined>;
104
+ /**
105
+ * Specifies the OAuth 2.0 client ID for the MCP server.
106
+ */
107
+ readonly oauthClientId: pulumi.Output<string>;
108
+ /**
109
+ * Specifies the OAuth 2.0 client secret for the MCP server. External changes for this field won't be detected. In case you want to apply external changes, you can re-create the resource manually using "terraform taint".
110
+ */
111
+ readonly oauthClientSecret: pulumi.Output<string>;
112
+ /**
113
+ * Specifies the validity period (in seconds) for refresh tokens issued by the MCP server.
114
+ */
115
+ readonly oauthRefreshTokenValidity: pulumi.Output<number | undefined>;
116
+ /**
117
+ * Specifies the OAuth 2.0 token endpoint URL for the MCP server.
118
+ */
119
+ readonly oauthTokenEndpoint: pulumi.Output<string>;
120
+ /**
121
+ * Outputs the result of `SHOW API INTEGRATIONS` for the given integration.
122
+ */
123
+ readonly showOutputs: pulumi.Output<outputs.ApiIntegrationExternalMcpOauth2ShowOutput[]>;
124
+ /**
125
+ * Create a ApiIntegrationExternalMcpOauth2 resource with the given unique name, arguments, and options.
126
+ *
127
+ * @param name The _unique_ name of the resource.
128
+ * @param args The arguments to use to populate this resource's properties.
129
+ * @param opts A bag of options that control this resource's behavior.
130
+ */
131
+ constructor(name: string, args: ApiIntegrationExternalMcpOauth2Args, opts?: pulumi.CustomResourceOptions);
132
+ }
133
+ /**
134
+ * Input properties used for looking up and filtering ApiIntegrationExternalMcpOauth2 resources.
135
+ */
136
+ export interface ApiIntegrationExternalMcpOauth2State {
137
+ /**
138
+ * Explicitly limits external functions that use the integration to reference one or more HTTPS proxy service and remote service endpoints and resources.
139
+ */
140
+ apiAllowedPrefixes?: pulumi.Input<pulumi.Input<string>[] | undefined>;
141
+ /**
142
+ * Lists the endpoints and resources in the HTTPS proxy service that are not allowed to be called from Snowflake.
143
+ */
144
+ apiBlockedPrefixes?: pulumi.Input<pulumi.Input<string>[] | undefined>;
145
+ /**
146
+ * Specifies a comment for the integration.
147
+ */
148
+ comment?: pulumi.Input<string | undefined>;
149
+ /**
150
+ * Outputs the result of `DESCRIBE API INTEGRATION` for the given integration.
151
+ */
152
+ describeOutputs?: pulumi.Input<pulumi.Input<inputs.ApiIntegrationExternalMcpOauth2DescribeOutput>[] | undefined>;
153
+ /**
154
+ * Specifies whether this API integration is enabled or disabled.
155
+ */
156
+ enabled?: pulumi.Input<boolean | undefined>;
157
+ /**
158
+ * Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
159
+ */
160
+ fullyQualifiedName?: pulumi.Input<string | undefined>;
161
+ /**
162
+ * Specifies the identifier (i.e. name) for the integration. This value must be unique in your account. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
163
+ */
164
+ name?: pulumi.Input<string | undefined>;
165
+ /**
166
+ * Specifies the OAuth 2.0 authorization endpoint URL for the MCP server.
167
+ */
168
+ oauthAuthorizationEndpoint?: pulumi.Input<string | undefined>;
169
+ /**
170
+ * Specifies the OAuth 2.0 client authentication method. Valid values are (case-insensitive): `CLIENT_SECRET_BASIC` | `CLIENT_SECRET_POST`.
171
+ */
172
+ oauthClientAuthMethod?: pulumi.Input<string | undefined>;
173
+ /**
174
+ * Specifies the OAuth 2.0 client ID for the MCP server.
175
+ */
176
+ oauthClientId?: pulumi.Input<string | undefined>;
177
+ /**
178
+ * Specifies the OAuth 2.0 client secret for the MCP server. External changes for this field won't be detected. In case you want to apply external changes, you can re-create the resource manually using "terraform taint".
179
+ */
180
+ oauthClientSecret?: pulumi.Input<string | undefined>;
181
+ /**
182
+ * Specifies the validity period (in seconds) for refresh tokens issued by the MCP server.
183
+ */
184
+ oauthRefreshTokenValidity?: pulumi.Input<number | undefined>;
185
+ /**
186
+ * Specifies the OAuth 2.0 token endpoint URL for the MCP server.
187
+ */
188
+ oauthTokenEndpoint?: pulumi.Input<string | undefined>;
189
+ /**
190
+ * Outputs the result of `SHOW API INTEGRATIONS` for the given integration.
191
+ */
192
+ showOutputs?: pulumi.Input<pulumi.Input<inputs.ApiIntegrationExternalMcpOauth2ShowOutput>[] | undefined>;
193
+ }
194
+ /**
195
+ * The set of arguments for constructing a ApiIntegrationExternalMcpOauth2 resource.
196
+ */
197
+ export interface ApiIntegrationExternalMcpOauth2Args {
198
+ /**
199
+ * Explicitly limits external functions that use the integration to reference one or more HTTPS proxy service and remote service endpoints and resources.
200
+ */
201
+ apiAllowedPrefixes: pulumi.Input<pulumi.Input<string>[]>;
202
+ /**
203
+ * Lists the endpoints and resources in the HTTPS proxy service that are not allowed to be called from Snowflake.
204
+ */
205
+ apiBlockedPrefixes?: pulumi.Input<pulumi.Input<string>[] | undefined>;
206
+ /**
207
+ * Specifies a comment for the integration.
208
+ */
209
+ comment?: pulumi.Input<string | undefined>;
210
+ /**
211
+ * Specifies whether this API integration is enabled or disabled.
212
+ */
213
+ enabled: pulumi.Input<boolean>;
214
+ /**
215
+ * Specifies the identifier (i.e. name) for the integration. This value must be unique in your account. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
216
+ */
217
+ name?: pulumi.Input<string | undefined>;
218
+ /**
219
+ * Specifies the OAuth 2.0 authorization endpoint URL for the MCP server.
220
+ */
221
+ oauthAuthorizationEndpoint: pulumi.Input<string>;
222
+ /**
223
+ * Specifies the OAuth 2.0 client authentication method. Valid values are (case-insensitive): `CLIENT_SECRET_BASIC` | `CLIENT_SECRET_POST`.
224
+ */
225
+ oauthClientAuthMethod?: pulumi.Input<string | undefined>;
226
+ /**
227
+ * Specifies the OAuth 2.0 client ID for the MCP server.
228
+ */
229
+ oauthClientId: pulumi.Input<string>;
230
+ /**
231
+ * Specifies the OAuth 2.0 client secret for the MCP server. External changes for this field won't be detected. In case you want to apply external changes, you can re-create the resource manually using "terraform taint".
232
+ */
233
+ oauthClientSecret: pulumi.Input<string>;
234
+ /**
235
+ * Specifies the validity period (in seconds) for refresh tokens issued by the MCP server.
236
+ */
237
+ oauthRefreshTokenValidity?: pulumi.Input<number | undefined>;
238
+ /**
239
+ * Specifies the OAuth 2.0 token endpoint URL for the MCP server.
240
+ */
241
+ oauthTokenEndpoint: pulumi.Input<string>;
242
+ }
243
+ //# sourceMappingURL=apiIntegrationExternalMcpOauth2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apiIntegrationExternalMcpOauth2.d.ts","sourceRoot":"","sources":["../apiIntegrationExternalMcpOauth2.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,166 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by pulumi-language-nodejs. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
16
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
17
+ }) : function(o, v) {
18
+ o["default"] = v;
19
+ });
20
+ var __importStar = (this && this.__importStar) || function (mod) {
21
+ if (mod && mod.__esModule) return mod;
22
+ var result = {};
23
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
24
+ __setModuleDefault(result, mod);
25
+ return result;
26
+ };
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ exports.ApiIntegrationExternalMcpOauth2 = void 0;
29
+ const pulumi = __importStar(require("@pulumi/pulumi"));
30
+ const utilities = __importStar(require("./utilities"));
31
+ /**
32
+ * > **Caution: Preview Feature** This feature is considered a preview feature in the provider, regardless of the state of the resource in Snowflake. We do not guarantee its stability. It will be reworked and marked as a stable feature in future releases. Breaking changes are expected, even without bumping the major version. To use this feature, add the relevant feature name to `previewFeaturesEnabled` field in the provider configuration. Please always refer to the Getting Help section in our Github repo to best determine how to get help for your questions.
33
+ *
34
+ * Resource used to manage API integration for external MCP (Model Context Protocol) servers using OAuth 2.0 authentication. For more information, check [api integration documentation](https://docs.snowflake.com/en/sql-reference/sql/create-api-integration).
35
+ *
36
+ * ## Example Usage
37
+ *
38
+ * > **Note** Instead of using fully_qualified_name, you can reference objects managed outside Terraform by constructing a correct ID, consult identifiers guide.
39
+ * <!-- TODO(SNOW-1634854): include an example showing both methods-->
40
+ *
41
+ * ```typescript
42
+ * import * as pulumi from "@pulumi/pulumi";
43
+ * import * as snowflake from "@pulumi/snowflake";
44
+ *
45
+ * // basic resource
46
+ * const basic = new snowflake.ApiIntegrationExternalMcpOauth2("basic", {
47
+ * name: "external_mcp_oauth2_integration",
48
+ * oauthClientId: "my-client-id",
49
+ * oauthClientSecret: "my-client-secret",
50
+ * oauthTokenEndpoint: "https://mcp-server.example.com/oauth/token",
51
+ * oauthAuthorizationEndpoint: "https://mcp-server.example.com/oauth/authorize",
52
+ * apiAllowedPrefixes: ["https://mcp-server.example.com/"],
53
+ * enabled: true,
54
+ * });
55
+ * // complete resource
56
+ * const complete = new snowflake.ApiIntegrationExternalMcpOauth2("complete", {
57
+ * name: "external_mcp_oauth2_integration_complete",
58
+ * oauthClientId: "my-client-id",
59
+ * oauthClientSecret: "my-client-secret",
60
+ * oauthTokenEndpoint: "https://mcp-server.example.com/oauth/token",
61
+ * oauthAuthorizationEndpoint: "https://mcp-server.example.com/oauth/authorize",
62
+ * oauthClientAuthMethod: "CLIENT_SECRET_POST",
63
+ * oauthRefreshTokenValidity: 86400,
64
+ * apiAllowedPrefixes: ["https://mcp-server.example.com/"],
65
+ * apiBlockedPrefixes: ["https://mcp-server.example.com/blocked/"],
66
+ * enabled: true,
67
+ * comment: "Example External MCP OAuth2 integration",
68
+ * });
69
+ * ```
70
+ *
71
+ * > **Note** If a field has a default value, it is shown next to the type in the schema.
72
+ *
73
+ * ## Import
74
+ *
75
+ * ```sh
76
+ * $ pulumi import snowflake:index/apiIntegrationExternalMcpOauth2:ApiIntegrationExternalMcpOauth2 example '"<name>"'
77
+ * ```
78
+ */
79
+ class ApiIntegrationExternalMcpOauth2 extends pulumi.CustomResource {
80
+ /**
81
+ * Get an existing ApiIntegrationExternalMcpOauth2 resource's state with the given name, ID, and optional extra
82
+ * properties used to qualify the lookup.
83
+ *
84
+ * @param name The _unique_ name of the resulting resource.
85
+ * @param id The _unique_ provider ID of the resource to lookup.
86
+ * @param state Any extra arguments used during the lookup.
87
+ * @param opts Optional settings to control the behavior of the CustomResource.
88
+ */
89
+ static get(name, id, state, opts) {
90
+ return new ApiIntegrationExternalMcpOauth2(name, state, { ...opts, id: id });
91
+ }
92
+ /** @internal */
93
+ static __pulumiType = 'snowflake:index/apiIntegrationExternalMcpOauth2:ApiIntegrationExternalMcpOauth2';
94
+ /**
95
+ * Returns true if the given object is an instance of ApiIntegrationExternalMcpOauth2. This is designed to work even
96
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
97
+ */
98
+ static isInstance(obj) {
99
+ if (obj === undefined || obj === null) {
100
+ return false;
101
+ }
102
+ return obj['__pulumiType'] === ApiIntegrationExternalMcpOauth2.__pulumiType;
103
+ }
104
+ constructor(name, argsOrState, opts) {
105
+ let resourceInputs = {};
106
+ opts = opts || {};
107
+ if (opts.id) {
108
+ const state = argsOrState;
109
+ resourceInputs["apiAllowedPrefixes"] = state?.apiAllowedPrefixes;
110
+ resourceInputs["apiBlockedPrefixes"] = state?.apiBlockedPrefixes;
111
+ resourceInputs["comment"] = state?.comment;
112
+ resourceInputs["describeOutputs"] = state?.describeOutputs;
113
+ resourceInputs["enabled"] = state?.enabled;
114
+ resourceInputs["fullyQualifiedName"] = state?.fullyQualifiedName;
115
+ resourceInputs["name"] = state?.name;
116
+ resourceInputs["oauthAuthorizationEndpoint"] = state?.oauthAuthorizationEndpoint;
117
+ resourceInputs["oauthClientAuthMethod"] = state?.oauthClientAuthMethod;
118
+ resourceInputs["oauthClientId"] = state?.oauthClientId;
119
+ resourceInputs["oauthClientSecret"] = state?.oauthClientSecret;
120
+ resourceInputs["oauthRefreshTokenValidity"] = state?.oauthRefreshTokenValidity;
121
+ resourceInputs["oauthTokenEndpoint"] = state?.oauthTokenEndpoint;
122
+ resourceInputs["showOutputs"] = state?.showOutputs;
123
+ }
124
+ else {
125
+ const args = argsOrState;
126
+ if (args?.apiAllowedPrefixes === undefined && !opts.urn) {
127
+ throw new Error("Missing required property 'apiAllowedPrefixes'");
128
+ }
129
+ if (args?.enabled === undefined && !opts.urn) {
130
+ throw new Error("Missing required property 'enabled'");
131
+ }
132
+ if (args?.oauthAuthorizationEndpoint === undefined && !opts.urn) {
133
+ throw new Error("Missing required property 'oauthAuthorizationEndpoint'");
134
+ }
135
+ if (args?.oauthClientId === undefined && !opts.urn) {
136
+ throw new Error("Missing required property 'oauthClientId'");
137
+ }
138
+ if (args?.oauthClientSecret === undefined && !opts.urn) {
139
+ throw new Error("Missing required property 'oauthClientSecret'");
140
+ }
141
+ if (args?.oauthTokenEndpoint === undefined && !opts.urn) {
142
+ throw new Error("Missing required property 'oauthTokenEndpoint'");
143
+ }
144
+ resourceInputs["apiAllowedPrefixes"] = args?.apiAllowedPrefixes;
145
+ resourceInputs["apiBlockedPrefixes"] = args?.apiBlockedPrefixes;
146
+ resourceInputs["comment"] = args?.comment;
147
+ resourceInputs["enabled"] = args?.enabled;
148
+ resourceInputs["name"] = args?.name;
149
+ resourceInputs["oauthAuthorizationEndpoint"] = args?.oauthAuthorizationEndpoint;
150
+ resourceInputs["oauthClientAuthMethod"] = args?.oauthClientAuthMethod;
151
+ resourceInputs["oauthClientId"] = args?.oauthClientId;
152
+ resourceInputs["oauthClientSecret"] = args?.oauthClientSecret ? pulumi.secret(args.oauthClientSecret) : undefined;
153
+ resourceInputs["oauthRefreshTokenValidity"] = args?.oauthRefreshTokenValidity;
154
+ resourceInputs["oauthTokenEndpoint"] = args?.oauthTokenEndpoint;
155
+ resourceInputs["describeOutputs"] = undefined /*out*/;
156
+ resourceInputs["fullyQualifiedName"] = undefined /*out*/;
157
+ resourceInputs["showOutputs"] = undefined /*out*/;
158
+ }
159
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
160
+ const secretOpts = { additionalSecretOutputs: ["oauthClientSecret"] };
161
+ opts = pulumi.mergeOptions(opts, secretOpts);
162
+ super(ApiIntegrationExternalMcpOauth2.__pulumiType, name, resourceInputs, opts);
163
+ }
164
+ }
165
+ exports.ApiIntegrationExternalMcpOauth2 = ApiIntegrationExternalMcpOauth2;
166
+ //# sourceMappingURL=apiIntegrationExternalMcpOauth2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apiIntegrationExternalMcpOauth2.js","sourceRoot":"","sources":["../apiIntegrationExternalMcpOauth2.ts"],"names":[],"mappings":"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"}