@pulumi/dbtcloud 1.3.0-alpha.1763185542 → 1.3.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.
@@ -0,0 +1,141 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as inputs from "./types/input";
3
+ import * as outputs from "./types/output";
4
+ /**
5
+ * ## Example Usage
6
+ *
7
+ * ```typescript
8
+ * import * as pulumi from "@pulumi/pulumi";
9
+ * import * as dbtcloud from "@pulumi/dbtcloud";
10
+ *
11
+ * // Retrieve the SCIM-managed group
12
+ * const engineering = dbtcloud.getGroups({
13
+ * name: "Engineering Team",
14
+ * });
15
+ * // Get the project to apply permissions to
16
+ * const myProject = dbtcloud.getProject({
17
+ * name: "My Analytics Project",
18
+ * });
19
+ * // Platform team can manage base account permissions
20
+ * const baseAccess = new dbtcloud.ScimGroupPartialPermissions("base_access", {
21
+ * groupId: engineering.then(engineering => engineering.groups?.[0]?.id),
22
+ * permissions: [{
23
+ * permissionSet: "member",
24
+ * allProjects: true,
25
+ * }],
26
+ * });
27
+ * // Project team can manage project-specific permissions independently
28
+ * const projectAccess = new dbtcloud.ScimGroupPartialPermissions("project_access", {
29
+ * groupId: engineering.then(engineering => engineering.groups?.[0]?.id),
30
+ * permissions: [
31
+ * {
32
+ * permissionSet: "developer",
33
+ * projectId: myProject.then(myProject => myProject.id),
34
+ * allProjects: false,
35
+ * writableEnvironmentCategories: [
36
+ * "development",
37
+ * "staging",
38
+ * ],
39
+ * },
40
+ * {
41
+ * permissionSet: "job_admin",
42
+ * projectId: myProject.then(myProject => myProject.id),
43
+ * allProjects: false,
44
+ * },
45
+ * ],
46
+ * });
47
+ * // Example: Multiple projects managed by different teams
48
+ * const analytics = dbtcloud.getProject({
49
+ * name: "Analytics",
50
+ * });
51
+ * const dataScience = dbtcloud.getProject({
52
+ * name: "Data Science",
53
+ * });
54
+ * // Analytics team manages their own project permissions
55
+ * const analyticsScimGroupPartialPermissions = new dbtcloud.ScimGroupPartialPermissions("analytics", {
56
+ * groupId: engineering.then(engineering => engineering.groups?.[0]?.id),
57
+ * permissions: [{
58
+ * permissionSet: "developer",
59
+ * projectId: analytics.then(analytics => analytics.id),
60
+ * allProjects: false,
61
+ * writableEnvironmentCategories: ["development"],
62
+ * }],
63
+ * });
64
+ * // Data Science team manages their own project permissions
65
+ * const dataScienceScimGroupPartialPermissions = new dbtcloud.ScimGroupPartialPermissions("data_science", {
66
+ * groupId: engineering.then(engineering => engineering.groups?.[0]?.id),
67
+ * permissions: [{
68
+ * permissionSet: "analyst",
69
+ * projectId: dataScience.then(dataScience => dataScience.id),
70
+ * allProjects: false,
71
+ * }],
72
+ * });
73
+ * ```
74
+ *
75
+ * ## Import
76
+ *
77
+ * ~> **Import Not Supported:** This resource does not support `pulumi import` because it manages only a partial subset of permissions.
78
+ *
79
+ * There is no way for Terraform to know which specific permissions this resource instance should manage versus permissions
80
+ *
81
+ * managed by other resources or applied outside of Terraform. You must define the resource in your configuration from the start.
82
+ */
83
+ export declare class ScimGroupPartialPermissions extends pulumi.CustomResource {
84
+ /**
85
+ * Get an existing ScimGroupPartialPermissions resource's state with the given name, ID, and optional extra
86
+ * properties used to qualify the lookup.
87
+ *
88
+ * @param name The _unique_ name of the resulting resource.
89
+ * @param id The _unique_ provider ID of the resource to lookup.
90
+ * @param state Any extra arguments used during the lookup.
91
+ * @param opts Optional settings to control the behavior of the CustomResource.
92
+ */
93
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ScimGroupPartialPermissionsState, opts?: pulumi.CustomResourceOptions): ScimGroupPartialPermissions;
94
+ /**
95
+ * Returns true if the given object is an instance of ScimGroupPartialPermissions. 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: any): obj is ScimGroupPartialPermissions;
99
+ /**
100
+ * The ID of the existing group to manage partial permissions for. This group must already exist and is typically from an external identity provider synced via SCIM.
101
+ */
102
+ readonly groupId: pulumi.Output<number>;
103
+ /**
104
+ * Partial set of permissions to apply to the group. These permissions will be added to any existing permissions. Other permissions on the group will not be affected.
105
+ */
106
+ readonly permissions: pulumi.Output<outputs.ScimGroupPartialPermissionsPermission[] | undefined>;
107
+ /**
108
+ * Create a ScimGroupPartialPermissions resource with the given unique name, arguments, and options.
109
+ *
110
+ * @param name The _unique_ name of the resource.
111
+ * @param args The arguments to use to populate this resource's properties.
112
+ * @param opts A bag of options that control this resource's behavior.
113
+ */
114
+ constructor(name: string, args: ScimGroupPartialPermissionsArgs, opts?: pulumi.CustomResourceOptions);
115
+ }
116
+ /**
117
+ * Input properties used for looking up and filtering ScimGroupPartialPermissions resources.
118
+ */
119
+ export interface ScimGroupPartialPermissionsState {
120
+ /**
121
+ * The ID of the existing group to manage partial permissions for. This group must already exist and is typically from an external identity provider synced via SCIM.
122
+ */
123
+ groupId?: pulumi.Input<number>;
124
+ /**
125
+ * Partial set of permissions to apply to the group. These permissions will be added to any existing permissions. Other permissions on the group will not be affected.
126
+ */
127
+ permissions?: pulumi.Input<pulumi.Input<inputs.ScimGroupPartialPermissionsPermission>[]>;
128
+ }
129
+ /**
130
+ * The set of arguments for constructing a ScimGroupPartialPermissions resource.
131
+ */
132
+ export interface ScimGroupPartialPermissionsArgs {
133
+ /**
134
+ * The ID of the existing group to manage partial permissions for. This group must already exist and is typically from an external identity provider synced via SCIM.
135
+ */
136
+ groupId: pulumi.Input<number>;
137
+ /**
138
+ * Partial set of permissions to apply to the group. These permissions will be added to any existing permissions. Other permissions on the group will not be affected.
139
+ */
140
+ permissions?: pulumi.Input<pulumi.Input<inputs.ScimGroupPartialPermissionsPermission>[]>;
141
+ }
@@ -0,0 +1,133 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.ScimGroupPartialPermissions = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * ## Example Usage
10
+ *
11
+ * ```typescript
12
+ * import * as pulumi from "@pulumi/pulumi";
13
+ * import * as dbtcloud from "@pulumi/dbtcloud";
14
+ *
15
+ * // Retrieve the SCIM-managed group
16
+ * const engineering = dbtcloud.getGroups({
17
+ * name: "Engineering Team",
18
+ * });
19
+ * // Get the project to apply permissions to
20
+ * const myProject = dbtcloud.getProject({
21
+ * name: "My Analytics Project",
22
+ * });
23
+ * // Platform team can manage base account permissions
24
+ * const baseAccess = new dbtcloud.ScimGroupPartialPermissions("base_access", {
25
+ * groupId: engineering.then(engineering => engineering.groups?.[0]?.id),
26
+ * permissions: [{
27
+ * permissionSet: "member",
28
+ * allProjects: true,
29
+ * }],
30
+ * });
31
+ * // Project team can manage project-specific permissions independently
32
+ * const projectAccess = new dbtcloud.ScimGroupPartialPermissions("project_access", {
33
+ * groupId: engineering.then(engineering => engineering.groups?.[0]?.id),
34
+ * permissions: [
35
+ * {
36
+ * permissionSet: "developer",
37
+ * projectId: myProject.then(myProject => myProject.id),
38
+ * allProjects: false,
39
+ * writableEnvironmentCategories: [
40
+ * "development",
41
+ * "staging",
42
+ * ],
43
+ * },
44
+ * {
45
+ * permissionSet: "job_admin",
46
+ * projectId: myProject.then(myProject => myProject.id),
47
+ * allProjects: false,
48
+ * },
49
+ * ],
50
+ * });
51
+ * // Example: Multiple projects managed by different teams
52
+ * const analytics = dbtcloud.getProject({
53
+ * name: "Analytics",
54
+ * });
55
+ * const dataScience = dbtcloud.getProject({
56
+ * name: "Data Science",
57
+ * });
58
+ * // Analytics team manages their own project permissions
59
+ * const analyticsScimGroupPartialPermissions = new dbtcloud.ScimGroupPartialPermissions("analytics", {
60
+ * groupId: engineering.then(engineering => engineering.groups?.[0]?.id),
61
+ * permissions: [{
62
+ * permissionSet: "developer",
63
+ * projectId: analytics.then(analytics => analytics.id),
64
+ * allProjects: false,
65
+ * writableEnvironmentCategories: ["development"],
66
+ * }],
67
+ * });
68
+ * // Data Science team manages their own project permissions
69
+ * const dataScienceScimGroupPartialPermissions = new dbtcloud.ScimGroupPartialPermissions("data_science", {
70
+ * groupId: engineering.then(engineering => engineering.groups?.[0]?.id),
71
+ * permissions: [{
72
+ * permissionSet: "analyst",
73
+ * projectId: dataScience.then(dataScience => dataScience.id),
74
+ * allProjects: false,
75
+ * }],
76
+ * });
77
+ * ```
78
+ *
79
+ * ## Import
80
+ *
81
+ * ~> **Import Not Supported:** This resource does not support `pulumi import` because it manages only a partial subset of permissions.
82
+ *
83
+ * There is no way for Terraform to know which specific permissions this resource instance should manage versus permissions
84
+ *
85
+ * managed by other resources or applied outside of Terraform. You must define the resource in your configuration from the start.
86
+ */
87
+ class ScimGroupPartialPermissions extends pulumi.CustomResource {
88
+ /**
89
+ * Get an existing ScimGroupPartialPermissions resource's state with the given name, ID, and optional extra
90
+ * properties used to qualify the lookup.
91
+ *
92
+ * @param name The _unique_ name of the resulting resource.
93
+ * @param id The _unique_ provider ID of the resource to lookup.
94
+ * @param state Any extra arguments used during the lookup.
95
+ * @param opts Optional settings to control the behavior of the CustomResource.
96
+ */
97
+ static get(name, id, state, opts) {
98
+ return new ScimGroupPartialPermissions(name, state, { ...opts, id: id });
99
+ }
100
+ /**
101
+ * Returns true if the given object is an instance of ScimGroupPartialPermissions. This is designed to work even
102
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
103
+ */
104
+ static isInstance(obj) {
105
+ if (obj === undefined || obj === null) {
106
+ return false;
107
+ }
108
+ return obj['__pulumiType'] === ScimGroupPartialPermissions.__pulumiType;
109
+ }
110
+ constructor(name, argsOrState, opts) {
111
+ let resourceInputs = {};
112
+ opts = opts || {};
113
+ if (opts.id) {
114
+ const state = argsOrState;
115
+ resourceInputs["groupId"] = state?.groupId;
116
+ resourceInputs["permissions"] = state?.permissions;
117
+ }
118
+ else {
119
+ const args = argsOrState;
120
+ if (args?.groupId === undefined && !opts.urn) {
121
+ throw new Error("Missing required property 'groupId'");
122
+ }
123
+ resourceInputs["groupId"] = args?.groupId;
124
+ resourceInputs["permissions"] = args?.permissions;
125
+ }
126
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
127
+ super(ScimGroupPartialPermissions.__pulumiType, name, resourceInputs, opts);
128
+ }
129
+ }
130
+ exports.ScimGroupPartialPermissions = ScimGroupPartialPermissions;
131
+ /** @internal */
132
+ ScimGroupPartialPermissions.__pulumiType = 'dbtcloud:index/scimGroupPartialPermissions:ScimGroupPartialPermissions';
133
+ //# sourceMappingURL=scimGroupPartialPermissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scimGroupPartialPermissions.js","sourceRoot":"","sources":["../scimGroupPartialPermissions.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8EG;AACH,MAAa,2BAA4B,SAAQ,MAAM,CAAC,cAAc;IAClE;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAwC,EAAE,IAAmC;QACtI,OAAO,IAAI,2BAA2B,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAClF,CAAC;IAKD;;;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,2BAA2B,CAAC,YAAY,CAAC;IAC5E,CAAC;IAmBD,YAAY,IAAY,EAAE,WAAgF,EAAE,IAAmC;QAC3I,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAA2D,CAAC;YAC1E,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC;YAC3C,cAAc,CAAC,aAAa,CAAC,GAAG,KAAK,EAAE,WAAW,CAAC;SACtD;aAAM;YACH,MAAM,IAAI,GAAG,WAA0D,CAAC;YACxE,IAAI,IAAI,EAAE,OAAO,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC1C,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;aAC1D;YACD,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC;YAC1C,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,EAAE,WAAW,CAAC;SACrD;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,2BAA2B,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAChF,CAAC;;AA9DL,kEA+DC;AAjDG,gBAAgB;AACO,wCAAY,GAAG,wEAAwE,CAAC"}
@@ -0,0 +1,144 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * Apache Spark credential resource
4
+ *
5
+ * ## Example Usage
6
+ *
7
+ * ```typescript
8
+ * import * as pulumi from "@pulumi/pulumi";
9
+ * import * as dbtcloud from "@pulumi/dbtcloud";
10
+ *
11
+ * const mySparkCred = new dbtcloud.SparkCredential("my_spark_cred", {
12
+ * projectId: dbtProject.id,
13
+ * token: "abcdefgh",
14
+ * schema: "my_schema",
15
+ * });
16
+ * ```
17
+ *
18
+ * ## Import
19
+ *
20
+ * using import blocks (requires Terraform >= 1.5)
21
+ *
22
+ * import {
23
+ *
24
+ * to = dbtcloud_spark_credential.my_spark_credential
25
+ *
26
+ * id = "project_id:credential_id"
27
+ *
28
+ * }
29
+ *
30
+ * import {
31
+ *
32
+ * to = dbtcloud_spark_credential.my_spark_credential
33
+ *
34
+ * id = "12345:6789"
35
+ *
36
+ * }
37
+ *
38
+ * using the older import command
39
+ *
40
+ * ```sh
41
+ * $ pulumi import dbtcloud:index/sparkCredential:SparkCredential my_spark_credential "project_id:credential_id"
42
+ * ```
43
+ *
44
+ * ```sh
45
+ * $ pulumi import dbtcloud:index/sparkCredential:SparkCredential my_spark_credential 12345:6789
46
+ * ```
47
+ */
48
+ export declare class SparkCredential extends pulumi.CustomResource {
49
+ /**
50
+ * Get an existing SparkCredential resource's state with the given name, ID, and optional extra
51
+ * properties used to qualify the lookup.
52
+ *
53
+ * @param name The _unique_ name of the resulting resource.
54
+ * @param id The _unique_ provider ID of the resource to lookup.
55
+ * @param state Any extra arguments used during the lookup.
56
+ * @param opts Optional settings to control the behavior of the CustomResource.
57
+ */
58
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SparkCredentialState, opts?: pulumi.CustomResourceOptions): SparkCredential;
59
+ /**
60
+ * Returns true if the given object is an instance of SparkCredential. This is designed to work even
61
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
62
+ */
63
+ static isInstance(obj: any): obj is SparkCredential;
64
+ /**
65
+ * The system Apache Spark credential ID
66
+ */
67
+ readonly credentialId: pulumi.Output<number>;
68
+ /**
69
+ * Project ID to create the Apache Spark credential in
70
+ */
71
+ readonly projectId: pulumi.Output<number>;
72
+ /**
73
+ * The schema where to create models
74
+ */
75
+ readonly schema: pulumi.Output<string>;
76
+ /**
77
+ * Target name
78
+ *
79
+ * @deprecated This field is deprecated at the environment level (it was never possible to set it in the UI) and will be removed in a future release. Please remove it and set the target name at the job level or leverage environment variables.
80
+ */
81
+ readonly targetName: pulumi.Output<string>;
82
+ /**
83
+ * Token for Apache Spark user
84
+ */
85
+ readonly token: pulumi.Output<string>;
86
+ /**
87
+ * Create a SparkCredential resource with the given unique name, arguments, and options.
88
+ *
89
+ * @param name The _unique_ name of the resource.
90
+ * @param args The arguments to use to populate this resource's properties.
91
+ * @param opts A bag of options that control this resource's behavior.
92
+ */
93
+ constructor(name: string, args: SparkCredentialArgs, opts?: pulumi.CustomResourceOptions);
94
+ }
95
+ /**
96
+ * Input properties used for looking up and filtering SparkCredential resources.
97
+ */
98
+ export interface SparkCredentialState {
99
+ /**
100
+ * The system Apache Spark credential ID
101
+ */
102
+ credentialId?: pulumi.Input<number>;
103
+ /**
104
+ * Project ID to create the Apache Spark credential in
105
+ */
106
+ projectId?: pulumi.Input<number>;
107
+ /**
108
+ * The schema where to create models
109
+ */
110
+ schema?: pulumi.Input<string>;
111
+ /**
112
+ * Target name
113
+ *
114
+ * @deprecated This field is deprecated at the environment level (it was never possible to set it in the UI) and will be removed in a future release. Please remove it and set the target name at the job level or leverage environment variables.
115
+ */
116
+ targetName?: pulumi.Input<string>;
117
+ /**
118
+ * Token for Apache Spark user
119
+ */
120
+ token?: pulumi.Input<string>;
121
+ }
122
+ /**
123
+ * The set of arguments for constructing a SparkCredential resource.
124
+ */
125
+ export interface SparkCredentialArgs {
126
+ /**
127
+ * Project ID to create the Apache Spark credential in
128
+ */
129
+ projectId: pulumi.Input<number>;
130
+ /**
131
+ * The schema where to create models
132
+ */
133
+ schema: pulumi.Input<string>;
134
+ /**
135
+ * Target name
136
+ *
137
+ * @deprecated This field is deprecated at the environment level (it was never possible to set it in the UI) and will be removed in a future release. Please remove it and set the target name at the job level or leverage environment variables.
138
+ */
139
+ targetName?: pulumi.Input<string>;
140
+ /**
141
+ * Token for Apache Spark user
142
+ */
143
+ token: pulumi.Input<string>;
144
+ }
@@ -0,0 +1,114 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.SparkCredential = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * Apache Spark credential resource
10
+ *
11
+ * ## Example Usage
12
+ *
13
+ * ```typescript
14
+ * import * as pulumi from "@pulumi/pulumi";
15
+ * import * as dbtcloud from "@pulumi/dbtcloud";
16
+ *
17
+ * const mySparkCred = new dbtcloud.SparkCredential("my_spark_cred", {
18
+ * projectId: dbtProject.id,
19
+ * token: "abcdefgh",
20
+ * schema: "my_schema",
21
+ * });
22
+ * ```
23
+ *
24
+ * ## Import
25
+ *
26
+ * using import blocks (requires Terraform >= 1.5)
27
+ *
28
+ * import {
29
+ *
30
+ * to = dbtcloud_spark_credential.my_spark_credential
31
+ *
32
+ * id = "project_id:credential_id"
33
+ *
34
+ * }
35
+ *
36
+ * import {
37
+ *
38
+ * to = dbtcloud_spark_credential.my_spark_credential
39
+ *
40
+ * id = "12345:6789"
41
+ *
42
+ * }
43
+ *
44
+ * using the older import command
45
+ *
46
+ * ```sh
47
+ * $ pulumi import dbtcloud:index/sparkCredential:SparkCredential my_spark_credential "project_id:credential_id"
48
+ * ```
49
+ *
50
+ * ```sh
51
+ * $ pulumi import dbtcloud:index/sparkCredential:SparkCredential my_spark_credential 12345:6789
52
+ * ```
53
+ */
54
+ class SparkCredential extends pulumi.CustomResource {
55
+ /**
56
+ * Get an existing SparkCredential resource's state with the given name, ID, and optional extra
57
+ * properties used to qualify the lookup.
58
+ *
59
+ * @param name The _unique_ name of the resulting resource.
60
+ * @param id The _unique_ provider ID of the resource to lookup.
61
+ * @param state Any extra arguments used during the lookup.
62
+ * @param opts Optional settings to control the behavior of the CustomResource.
63
+ */
64
+ static get(name, id, state, opts) {
65
+ return new SparkCredential(name, state, { ...opts, id: id });
66
+ }
67
+ /**
68
+ * Returns true if the given object is an instance of SparkCredential. This is designed to work even
69
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
70
+ */
71
+ static isInstance(obj) {
72
+ if (obj === undefined || obj === null) {
73
+ return false;
74
+ }
75
+ return obj['__pulumiType'] === SparkCredential.__pulumiType;
76
+ }
77
+ constructor(name, argsOrState, opts) {
78
+ let resourceInputs = {};
79
+ opts = opts || {};
80
+ if (opts.id) {
81
+ const state = argsOrState;
82
+ resourceInputs["credentialId"] = state?.credentialId;
83
+ resourceInputs["projectId"] = state?.projectId;
84
+ resourceInputs["schema"] = state?.schema;
85
+ resourceInputs["targetName"] = state?.targetName;
86
+ resourceInputs["token"] = state?.token;
87
+ }
88
+ else {
89
+ const args = argsOrState;
90
+ if (args?.projectId === undefined && !opts.urn) {
91
+ throw new Error("Missing required property 'projectId'");
92
+ }
93
+ if (args?.schema === undefined && !opts.urn) {
94
+ throw new Error("Missing required property 'schema'");
95
+ }
96
+ if (args?.token === undefined && !opts.urn) {
97
+ throw new Error("Missing required property 'token'");
98
+ }
99
+ resourceInputs["projectId"] = args?.projectId;
100
+ resourceInputs["schema"] = args?.schema;
101
+ resourceInputs["targetName"] = args?.targetName;
102
+ resourceInputs["token"] = args?.token ? pulumi.secret(args.token) : undefined;
103
+ resourceInputs["credentialId"] = undefined /*out*/;
104
+ }
105
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
106
+ const secretOpts = { additionalSecretOutputs: ["token"] };
107
+ opts = pulumi.mergeOptions(opts, secretOpts);
108
+ super(SparkCredential.__pulumiType, name, resourceInputs, opts);
109
+ }
110
+ }
111
+ exports.SparkCredential = SparkCredential;
112
+ /** @internal */
113
+ SparkCredential.__pulumiType = 'dbtcloud:index/sparkCredential:SparkCredential';
114
+ //# sourceMappingURL=sparkCredential.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sparkCredential.js","sourceRoot":"","sources":["../sparkCredential.ts"],"names":[],"mappings":"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"}
package/types/input.d.ts CHANGED
@@ -56,7 +56,9 @@ export interface DatabricksSemanticLayerCredentialConfiguration {
56
56
  }
57
57
  export interface DatabricksSemanticLayerCredentialCredential {
58
58
  /**
59
- * The type of the adapter (databricks or spark). Optional only when semantic*layer*credential is set to true; otherwise, this field is required.
59
+ * The type of the adapter. 'spark' is deprecated, but still supported for backwards compatibility. For Spark, please use the spark*credential resource. Optional only when semantic*layer_credential is set to true; otherwise, this field is required.
60
+ *
61
+ * @deprecated This field is deprecated and will be removed in a future release. Semantic Layer spark credentials are not supported yet, only databricks is supported.
60
62
  */
61
63
  adapterType?: pulumi.Input<string>;
62
64
  /**
@@ -298,7 +300,7 @@ export interface GlobalConnectionAthena {
298
300
  */
299
301
  regionName: pulumi.Input<string>;
300
302
  /**
301
- * Prefix for storing tables, if different from the connection's S3 staging directory.
303
+ * Prefix for storing tables, if different from the connection's S3 staging directory. Must be in the format 's3://bucket-name/path/'.
302
304
  */
303
305
  s3DataDir?: pulumi.Input<string>;
304
306
  /**
@@ -306,11 +308,11 @@ export interface GlobalConnectionAthena {
306
308
  */
307
309
  s3DataNaming?: pulumi.Input<string>;
308
310
  /**
309
- * S3 location to store Athena query results and metadata.
311
+ * S3 location to store Athena query results and metadata. Must be in the format 's3://bucket-name/path/'.
310
312
  */
311
313
  s3StagingDir: pulumi.Input<string>;
312
314
  /**
313
- * Prefix for storing temporary tables, if different from the connection's S3 data directory.
315
+ * Prefix for storing temporary tables, if different from the connection's S3 data directory. Must be in the format 's3://bucket-name/path/'.
314
316
  */
315
317
  s3TmpTableDir?: pulumi.Input<string>;
316
318
  /**
@@ -854,6 +856,28 @@ export interface RedshiftSemanticLayerCredentialCredential {
854
856
  */
855
857
  username?: pulumi.Input<string>;
856
858
  }
859
+ export interface ScimGroupPartialPermissionsPermission {
860
+ /**
861
+ * Whether access should be provided for all projects or not.
862
+ */
863
+ allProjects: pulumi.Input<boolean>;
864
+ /**
865
+ * Set of permissions to apply. The permissions allowed are the same as the ones for the `dbtcloud.Group` resource.
866
+ */
867
+ permissionSet: pulumi.Input<string>;
868
+ /**
869
+ * Project ID to apply this permission to for this group.
870
+ */
871
+ projectId?: pulumi.Input<number>;
872
+ /**
873
+ * What types of environments to apply Write permissions to.
874
+ * Even if Write access is restricted to some environment types, the permission set will have Read access to all environments.
875
+ * The values allowed are `all`, `development`, `staging`, `production` and `other`.
876
+ * Not setting a value is the same as selecting `all`.
877
+ * Not all permission sets support environment level write settings, only `analyst`, `databaseAdmin`, `developer`, `gitAdmin` and `teamAdmin`.
878
+ */
879
+ writableEnvironmentCategories?: pulumi.Input<pulumi.Input<string>[]>;
880
+ }
857
881
  export interface ScimGroupPermissionsPermission {
858
882
  /**
859
883
  * Whether access should be provided for all projects or not.