@pulumi/snowflake 2.20.0-alpha.1786984938 → 2.20.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.
- package/accountAuthenticationPolicyAttachment.d.ts +55 -6
- package/accountAuthenticationPolicyAttachment.d.ts.map +1 -1
- package/accountAuthenticationPolicyAttachment.js +32 -3
- package/accountAuthenticationPolicyAttachment.js.map +1 -1
- package/accountSessionPolicyAttachment.d.ts +55 -6
- package/accountSessionPolicyAttachment.d.ts.map +1 -1
- package/accountSessionPolicyAttachment.js +32 -3
- package/accountSessionPolicyAttachment.js.map +1 -1
- package/apiIntegration.d.ts +1 -1
- package/apiIntegration.js +1 -1
- package/computePool.d.ts +18 -0
- package/computePool.d.ts.map +1 -1
- package/computePool.js +8 -0
- package/computePool.js.map +1 -1
- package/config/vars.d.ts +8 -4
- package/config/vars.d.ts.map +1 -1
- package/config/vars.js +6 -0
- package/config/vars.js.map +1 -1
- package/externalAccessIntegration.d.ts +205 -0
- package/externalAccessIntegration.d.ts.map +1 -0
- package/externalAccessIntegration.js +164 -0
- package/externalAccessIntegration.js.map +1 -0
- package/fileFormat.d.ts +1 -1
- package/fileFormat.js +1 -1
- package/getExternalAccessIntegrations.d.ts +62 -0
- package/getExternalAccessIntegrations.d.ts.map +1 -0
- package/getExternalAccessIntegrations.js +59 -0
- package/getExternalAccessIntegrations.js.map +1 -0
- package/hybridTable.d.ts +318 -0
- package/hybridTable.d.ts.map +1 -0
- package/hybridTable.js +227 -0
- package/hybridTable.js.map +1 -0
- package/index.d.ts +9 -0
- package/index.d.ts.map +1 -1
- package/index.js +19 -6
- package/index.js.map +1 -1
- package/package.json +2 -2
- package/provider.d.ts +14 -6
- package/provider.d.ts.map +1 -1
- package/provider.js +1 -0
- package/provider.js.map +1 -1
- package/stage.d.ts +1 -1
- package/stage.js +1 -1
- package/storageIntegration.d.ts +1 -1
- package/storageIntegration.js +1 -1
- package/types/input.d.ts +170 -0
- package/types/input.d.ts.map +1 -1
- package/types/output.d.ts +198 -0
- package/types/output.d.ts.map +1 -1
- package/userAuthenticationPolicyAttachment.d.ts +6 -6
- package/userSessionPolicyAttachment.d.ts +6 -6
|
@@ -2,8 +2,6 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
2
2
|
/**
|
|
3
3
|
* > **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.
|
|
4
4
|
*
|
|
5
|
-
* > **Required warehouse** For this resource, the provider uses [policy references](https://docs.snowflake.com/en/sql-reference/functions/policy_references) to get information about policies attached to the current account. This function requires a warehouse in the connection. Please, make sure you have either set a `DEFAULT_WAREHOUSE` for the user, or specified a warehouse in the provider configuration.
|
|
6
|
-
*
|
|
7
5
|
* > **Warning** This resource shouldn't be used with `snowflake.CurrentAccount` resource in the same configuration, as it may lead to unexpected behavior.
|
|
8
6
|
*
|
|
9
7
|
* Specifies the authentication policy to use for the current account. To set the authentication policy of a different account, use a provider alias.
|
|
@@ -19,7 +17,20 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
19
17
|
* schema: "security",
|
|
20
18
|
* name: "default_policy",
|
|
21
19
|
* });
|
|
20
|
+
* // Attach the authentication policy account-wide (default behavior).
|
|
22
21
|
* const attachment = new snowflake.AccountAuthenticationPolicyAttachment("attachment", {authenticationPolicy: _default.fullyQualifiedName});
|
|
22
|
+
* const serviceUsers = new snowflake.AuthenticationPolicy("service_users", {
|
|
23
|
+
* database: "prod",
|
|
24
|
+
* schema: "security",
|
|
25
|
+
* name: "service_users_policy",
|
|
26
|
+
* });
|
|
27
|
+
* // Attach the authentication policy to all service users only.
|
|
28
|
+
* // Use for_all_person_users = true to target all person users instead.
|
|
29
|
+
* // The two fields are mutually exclusive; when neither is set, the policy is attached account-wide.
|
|
30
|
+
* const attachmentServiceUsers = new snowflake.AccountAuthenticationPolicyAttachment("attachment_service_users", {
|
|
31
|
+
* authenticationPolicy: serviceUsers.fullyQualifiedName,
|
|
32
|
+
* forAllServiceUsers: true,
|
|
33
|
+
* });
|
|
23
34
|
* ```
|
|
24
35
|
* > **Note** Instead of using fully_qualified_name, you can reference objects managed outside Terraform by constructing a correct ID, consult identifiers guide.
|
|
25
36
|
* <!-- TODO(SNOW-1634854): include an example showing both methods-->
|
|
@@ -28,8 +39,22 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
28
39
|
*
|
|
29
40
|
* ## Import
|
|
30
41
|
*
|
|
42
|
+
* Account-wide attachment:
|
|
43
|
+
*
|
|
44
|
+
* ```sh
|
|
45
|
+
* $ pulumi import snowflake:index/accountAuthenticationPolicyAttachment:AccountAuthenticationPolicyAttachment example '"<database_name>"."<schema_name>"."<authentication_policy_name>"|ACCOUNT'
|
|
46
|
+
* ```
|
|
47
|
+
*
|
|
48
|
+
* For all person users:
|
|
49
|
+
*
|
|
50
|
+
* ```sh
|
|
51
|
+
* $ pulumi import snowflake:index/accountAuthenticationPolicyAttachment:AccountAuthenticationPolicyAttachment example '"<database_name>"."<schema_name>"."<authentication_policy_name>"|PERSON_USERS'
|
|
52
|
+
* ```
|
|
53
|
+
*
|
|
54
|
+
* For all service users:
|
|
55
|
+
*
|
|
31
56
|
* ```sh
|
|
32
|
-
* $ pulumi import snowflake:index/accountAuthenticationPolicyAttachment:AccountAuthenticationPolicyAttachment example '"<database_name>"."<schema_name>"."<authentication_policy_name>"'
|
|
57
|
+
* $ pulumi import snowflake:index/accountAuthenticationPolicyAttachment:AccountAuthenticationPolicyAttachment example '"<database_name>"."<schema_name>"."<authentication_policy_name>"|SERVICE_USERS'
|
|
33
58
|
* ```
|
|
34
59
|
*/
|
|
35
60
|
export declare class AccountAuthenticationPolicyAttachment extends pulumi.CustomResource {
|
|
@@ -49,9 +74,17 @@ export declare class AccountAuthenticationPolicyAttachment extends pulumi.Custom
|
|
|
49
74
|
*/
|
|
50
75
|
static isInstance(obj: any): obj is AccountAuthenticationPolicyAttachment;
|
|
51
76
|
/**
|
|
52
|
-
* Fully qualified name of the authentication policy to apply to the current account.
|
|
77
|
+
* Fully qualified name of the authentication policy to apply to the current account. Due to technical limitations (read more here), avoid using pipes (`|`).
|
|
53
78
|
*/
|
|
54
79
|
readonly authenticationPolicy: pulumi.Output<string>;
|
|
80
|
+
/**
|
|
81
|
+
* If true, attaches the authentication policy to all person users in the current account. Conflicts with `forAllServiceUsers`. When neither field is set, the policy is attached account-wide.
|
|
82
|
+
*/
|
|
83
|
+
readonly forAllPersonUsers: pulumi.Output<boolean | undefined>;
|
|
84
|
+
/**
|
|
85
|
+
* If true, attaches the authentication policy to all service users in the current account. Conflicts with `forAllPersonUsers`. When neither field is set, the policy is attached account-wide.
|
|
86
|
+
*/
|
|
87
|
+
readonly forAllServiceUsers: pulumi.Output<boolean | undefined>;
|
|
55
88
|
/**
|
|
56
89
|
* Create a AccountAuthenticationPolicyAttachment resource with the given unique name, arguments, and options.
|
|
57
90
|
*
|
|
@@ -66,17 +99,33 @@ export declare class AccountAuthenticationPolicyAttachment extends pulumi.Custom
|
|
|
66
99
|
*/
|
|
67
100
|
export interface AccountAuthenticationPolicyAttachmentState {
|
|
68
101
|
/**
|
|
69
|
-
* Fully qualified name of the authentication policy to apply to the current account.
|
|
102
|
+
* Fully qualified name of the authentication policy to apply to the current account. Due to technical limitations (read more here), avoid using pipes (`|`).
|
|
70
103
|
*/
|
|
71
104
|
authenticationPolicy?: pulumi.Input<string | undefined>;
|
|
105
|
+
/**
|
|
106
|
+
* If true, attaches the authentication policy to all person users in the current account. Conflicts with `forAllServiceUsers`. When neither field is set, the policy is attached account-wide.
|
|
107
|
+
*/
|
|
108
|
+
forAllPersonUsers?: pulumi.Input<boolean | undefined>;
|
|
109
|
+
/**
|
|
110
|
+
* If true, attaches the authentication policy to all service users in the current account. Conflicts with `forAllPersonUsers`. When neither field is set, the policy is attached account-wide.
|
|
111
|
+
*/
|
|
112
|
+
forAllServiceUsers?: pulumi.Input<boolean | undefined>;
|
|
72
113
|
}
|
|
73
114
|
/**
|
|
74
115
|
* The set of arguments for constructing a AccountAuthenticationPolicyAttachment resource.
|
|
75
116
|
*/
|
|
76
117
|
export interface AccountAuthenticationPolicyAttachmentArgs {
|
|
77
118
|
/**
|
|
78
|
-
* Fully qualified name of the authentication policy to apply to the current account.
|
|
119
|
+
* Fully qualified name of the authentication policy to apply to the current account. Due to technical limitations (read more here), avoid using pipes (`|`).
|
|
79
120
|
*/
|
|
80
121
|
authenticationPolicy: pulumi.Input<string>;
|
|
122
|
+
/**
|
|
123
|
+
* If true, attaches the authentication policy to all person users in the current account. Conflicts with `forAllServiceUsers`. When neither field is set, the policy is attached account-wide.
|
|
124
|
+
*/
|
|
125
|
+
forAllPersonUsers?: pulumi.Input<boolean | undefined>;
|
|
126
|
+
/**
|
|
127
|
+
* If true, attaches the authentication policy to all service users in the current account. Conflicts with `forAllPersonUsers`. When neither field is set, the policy is attached account-wide.
|
|
128
|
+
*/
|
|
129
|
+
forAllServiceUsers?: pulumi.Input<boolean | undefined>;
|
|
81
130
|
}
|
|
82
131
|
//# sourceMappingURL=accountAuthenticationPolicyAttachment.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accountAuthenticationPolicyAttachment.d.ts","sourceRoot":"","sources":["../accountAuthenticationPolicyAttachment.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAGzC
|
|
1
|
+
{"version":3,"file":"accountAuthenticationPolicyAttachment.d.ts","sourceRoot":"","sources":["../accountAuthenticationPolicyAttachment.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAGzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,qBAAa,qCAAsC,SAAQ,MAAM,CAAC,cAAc;IAC5E;;;;;;;;OAQG;WACW,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,0CAA0C,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,qBAAqB,GAAG,qCAAqC;IAO5L;;;OAGG;WACW,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,qCAAqC;IAOhF;;OAEG;IACH,SAAwB,oBAAoB,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACpE;;OAEG;IACH,SAAwB,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IAC9E;;OAEG;IACH,SAAwB,kBAAkB,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IAE/E;;;;;;OAMG;gBACS,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,yCAAyC,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,qBAAqB;CAqBjH;AAED;;GAEG;AACH,MAAM,WAAW,0CAA0C;IACvD;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACxD;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IACtD;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;CAC1D;AAED;;GAEG;AACH,MAAM,WAAW,yCAAyC;IACtD;;OAEG;IACH,oBAAoB,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3C;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IACtD;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;CAC1D"}
|
|
@@ -31,8 +31,6 @@ const utilities = __importStar(require("./utilities"));
|
|
|
31
31
|
/**
|
|
32
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
33
|
*
|
|
34
|
-
* > **Required warehouse** For this resource, the provider uses [policy references](https://docs.snowflake.com/en/sql-reference/functions/policy_references) to get information about policies attached to the current account. This function requires a warehouse in the connection. Please, make sure you have either set a `DEFAULT_WAREHOUSE` for the user, or specified a warehouse in the provider configuration.
|
|
35
|
-
*
|
|
36
34
|
* > **Warning** This resource shouldn't be used with `snowflake.CurrentAccount` resource in the same configuration, as it may lead to unexpected behavior.
|
|
37
35
|
*
|
|
38
36
|
* Specifies the authentication policy to use for the current account. To set the authentication policy of a different account, use a provider alias.
|
|
@@ -48,7 +46,20 @@ const utilities = __importStar(require("./utilities"));
|
|
|
48
46
|
* schema: "security",
|
|
49
47
|
* name: "default_policy",
|
|
50
48
|
* });
|
|
49
|
+
* // Attach the authentication policy account-wide (default behavior).
|
|
51
50
|
* const attachment = new snowflake.AccountAuthenticationPolicyAttachment("attachment", {authenticationPolicy: _default.fullyQualifiedName});
|
|
51
|
+
* const serviceUsers = new snowflake.AuthenticationPolicy("service_users", {
|
|
52
|
+
* database: "prod",
|
|
53
|
+
* schema: "security",
|
|
54
|
+
* name: "service_users_policy",
|
|
55
|
+
* });
|
|
56
|
+
* // Attach the authentication policy to all service users only.
|
|
57
|
+
* // Use for_all_person_users = true to target all person users instead.
|
|
58
|
+
* // The two fields are mutually exclusive; when neither is set, the policy is attached account-wide.
|
|
59
|
+
* const attachmentServiceUsers = new snowflake.AccountAuthenticationPolicyAttachment("attachment_service_users", {
|
|
60
|
+
* authenticationPolicy: serviceUsers.fullyQualifiedName,
|
|
61
|
+
* forAllServiceUsers: true,
|
|
62
|
+
* });
|
|
52
63
|
* ```
|
|
53
64
|
* > **Note** Instead of using fully_qualified_name, you can reference objects managed outside Terraform by constructing a correct ID, consult identifiers guide.
|
|
54
65
|
* <!-- TODO(SNOW-1634854): include an example showing both methods-->
|
|
@@ -57,8 +68,22 @@ const utilities = __importStar(require("./utilities"));
|
|
|
57
68
|
*
|
|
58
69
|
* ## Import
|
|
59
70
|
*
|
|
71
|
+
* Account-wide attachment:
|
|
72
|
+
*
|
|
73
|
+
* ```sh
|
|
74
|
+
* $ pulumi import snowflake:index/accountAuthenticationPolicyAttachment:AccountAuthenticationPolicyAttachment example '"<database_name>"."<schema_name>"."<authentication_policy_name>"|ACCOUNT'
|
|
75
|
+
* ```
|
|
76
|
+
*
|
|
77
|
+
* For all person users:
|
|
78
|
+
*
|
|
79
|
+
* ```sh
|
|
80
|
+
* $ pulumi import snowflake:index/accountAuthenticationPolicyAttachment:AccountAuthenticationPolicyAttachment example '"<database_name>"."<schema_name>"."<authentication_policy_name>"|PERSON_USERS'
|
|
81
|
+
* ```
|
|
82
|
+
*
|
|
83
|
+
* For all service users:
|
|
84
|
+
*
|
|
60
85
|
* ```sh
|
|
61
|
-
* $ pulumi import snowflake:index/accountAuthenticationPolicyAttachment:AccountAuthenticationPolicyAttachment example '"<database_name>"."<schema_name>"."<authentication_policy_name>"'
|
|
86
|
+
* $ pulumi import snowflake:index/accountAuthenticationPolicyAttachment:AccountAuthenticationPolicyAttachment example '"<database_name>"."<schema_name>"."<authentication_policy_name>"|SERVICE_USERS'
|
|
62
87
|
* ```
|
|
63
88
|
*/
|
|
64
89
|
class AccountAuthenticationPolicyAttachment extends pulumi.CustomResource {
|
|
@@ -92,6 +117,8 @@ class AccountAuthenticationPolicyAttachment extends pulumi.CustomResource {
|
|
|
92
117
|
if (opts.id) {
|
|
93
118
|
const state = argsOrState;
|
|
94
119
|
resourceInputs["authenticationPolicy"] = state?.authenticationPolicy;
|
|
120
|
+
resourceInputs["forAllPersonUsers"] = state?.forAllPersonUsers;
|
|
121
|
+
resourceInputs["forAllServiceUsers"] = state?.forAllServiceUsers;
|
|
95
122
|
}
|
|
96
123
|
else {
|
|
97
124
|
const args = argsOrState;
|
|
@@ -99,6 +126,8 @@ class AccountAuthenticationPolicyAttachment extends pulumi.CustomResource {
|
|
|
99
126
|
throw new Error("Missing required property 'authenticationPolicy'");
|
|
100
127
|
}
|
|
101
128
|
resourceInputs["authenticationPolicy"] = args?.authenticationPolicy;
|
|
129
|
+
resourceInputs["forAllPersonUsers"] = args?.forAllPersonUsers;
|
|
130
|
+
resourceInputs["forAllServiceUsers"] = args?.forAllServiceUsers;
|
|
102
131
|
}
|
|
103
132
|
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
|
|
104
133
|
super(AccountAuthenticationPolicyAttachment.__pulumiType, name, resourceInputs, opts);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accountAuthenticationPolicyAttachment.js","sourceRoot":"","sources":["../accountAuthenticationPolicyAttachment.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;;;;;;;;;;;;;;;;;;;;;;;;AAEjF,uDAAyC;AACzC,uDAAyC;AAEzC
|
|
1
|
+
{"version":3,"file":"accountAuthenticationPolicyAttachment.js","sourceRoot":"","sources":["../accountAuthenticationPolicyAttachment.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;;;;;;;;;;;;;;;;;;;;;;;;AAEjF,uDAAyC;AACzC,uDAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,MAAa,qCAAsC,SAAQ,MAAM,CAAC,cAAc;IAC5E;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAkD,EAAE,IAAmC;QAChJ,OAAO,IAAI,qCAAqC,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5F,CAAC;IAED,gBAAgB;IACT,MAAM,CAAU,YAAY,GAAG,6FAA6F,CAAC;IAEpI;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,qCAAqC,CAAC,YAAY,CAAC;IACtF,CAAC;IAuBD,YAAY,IAAY,EAAE,WAAoG,EAAE,IAAmC;QAC/J,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAqE,CAAC;YACpF,cAAc,CAAC,sBAAsB,CAAC,GAAG,KAAK,EAAE,oBAAoB,CAAC;YACrE,cAAc,CAAC,mBAAmB,CAAC,GAAG,KAAK,EAAE,iBAAiB,CAAC;YAC/D,cAAc,CAAC,oBAAoB,CAAC,GAAG,KAAK,EAAE,kBAAkB,CAAC;SACpE;aAAM;YACH,MAAM,IAAI,GAAG,WAAoE,CAAC;YAClF,IAAI,IAAI,EAAE,oBAAoB,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACvD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;aACvE;YACD,cAAc,CAAC,sBAAsB,CAAC,GAAG,IAAI,EAAE,oBAAoB,CAAC;YACpE,cAAc,CAAC,mBAAmB,CAAC,GAAG,IAAI,EAAE,iBAAiB,CAAC;YAC9D,cAAc,CAAC,oBAAoB,CAAC,GAAG,IAAI,EAAE,kBAAkB,CAAC;SACnE;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,qCAAqC,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAC1F,CAAC;;AApEL,sFAqEC"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import * as pulumi from "@pulumi/pulumi";
|
|
2
2
|
/**
|
|
3
|
-
* > **Required warehouse** For this resource, the provider uses [policy references](https://docs.snowflake.com/en/sql-reference/functions/policy_references) to get information about policies attached to the current account. This function requires a warehouse in the connection. Please, make sure you have either set a `DEFAULT_WAREHOUSE` for the user, or specified a warehouse in the provider configuration.
|
|
4
|
-
*
|
|
5
3
|
* > **Warning** This resource shouldn't be used with `snowflake.CurrentAccount` resource in the same configuration, as it may lead to unexpected behavior.
|
|
6
4
|
*
|
|
7
5
|
* Specifies the session policy to use for the current account. To set the session policy of a different account, use a provider alias.
|
|
@@ -17,7 +15,20 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
17
15
|
* schema: "security",
|
|
18
16
|
* name: "default_session_policy",
|
|
19
17
|
* });
|
|
18
|
+
* // Attach the session policy account-wide (default behavior).
|
|
20
19
|
* const attachment = new snowflake.AccountSessionPolicyAttachment("attachment", {sessionPolicyName: sp.fullyQualifiedName});
|
|
20
|
+
* const serviceUsers = new snowflake.SessionPolicy("service_users", {
|
|
21
|
+
* database: "prod",
|
|
22
|
+
* schema: "security",
|
|
23
|
+
* name: "service_users_session_policy",
|
|
24
|
+
* });
|
|
25
|
+
* // Attach the session policy to all service users only.
|
|
26
|
+
* // Use for_all_person_users = true to target all person users instead.
|
|
27
|
+
* // The two fields are mutually exclusive; when neither is set, the policy is attached account-wide.
|
|
28
|
+
* const attachmentServiceUsers = new snowflake.AccountSessionPolicyAttachment("attachment_service_users", {
|
|
29
|
+
* sessionPolicyName: serviceUsers.fullyQualifiedName,
|
|
30
|
+
* forAllServiceUsers: true,
|
|
31
|
+
* });
|
|
21
32
|
* ```
|
|
22
33
|
* > **Note** Instead of using fully_qualified_name, you can reference objects managed outside Terraform by constructing a correct ID, consult identifiers guide.
|
|
23
34
|
* <!-- TODO(SNOW-1634854): include an example showing both methods-->
|
|
@@ -26,8 +37,22 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
26
37
|
*
|
|
27
38
|
* ## Import
|
|
28
39
|
*
|
|
40
|
+
* Account-wide attachment:
|
|
41
|
+
*
|
|
42
|
+
* ```sh
|
|
43
|
+
* $ pulumi import snowflake:index/accountSessionPolicyAttachment:AccountSessionPolicyAttachment example '"<database_name>"."<schema_name>"."<session_policy_name>"|ACCOUNT'
|
|
44
|
+
* ```
|
|
45
|
+
*
|
|
46
|
+
* For all person users:
|
|
47
|
+
*
|
|
48
|
+
* ```sh
|
|
49
|
+
* $ pulumi import snowflake:index/accountSessionPolicyAttachment:AccountSessionPolicyAttachment example '"<database_name>"."<schema_name>"."<session_policy_name>"|PERSON_USERS'
|
|
50
|
+
* ```
|
|
51
|
+
*
|
|
52
|
+
* For all service users:
|
|
53
|
+
*
|
|
29
54
|
* ```sh
|
|
30
|
-
* $ pulumi import snowflake:index/accountSessionPolicyAttachment:AccountSessionPolicyAttachment example '"<database_name>"."<schema_name>"."<session_policy_name>"'
|
|
55
|
+
* $ pulumi import snowflake:index/accountSessionPolicyAttachment:AccountSessionPolicyAttachment example '"<database_name>"."<schema_name>"."<session_policy_name>"|SERVICE_USERS'
|
|
31
56
|
* ```
|
|
32
57
|
*/
|
|
33
58
|
export declare class AccountSessionPolicyAttachment extends pulumi.CustomResource {
|
|
@@ -47,7 +72,15 @@ export declare class AccountSessionPolicyAttachment extends pulumi.CustomResourc
|
|
|
47
72
|
*/
|
|
48
73
|
static isInstance(obj: any): obj is AccountSessionPolicyAttachment;
|
|
49
74
|
/**
|
|
50
|
-
*
|
|
75
|
+
* If true, attaches the session policy to all person users in the current account. Conflicts with `forAllServiceUsers`. When neither field is set, the policy is attached account-wide.
|
|
76
|
+
*/
|
|
77
|
+
readonly forAllPersonUsers: pulumi.Output<boolean | undefined>;
|
|
78
|
+
/**
|
|
79
|
+
* If true, attaches the session policy to all service users in the current account. Conflicts with `forAllPersonUsers`. When neither field is set, the policy is attached account-wide.
|
|
80
|
+
*/
|
|
81
|
+
readonly forAllServiceUsers: pulumi.Output<boolean | undefined>;
|
|
82
|
+
/**
|
|
83
|
+
* Fully qualified name of the session policy to apply to the current account. Due to technical limitations (read more here), avoid using pipes (`|`).
|
|
51
84
|
*/
|
|
52
85
|
readonly sessionPolicyName: pulumi.Output<string>;
|
|
53
86
|
/**
|
|
@@ -64,7 +97,15 @@ export declare class AccountSessionPolicyAttachment extends pulumi.CustomResourc
|
|
|
64
97
|
*/
|
|
65
98
|
export interface AccountSessionPolicyAttachmentState {
|
|
66
99
|
/**
|
|
67
|
-
*
|
|
100
|
+
* If true, attaches the session policy to all person users in the current account. Conflicts with `forAllServiceUsers`. When neither field is set, the policy is attached account-wide.
|
|
101
|
+
*/
|
|
102
|
+
forAllPersonUsers?: pulumi.Input<boolean | undefined>;
|
|
103
|
+
/**
|
|
104
|
+
* If true, attaches the session policy to all service users in the current account. Conflicts with `forAllPersonUsers`. When neither field is set, the policy is attached account-wide.
|
|
105
|
+
*/
|
|
106
|
+
forAllServiceUsers?: pulumi.Input<boolean | undefined>;
|
|
107
|
+
/**
|
|
108
|
+
* Fully qualified name of the session policy to apply to the current account. Due to technical limitations (read more here), avoid using pipes (`|`).
|
|
68
109
|
*/
|
|
69
110
|
sessionPolicyName?: pulumi.Input<string | undefined>;
|
|
70
111
|
}
|
|
@@ -73,7 +114,15 @@ export interface AccountSessionPolicyAttachmentState {
|
|
|
73
114
|
*/
|
|
74
115
|
export interface AccountSessionPolicyAttachmentArgs {
|
|
75
116
|
/**
|
|
76
|
-
*
|
|
117
|
+
* If true, attaches the session policy to all person users in the current account. Conflicts with `forAllServiceUsers`. When neither field is set, the policy is attached account-wide.
|
|
118
|
+
*/
|
|
119
|
+
forAllPersonUsers?: pulumi.Input<boolean | undefined>;
|
|
120
|
+
/**
|
|
121
|
+
* If true, attaches the session policy to all service users in the current account. Conflicts with `forAllPersonUsers`. When neither field is set, the policy is attached account-wide.
|
|
122
|
+
*/
|
|
123
|
+
forAllServiceUsers?: pulumi.Input<boolean | undefined>;
|
|
124
|
+
/**
|
|
125
|
+
* Fully qualified name of the session policy to apply to the current account. Due to technical limitations (read more here), avoid using pipes (`|`).
|
|
77
126
|
*/
|
|
78
127
|
sessionPolicyName: pulumi.Input<string>;
|
|
79
128
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accountSessionPolicyAttachment.d.ts","sourceRoot":"","sources":["../accountSessionPolicyAttachment.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAGzC
|
|
1
|
+
{"version":3,"file":"accountSessionPolicyAttachment.d.ts","sourceRoot":"","sources":["../accountSessionPolicyAttachment.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAGzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,qBAAa,8BAA+B,SAAQ,MAAM,CAAC,cAAc;IACrE;;;;;;;;OAQG;WACW,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,mCAAmC,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,qBAAqB,GAAG,8BAA8B;IAO9K;;;OAGG;WACW,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,8BAA8B;IAOzE;;OAEG;IACH,SAAwB,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IAC9E;;OAEG;IACH,SAAwB,kBAAkB,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IAC/E;;OAEG;IACH,SAAwB,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEjE;;;;;;OAMG;gBACS,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kCAAkC,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,qBAAqB;CAqB1G;AAED;;GAEG;AACH,MAAM,WAAW,mCAAmC;IAChD;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IACtD;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IACvD;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CACxD;AAED;;GAEG;AACH,MAAM,WAAW,kCAAkC;IAC/C;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IACtD;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IACvD;;OAEG;IACH,iBAAiB,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;CAC3C"}
|
|
@@ -29,8 +29,6 @@ exports.AccountSessionPolicyAttachment = void 0;
|
|
|
29
29
|
const pulumi = __importStar(require("@pulumi/pulumi"));
|
|
30
30
|
const utilities = __importStar(require("./utilities"));
|
|
31
31
|
/**
|
|
32
|
-
* > **Required warehouse** For this resource, the provider uses [policy references](https://docs.snowflake.com/en/sql-reference/functions/policy_references) to get information about policies attached to the current account. This function requires a warehouse in the connection. Please, make sure you have either set a `DEFAULT_WAREHOUSE` for the user, or specified a warehouse in the provider configuration.
|
|
33
|
-
*
|
|
34
32
|
* > **Warning** This resource shouldn't be used with `snowflake.CurrentAccount` resource in the same configuration, as it may lead to unexpected behavior.
|
|
35
33
|
*
|
|
36
34
|
* Specifies the session policy to use for the current account. To set the session policy of a different account, use a provider alias.
|
|
@@ -46,7 +44,20 @@ const utilities = __importStar(require("./utilities"));
|
|
|
46
44
|
* schema: "security",
|
|
47
45
|
* name: "default_session_policy",
|
|
48
46
|
* });
|
|
47
|
+
* // Attach the session policy account-wide (default behavior).
|
|
49
48
|
* const attachment = new snowflake.AccountSessionPolicyAttachment("attachment", {sessionPolicyName: sp.fullyQualifiedName});
|
|
49
|
+
* const serviceUsers = new snowflake.SessionPolicy("service_users", {
|
|
50
|
+
* database: "prod",
|
|
51
|
+
* schema: "security",
|
|
52
|
+
* name: "service_users_session_policy",
|
|
53
|
+
* });
|
|
54
|
+
* // Attach the session policy to all service users only.
|
|
55
|
+
* // Use for_all_person_users = true to target all person users instead.
|
|
56
|
+
* // The two fields are mutually exclusive; when neither is set, the policy is attached account-wide.
|
|
57
|
+
* const attachmentServiceUsers = new snowflake.AccountSessionPolicyAttachment("attachment_service_users", {
|
|
58
|
+
* sessionPolicyName: serviceUsers.fullyQualifiedName,
|
|
59
|
+
* forAllServiceUsers: true,
|
|
60
|
+
* });
|
|
50
61
|
* ```
|
|
51
62
|
* > **Note** Instead of using fully_qualified_name, you can reference objects managed outside Terraform by constructing a correct ID, consult identifiers guide.
|
|
52
63
|
* <!-- TODO(SNOW-1634854): include an example showing both methods-->
|
|
@@ -55,8 +66,22 @@ const utilities = __importStar(require("./utilities"));
|
|
|
55
66
|
*
|
|
56
67
|
* ## Import
|
|
57
68
|
*
|
|
69
|
+
* Account-wide attachment:
|
|
70
|
+
*
|
|
71
|
+
* ```sh
|
|
72
|
+
* $ pulumi import snowflake:index/accountSessionPolicyAttachment:AccountSessionPolicyAttachment example '"<database_name>"."<schema_name>"."<session_policy_name>"|ACCOUNT'
|
|
73
|
+
* ```
|
|
74
|
+
*
|
|
75
|
+
* For all person users:
|
|
76
|
+
*
|
|
77
|
+
* ```sh
|
|
78
|
+
* $ pulumi import snowflake:index/accountSessionPolicyAttachment:AccountSessionPolicyAttachment example '"<database_name>"."<schema_name>"."<session_policy_name>"|PERSON_USERS'
|
|
79
|
+
* ```
|
|
80
|
+
*
|
|
81
|
+
* For all service users:
|
|
82
|
+
*
|
|
58
83
|
* ```sh
|
|
59
|
-
* $ pulumi import snowflake:index/accountSessionPolicyAttachment:AccountSessionPolicyAttachment example '"<database_name>"."<schema_name>"."<session_policy_name>"'
|
|
84
|
+
* $ pulumi import snowflake:index/accountSessionPolicyAttachment:AccountSessionPolicyAttachment example '"<database_name>"."<schema_name>"."<session_policy_name>"|SERVICE_USERS'
|
|
60
85
|
* ```
|
|
61
86
|
*/
|
|
62
87
|
class AccountSessionPolicyAttachment extends pulumi.CustomResource {
|
|
@@ -89,6 +114,8 @@ class AccountSessionPolicyAttachment extends pulumi.CustomResource {
|
|
|
89
114
|
opts = opts || {};
|
|
90
115
|
if (opts.id) {
|
|
91
116
|
const state = argsOrState;
|
|
117
|
+
resourceInputs["forAllPersonUsers"] = state?.forAllPersonUsers;
|
|
118
|
+
resourceInputs["forAllServiceUsers"] = state?.forAllServiceUsers;
|
|
92
119
|
resourceInputs["sessionPolicyName"] = state?.sessionPolicyName;
|
|
93
120
|
}
|
|
94
121
|
else {
|
|
@@ -96,6 +123,8 @@ class AccountSessionPolicyAttachment extends pulumi.CustomResource {
|
|
|
96
123
|
if (args?.sessionPolicyName === undefined && !opts.urn) {
|
|
97
124
|
throw new Error("Missing required property 'sessionPolicyName'");
|
|
98
125
|
}
|
|
126
|
+
resourceInputs["forAllPersonUsers"] = args?.forAllPersonUsers;
|
|
127
|
+
resourceInputs["forAllServiceUsers"] = args?.forAllServiceUsers;
|
|
99
128
|
resourceInputs["sessionPolicyName"] = args?.sessionPolicyName;
|
|
100
129
|
}
|
|
101
130
|
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accountSessionPolicyAttachment.js","sourceRoot":"","sources":["../accountSessionPolicyAttachment.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;;;;;;;;;;;;;;;;;;;;;;;;AAEjF,uDAAyC;AACzC,uDAAyC;AAEzC
|
|
1
|
+
{"version":3,"file":"accountSessionPolicyAttachment.js","sourceRoot":"","sources":["../accountSessionPolicyAttachment.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;;;;;;;;;;;;;;;;;;;;;;;;AAEjF,uDAAyC;AACzC,uDAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,MAAa,8BAA+B,SAAQ,MAAM,CAAC,cAAc;IACrE;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAA2C,EAAE,IAAmC;QACzI,OAAO,IAAI,8BAA8B,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,gBAAgB;IACT,MAAM,CAAU,YAAY,GAAG,+EAA+E,CAAC;IAEtH;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,8BAA8B,CAAC,YAAY,CAAC;IAC/E,CAAC;IAuBD,YAAY,IAAY,EAAE,WAAsF,EAAE,IAAmC;QACjJ,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAA8D,CAAC;YAC7E,cAAc,CAAC,mBAAmB,CAAC,GAAG,KAAK,EAAE,iBAAiB,CAAC;YAC/D,cAAc,CAAC,oBAAoB,CAAC,GAAG,KAAK,EAAE,kBAAkB,CAAC;YACjE,cAAc,CAAC,mBAAmB,CAAC,GAAG,KAAK,EAAE,iBAAiB,CAAC;SAClE;aAAM;YACH,MAAM,IAAI,GAAG,WAA6D,CAAC;YAC3E,IAAI,IAAI,EAAE,iBAAiB,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACpD,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;aACpE;YACD,cAAc,CAAC,mBAAmB,CAAC,GAAG,IAAI,EAAE,iBAAiB,CAAC;YAC9D,cAAc,CAAC,oBAAoB,CAAC,GAAG,IAAI,EAAE,kBAAkB,CAAC;YAChE,cAAc,CAAC,mBAAmB,CAAC,GAAG,IAAI,EAAE,iBAAiB,CAAC;SACjE;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,8BAA8B,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACnF,CAAC;;AApEL,wEAqEC"}
|
package/apiIntegration.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
4
4
|
*
|
|
5
5
|
* > **Note** Currently, API integrations for `gitHttpsApi` API provider are not supported. It will be added in the future.
|
|
6
6
|
*
|
|
7
|
-
* > **Deprecation** This resource is deprecated and will be removed in a future major version release. Please use one of the new resources instead:
|
|
7
|
+
* > **Deprecation** This resource is deprecated and will be removed in a future major version release. Please use one of the new resources instead: snowflake.ApiIntegrationAmazonApiGateway | snowflake.ApiIntegrationAzureApiManagement | snowflake.ApiIntegrationGoogleCloudApiGateway | snowflake.ApiIntegrationGitRepositoryGithubApp | snowflake.ApiIntegrationGitRepositoryOauth2 | snowflake.ApiIntegrationGitRepositoryToken | snowflake.ApiIntegrationGitRepositoryPrivateLink | snowflake.ApiIntegrationExternalMcpOauth2 | snowflake_api_integration_external_mcp_dynamic_client. <deprecation>
|
|
8
8
|
*
|
|
9
9
|
* ## Example Usage
|
|
10
10
|
*
|
package/apiIntegration.js
CHANGED
|
@@ -33,7 +33,7 @@ const utilities = __importStar(require("./utilities"));
|
|
|
33
33
|
*
|
|
34
34
|
* > **Note** Currently, API integrations for `gitHttpsApi` API provider are not supported. It will be added in the future.
|
|
35
35
|
*
|
|
36
|
-
* > **Deprecation** This resource is deprecated and will be removed in a future major version release. Please use one of the new resources instead:
|
|
36
|
+
* > **Deprecation** This resource is deprecated and will be removed in a future major version release. Please use one of the new resources instead: snowflake.ApiIntegrationAmazonApiGateway | snowflake.ApiIntegrationAzureApiManagement | snowflake.ApiIntegrationGoogleCloudApiGateway | snowflake.ApiIntegrationGitRepositoryGithubApp | snowflake.ApiIntegrationGitRepositoryOauth2 | snowflake.ApiIntegrationGitRepositoryToken | snowflake.ApiIntegrationGitRepositoryPrivateLink | snowflake.ApiIntegrationExternalMcpOauth2 | snowflake_api_integration_external_mcp_dynamic_client. <deprecation>
|
|
37
37
|
*
|
|
38
38
|
* ## Example Usage
|
|
39
39
|
*
|
package/computePool.d.ts
CHANGED
|
@@ -6,6 +6,8 @@ import * as outputs from "./types/output";
|
|
|
6
6
|
*
|
|
7
7
|
* > **Note** Managing compute pool state is limited. It is handled by `initiallySuspended`, `autoSuspendSecs`, and `autoResume` fields. The provider does not support managing the state of compute pools in Snowflake with `ALTER ... SUSPEND` and `ALTER ... RESUME`. See [Compute pool lifecycle documentation](https://docs.snowflake.com/en/developer-guide/snowpark-container-services/working-with-compute-pool#compute-pool-lifecycle) for more details.
|
|
8
8
|
*
|
|
9
|
+
* > **Note** `backupInstanceFamilies` maps to a Snowflake [preview feature](https://docs.snowflake.com/en/release-notes/preview-features). It is available to all accounts, but its behavior may change before it reaches general availability.
|
|
10
|
+
*
|
|
9
11
|
* Resource used to manage compute pools. For more information, check [compute pools documentation](https://docs.snowflake.com/en/sql-reference/sql/create-compute-pool). A compute pool is a collection of one or more virtual machine (VM) nodes on which Snowflake runs your Snowpark Container Services services (including job services). See [Working with compute pools](https://docs.snowflake.com/en/developer-guide/snowpark-container-services/working-with-compute-pool) developer guide for more details.
|
|
10
12
|
*
|
|
11
13
|
* ## Example Usage
|
|
@@ -31,6 +33,10 @@ import * as outputs from "./types/output";
|
|
|
31
33
|
* minNodes: 1,
|
|
32
34
|
* maxNodes: 2,
|
|
33
35
|
* instanceFamily: "CPU_X64_S",
|
|
36
|
+
* backupInstanceFamilies: [
|
|
37
|
+
* "CPU_X64_M",
|
|
38
|
+
* "CPU_X64_L",
|
|
39
|
+
* ],
|
|
34
40
|
* autoResume: "true",
|
|
35
41
|
* initiallySuspended: "true",
|
|
36
42
|
* autoSuspendSecs: 1200,
|
|
@@ -70,6 +76,10 @@ export declare class ComputePool extends pulumi.CustomResource {
|
|
|
70
76
|
* (Default: fallback to Snowflake default - uses special value that cannot be set in the configuration manually (`-1`)) Number of seconds of inactivity after which you want Snowflake to automatically suspend the compute pool.
|
|
71
77
|
*/
|
|
72
78
|
readonly autoSuspendSecs: pulumi.Output<number | undefined>;
|
|
79
|
+
/**
|
|
80
|
+
* Specifies an ordered list of instance families to fall back on when the primary `instanceFamily` is unavailable. The order determines the fallback priority. Valid values are (case-insensitive): `CPU_X64_XS` | `CPU_X64_S` | `CPU_X64_M` | `CPU_X64_SL` | `CPU_X64_L` | `HIGHMEM_X64_S` | `HIGHMEM_X64_M` | `HIGHMEM_X64_L` | `HIGHMEM_X64_SL` | `GPU_NV_S` | `GPU_NV_M` | `GPU_NV_L` | `GPU_NV_XS` | `GPU_NV_SM` | `GPU_NV_2M` | `GPU_NV_3M` | `GPU_NV_SL` | `GPU_GCP_NV_L4_1_24G` | `GPU_GCP_NV_L4_4_24G` | `GPU_GCP_NV_A100_8_40G` | `GEN_ARM_G1_2` | `GEN_ARM_G1_4` | `GEN_ARM_G1_8` | `GEN_ARM_G1_16` | `GEN_ARM_G1_32` | `GEN_X64_G2_2` | `GEN_X64_G2_4` | `GEN_X64_G2_8` | `GEN_X64_G2_16` | `GEN_X64_G2_32` | `MEM_X64_G2_8` | `MEM_X64_G2_32` | `MEM_X64_G2_64` | `MEM_X64_G2_96` | `MEM_X64_G2_192` | `GPU_L40S_G1_8` | `GPU_L40S_G1_16` | `GPU_L40S_G1_48` | `GPU_L40S_G1_192` | `GPU_R6K_G1_8` | `GPU_R6K_G1_16` | `GPU_R6K_G1_32` | `GPU_R6K_G1_48` | `GPU_R6K_G1_96` | `GPU_R6K_G1_192` | `GPU_A100_G1_12` | `GPU_A100_G1_48`.
|
|
81
|
+
*/
|
|
82
|
+
readonly backupInstanceFamilies: pulumi.Output<string[] | undefined>;
|
|
73
83
|
/**
|
|
74
84
|
* Specifies a comment for the compute pool.
|
|
75
85
|
*/
|
|
@@ -131,6 +141,10 @@ export interface ComputePoolState {
|
|
|
131
141
|
* (Default: fallback to Snowflake default - uses special value that cannot be set in the configuration manually (`-1`)) Number of seconds of inactivity after which you want Snowflake to automatically suspend the compute pool.
|
|
132
142
|
*/
|
|
133
143
|
autoSuspendSecs?: pulumi.Input<number | undefined>;
|
|
144
|
+
/**
|
|
145
|
+
* Specifies an ordered list of instance families to fall back on when the primary `instanceFamily` is unavailable. The order determines the fallback priority. Valid values are (case-insensitive): `CPU_X64_XS` | `CPU_X64_S` | `CPU_X64_M` | `CPU_X64_SL` | `CPU_X64_L` | `HIGHMEM_X64_S` | `HIGHMEM_X64_M` | `HIGHMEM_X64_L` | `HIGHMEM_X64_SL` | `GPU_NV_S` | `GPU_NV_M` | `GPU_NV_L` | `GPU_NV_XS` | `GPU_NV_SM` | `GPU_NV_2M` | `GPU_NV_3M` | `GPU_NV_SL` | `GPU_GCP_NV_L4_1_24G` | `GPU_GCP_NV_L4_4_24G` | `GPU_GCP_NV_A100_8_40G` | `GEN_ARM_G1_2` | `GEN_ARM_G1_4` | `GEN_ARM_G1_8` | `GEN_ARM_G1_16` | `GEN_ARM_G1_32` | `GEN_X64_G2_2` | `GEN_X64_G2_4` | `GEN_X64_G2_8` | `GEN_X64_G2_16` | `GEN_X64_G2_32` | `MEM_X64_G2_8` | `MEM_X64_G2_32` | `MEM_X64_G2_64` | `MEM_X64_G2_96` | `MEM_X64_G2_192` | `GPU_L40S_G1_8` | `GPU_L40S_G1_16` | `GPU_L40S_G1_48` | `GPU_L40S_G1_192` | `GPU_R6K_G1_8` | `GPU_R6K_G1_16` | `GPU_R6K_G1_32` | `GPU_R6K_G1_48` | `GPU_R6K_G1_96` | `GPU_R6K_G1_192` | `GPU_A100_G1_12` | `GPU_A100_G1_48`.
|
|
146
|
+
*/
|
|
147
|
+
backupInstanceFamilies?: pulumi.Input<pulumi.Input<string>[] | undefined>;
|
|
134
148
|
/**
|
|
135
149
|
* Specifies a comment for the compute pool.
|
|
136
150
|
*/
|
|
@@ -184,6 +198,10 @@ export interface ComputePoolArgs {
|
|
|
184
198
|
* (Default: fallback to Snowflake default - uses special value that cannot be set in the configuration manually (`-1`)) Number of seconds of inactivity after which you want Snowflake to automatically suspend the compute pool.
|
|
185
199
|
*/
|
|
186
200
|
autoSuspendSecs?: pulumi.Input<number | undefined>;
|
|
201
|
+
/**
|
|
202
|
+
* Specifies an ordered list of instance families to fall back on when the primary `instanceFamily` is unavailable. The order determines the fallback priority. Valid values are (case-insensitive): `CPU_X64_XS` | `CPU_X64_S` | `CPU_X64_M` | `CPU_X64_SL` | `CPU_X64_L` | `HIGHMEM_X64_S` | `HIGHMEM_X64_M` | `HIGHMEM_X64_L` | `HIGHMEM_X64_SL` | `GPU_NV_S` | `GPU_NV_M` | `GPU_NV_L` | `GPU_NV_XS` | `GPU_NV_SM` | `GPU_NV_2M` | `GPU_NV_3M` | `GPU_NV_SL` | `GPU_GCP_NV_L4_1_24G` | `GPU_GCP_NV_L4_4_24G` | `GPU_GCP_NV_A100_8_40G` | `GEN_ARM_G1_2` | `GEN_ARM_G1_4` | `GEN_ARM_G1_8` | `GEN_ARM_G1_16` | `GEN_ARM_G1_32` | `GEN_X64_G2_2` | `GEN_X64_G2_4` | `GEN_X64_G2_8` | `GEN_X64_G2_16` | `GEN_X64_G2_32` | `MEM_X64_G2_8` | `MEM_X64_G2_32` | `MEM_X64_G2_64` | `MEM_X64_G2_96` | `MEM_X64_G2_192` | `GPU_L40S_G1_8` | `GPU_L40S_G1_16` | `GPU_L40S_G1_48` | `GPU_L40S_G1_192` | `GPU_R6K_G1_8` | `GPU_R6K_G1_16` | `GPU_R6K_G1_32` | `GPU_R6K_G1_48` | `GPU_R6K_G1_96` | `GPU_R6K_G1_192` | `GPU_A100_G1_12` | `GPU_A100_G1_48`.
|
|
203
|
+
*/
|
|
204
|
+
backupInstanceFamilies?: pulumi.Input<pulumi.Input<string>[] | undefined>;
|
|
187
205
|
/**
|
|
188
206
|
* Specifies a comment for the compute pool.
|
|
189
207
|
*/
|
package/computePool.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"computePool.d.ts","sourceRoot":"","sources":["../computePool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAG1C
|
|
1
|
+
{"version":3,"file":"computePool.d.ts","sourceRoot":"","sources":["../computePool.ts"],"names":[],"mappings":"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"}
|
package/computePool.js
CHANGED
|
@@ -33,6 +33,8 @@ const utilities = __importStar(require("./utilities"));
|
|
|
33
33
|
*
|
|
34
34
|
* > **Note** Managing compute pool state is limited. It is handled by `initiallySuspended`, `autoSuspendSecs`, and `autoResume` fields. The provider does not support managing the state of compute pools in Snowflake with `ALTER ... SUSPEND` and `ALTER ... RESUME`. See [Compute pool lifecycle documentation](https://docs.snowflake.com/en/developer-guide/snowpark-container-services/working-with-compute-pool#compute-pool-lifecycle) for more details.
|
|
35
35
|
*
|
|
36
|
+
* > **Note** `backupInstanceFamilies` maps to a Snowflake [preview feature](https://docs.snowflake.com/en/release-notes/preview-features). It is available to all accounts, but its behavior may change before it reaches general availability.
|
|
37
|
+
*
|
|
36
38
|
* Resource used to manage compute pools. For more information, check [compute pools documentation](https://docs.snowflake.com/en/sql-reference/sql/create-compute-pool). A compute pool is a collection of one or more virtual machine (VM) nodes on which Snowflake runs your Snowpark Container Services services (including job services). See [Working with compute pools](https://docs.snowflake.com/en/developer-guide/snowpark-container-services/working-with-compute-pool) developer guide for more details.
|
|
37
39
|
*
|
|
38
40
|
* ## Example Usage
|
|
@@ -58,6 +60,10 @@ const utilities = __importStar(require("./utilities"));
|
|
|
58
60
|
* minNodes: 1,
|
|
59
61
|
* maxNodes: 2,
|
|
60
62
|
* instanceFamily: "CPU_X64_S",
|
|
63
|
+
* backupInstanceFamilies: [
|
|
64
|
+
* "CPU_X64_M",
|
|
65
|
+
* "CPU_X64_L",
|
|
66
|
+
* ],
|
|
61
67
|
* autoResume: "true",
|
|
62
68
|
* initiallySuspended: "true",
|
|
63
69
|
* autoSuspendSecs: 1200,
|
|
@@ -105,6 +111,7 @@ class ComputePool extends pulumi.CustomResource {
|
|
|
105
111
|
const state = argsOrState;
|
|
106
112
|
resourceInputs["autoResume"] = state?.autoResume;
|
|
107
113
|
resourceInputs["autoSuspendSecs"] = state?.autoSuspendSecs;
|
|
114
|
+
resourceInputs["backupInstanceFamilies"] = state?.backupInstanceFamilies;
|
|
108
115
|
resourceInputs["comment"] = state?.comment;
|
|
109
116
|
resourceInputs["describeOutputs"] = state?.describeOutputs;
|
|
110
117
|
resourceInputs["forApplication"] = state?.forApplication;
|
|
@@ -129,6 +136,7 @@ class ComputePool extends pulumi.CustomResource {
|
|
|
129
136
|
}
|
|
130
137
|
resourceInputs["autoResume"] = args?.autoResume;
|
|
131
138
|
resourceInputs["autoSuspendSecs"] = args?.autoSuspendSecs;
|
|
139
|
+
resourceInputs["backupInstanceFamilies"] = args?.backupInstanceFamilies;
|
|
132
140
|
resourceInputs["comment"] = args?.comment;
|
|
133
141
|
resourceInputs["forApplication"] = args?.forApplication;
|
|
134
142
|
resourceInputs["initiallySuspended"] = args?.initiallySuspended;
|
package/computePool.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"computePool.js","sourceRoot":"","sources":["../computePool.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;;;;;;;;;;;;;;;;;;;;;;;;AAEjF,uDAAyC;AAGzC,uDAAyC;AAEzC
|
|
1
|
+
{"version":3,"file":"computePool.js","sourceRoot":"","sources":["../computePool.ts"],"names":[],"mappings":"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"}
|