@pulumi/databricks 1.91.0 → 1.91.1

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.
@@ -44,10 +44,12 @@ import * as outputs from "./types/output";
44
44
  *
45
45
  * ### Project with High Availability Endpoint
46
46
  *
47
- * Create a project whose initial read-write endpoint is configured with multiple compute instances for high availability.
47
+ * Create a project whose read-write endpoint is configured with multiple compute instances for high availability.
48
48
  * One compute instance acts as the read-write primary.
49
49
  * The remaining secondary compute instances are ready for automatic failover if the primary becomes unavailable.
50
50
  *
51
+ * This example manages implicitly created resources for the root branch and read-write endpoint. For more details, see the documentation for `databricks.PostgresBranch` and `databricks.PostgresEndpoint`.
52
+ *
51
53
  * ```typescript
52
54
  * import * as pulumi from "@pulumi/pulumi";
53
55
  * import * as databricks from "@pulumi/databricks";
@@ -58,13 +60,31 @@ import * as outputs from "./types/output";
58
60
  * pgVersion: 17,
59
61
  * displayName: "HA Production Project",
60
62
  * },
61
- * initialEndpointSpec: {
63
+ * });
64
+ * const production = new databricks.PostgresBranch("production", {
65
+ * branchId: "production",
66
+ * parent: ha.name,
67
+ * spec: {
68
+ * noExpiry: true,
69
+ * isProtected: true,
70
+ * },
71
+ * replaceExisting: true,
72
+ * });
73
+ * const primary = new databricks.PostgresEndpoint("primary", {
74
+ * endpointId: "primary",
75
+ * parent: production.name,
76
+ * spec: {
77
+ * endpointType: "ENDPOINT_TYPE_READ_WRITE",
78
+ * noSuspension: true,
79
+ * autoscalingLimitMinCu: 0.5,
80
+ * autoscalingLimitMaxCu: 4,
62
81
  * group: {
63
82
  * min: 2,
64
83
  * max: 2,
65
84
  * enableReadableSecondaries: false,
66
85
  * },
67
86
  * },
87
+ * replaceExisting: true,
68
88
  * });
69
89
  * ```
70
90
  *
@@ -111,7 +131,12 @@ export declare class PostgresProject extends pulumi.CustomResource {
111
131
  */
112
132
  readonly createTime: pulumi.Output<string>;
113
133
  /**
114
- * Configuration settings for the initial Read/Write endpoint created inside the default branch for a newly
134
+ * (string) - A timestamp indicating when the project was soft-deleted.
135
+ * Empty if the project is not deleted, otherwise set to a timestamp in the past
136
+ */
137
+ readonly deleteTime: pulumi.Output<string>;
138
+ /**
139
+ * Configuration settings for the initial Read/Write endpoint created inside the initial branch for a newly
115
140
  * created project. If omitted, the initial endpoint created will have default settings, without high availability
116
141
  * configured. This field does not apply to any endpoints created after project creation. Use
117
142
  * spec.default_endpoint_settings to configure default settings for endpoints created after project creation
@@ -132,6 +157,16 @@ export declare class PostgresProject extends pulumi.CustomResource {
132
157
  * Configure the provider for management through account provider.
133
158
  */
134
159
  readonly providerConfig: pulumi.Output<outputs.PostgresProjectProviderConfig | undefined>;
160
+ /**
161
+ * If true, permanently deletes the project (hard delete).
162
+ * If false or unset, performs a soft delete
163
+ */
164
+ readonly purgeOnDelete: pulumi.Output<boolean | undefined>;
165
+ /**
166
+ * (string) - A timestamp indicating when the project is scheduled for permanent deletion.
167
+ * Empty if the project is not deleted, otherwise set to a timestamp in the future
168
+ */
169
+ readonly purgeTime: pulumi.Output<string>;
135
170
  /**
136
171
  * The spec contains the project configuration, including display_name, pgVersion (Postgres version), history_retention_duration, and default_endpoint_settings
137
172
  */
@@ -166,7 +201,12 @@ export interface PostgresProjectState {
166
201
  */
167
202
  createTime?: pulumi.Input<string>;
168
203
  /**
169
- * Configuration settings for the initial Read/Write endpoint created inside the default branch for a newly
204
+ * (string) - A timestamp indicating when the project was soft-deleted.
205
+ * Empty if the project is not deleted, otherwise set to a timestamp in the past
206
+ */
207
+ deleteTime?: pulumi.Input<string>;
208
+ /**
209
+ * Configuration settings for the initial Read/Write endpoint created inside the initial branch for a newly
170
210
  * created project. If omitted, the initial endpoint created will have default settings, without high availability
171
211
  * configured. This field does not apply to any endpoints created after project creation. Use
172
212
  * spec.default_endpoint_settings to configure default settings for endpoints created after project creation
@@ -187,6 +227,16 @@ export interface PostgresProjectState {
187
227
  * Configure the provider for management through account provider.
188
228
  */
189
229
  providerConfig?: pulumi.Input<inputs.PostgresProjectProviderConfig>;
230
+ /**
231
+ * If true, permanently deletes the project (hard delete).
232
+ * If false or unset, performs a soft delete
233
+ */
234
+ purgeOnDelete?: pulumi.Input<boolean>;
235
+ /**
236
+ * (string) - A timestamp indicating when the project is scheduled for permanent deletion.
237
+ * Empty if the project is not deleted, otherwise set to a timestamp in the future
238
+ */
239
+ purgeTime?: pulumi.Input<string>;
190
240
  /**
191
241
  * The spec contains the project configuration, including display_name, pgVersion (Postgres version), history_retention_duration, and default_endpoint_settings
192
242
  */
@@ -209,7 +259,7 @@ export interface PostgresProjectState {
209
259
  */
210
260
  export interface PostgresProjectArgs {
211
261
  /**
212
- * Configuration settings for the initial Read/Write endpoint created inside the default branch for a newly
262
+ * Configuration settings for the initial Read/Write endpoint created inside the initial branch for a newly
213
263
  * created project. If omitted, the initial endpoint created will have default settings, without high availability
214
264
  * configured. This field does not apply to any endpoints created after project creation. Use
215
265
  * spec.default_endpoint_settings to configure default settings for endpoints created after project creation
@@ -225,6 +275,11 @@ export interface PostgresProjectArgs {
225
275
  * Configure the provider for management through account provider.
226
276
  */
227
277
  providerConfig?: pulumi.Input<inputs.PostgresProjectProviderConfig>;
278
+ /**
279
+ * If true, permanently deletes the project (hard delete).
280
+ * If false or unset, performs a soft delete
281
+ */
282
+ purgeOnDelete?: pulumi.Input<boolean>;
228
283
  /**
229
284
  * The spec contains the project configuration, including display_name, pgVersion (Postgres version), history_retention_duration, and default_endpoint_settings
230
285
  */
@@ -48,10 +48,12 @@ const utilities = require("./utilities");
48
48
  *
49
49
  * ### Project with High Availability Endpoint
50
50
  *
51
- * Create a project whose initial read-write endpoint is configured with multiple compute instances for high availability.
51
+ * Create a project whose read-write endpoint is configured with multiple compute instances for high availability.
52
52
  * One compute instance acts as the read-write primary.
53
53
  * The remaining secondary compute instances are ready for automatic failover if the primary becomes unavailable.
54
54
  *
55
+ * This example manages implicitly created resources for the root branch and read-write endpoint. For more details, see the documentation for `databricks.PostgresBranch` and `databricks.PostgresEndpoint`.
56
+ *
55
57
  * ```typescript
56
58
  * import * as pulumi from "@pulumi/pulumi";
57
59
  * import * as databricks from "@pulumi/databricks";
@@ -62,13 +64,31 @@ const utilities = require("./utilities");
62
64
  * pgVersion: 17,
63
65
  * displayName: "HA Production Project",
64
66
  * },
65
- * initialEndpointSpec: {
67
+ * });
68
+ * const production = new databricks.PostgresBranch("production", {
69
+ * branchId: "production",
70
+ * parent: ha.name,
71
+ * spec: {
72
+ * noExpiry: true,
73
+ * isProtected: true,
74
+ * },
75
+ * replaceExisting: true,
76
+ * });
77
+ * const primary = new databricks.PostgresEndpoint("primary", {
78
+ * endpointId: "primary",
79
+ * parent: production.name,
80
+ * spec: {
81
+ * endpointType: "ENDPOINT_TYPE_READ_WRITE",
82
+ * noSuspension: true,
83
+ * autoscalingLimitMinCu: 0.5,
84
+ * autoscalingLimitMaxCu: 4,
66
85
  * group: {
67
86
  * min: 2,
68
87
  * max: 2,
69
88
  * enableReadableSecondaries: false,
70
89
  * },
71
90
  * },
91
+ * replaceExisting: true,
72
92
  * });
73
93
  * ```
74
94
  *
@@ -123,10 +143,13 @@ class PostgresProject extends pulumi.CustomResource {
123
143
  if (opts.id) {
124
144
  const state = argsOrState;
125
145
  resourceInputs["createTime"] = state?.createTime;
146
+ resourceInputs["deleteTime"] = state?.deleteTime;
126
147
  resourceInputs["initialEndpointSpec"] = state?.initialEndpointSpec;
127
148
  resourceInputs["name"] = state?.name;
128
149
  resourceInputs["projectId"] = state?.projectId;
129
150
  resourceInputs["providerConfig"] = state?.providerConfig;
151
+ resourceInputs["purgeOnDelete"] = state?.purgeOnDelete;
152
+ resourceInputs["purgeTime"] = state?.purgeTime;
130
153
  resourceInputs["spec"] = state?.spec;
131
154
  resourceInputs["status"] = state?.status;
132
155
  resourceInputs["uid"] = state?.uid;
@@ -140,9 +163,12 @@ class PostgresProject extends pulumi.CustomResource {
140
163
  resourceInputs["initialEndpointSpec"] = args?.initialEndpointSpec;
141
164
  resourceInputs["projectId"] = args?.projectId;
142
165
  resourceInputs["providerConfig"] = args?.providerConfig;
166
+ resourceInputs["purgeOnDelete"] = args?.purgeOnDelete;
143
167
  resourceInputs["spec"] = args?.spec;
144
168
  resourceInputs["createTime"] = undefined /*out*/;
169
+ resourceInputs["deleteTime"] = undefined /*out*/;
145
170
  resourceInputs["name"] = undefined /*out*/;
171
+ resourceInputs["purgeTime"] = undefined /*out*/;
146
172
  resourceInputs["status"] = undefined /*out*/;
147
173
  resourceInputs["uid"] = undefined /*out*/;
148
174
  resourceInputs["updateTime"] = undefined /*out*/;
@@ -1 +1 @@
1
- {"version":3,"file":"postgresProject.js","sourceRoot":"","sources":["../postgresProject.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"postgresProject.js","sourceRoot":"","sources":["../postgresProject.ts"],"names":[],"mappings":"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"}
package/postgresRole.d.ts CHANGED
@@ -3,6 +3,114 @@ import * as inputs from "./types/input";
3
3
  import * as outputs from "./types/output";
4
4
  /**
5
5
  * [![Public Beta](https://img.shields.io/badge/Release_Stage-Public_Beta-orange)](https://docs.databricks.com/aws/en/release-notes/release-types)
6
+ *
7
+ * ## Example Usage
8
+ *
9
+ * ### Role Backed by a Databricks User Identity
10
+ *
11
+ * Create a role that is authenticated as a specific Databricks workspace user via OAuth. `authMethod` is left unset and defaults to `LAKEBASE_OAUTH_V1` for managed identities.
12
+ *
13
+ * ```typescript
14
+ * import * as pulumi from "@pulumi/pulumi";
15
+ * import * as databricks from "@pulumi/databricks";
16
+ *
17
+ * const _this = new databricks.PostgresProject("this", {
18
+ * projectId: "my-project",
19
+ * spec: {
20
+ * pgVersion: 17,
21
+ * displayName: "My Project",
22
+ * },
23
+ * });
24
+ * const main = new databricks.PostgresBranch("main", {
25
+ * branchId: "main",
26
+ * parent: _this.name,
27
+ * spec: {
28
+ * noExpiry: true,
29
+ * },
30
+ * });
31
+ * const jane = new databricks.PostgresRole("jane", {
32
+ * roleId: "jane",
33
+ * parent: main.name,
34
+ * spec: {
35
+ * identityType: "USER",
36
+ * postgresRole: "jane@databricks.com",
37
+ * },
38
+ * });
39
+ * ```
40
+ *
41
+ * ### Service Principal with `DATABRICKS_SUPERUSER` Membership
42
+ *
43
+ * Create a role that is authenticated as a Databricks service principal via OAuth and grant it the highest customer-exposed privilege set via `DATABRICKS_SUPERUSER` membership.
44
+ *
45
+ * ```typescript
46
+ * import * as pulumi from "@pulumi/pulumi";
47
+ * import * as databricks from "@pulumi/databricks";
48
+ *
49
+ * const adminSp = new databricks.PostgresRole("admin_sp", {
50
+ * roleId: "admin-sp",
51
+ * parent: main.name,
52
+ * spec: {
53
+ * identityType: "SERVICE_PRINCIPAL",
54
+ * postgresRole: "00000000-0000-0000-0000-000000000000",
55
+ * authMethod: "LAKEBASE_OAUTH_V1",
56
+ * membershipRoles: ["DATABRICKS_SUPERUSER"],
57
+ * },
58
+ * });
59
+ * ```
60
+ *
61
+ * ### Multiple roles in a branch
62
+ *
63
+ * By default, Pulumi creates resources in parallel if the dependency graph allows. However, Lakebase
64
+ * doesn't allow executing parallel manipulations inside a single branch. Only one of these resources can
65
+ * be created or updated at a time:
66
+ *
67
+ * - Role
68
+ * - Database
69
+ * - Endpoint
70
+ *
71
+ * If you try to create resources in parallel, you'll see a conflict error like:
72
+ *
73
+ * > Your project already has conflicting operations in progress. Please wait until they are complete, and then try again.
74
+ *
75
+ * Pulumi serializes execution automatically when one resource references another.
76
+ * For example, when a database names a role as its owner via `spec.role`, Pulumi creates the role before the database.
77
+ * For resources that don't reference each other, like two sibling roles in the same branch, add `dependsOn` so
78
+ * Pulumi knows to wait for creation of the first one to finish, before scheduling the creation of the second one.
79
+ *
80
+ * For example:
81
+ *
82
+ * ```typescript
83
+ * import * as pulumi from "@pulumi/pulumi";
84
+ * import * as databricks from "@pulumi/databricks";
85
+ *
86
+ * const schemaOwner = new databricks.PostgresRole("schema_owner", {
87
+ * roleId: "schemamigrator",
88
+ * parent: test.name,
89
+ * spec: {
90
+ * postgresRole: "schemamigrator",
91
+ * membershipRoles: ["DATABRICKS_SUPERUSER"],
92
+ * },
93
+ * });
94
+ * const application = new databricks.PostgresDatabase("application", {
95
+ * databaseId: "application",
96
+ * parent: test.name,
97
+ * spec: {
98
+ * postgresDatabase: "application",
99
+ * role: schemaOwner.name,
100
+ * },
101
+ * });
102
+ * const applicationPostgresRole = new databricks.PostgresRole("application", {
103
+ * roleId: "application",
104
+ * parent: test.name,
105
+ * spec: {
106
+ * postgresRole: "application",
107
+ * },
108
+ * }, {
109
+ * dependsOn: [application],
110
+ * });
111
+ * ```
112
+ *
113
+ * Note: in a real setup, the `application` role would also need `GRANT` privileges, but that's out of scope for this example.
6
114
  */
7
115
  export declare class PostgresRole extends pulumi.CustomResource {
8
116
  /**
package/postgresRole.js CHANGED
@@ -7,6 +7,114 @@ const pulumi = require("@pulumi/pulumi");
7
7
  const utilities = require("./utilities");
8
8
  /**
9
9
  * [![Public Beta](https://img.shields.io/badge/Release_Stage-Public_Beta-orange)](https://docs.databricks.com/aws/en/release-notes/release-types)
10
+ *
11
+ * ## Example Usage
12
+ *
13
+ * ### Role Backed by a Databricks User Identity
14
+ *
15
+ * Create a role that is authenticated as a specific Databricks workspace user via OAuth. `authMethod` is left unset and defaults to `LAKEBASE_OAUTH_V1` for managed identities.
16
+ *
17
+ * ```typescript
18
+ * import * as pulumi from "@pulumi/pulumi";
19
+ * import * as databricks from "@pulumi/databricks";
20
+ *
21
+ * const _this = new databricks.PostgresProject("this", {
22
+ * projectId: "my-project",
23
+ * spec: {
24
+ * pgVersion: 17,
25
+ * displayName: "My Project",
26
+ * },
27
+ * });
28
+ * const main = new databricks.PostgresBranch("main", {
29
+ * branchId: "main",
30
+ * parent: _this.name,
31
+ * spec: {
32
+ * noExpiry: true,
33
+ * },
34
+ * });
35
+ * const jane = new databricks.PostgresRole("jane", {
36
+ * roleId: "jane",
37
+ * parent: main.name,
38
+ * spec: {
39
+ * identityType: "USER",
40
+ * postgresRole: "jane@databricks.com",
41
+ * },
42
+ * });
43
+ * ```
44
+ *
45
+ * ### Service Principal with `DATABRICKS_SUPERUSER` Membership
46
+ *
47
+ * Create a role that is authenticated as a Databricks service principal via OAuth and grant it the highest customer-exposed privilege set via `DATABRICKS_SUPERUSER` membership.
48
+ *
49
+ * ```typescript
50
+ * import * as pulumi from "@pulumi/pulumi";
51
+ * import * as databricks from "@pulumi/databricks";
52
+ *
53
+ * const adminSp = new databricks.PostgresRole("admin_sp", {
54
+ * roleId: "admin-sp",
55
+ * parent: main.name,
56
+ * spec: {
57
+ * identityType: "SERVICE_PRINCIPAL",
58
+ * postgresRole: "00000000-0000-0000-0000-000000000000",
59
+ * authMethod: "LAKEBASE_OAUTH_V1",
60
+ * membershipRoles: ["DATABRICKS_SUPERUSER"],
61
+ * },
62
+ * });
63
+ * ```
64
+ *
65
+ * ### Multiple roles in a branch
66
+ *
67
+ * By default, Pulumi creates resources in parallel if the dependency graph allows. However, Lakebase
68
+ * doesn't allow executing parallel manipulations inside a single branch. Only one of these resources can
69
+ * be created or updated at a time:
70
+ *
71
+ * - Role
72
+ * - Database
73
+ * - Endpoint
74
+ *
75
+ * If you try to create resources in parallel, you'll see a conflict error like:
76
+ *
77
+ * > Your project already has conflicting operations in progress. Please wait until they are complete, and then try again.
78
+ *
79
+ * Pulumi serializes execution automatically when one resource references another.
80
+ * For example, when a database names a role as its owner via `spec.role`, Pulumi creates the role before the database.
81
+ * For resources that don't reference each other, like two sibling roles in the same branch, add `dependsOn` so
82
+ * Pulumi knows to wait for creation of the first one to finish, before scheduling the creation of the second one.
83
+ *
84
+ * For example:
85
+ *
86
+ * ```typescript
87
+ * import * as pulumi from "@pulumi/pulumi";
88
+ * import * as databricks from "@pulumi/databricks";
89
+ *
90
+ * const schemaOwner = new databricks.PostgresRole("schema_owner", {
91
+ * roleId: "schemamigrator",
92
+ * parent: test.name,
93
+ * spec: {
94
+ * postgresRole: "schemamigrator",
95
+ * membershipRoles: ["DATABRICKS_SUPERUSER"],
96
+ * },
97
+ * });
98
+ * const application = new databricks.PostgresDatabase("application", {
99
+ * databaseId: "application",
100
+ * parent: test.name,
101
+ * spec: {
102
+ * postgresDatabase: "application",
103
+ * role: schemaOwner.name,
104
+ * },
105
+ * });
106
+ * const applicationPostgresRole = new databricks.PostgresRole("application", {
107
+ * roleId: "application",
108
+ * parent: test.name,
109
+ * spec: {
110
+ * postgresRole: "application",
111
+ * },
112
+ * }, {
113
+ * dependsOn: [application],
114
+ * });
115
+ * ```
116
+ *
117
+ * Note: in a real setup, the `application` role would also need `GRANT` privileges, but that's out of scope for this example.
10
118
  */
11
119
  class PostgresRole extends pulumi.CustomResource {
12
120
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"postgresRole.js","sourceRoot":"","sources":["../postgresRole.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC;;GAEG;AACH,MAAa,YAAa,SAAQ,MAAM,CAAC,cAAc;IACnD;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAyB,EAAE,IAAmC;QACvH,OAAO,IAAI,YAAY,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACnE,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,YAAY,CAAC,YAAY,CAAC;IAC7D,CAAC;IAoDD,YAAY,IAAY,EAAE,WAAkD,EAAE,IAAmC;QAC7G,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAA4C,CAAC;YAC3D,cAAc,CAAC,YAAY,CAAC,GAAG,KAAK,EAAE,UAAU,CAAC;YACjD,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;YACrC,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC;YACzC,cAAc,CAAC,gBAAgB,CAAC,GAAG,KAAK,EAAE,cAAc,CAAC;YACzD,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC;YACzC,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;YACrC,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC;YACzC,cAAc,CAAC,YAAY,CAAC,GAAG,KAAK,EAAE,UAAU,CAAC;SACpD;aAAM;YACH,MAAM,IAAI,GAAG,WAA2C,CAAC;YACzD,IAAI,IAAI,EAAE,MAAM,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACzC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;aACzD;YACD,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC;YACxC,cAAc,CAAC,gBAAgB,CAAC,GAAG,IAAI,EAAE,cAAc,CAAC;YACxD,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC;YACxC,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC;YACpC,cAAc,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YACjD,cAAc,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC3C,cAAc,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC7C,cAAc,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SACpD;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC;;AA3GL,oCA4GC;AA9FG,gBAAgB;AACO,yBAAY,GAAG,4CAA4C,CAAC"}
1
+ {"version":3,"file":"postgresRole.js","sourceRoot":"","sources":["../postgresRole.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8GG;AACH,MAAa,YAAa,SAAQ,MAAM,CAAC,cAAc;IACnD;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAyB,EAAE,IAAmC;QACvH,OAAO,IAAI,YAAY,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACnE,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,YAAY,CAAC,YAAY,CAAC;IAC7D,CAAC;IAoDD,YAAY,IAAY,EAAE,WAAkD,EAAE,IAAmC;QAC7G,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAA4C,CAAC;YAC3D,cAAc,CAAC,YAAY,CAAC,GAAG,KAAK,EAAE,UAAU,CAAC;YACjD,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;YACrC,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC;YACzC,cAAc,CAAC,gBAAgB,CAAC,GAAG,KAAK,EAAE,cAAc,CAAC;YACzD,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC;YACzC,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;YACrC,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC;YACzC,cAAc,CAAC,YAAY,CAAC,GAAG,KAAK,EAAE,UAAU,CAAC;SACpD;aAAM;YACH,MAAM,IAAI,GAAG,WAA2C,CAAC;YACzD,IAAI,IAAI,EAAE,MAAM,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACzC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;aACzD;YACD,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC;YACxC,cAAc,CAAC,gBAAgB,CAAC,GAAG,IAAI,EAAE,cAAc,CAAC;YACxD,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC;YACxC,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC;YACpC,cAAc,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YACjD,cAAc,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC3C,cAAc,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC7C,cAAc,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SACpD;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC;;AA3GL,oCA4GC;AA9FG,gBAAgB;AACO,yBAAY,GAAG,4CAA4C,CAAC"}
package/types/input.d.ts CHANGED
@@ -17711,7 +17711,8 @@ export interface PostgresBranchSpec {
17711
17711
  isProtected?: pulumi.Input<boolean>;
17712
17712
  /**
17713
17713
  * Explicitly disable expiration. When set to true, the branch will not expire.
17714
- * If set to false, the request is invalid; provide either ttl or expireTime instead
17714
+ * If set to false, the request is invalid; provide either ttl or expireTime instead.
17715
+ * Mutually exclusive with `expireTime` and `ttl`. When updating, use `spec.expiration` in the update_mask
17715
17716
  */
17716
17717
  noExpiry?: pulumi.Input<boolean>;
17717
17718
  /**
@@ -17728,11 +17729,18 @@ export interface PostgresBranchSpec {
17728
17729
  */
17729
17730
  sourceBranchTime?: pulumi.Input<string>;
17730
17731
  /**
17731
- * Relative time-to-live duration. When set, the branch will expire at creationTime + ttl
17732
+ * Relative time-to-live duration. When set, the branch will expire at creationTime + ttl.
17733
+ * Mutually exclusive with `expireTime` and `noExpiry`. When updating, use `spec.expiration` in the update_mask
17732
17734
  */
17733
17735
  ttl?: pulumi.Input<string>;
17734
17736
  }
17735
17737
  export interface PostgresBranchStatus {
17738
+ /**
17739
+ * The ID to use for the Branch. This becomes the final component of the branch's resource name.
17740
+ * The ID is required and must be 1-63 characters long, start with a lowercase letter, and contain only lowercase letters, numbers, and hyphens.
17741
+ * For example, `development` becomes `projects/my-app/branches/development`
17742
+ */
17743
+ branchId?: pulumi.Input<string>;
17736
17744
  /**
17737
17745
  * (string) - The branch's state, indicating if it is initializing, ready for use, or archived. Possible values are: `ARCHIVED`, `IMPORTING`, `INIT`, `READY`, `RESETTING`
17738
17746
  */
@@ -17804,6 +17812,11 @@ export interface PostgresCatalogStatus {
17804
17812
  * (string) - The resource path of the branch associated with the catalog.
17805
17813
  */
17806
17814
  branch?: pulumi.Input<string>;
17815
+ /**
17816
+ * The ID in the Unity Catalog.
17817
+ * It becomes the full resource name, for example "myCatalog" becomes "catalogs/my_catalog"
17818
+ */
17819
+ catalogId?: pulumi.Input<string>;
17807
17820
  /**
17808
17821
  * (string) - The name of the Postgres database associated with the catalog
17809
17822
  */
@@ -17824,6 +17837,17 @@ export interface PostgresDatabaseSpec {
17824
17837
  role?: pulumi.Input<string>;
17825
17838
  }
17826
17839
  export interface PostgresDatabaseStatus {
17840
+ /**
17841
+ * The ID to use for the Database, which will become the final component of
17842
+ * the database's resource name.
17843
+ * This ID becomes the database name in postgres.
17844
+ *
17845
+ * This value should be 4-63 characters, and only use characters available in DNS names,
17846
+ * as defined by RFC-1123
17847
+ *
17848
+ * If databaseId is not specified in the request, it is generated automatically
17849
+ */
17850
+ databaseId?: pulumi.Input<string>;
17827
17851
  postgresDatabase?: pulumi.Input<string>;
17828
17852
  role?: pulumi.Input<string>;
17829
17853
  }
@@ -17835,7 +17859,8 @@ export interface PostgresEndpointProviderConfig {
17835
17859
  }
17836
17860
  export interface PostgresEndpointSpec {
17837
17861
  /**
17838
- * (number) - The maximum number of Compute Units
17862
+ * (number) - The maximum number of Compute Units. The maximum value is 64.
17863
+ * The difference between the minimum and maximum Compute Units (max - min) must not exceed 16
17839
17864
  */
17840
17865
  autoscalingLimitMaxCu?: pulumi.Input<number>;
17841
17866
  /**
@@ -17859,7 +17884,8 @@ export interface PostgresEndpointSpec {
17859
17884
  group?: pulumi.Input<inputs.PostgresEndpointSpecGroup>;
17860
17885
  /**
17861
17886
  * When set to true, explicitly disables automatic suspension (never suspend).
17862
- * Should be set to true when provided
17887
+ * Should be set to true when provided.
17888
+ * Mutually exclusive with `suspendTimeoutDuration`. When updating, use `spec.suspension` in the update_mask
17863
17889
  */
17864
17890
  noSuspension?: pulumi.Input<boolean>;
17865
17891
  /**
@@ -17890,7 +17916,8 @@ export interface PostgresEndpointSpecSettings {
17890
17916
  }
17891
17917
  export interface PostgresEndpointStatus {
17892
17918
  /**
17893
- * (number) - The maximum number of Compute Units
17919
+ * (number) - The maximum number of Compute Units. The maximum value is 64.
17920
+ * The difference between the minimum and maximum Compute Units (max - min) must not exceed 16
17894
17921
  */
17895
17922
  autoscalingLimitMaxCu?: pulumi.Input<number>;
17896
17923
  /**
@@ -17908,6 +17935,12 @@ export interface PostgresEndpointStatus {
17908
17935
  * console action
17909
17936
  */
17910
17937
  disabled?: pulumi.Input<boolean>;
17938
+ /**
17939
+ * The ID to use for the Endpoint. This becomes the final component of the endpoint's resource name.
17940
+ * The ID is required and must be 1-63 characters long, start with a lowercase letter, and contain only lowercase letters, numbers, and hyphens.
17941
+ * For example, `primary` becomes `projects/my-app/branches/development/endpoints/primary`
17942
+ */
17943
+ endpointId?: pulumi.Input<string>;
17911
17944
  /**
17912
17945
  * (string) - The endpoint type. A branch can only have one READ_WRITE endpoint. Possible values are: `ENDPOINT_TYPE_READ_ONLY`, `ENDPOINT_TYPE_READ_WRITE`
17913
17946
  */
@@ -18048,7 +18081,8 @@ export interface PostgresProjectSpecDefaultEndpointSettings {
18048
18081
  autoscalingLimitMinCu?: pulumi.Input<number>;
18049
18082
  /**
18050
18083
  * When set to true, explicitly disables automatic suspension (never suspend).
18051
- * Should be set to true when provided
18084
+ * Should be set to true when provided.
18085
+ * Mutually exclusive with `suspendTimeoutDuration`. When updating, use `spec.project_default_settings.suspension` in the update_mask
18052
18086
  */
18053
18087
  noSuspension?: pulumi.Input<boolean>;
18054
18088
  /**
@@ -18059,7 +18093,8 @@ export interface PostgresProjectSpecDefaultEndpointSettings {
18059
18093
  }>;
18060
18094
  /**
18061
18095
  * Duration of inactivity after which the compute endpoint is automatically suspended.
18062
- * If specified should be between 60s and 604800s (1 minute to 1 week)
18096
+ * If specified should be between 60s and 604800s (1 minute to 1 week).
18097
+ * Mutually exclusive with `noSuspension`. When updating, use `spec.project_default_settings.suspension` in the update_mask
18063
18098
  */
18064
18099
  suspendTimeoutDuration?: pulumi.Input<string>;
18065
18100
  }
@@ -18104,6 +18139,12 @@ export interface PostgresProjectStatus {
18104
18139
  * (integer) - The effective major Postgres version number
18105
18140
  */
18106
18141
  pgVersion?: pulumi.Input<number>;
18142
+ /**
18143
+ * The ID to use for the Project. This becomes the final component of the project's resource name.
18144
+ * The ID is required and must be 1-63 characters long, start with a lowercase letter, and contain only lowercase letters, numbers, and hyphens.
18145
+ * For example, `my-app` becomes `projects/my-app`
18146
+ */
18147
+ projectId?: pulumi.Input<string>;
18107
18148
  /**
18108
18149
  * (integer) - The current space occupied by the project in storage
18109
18150
  */
@@ -18130,7 +18171,8 @@ export interface PostgresProjectStatusDefaultEndpointSettings {
18130
18171
  autoscalingLimitMinCu?: pulumi.Input<number>;
18131
18172
  /**
18132
18173
  * When set to true, explicitly disables automatic suspension (never suspend).
18133
- * Should be set to true when provided
18174
+ * Should be set to true when provided.
18175
+ * Mutually exclusive with `suspendTimeoutDuration`. When updating, use `spec.project_default_settings.suspension` in the update_mask
18134
18176
  */
18135
18177
  noSuspension?: pulumi.Input<boolean>;
18136
18178
  /**
@@ -18141,7 +18183,8 @@ export interface PostgresProjectStatusDefaultEndpointSettings {
18141
18183
  }>;
18142
18184
  /**
18143
18185
  * Duration of inactivity after which the compute endpoint is automatically suspended.
18144
- * If specified should be between 60s and 604800s (1 minute to 1 week)
18186
+ * If specified should be between 60s and 604800s (1 minute to 1 week).
18187
+ * Mutually exclusive with `noSuspension`. When updating, use `spec.project_default_settings.suspension` in the update_mask
18145
18188
  */
18146
18189
  suspendTimeoutDuration?: pulumi.Input<string>;
18147
18190
  }
@@ -18169,6 +18212,17 @@ export interface PostgresRoleStatus {
18169
18212
  identityType?: pulumi.Input<string>;
18170
18213
  membershipRoles?: pulumi.Input<pulumi.Input<string>[]>;
18171
18214
  postgresRole?: pulumi.Input<string>;
18215
+ /**
18216
+ * The ID to use for the Role, which will become the final component of
18217
+ * the role's resource name.
18218
+ * This ID becomes the role in Postgres.
18219
+ *
18220
+ * This value should be 4-63 characters, and valid characters
18221
+ * are lowercase letters, numbers, and hyphens, as defined by RFC 1123.
18222
+ *
18223
+ * If roleId is not specified in the request, it is generated automatically
18224
+ */
18225
+ roleId?: pulumi.Input<string>;
18172
18226
  }
18173
18227
  export interface PostgresRoleStatusAttributes {
18174
18228
  bypassrls?: pulumi.Input<boolean>;
@@ -18287,6 +18341,10 @@ export interface PostgresSyncedTableStatus {
18287
18341
  * (string) - ID of the associated pipeline
18288
18342
  */
18289
18343
  pipelineId?: pulumi.Input<string>;
18344
+ /**
18345
+ * (string) - The full resource name of the project associated with the table.
18346
+ */
18347
+ project?: pulumi.Input<string>;
18290
18348
  /**
18291
18349
  * (string) - The current phase of the data synchronization pipeline. Possible values are: `PROVISIONING_PHASE_INDEX_SCAN`, `PROVISIONING_PHASE_INDEX_SORT`, `PROVISIONING_PHASE_MAIN`
18292
18350
  */