@cube-dev/platform-client 0.19.0 → 0.19.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.
package/dist/schema.d.ts CHANGED
@@ -1100,6 +1100,84 @@ export interface paths {
1100
1100
  patch?: never;
1101
1101
  trace?: never;
1102
1102
  };
1103
+ "/api/v1/deployments/{deploymentId}/ossie-conversions": {
1104
+ parameters: {
1105
+ query?: never;
1106
+ header?: never;
1107
+ path?: never;
1108
+ cookie?: never;
1109
+ };
1110
+ get?: never;
1111
+ put?: never;
1112
+ /**
1113
+ * Start an Apache Ossie conversion
1114
+ * @description Converts between a Cube data model and an [Apache Ossie (Open Semantic Interchange)](https://github.com/apache/ossie) model, and returns polling URLs immediately. An export converts the YAML data model of the deployment's latest successful build, or uploaded YAML files, to one Ossie model; an import converts an uploaded Ossie model to Cube data model files. Neither changes the deployment. Only static YAML model files are converted; JavaScript models and Jinja-templated files are skipped. Uploads are limited to 512 files of at most 2 MiB each and 20 MiB in total. Requests and results are kept for at most one day. Requires `SchemaRead` or `SchemaUpdate` access. This is currently in preview — reach out to the Cube support team to activate it for your account.
1115
+ */
1116
+ post: operations["OssieConversionPublicController.startConversion"];
1117
+ delete?: never;
1118
+ options?: never;
1119
+ head?: never;
1120
+ patch?: never;
1121
+ trace?: never;
1122
+ };
1123
+ "/api/v1/deployments/{deploymentId}/ossie-conversions/{conversionId}": {
1124
+ parameters: {
1125
+ query?: never;
1126
+ header?: never;
1127
+ path?: never;
1128
+ cookie?: never;
1129
+ };
1130
+ /** Get an Apache Ossie conversion status */
1131
+ get: operations["OssieConversionPublicController.conversionStatus"];
1132
+ put?: never;
1133
+ post?: never;
1134
+ /** Cancel an Apache Ossie conversion */
1135
+ delete: operations["OssieConversionPublicController.cancelConversion"];
1136
+ options?: never;
1137
+ head?: never;
1138
+ patch?: never;
1139
+ trace?: never;
1140
+ };
1141
+ "/api/v1/deployments/{deploymentId}/ossie-conversions/{conversionId}/files": {
1142
+ parameters: {
1143
+ query?: never;
1144
+ header?: never;
1145
+ path?: never;
1146
+ cookie?: never;
1147
+ };
1148
+ /**
1149
+ * Get the files of an Apache Ossie conversion
1150
+ * @description Returns `ossie.yaml` for an export, or the generated Cube data model files for an import; empty when the conversion failed. Returns 409 while the conversion is still running or if it ended without a result.
1151
+ */
1152
+ get: operations["OssieConversionPublicController.conversionFiles"];
1153
+ put?: never;
1154
+ post?: never;
1155
+ delete?: never;
1156
+ options?: never;
1157
+ head?: never;
1158
+ patch?: never;
1159
+ trace?: never;
1160
+ };
1161
+ "/api/v1/deployments/{deploymentId}/ossie-conversions/{conversionId}/result": {
1162
+ parameters: {
1163
+ query?: never;
1164
+ header?: never;
1165
+ path?: never;
1166
+ cookie?: never;
1167
+ };
1168
+ /**
1169
+ * Get an Apache Ossie conversion result
1170
+ * @description Returns the outcome, counts, issues and converter versions of a completed conversion. Returns 409 while the conversion is still running or if it ended without a result. Read the converted files from `/files`.
1171
+ */
1172
+ get: operations["OssieConversionPublicController.conversionResult"];
1173
+ put?: never;
1174
+ post?: never;
1175
+ delete?: never;
1176
+ options?: never;
1177
+ head?: never;
1178
+ patch?: never;
1179
+ trace?: never;
1180
+ };
1103
1181
  "/api/v1/deployments/{deploymentId}/pods": {
1104
1182
  parameters: {
1105
1183
  query?: never;
@@ -3089,6 +3167,122 @@ export interface paths {
3089
3167
  patch?: never;
3090
3168
  trace?: never;
3091
3169
  };
3170
+ "/api/v1/roles/": {
3171
+ parameters: {
3172
+ query?: never;
3173
+ header?: never;
3174
+ path?: never;
3175
+ cookie?: never;
3176
+ };
3177
+ /**
3178
+ * List custom roles
3179
+ * @description **🔒 Admin only.** Requires administrator privileges — the authenticated principal (API key, embed JWT, or any bearer token) must belong to a user with the admin role.
3180
+ *
3181
+ * Lists the tenant's custom roles, newest first, cursor-paginated via `first`/`after`. Cube's built-in roles are not included — they are not tenant data.
3182
+ */
3183
+ get: operations["RolesPublicController.getRoles"];
3184
+ put?: never;
3185
+ /**
3186
+ * Create a custom role
3187
+ * @description **🔒 Admin only.** Requires administrator privileges — the authenticated principal (API key, embed JWT, or any bearer token) must belong to a user with the admin role.
3188
+ *
3189
+ * Creates a role and returns it with the `id` to assign it by. Role names are unique, so recreating one that already exists answers `409`.
3190
+ *
3191
+ * To scope the role to specific deployments, send a `Deployment` policy whose `resources` are the deployment ids as strings. A role usually also needs a `Global` policy naming the holder's license tier — `AIBIView`, `AIBIExplore` or `AIBIDevelop` — which is what the console calls the role's Base Role. Pick a tier that covers the deployment actions you grant: the console forces Developer (`AIBIDevelop`) for every deployment action except `DeploymentRead`, `DeploymentAgentRead`, `DownloadData` and `ChatHistoryRead`, so a lower tier here produces a role its role builder would not have let you save:
3192
+ *
3193
+ * ```json
3194
+ * {
3195
+ * "name": "team-analytics",
3196
+ * "policies": [
3197
+ * {
3198
+ * "resourceType": "Global",
3199
+ * "actions": ["AIBIDevelop"],
3200
+ * "resources": ["All"]
3201
+ * },
3202
+ * {
3203
+ * "resourceType": "Deployment",
3204
+ * "actions": ["DeploymentRead", "SchemaRead", "SqlRunnerRead"],
3205
+ * "resources": ["1734"]
3206
+ * }
3207
+ * ]
3208
+ * }
3209
+ * ```
3210
+ *
3211
+ * The tier is **not** required and is **not** derived from the deployment actions: a role sent without one is accepted and simply confers no tier, so a user holding only that role gets the deployment grants and still cannot use the product. That is deliberate — a user holds the union of their roles, so a role that only adds a deployment scope beside another role carrying the tier is valid — but it means nothing warns you. Omit the `Global` policy only when some other role supplies the tier. Note the console does require one on every role it writes, so a role created here without a tier shows an unset Base Role when opened in the role builder.
3212
+ *
3213
+ * Use `["All"]` as `resources` to cover every deployment, and `"All"` as the single action for full access to the deployments in scope. A policy is rejected when it grants no action, when it names no resource, or when a `Deployment` resource is not a deployment id — pass the numeric id returned by POST /build/api/v1/deployments, not a slug or a name. Ids are checked for shape, not existence, so an id whose deployment was since deleted is kept and simply grants nothing.
3214
+ */
3215
+ post: operations["RolesPublicController.createRole"];
3216
+ delete?: never;
3217
+ options?: never;
3218
+ head?: never;
3219
+ patch?: never;
3220
+ trace?: never;
3221
+ };
3222
+ "/api/v1/roles/{roleId}": {
3223
+ parameters: {
3224
+ query?: never;
3225
+ header?: never;
3226
+ path?: never;
3227
+ cookie?: never;
3228
+ };
3229
+ /**
3230
+ * Get a custom role
3231
+ * @description **🔒 Admin only.** Requires administrator privileges — the authenticated principal (API key, embed JWT, or any bearer token) must belong to a user with the admin role.
3232
+ *
3233
+ * Returns one custom role by id, with its policies.
3234
+ */
3235
+ get: operations["RolesPublicController.getRole"];
3236
+ /**
3237
+ * Update a custom role
3238
+ * @description **🔒 Admin only.** Requires administrator privileges — the authenticated principal (API key, embed JWT, or any bearer token) must belong to a user with the admin role.
3239
+ *
3240
+ * Updates the fields present in the body and leaves the rest alone. Sending `policies` replaces the role's policies outright, so read the role first if you mean to add one rather than start over. Renaming to a name another role already holds answers `409`. Built-in roles cannot be updated.
3241
+ */
3242
+ put: operations["RolesPublicController.updateRole"];
3243
+ post?: never;
3244
+ /**
3245
+ * Delete a custom role
3246
+ * @description **🔒 Admin only.** Requires administrator privileges — the authenticated principal (API key, embed JWT, or any bearer token) must belong to a user with the admin role.
3247
+ *
3248
+ * Deletes the role and every assignment of it, from users and from groups. Built-in roles cannot be deleted.
3249
+ */
3250
+ delete: operations["RolesPublicController.deleteRole"];
3251
+ options?: never;
3252
+ head?: never;
3253
+ patch?: never;
3254
+ trace?: never;
3255
+ };
3256
+ "/api/v1/roles/{roleId}/users/{userId}": {
3257
+ parameters: {
3258
+ query?: never;
3259
+ header?: never;
3260
+ path?: never;
3261
+ cookie?: never;
3262
+ };
3263
+ get?: never;
3264
+ /**
3265
+ * Assign a role to a user
3266
+ * @description **🔒 Admin only.** Requires administrator privileges — the authenticated principal (API key, embed JWT, or any bearer token) must belong to a user with the admin role.
3267
+ *
3268
+ * Gives the user everything the role grants. Idempotent — assigning a role the user already holds changes nothing. Returns `404` if either the user or the role is unknown.
3269
+ *
3270
+ * Unlike the other endpoints here, this one is not limited to your custom roles: it also accepts the id of a built-in role, and assigning one grants everything that role confers. **Cube's Admin role is the exception and cannot be granted this way** — it is not among the built-in roles this endpoint resolves, so its id returns `404`. No call to this endpoint can make a user an account-wide administrator.
3271
+ */
3272
+ put: operations["RolesPublicController.assignRoleToUser"];
3273
+ post?: never;
3274
+ /**
3275
+ * Remove a role from a user
3276
+ * @description **🔒 Admin only.** Requires administrator privileges — the authenticated principal (API key, embed JWT, or any bearer token) must belong to a user with the admin role.
3277
+ *
3278
+ * Takes the role away from the user. Idempotent — removing a role the user does not hold changes nothing. Returns `404` if the user is unknown.
3279
+ */
3280
+ delete: operations["RolesPublicController.removeRoleFromUser"];
3281
+ options?: never;
3282
+ head?: never;
3283
+ patch?: never;
3284
+ trace?: never;
3285
+ };
3092
3286
  "/api/v1/spec": {
3093
3287
  parameters: {
3094
3288
  query?: never;
@@ -3770,6 +3964,7 @@ export interface components {
3770
3964
  createdAt: string;
3771
3965
  dedicatedAiEngineerRegion?: string | null;
3772
3966
  deploymentId?: number | null;
3967
+ displayName?: string | null;
3773
3968
  embeddingLlm?: components["schemas"]["AgentLlm"] | null;
3774
3969
  embeddingUrl?: string | null;
3775
3970
  id: number;
@@ -5875,6 +6070,122 @@ export interface components {
5875
6070
  };
5876
6071
  /** @enum {string} */
5877
6072
  OidcTokenConfigDTOSubjectType: "deployment" | "user";
6073
+ OssieConversionCounts: {
6074
+ /** @description Cube cubes. */
6075
+ cubes: number;
6076
+ /** @description Ossie datasets. */
6077
+ datasets: number;
6078
+ /** @description Ossie dataset fields. */
6079
+ fields: number;
6080
+ /** @description Cube data model files. */
6081
+ files: number;
6082
+ issues: components["schemas"]["OssieConversionIssueCounts"];
6083
+ /** @description Ossie metrics. */
6084
+ metrics: number;
6085
+ /** @description Ossie relationships. */
6086
+ relationships: number;
6087
+ /** @description Cube views. */
6088
+ views: number;
6089
+ };
6090
+ OssieConversionFile: {
6091
+ content: string;
6092
+ /** @description For an export, `ossie.yaml`. For an import, the path of the generated file within the data model project. */
6093
+ path: string;
6094
+ };
6095
+ OssieConversionFilesListResponse: {
6096
+ /** @description The converted files, empty when the conversion failed. */
6097
+ items: components["schemas"]["OssieConversionFile"][];
6098
+ pageInfo: components["schemas"]["PageInfo"];
6099
+ };
6100
+ OssieConversionInput: {
6101
+ /** @description Import only. The dataset the generated view is rooted at, for an Ossie model whose relationships do not determine one. */
6102
+ baseCube?: string | null;
6103
+ /** @description Import only. The warehouse dialect whose expressions are preferred where the Ossie model has several; ANSI_SQL is always the fallback. Defaults to the dialect of the deployment's default data source, or ANSI_SQL. */
6104
+ dialect?: components["schemas"]["OssieConversionInputDialect"] | null;
6105
+ /** @description 'export' converts a Cube data model to an Ossie model; 'import' converts an Ossie model to Cube data model files. */
6106
+ direction: components["schemas"]["OssieConversionInputDirection"];
6107
+ /** @description Export with source 'files' only. Relative `.yml`/`.yaml` paths mapped to their contents, such as a local checkout of the data model. Other files are not accepted. */
6108
+ files?: {
6109
+ [key: string]: string;
6110
+ } | null;
6111
+ /** @description Import only. The Ossie YAML document to convert. */
6112
+ ossieYaml?: string | null;
6113
+ /** @description Export only. 'deployment' (the default) converts the YAML data model of the deployment's latest successful build; 'files' converts the `files` sent with the request. */
6114
+ source?: components["schemas"]["OssieConversionInputSource"] | null;
6115
+ /** @description Export only. Refuse a metric whose value join fan-out could change, instead of converting it with a warning. Defaults to false for a whole-model export and true for a view export. */
6116
+ strictFanout?: boolean | null;
6117
+ /** @description Export only. Convert just this view's public members instead of the whole model. */
6118
+ view?: string | null;
6119
+ };
6120
+ /** @enum {string} */
6121
+ OssieConversionInputDialect: "ANSI_SQL" | "SNOWFLAKE" | "DATABRICKS" | "BIGQUERY";
6122
+ /** @enum {string} */
6123
+ OssieConversionInputDirection: "export" | "import";
6124
+ /** @enum {string} */
6125
+ OssieConversionInputSource: "deployment" | "files";
6126
+ OssieConversionIssue: {
6127
+ /** @description The converter issue type, such as DROPPED_MEASURE or CONVERSION_FAILED. */
6128
+ code: string;
6129
+ /** @description The model element the issue is about. */
6130
+ element?: string | null;
6131
+ message: string;
6132
+ /** @description ERROR fails the conversion. WARNING marks something dropped or changed. INFO marks something kept in another form. */
6133
+ severity: components["schemas"]["OssieConversionIssueSeverity"];
6134
+ };
6135
+ OssieConversionIssueCounts: {
6136
+ error: number;
6137
+ info: number;
6138
+ warning: number;
6139
+ };
6140
+ /** @enum {string} */
6141
+ OssieConversionIssueSeverity: "ERROR" | "WARNING" | "INFO";
6142
+ OssieConversionResultResponse: {
6143
+ completedAt: string;
6144
+ conversionId: string;
6145
+ counts: components["schemas"]["OssieConversionCounts"];
6146
+ deploymentId: number;
6147
+ direction: components["schemas"]["OssieConversionResultResponseDirection"];
6148
+ durationMs: number;
6149
+ issues: components["schemas"]["OssieConversionIssue"][];
6150
+ /** @description 'failed' exactly when an issue has severity ERROR. */
6151
+ outcome: components["schemas"]["OssieConversionResultResponseOutcome"];
6152
+ runtime: components["schemas"]["OssieConversionRuntime"];
6153
+ /** @description SHA-256 of the converted input. */
6154
+ sourceSha256: string;
6155
+ };
6156
+ /** @enum {string} */
6157
+ OssieConversionResultResponseDirection: "export" | "import";
6158
+ /** @enum {string} */
6159
+ OssieConversionResultResponseOutcome: "success" | "failed";
6160
+ OssieConversionRuntime: {
6161
+ cubeConverterVersion: string;
6162
+ /** @description The apache/ossie commit the converter was built from. */
6163
+ ossieCommit: string;
6164
+ ossieCoreVersion: string;
6165
+ };
6166
+ OssieConversionStartResponse: {
6167
+ conversionId: string;
6168
+ resultUrl: string;
6169
+ status: components["schemas"]["OssieConversionStartResponseStatus"];
6170
+ statusUrl: string;
6171
+ };
6172
+ /** @enum {string} */
6173
+ OssieConversionStartResponseStatus: "QUEUED";
6174
+ OssieConversionStatusResponse: {
6175
+ conversionId: string;
6176
+ deploymentId: number;
6177
+ direction: components["schemas"]["OssieConversionStatusResponseDirection"];
6178
+ /** @description Why the job ended without a result. */
6179
+ error?: string | null;
6180
+ startedAt: string;
6181
+ /** @description One of QUEUED, RUNNING, COMPLETED, FAILED or CANCELLED. COMPLETED means a result is available, even when the conversion itself failed; read its outcome. FAILED means the job ended without a result. */
6182
+ status: components["schemas"]["OssieConversionStatusResponseStatus"];
6183
+ updatedAt: string;
6184
+ };
6185
+ /** @enum {string} */
6186
+ OssieConversionStatusResponseDirection: "export" | "import";
6187
+ /** @enum {string} */
6188
+ OssieConversionStatusResponseStatus: "QUEUED" | "RUNNING" | "COMPLETED" | "FAILED" | "CANCELLED";
5878
6189
  PageInfo: {
5879
6190
  endCursor?: string | null;
5880
6191
  hasNextPage: boolean;
@@ -6468,11 +6779,36 @@ export interface components {
6468
6779
  /** @description The session id returned by `POST /api/v1/embed/generate-session`. Works whether or not the session has already been exchanged for a token. */
6469
6780
  sessionId: string;
6470
6781
  };
6782
+ Role: {
6783
+ description?: string | null;
6784
+ id: number;
6785
+ name: string;
6786
+ policies: components["schemas"]["Policy"][];
6787
+ };
6788
+ RoleCreateBody: {
6789
+ description?: string | null;
6790
+ /** @description Unique role name. Cannot be one of the built-in role names, which are rejected with `400`: `Admin`, `Developer`, `AIBIDeveloper`, `D3User`, `AIBIUser`, `AIBIViewer`, `Guest`, `EmbedUser`. (The console additionally refuses `None` and `All` in its own role builder; those are accepted here.) */
6791
+ name: string;
6792
+ /** @description What the role grants. Scope a policy to specific deployments by setting `resourceType` to `Deployment` and listing the deployment ids — as returned by POST /build/api/v1/deployments — in `resources`, or `["All"]` for every deployment. An empty `policies` list is accepted and creates a role that grants nothing yet; an individual policy with no actions, or none naming a resource, is rejected. */
6793
+ policies: components["schemas"]["Policy"][];
6794
+ };
6795
+ RoleUpdateBody: {
6796
+ /** @description Omit to leave the description unchanged; `null` clears it. */
6797
+ description?: string | null;
6798
+ /** @description Omit to leave the name unchanged. `null` is rejected. */
6799
+ name?: string;
6800
+ /** @description Replaces the role's policies outright when present — there is no per-policy merge. Omit it to leave them unchanged, or send `[]` to remove them all. `null` is rejected, so a partly-filled client object cannot strip a role's grants by accident. */
6801
+ policies?: components["schemas"]["Policy"][];
6802
+ };
6471
6803
  RoleWithAccess: {
6472
6804
  actions: ("All" | "DeploymentsManage" | "DeploymentCreate" | "DeploymentRead" | "DeploymentUpdate" | "DeploymentDelete" | "SecretsManage" | "DownloadData" | "PlaygroundRead" | "SchemaRead" | "SchemaUpdate" | "SchemaUpdateDevBranches" | "APMRead" | "ChatHistoryRead" | "PreAggregationRead" | "PreAggregationBuild" | "AlertsCreate" | "AlertsRead" | "AlertsUpdate" | "AlertsDelete" | "AuditLogManage" | "BillingRead" | "SqlRunnerRead" | "DataAssetsRead" | "DataAssetsManage" | "CubeNetworkConnect" | "ReportRead" | "ReportEdit" | "ReportManage" | "WorkbookManage" | "WorkbookRead" | "WorkbookEdit" | "ChatThreadRead" | "AgentManage" | "AgentRead" | "AgentSpaceManage" | "AgentAdmin" | "DeploymentAgentRead" | "ScheduledTasksCreate" | "ScheduledTaskRead" | "OAuthIntegrationsManage" | "OAuthIntegrationsIssueTokens" | "McpToolsManage" | "AIBIDevelop" | "AIBIExplore" | "AIBIView" | "ChartPalettesManage" | "DashboardThemesManage" | "AIBIDeveloper" | "AIBIUser" | "AIBIViewer" | "EmbedDeploymentRead" | "EmbedDashboardRead" | "FolderRead" | "FolderEdit" | "FolderManage")[];
6473
6805
  id: number;
6474
6806
  name: string;
6475
6807
  };
6808
+ RolesListResponse: {
6809
+ items: components["schemas"]["Role"][];
6810
+ pageInfo: components["schemas"]["PageInfo"];
6811
+ };
6476
6812
  RunScheduledTaskResponse: {
6477
6813
  /** @description The chat thread this run writes to. */
6478
6814
  chatThreadUuid: string;
@@ -9256,6 +9592,131 @@ export interface operations {
9256
9592
  };
9257
9593
  };
9258
9594
  };
9595
+ "OssieConversionPublicController.startConversion": {
9596
+ parameters: {
9597
+ query?: never;
9598
+ header?: never;
9599
+ path: {
9600
+ deploymentId: number;
9601
+ };
9602
+ cookie?: never;
9603
+ };
9604
+ /** @description OssieConversionInput */
9605
+ requestBody: {
9606
+ content: {
9607
+ "application/json": components["schemas"]["OssieConversionInput"];
9608
+ };
9609
+ };
9610
+ responses: {
9611
+ 202: {
9612
+ headers: {
9613
+ [name: string]: any;
9614
+ };
9615
+ content: {
9616
+ "application/json": components["schemas"]["OssieConversionStartResponse"];
9617
+ };
9618
+ };
9619
+ };
9620
+ };
9621
+ "OssieConversionPublicController.conversionStatus": {
9622
+ parameters: {
9623
+ query?: never;
9624
+ header?: never;
9625
+ path: {
9626
+ deploymentId: number;
9627
+ conversionId: string;
9628
+ };
9629
+ cookie?: never;
9630
+ };
9631
+ requestBody?: never;
9632
+ responses: {
9633
+ 200: {
9634
+ headers: {
9635
+ [name: string]: any;
9636
+ };
9637
+ content: {
9638
+ "application/json": components["schemas"]["OssieConversionStatusResponse"];
9639
+ };
9640
+ };
9641
+ };
9642
+ };
9643
+ "OssieConversionPublicController.cancelConversion": {
9644
+ parameters: {
9645
+ query?: never;
9646
+ header?: never;
9647
+ path: {
9648
+ deploymentId: number;
9649
+ conversionId: string;
9650
+ };
9651
+ cookie?: never;
9652
+ };
9653
+ requestBody?: never;
9654
+ responses: {
9655
+ /** @description Successful response */
9656
+ 200: {
9657
+ headers: {
9658
+ [name: string]: any;
9659
+ };
9660
+ content: {
9661
+ "application/json": any;
9662
+ };
9663
+ };
9664
+ /** @description Cancelled, or already finished. */
9665
+ 204: {
9666
+ headers: {
9667
+ [name: string]: any;
9668
+ };
9669
+ content?: never;
9670
+ };
9671
+ };
9672
+ };
9673
+ "OssieConversionPublicController.conversionFiles": {
9674
+ parameters: {
9675
+ query?: {
9676
+ after?: string | null;
9677
+ first?: number | null;
9678
+ };
9679
+ header?: never;
9680
+ path: {
9681
+ deploymentId: number;
9682
+ conversionId: string;
9683
+ };
9684
+ cookie?: never;
9685
+ };
9686
+ requestBody?: never;
9687
+ responses: {
9688
+ 200: {
9689
+ headers: {
9690
+ [name: string]: any;
9691
+ };
9692
+ content: {
9693
+ "application/json": components["schemas"]["OssieConversionFilesListResponse"];
9694
+ };
9695
+ };
9696
+ };
9697
+ };
9698
+ "OssieConversionPublicController.conversionResult": {
9699
+ parameters: {
9700
+ query?: never;
9701
+ header?: never;
9702
+ path: {
9703
+ deploymentId: number;
9704
+ conversionId: string;
9705
+ };
9706
+ cookie?: never;
9707
+ };
9708
+ requestBody?: never;
9709
+ responses: {
9710
+ 200: {
9711
+ headers: {
9712
+ [name: string]: any;
9713
+ };
9714
+ content: {
9715
+ "application/json": components["schemas"]["OssieConversionResultResponse"];
9716
+ };
9717
+ };
9718
+ };
9719
+ };
9259
9720
  "DeploymentsPublicController.pods": {
9260
9721
  parameters: {
9261
9722
  query?: {
@@ -12298,6 +12759,251 @@ export interface operations {
12298
12759
  };
12299
12760
  };
12300
12761
  };
12762
+ "RolesPublicController.getRoles": {
12763
+ parameters: {
12764
+ query?: {
12765
+ after?: string | null;
12766
+ first?: number | null;
12767
+ };
12768
+ header?: never;
12769
+ path?: never;
12770
+ cookie?: never;
12771
+ };
12772
+ requestBody?: never;
12773
+ responses: {
12774
+ 200: {
12775
+ headers: {
12776
+ [name: string]: any;
12777
+ };
12778
+ content: {
12779
+ "application/json": components["schemas"]["RolesListResponse"];
12780
+ };
12781
+ };
12782
+ };
12783
+ };
12784
+ "RolesPublicController.createRole": {
12785
+ parameters: {
12786
+ query?: never;
12787
+ header?: never;
12788
+ path?: never;
12789
+ cookie?: never;
12790
+ };
12791
+ /** @description RoleCreateBody */
12792
+ requestBody?: {
12793
+ content: {
12794
+ "application/json": components["schemas"]["RoleCreateBody"];
12795
+ };
12796
+ };
12797
+ responses: {
12798
+ 200: {
12799
+ headers: {
12800
+ [name: string]: any;
12801
+ };
12802
+ content: {
12803
+ "application/json": components["schemas"]["Role"];
12804
+ };
12805
+ };
12806
+ /** @description The name is one of the built-in role names, or a policy grants no action, names no resource, or scopes a `Deployment` to something that is not a deployment id. */
12807
+ 400: {
12808
+ headers: {
12809
+ [name: string]: any;
12810
+ };
12811
+ content?: never;
12812
+ };
12813
+ /** @description A role with that name already exists. */
12814
+ 409: {
12815
+ headers: {
12816
+ [name: string]: any;
12817
+ };
12818
+ content?: never;
12819
+ };
12820
+ };
12821
+ };
12822
+ "RolesPublicController.getRole": {
12823
+ parameters: {
12824
+ query?: never;
12825
+ header?: never;
12826
+ path: {
12827
+ roleId: number;
12828
+ };
12829
+ cookie?: never;
12830
+ };
12831
+ requestBody?: never;
12832
+ responses: {
12833
+ 200: {
12834
+ headers: {
12835
+ [name: string]: any;
12836
+ };
12837
+ content: {
12838
+ "application/json": components["schemas"]["Role"];
12839
+ };
12840
+ };
12841
+ /** @description No custom role has that id. */
12842
+ 404: {
12843
+ headers: {
12844
+ [name: string]: any;
12845
+ };
12846
+ content?: never;
12847
+ };
12848
+ };
12849
+ };
12850
+ "RolesPublicController.updateRole": {
12851
+ parameters: {
12852
+ query?: never;
12853
+ header?: never;
12854
+ path: {
12855
+ roleId: number;
12856
+ };
12857
+ cookie?: never;
12858
+ };
12859
+ /** @description RoleUpdateBody */
12860
+ requestBody?: {
12861
+ content: {
12862
+ "application/json": components["schemas"]["RoleUpdateBody"];
12863
+ };
12864
+ };
12865
+ responses: {
12866
+ 200: {
12867
+ headers: {
12868
+ [name: string]: any;
12869
+ };
12870
+ content: {
12871
+ "application/json": components["schemas"]["Role"];
12872
+ };
12873
+ };
12874
+ /** @description `name` or `policies` was `null`, the new name is one of the built-in role names, or a policy is not a valid one. */
12875
+ 400: {
12876
+ headers: {
12877
+ [name: string]: any;
12878
+ };
12879
+ content?: never;
12880
+ };
12881
+ /** @description No custom role has that id. */
12882
+ 404: {
12883
+ headers: {
12884
+ [name: string]: any;
12885
+ };
12886
+ content?: never;
12887
+ };
12888
+ /** @description A role with that name already exists. */
12889
+ 409: {
12890
+ headers: {
12891
+ [name: string]: any;
12892
+ };
12893
+ content?: never;
12894
+ };
12895
+ };
12896
+ };
12897
+ "RolesPublicController.deleteRole": {
12898
+ parameters: {
12899
+ query?: never;
12900
+ header?: never;
12901
+ path: {
12902
+ roleId: number;
12903
+ };
12904
+ cookie?: never;
12905
+ };
12906
+ requestBody?: never;
12907
+ responses: {
12908
+ /** @description Successful response */
12909
+ 200: {
12910
+ headers: {
12911
+ [name: string]: any;
12912
+ };
12913
+ content: {
12914
+ "application/json": any;
12915
+ };
12916
+ };
12917
+ /** @description Role deleted. */
12918
+ 204: {
12919
+ headers: {
12920
+ [name: string]: any;
12921
+ };
12922
+ content?: never;
12923
+ };
12924
+ /** @description No custom role has that id. */
12925
+ 404: {
12926
+ headers: {
12927
+ [name: string]: any;
12928
+ };
12929
+ content?: never;
12930
+ };
12931
+ };
12932
+ };
12933
+ "RolesPublicController.assignRoleToUser": {
12934
+ parameters: {
12935
+ query?: never;
12936
+ header?: never;
12937
+ path: {
12938
+ roleId: number;
12939
+ userId: number;
12940
+ };
12941
+ cookie?: never;
12942
+ };
12943
+ requestBody?: never;
12944
+ responses: {
12945
+ /** @description Successful response */
12946
+ 200: {
12947
+ headers: {
12948
+ [name: string]: any;
12949
+ };
12950
+ content: {
12951
+ "application/json": any;
12952
+ };
12953
+ };
12954
+ /** @description Role assigned, or already held. */
12955
+ 204: {
12956
+ headers: {
12957
+ [name: string]: any;
12958
+ };
12959
+ content?: never;
12960
+ };
12961
+ /** @description The user or the role is unknown. Cube's Admin role is not resolvable here, so its id answers `404` as well. */
12962
+ 404: {
12963
+ headers: {
12964
+ [name: string]: any;
12965
+ };
12966
+ content?: never;
12967
+ };
12968
+ };
12969
+ };
12970
+ "RolesPublicController.removeRoleFromUser": {
12971
+ parameters: {
12972
+ query?: never;
12973
+ header?: never;
12974
+ path: {
12975
+ roleId: number;
12976
+ userId: number;
12977
+ };
12978
+ cookie?: never;
12979
+ };
12980
+ requestBody?: never;
12981
+ responses: {
12982
+ /** @description Successful response */
12983
+ 200: {
12984
+ headers: {
12985
+ [name: string]: any;
12986
+ };
12987
+ content: {
12988
+ "application/json": any;
12989
+ };
12990
+ };
12991
+ /** @description Role removed, or was not held. */
12992
+ 204: {
12993
+ headers: {
12994
+ [name: string]: any;
12995
+ };
12996
+ content?: never;
12997
+ };
12998
+ /** @description The user is unknown. */
12999
+ 404: {
13000
+ headers: {
13001
+ [name: string]: any;
13002
+ };
13003
+ content?: never;
13004
+ };
13005
+ };
13006
+ };
12301
13007
  "OpenApiSpecPublicController.getSpec": {
12302
13008
  parameters: {
12303
13009
  query?: never;