From 749806a96fe8dd1455c29cc84186427976237836 Mon Sep 17 00:00:00 2001
From: "databricks-ci-ghec-1[bot]"
<184311507+databricks-ci-ghec-1[bot]@users.noreply.github.com>
Date: Thu, 13 Aug 2026 04:41:36 +0000
Subject: [PATCH] Update SDK to bf4454409196b59985f60de1b7bc97f70526f8f3
---
.codegen/_openapi_sha | 2 +-
.gitattributes | 64 +++
NEXT_CHANGELOG.md | 5 +
.../sdk/service/dashboards/GenieSpace.java | 45 +-
.../sdk/service/iamv2/AccountIamV2API.java | 285 ++++++++++
.../sdk/service/iamv2/AccountIamV2Impl.java | 429 +++++++++++++++
.../service/iamv2/AccountIamV2Service.java | 147 ++++++
.../CreateDirectGroupMemberProxyRequest.java | 60 +++
.../iamv2/CreateDirectGroupMemberRequest.java | 59 +++
.../iamv2/CreateGroupProxyRequest.java | 42 ++
.../sdk/service/iamv2/CreateGroupRequest.java | 42 ++
.../CreateServicePrincipalProxyRequest.java | 44 ++
.../iamv2/CreateServicePrincipalRequest.java | 44 ++
.../service/iamv2/CreateUserProxyRequest.java | 42 ++
.../sdk/service/iamv2/CreateUserRequest.java | 42 ++
...CreateWorkspaceAssignmentProxyRequest.java | 45 ++
.../CreateWorkspaceAssignmentRequest.java | 60 +++
.../DeleteDirectGroupMemberProxyRequest.java | 56 ++
.../iamv2/DeleteDirectGroupMemberRequest.java | 56 ++
.../iamv2/DeleteGroupProxyRequest.java | 41 ++
.../sdk/service/iamv2/DeleteGroupRequest.java | 41 ++
.../DeleteServicePrincipalProxyRequest.java | 43 ++
.../iamv2/DeleteServicePrincipalRequest.java | 43 ++
.../service/iamv2/DeleteUserProxyRequest.java | 41 ++
.../sdk/service/iamv2/DeleteUserRequest.java | 41 ++
...DeleteWorkspaceAssignmentProxyRequest.java | 43 ++
.../DeleteWorkspaceAssignmentRequest.java | 57 ++
.../sdk/service/iamv2/DirectGroupMember.java | 105 ++++
.../GetDirectGroupMemberProxyRequest.java | 56 ++
.../iamv2/GetDirectGroupMemberRequest.java | 56 ++
.../service/iamv2/GetGroupProxyRequest.java | 41 ++
.../sdk/service/iamv2/GetGroupRequest.java | 41 ++
.../GetServicePrincipalProxyRequest.java | 43 ++
.../iamv2/GetServicePrincipalRequest.java | 43 ++
.../service/iamv2/GetUserProxyRequest.java | 41 ++
.../sdk/service/iamv2/GetUserRequest.java | 41 ++
.../GetWorkspaceAssignmentProxyRequest.java | 46 ++
.../iamv2/GetWorkspaceAssignmentRequest.java | 60 +++
.../GetWorkspaceIdentityDetailRequest.java | 46 ++
.../service/iamv2/GroupMembershipSource.java | 12 +
.../ListDirectGroupMembersProxyRequest.java | 79 +++
.../iamv2/ListDirectGroupMembersRequest.java | 82 +++
.../iamv2/ListDirectGroupMembersResponse.java | 65 +++
.../service/iamv2/ListGroupsProxyRequest.java | 81 +++
.../sdk/service/iamv2/ListGroupsRequest.java | 81 +++
.../sdk/service/iamv2/ListGroupsResponse.java | 63 +++
.../ListServicePrincipalsProxyRequest.java | 81 +++
.../iamv2/ListServicePrincipalsRequest.java | 84 +++
.../iamv2/ListServicePrincipalsResponse.java | 65 +++
...istTransitiveParentGroupsProxyRequest.java | 85 +++
.../ListTransitiveParentGroupsRequest.java | 85 +++
.../ListTransitiveParentGroupsResponse.java | 65 +++
.../service/iamv2/ListUsersProxyRequest.java | 81 +++
.../sdk/service/iamv2/ListUsersRequest.java | 81 +++
.../sdk/service/iamv2/ListUsersResponse.java | 62 +++
.../ListWorkspaceAssignmentsProxyRequest.java | 64 +++
.../ListWorkspaceAssignmentsRequest.java | 82 +++
.../ListWorkspaceAssignmentsResponse.java | 65 +++
.../service/iamv2/TransitiveParentGroup.java | 75 +++
.../iamv2/UpdateGroupProxyRequest.java | 76 +++
.../sdk/service/iamv2/UpdateGroupRequest.java | 76 +++
.../UpdateServicePrincipalProxyRequest.java | 76 +++
.../iamv2/UpdateServicePrincipalRequest.java | 76 +++
.../service/iamv2/UpdateUserProxyRequest.java | 76 +++
.../sdk/service/iamv2/UpdateUserRequest.java | 76 +++
...UpdateWorkspaceAssignmentProxyRequest.java | 78 +++
.../UpdateWorkspaceAssignmentRequest.java | 92 ++++
.../UpdateWorkspaceIdentityDetailRequest.java | 78 +++
.../service/iamv2/WorkspaceAssignment.java | 151 ++++++
.../sdk/service/iamv2/WorkspaceIamV2API.java | 319 +++++++++++
.../sdk/service/iamv2/WorkspaceIamV2Impl.java | 498 ++++++++++++++++++
.../service/iamv2/WorkspaceIamV2Service.java | 180 +++++++
.../iamv2/WorkspaceIdentityDetail.java | 91 ++++
...WorkspaceIdentityDetailAssignmentType.java | 12 +
.../sdk/service/jobs/CreateJob.java | 3 +-
.../sdk/service/jobs/JobSettings.java | 3 +-
.../sdk/service/pipelines/SchemaSpec.java | 8 +-
.../sdk/service/pipelines/TableSpec.java | 8 +-
.../sdk/service/serving/TelemetryConfig.java | 4 +-
79 files changed, 5945 insertions(+), 12 deletions(-)
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateDirectGroupMemberProxyRequest.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateDirectGroupMemberRequest.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateGroupProxyRequest.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateGroupRequest.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateServicePrincipalProxyRequest.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateServicePrincipalRequest.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateUserProxyRequest.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateUserRequest.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateWorkspaceAssignmentProxyRequest.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateWorkspaceAssignmentRequest.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DeleteDirectGroupMemberProxyRequest.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DeleteDirectGroupMemberRequest.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DeleteGroupProxyRequest.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DeleteGroupRequest.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DeleteServicePrincipalProxyRequest.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DeleteServicePrincipalRequest.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DeleteUserProxyRequest.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DeleteUserRequest.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DeleteWorkspaceAssignmentProxyRequest.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DeleteWorkspaceAssignmentRequest.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DirectGroupMember.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetDirectGroupMemberProxyRequest.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetDirectGroupMemberRequest.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetGroupProxyRequest.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetGroupRequest.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetServicePrincipalProxyRequest.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetServicePrincipalRequest.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetUserProxyRequest.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetUserRequest.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetWorkspaceAssignmentProxyRequest.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetWorkspaceAssignmentRequest.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetWorkspaceIdentityDetailRequest.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GroupMembershipSource.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListDirectGroupMembersProxyRequest.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListDirectGroupMembersRequest.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListDirectGroupMembersResponse.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListGroupsProxyRequest.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListGroupsRequest.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListGroupsResponse.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListServicePrincipalsProxyRequest.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListServicePrincipalsRequest.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListServicePrincipalsResponse.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListTransitiveParentGroupsProxyRequest.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListTransitiveParentGroupsRequest.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListTransitiveParentGroupsResponse.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListUsersProxyRequest.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListUsersRequest.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListUsersResponse.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListWorkspaceAssignmentsProxyRequest.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListWorkspaceAssignmentsRequest.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListWorkspaceAssignmentsResponse.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/TransitiveParentGroup.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/UpdateGroupProxyRequest.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/UpdateGroupRequest.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/UpdateServicePrincipalProxyRequest.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/UpdateServicePrincipalRequest.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/UpdateUserProxyRequest.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/UpdateUserRequest.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/UpdateWorkspaceAssignmentProxyRequest.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/UpdateWorkspaceAssignmentRequest.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/UpdateWorkspaceIdentityDetailRequest.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/WorkspaceAssignment.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/WorkspaceIdentityDetail.java
create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/WorkspaceIdentityDetailAssignmentType.java
diff --git a/.codegen/_openapi_sha b/.codegen/_openapi_sha
index cad921392..faa13a0ec 100644
--- a/.codegen/_openapi_sha
+++ b/.codegen/_openapi_sha
@@ -1 +1 @@
-fc0241ef3fa690fe0d1bd2238dbdb4c4e58a12ab
\ No newline at end of file
+bf4454409196b59985f60de1b7bc97f70526f8f3
\ No newline at end of file
diff --git a/.gitattributes b/.gitattributes
index d5be4e202..192baaea8 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1630,19 +1630,70 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/WorkspacePermis
databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/AccountIamV2API.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/AccountIamV2Impl.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/AccountIamV2Service.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateDirectGroupMemberProxyRequest.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateDirectGroupMemberRequest.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateGroupProxyRequest.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateGroupRequest.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateServicePrincipalProxyRequest.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateServicePrincipalRequest.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateUserProxyRequest.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateUserRequest.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateWorkspaceAssignmentDetailProxyRequest.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateWorkspaceAssignmentDetailRequest.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateWorkspaceAssignmentProxyRequest.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateWorkspaceAssignmentRequest.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DeleteDirectGroupMemberProxyRequest.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DeleteDirectGroupMemberRequest.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DeleteGroupProxyRequest.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DeleteGroupRequest.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DeleteServicePrincipalProxyRequest.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DeleteServicePrincipalRequest.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DeleteUserProxyRequest.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DeleteUserRequest.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DeleteWorkspaceAssignmentDetailProxyRequest.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DeleteWorkspaceAssignmentDetailRequest.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DeleteWorkspaceAssignmentProxyRequest.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DeleteWorkspaceAssignmentRequest.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DirectGroupMember.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/Entitlement.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetDirectGroupMemberProxyRequest.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetDirectGroupMemberRequest.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetGroupProxyRequest.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetGroupRequest.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetServicePrincipalProxyRequest.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetServicePrincipalRequest.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetUserProxyRequest.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetUserRequest.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetWorkspaceAccessDetailLocalRequest.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetWorkspaceAccessDetailRequest.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetWorkspaceAssignmentDetailProxyRequest.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetWorkspaceAssignmentDetailRequest.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetWorkspaceAssignmentProxyRequest.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetWorkspaceAssignmentRequest.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetWorkspaceIdentityDetailRequest.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/Group.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GroupMembershipSource.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListDirectGroupMembersProxyRequest.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListDirectGroupMembersRequest.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListDirectGroupMembersResponse.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListGroupsProxyRequest.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListGroupsRequest.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListGroupsResponse.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListServicePrincipalsProxyRequest.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListServicePrincipalsRequest.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListServicePrincipalsResponse.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListTransitiveParentGroupsProxyRequest.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListTransitiveParentGroupsRequest.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListTransitiveParentGroupsResponse.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListUsersProxyRequest.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListUsersRequest.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListUsersResponse.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListWorkspaceAssignmentDetailsProxyRequest.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListWorkspaceAssignmentDetailsRequest.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListWorkspaceAssignmentDetailsResponse.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListWorkspaceAssignmentsProxyRequest.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListWorkspaceAssignmentsRequest.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListWorkspaceAssignmentsResponse.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/PrincipalType.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ResolveGroupProxyRequest.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ResolveGroupRequest.java linguist-generated=true
@@ -1655,17 +1706,30 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ResolveUserRe
databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ResolveUserResponse.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ServicePrincipal.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/State.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/TransitiveParentGroup.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/UpdateGroupProxyRequest.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/UpdateGroupRequest.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/UpdateServicePrincipalProxyRequest.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/UpdateServicePrincipalRequest.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/UpdateUserProxyRequest.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/UpdateUserRequest.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/UpdateWorkspaceAssignmentDetailProxyRequest.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/UpdateWorkspaceAssignmentDetailRequest.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/UpdateWorkspaceAssignmentProxyRequest.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/UpdateWorkspaceAssignmentRequest.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/UpdateWorkspaceIdentityDetailRequest.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/User.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/UserFullName.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/WorkspaceAccessDetail.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/WorkspaceAccessDetailAccessType.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/WorkspaceAccessDetailView.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/WorkspaceAssignment.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/WorkspaceAssignmentDetail.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/WorkspaceIamV2API.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/WorkspaceIamV2Impl.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/WorkspaceIamV2Service.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/WorkspaceIdentityDetail.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/WorkspaceIdentityDetailAssignmentType.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/WorkspacePermission.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/AiRuntimeTask.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/AiRuntimeTaskOutput.java linguist-generated=true
diff --git a/NEXT_CHANGELOG.md b/NEXT_CHANGELOG.md
index f932ba135..3dc9c432e 100644
--- a/NEXT_CHANGELOG.md
+++ b/NEXT_CHANGELOG.md
@@ -15,3 +15,8 @@
### Internal Changes
### API Changes
+* Add `createDirectGroupMember()`, `createGroup()`, `createServicePrincipal()`, `createUser()`, `createWorkspaceAssignment()`, `deleteDirectGroupMember()`, `deleteGroup()`, `deleteServicePrincipal()`, `deleteUser()`, `deleteWorkspaceAssignment()`, `getDirectGroupMember()`, `getGroup()`, `getServicePrincipal()`, `getUser()`, `getWorkspaceAssignment()`, `listDirectGroupMembers()`, `listGroups()`, `listServicePrincipals()`, `listTransitiveParentGroups()`, `listUsers()`, `listWorkspaceAssignments()`, `updateGroup()`, `updateServicePrincipal()`, `updateUser()` and `updateWorkspaceAssignment()` methods for `accountClient.accountIamV2()` service.
+* Add `createDirectGroupMemberProxy()`, `createGroupProxy()`, `createServicePrincipalProxy()`, `createUserProxy()`, `createWorkspaceAssignmentProxy()`, `deleteDirectGroupMemberProxy()`, `deleteGroupProxy()`, `deleteServicePrincipalProxy()`, `deleteUserProxy()`, `deleteWorkspaceAssignmentProxy()`, `getDirectGroupMemberProxy()`, `getGroupProxy()`, `getServicePrincipalProxy()`, `getUserProxy()`, `getWorkspaceAssignmentProxy()`, `getWorkspaceIdentityDetail()`, `listDirectGroupMembersProxy()`, `listGroupsProxy()`, `listServicePrincipalsProxy()`, `listTransitiveParentGroupsProxy()`, `listUsersProxy()`, `listWorkspaceAssignmentsProxy()`, `updateGroupProxy()`, `updateServicePrincipalProxy()`, `updateUserProxy()`, `updateWorkspaceAssignmentProxy()` and `updateWorkspaceIdentityDetail()` methods for `workspaceClient.workspaceIamV2()` service.
+* Add `createTime` and `updateTime` fields for `com.databricks.sdk.service.dashboards.GenieSpace`.
+* Change `newCluster` field for `com.databricks.sdk.service.jobs.JobCluster` to no longer be required.
+* [Breaking] Change `newCluster` field for `com.databricks.sdk.service.jobs.JobCluster` to no longer be required.
\ No newline at end of file
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/GenieSpace.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/GenieSpace.java
index 6c0a4fce3..8b721ff1d 100644
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/GenieSpace.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/GenieSpace.java
@@ -5,10 +5,15 @@
import com.databricks.sdk.support.Generated;
import com.databricks.sdk.support.ToStringer;
import com.fasterxml.jackson.annotation.JsonProperty;
+import com.google.protobuf.Timestamp;
import java.util.Objects;
@Generated
public class GenieSpace {
+ /** Time when the Genie space was created. */
+ @JsonProperty("create_time")
+ private Timestamp createTime;
+
/** Description of the Genie Space */
@JsonProperty("description")
private String description;
@@ -41,10 +46,25 @@ public class GenieSpace {
@JsonProperty("title")
private String title;
+ /**
+ * Time when the Genie space was last modified, matching the value shown in the Genie Agent UI.
+ */
+ @JsonProperty("update_time")
+ private Timestamp updateTime;
+
/** Warehouse associated with the Genie Space */
@JsonProperty("warehouse_id")
private String warehouseId;
+ public GenieSpace setCreateTime(Timestamp createTime) {
+ this.createTime = createTime;
+ return this;
+ }
+
+ public Timestamp getCreateTime() {
+ return createTime;
+ }
+
public GenieSpace setDescription(String description) {
this.description = description;
return this;
@@ -99,6 +119,15 @@ public String getTitle() {
return title;
}
+ public GenieSpace setUpdateTime(Timestamp updateTime) {
+ this.updateTime = updateTime;
+ return this;
+ }
+
+ public Timestamp getUpdateTime() {
+ return updateTime;
+ }
+
public GenieSpace setWarehouseId(String warehouseId) {
this.warehouseId = warehouseId;
return this;
@@ -113,30 +142,42 @@ public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
GenieSpace that = (GenieSpace) o;
- return Objects.equals(description, that.description)
+ return Objects.equals(createTime, that.createTime)
+ && Objects.equals(description, that.description)
&& Objects.equals(etag, that.etag)
&& Objects.equals(parentPath, that.parentPath)
&& Objects.equals(serializedSpace, that.serializedSpace)
&& Objects.equals(spaceId, that.spaceId)
&& Objects.equals(title, that.title)
+ && Objects.equals(updateTime, that.updateTime)
&& Objects.equals(warehouseId, that.warehouseId);
}
@Override
public int hashCode() {
return Objects.hash(
- description, etag, parentPath, serializedSpace, spaceId, title, warehouseId);
+ createTime,
+ description,
+ etag,
+ parentPath,
+ serializedSpace,
+ spaceId,
+ title,
+ updateTime,
+ warehouseId);
}
@Override
public String toString() {
return new ToStringer(GenieSpace.class)
+ .add("createTime", createTime)
.add("description", description)
.add("etag", etag)
.add("parentPath", parentPath)
.add("serializedSpace", serializedSpace)
.add("spaceId", spaceId)
.add("title", title)
+ .add("updateTime", updateTime)
.add("warehouseId", warehouseId)
.toString();
}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/AccountIamV2API.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/AccountIamV2API.java
index d7d40b9bc..3b8c973f1 100644
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/AccountIamV2API.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/AccountIamV2API.java
@@ -5,6 +5,7 @@
import com.databricks.sdk.core.logging.Logger;
import com.databricks.sdk.core.logging.LoggerFactory;
import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.Paginator;
/**
* These APIs are used to manage identities and the workspace access of these identities in
@@ -26,6 +27,58 @@ public AccountIamV2API(AccountIamV2Service mock) {
impl = mock;
}
+ /** Creates a group membership (assigns a principal to a group). */
+ public DirectGroupMember createDirectGroupMember(CreateDirectGroupMemberRequest request) {
+ return impl.createDirectGroupMember(request);
+ }
+
+ /**
+ * Creates a local group in the Databricks account and returns the created group. A local group is
+ * one that is not synced from the customer's identity provider, and can be created whether or not
+ * Account Identity Management (AIM) is enabled.
+ *
+ *
When AIM is enabled, supplying an external ID returns an error. Use the ExternalGroup
+ * resource to sync groups from the identity provider instead.
+ */
+ public Group createGroup(CreateGroupRequest request) {
+ return impl.createGroup(request);
+ }
+
+ /**
+ * Creates a local service principal in the Databricks account and returns the created service
+ * principal. A local service principal is one that is not synced from the customer's identity
+ * provider, and can be created whether or not Account Identity Management (AIM) is enabled.
+ *
+ *
When AIM is enabled, supplying an external ID returns an error. Use the
+ * ExternalServicePrincipal resource to sync service principals from the identity provider
+ * instead.
+ */
+ public ServicePrincipal createServicePrincipal(CreateServicePrincipalRequest request) {
+ return impl.createServicePrincipal(request);
+ }
+
+ /**
+ * Creates a local user in the Databricks account and returns the created user. A local user is
+ * one that is not synced from the customer's identity provider, and can be created whether or not
+ * Account Identity Management (AIM) is enabled.
+ *
+ *
When AIM is enabled, supplying an external ID returns an error. Use the ExternalUser
+ * resource to sync users from the identity provider instead.
+ */
+ public User createUser(CreateUserRequest request) {
+ return impl.createUser(request);
+ }
+
+ /**
+ * Creates a workspace assignment for a principal. Entitlements are granted one at a time rather
+ * than atomically. If the request fails partway through, the principal stays assigned to the
+ * workspace with only some of the requested entitlements. Get the assignment afterwards to
+ * confirm which entitlements were granted.
+ */
+ public WorkspaceAssignment createWorkspaceAssignment(CreateWorkspaceAssignmentRequest request) {
+ return impl.createWorkspaceAssignment(request);
+ }
+
/**
* Creates a workspace assignment detail for a principal. Entitlements are granted one at a time
* rather than atomically. If the request fails partway through, the principal stays assigned to
@@ -37,6 +90,60 @@ public WorkspaceAssignmentDetail createWorkspaceAssignmentDetail(
return impl.createWorkspaceAssignmentDetail(request);
}
+ public void deleteDirectGroupMember(long groupId, long principalId) {
+ deleteDirectGroupMember(
+ new DeleteDirectGroupMemberRequest().setGroupId(groupId).setPrincipalId(principalId));
+ }
+
+ /** Deletes a group membership (unassigns a principal from a group). */
+ public void deleteDirectGroupMember(DeleteDirectGroupMemberRequest request) {
+ impl.deleteDirectGroupMember(request);
+ }
+
+ public void deleteGroup(String groupId) {
+ deleteGroup(new DeleteGroupRequest().setGroupId(groupId));
+ }
+
+ /** Deletes a group from the Databricks account by its internal ID. */
+ public void deleteGroup(DeleteGroupRequest request) {
+ impl.deleteGroup(request);
+ }
+
+ public void deleteServicePrincipal(String servicePrincipalId) {
+ deleteServicePrincipal(
+ new DeleteServicePrincipalRequest().setServicePrincipalId(servicePrincipalId));
+ }
+
+ /** Deletes a service principal from the Databricks account by its internal ID. */
+ public void deleteServicePrincipal(DeleteServicePrincipalRequest request) {
+ impl.deleteServicePrincipal(request);
+ }
+
+ public void deleteUser(String userId) {
+ deleteUser(new DeleteUserRequest().setUserId(userId));
+ }
+
+ /** Deletes a user from the Databricks account by its internal ID. */
+ public void deleteUser(DeleteUserRequest request) {
+ impl.deleteUser(request);
+ }
+
+ public void deleteWorkspaceAssignment(long workspaceId, long principalId) {
+ deleteWorkspaceAssignment(
+ new DeleteWorkspaceAssignmentRequest()
+ .setWorkspaceId(workspaceId)
+ .setPrincipalId(principalId));
+ }
+
+ /**
+ * Deletes a workspace assignment for a principal, revoking all of its entitlements. Entitlements
+ * are revoked one at a time rather than atomically. If the request fails partway through, the
+ * principal stays assigned with some of its original entitlements. Retrying is safe.
+ */
+ public void deleteWorkspaceAssignment(DeleteWorkspaceAssignmentRequest request) {
+ impl.deleteWorkspaceAssignment(request);
+ }
+
public void deleteWorkspaceAssignmentDetail(long workspaceId, long principalId) {
deleteWorkspaceAssignmentDetail(
new DeleteWorkspaceAssignmentDetailRequest()
@@ -53,6 +160,44 @@ public void deleteWorkspaceAssignmentDetail(DeleteWorkspaceAssignmentDetailReque
impl.deleteWorkspaceAssignmentDetail(request);
}
+ public DirectGroupMember getDirectGroupMember(long groupId, long principalId) {
+ return getDirectGroupMember(
+ new GetDirectGroupMemberRequest().setGroupId(groupId).setPrincipalId(principalId));
+ }
+
+ /** Gets a provisioned direct member of a group. */
+ public DirectGroupMember getDirectGroupMember(GetDirectGroupMemberRequest request) {
+ return impl.getDirectGroupMember(request);
+ }
+
+ public Group getGroup(String groupId) {
+ return getGroup(new GetGroupRequest().setGroupId(groupId));
+ }
+
+ /** Fetches a group from the Databricks account by its internal ID. */
+ public Group getGroup(GetGroupRequest request) {
+ return impl.getGroup(request);
+ }
+
+ public ServicePrincipal getServicePrincipal(String servicePrincipalId) {
+ return getServicePrincipal(
+ new GetServicePrincipalRequest().setServicePrincipalId(servicePrincipalId));
+ }
+
+ /** Fetches a service principal from the Databricks account by its internal ID. */
+ public ServicePrincipal getServicePrincipal(GetServicePrincipalRequest request) {
+ return impl.getServicePrincipal(request);
+ }
+
+ public User getUser(String userId) {
+ return getUser(new GetUserRequest().setUserId(userId));
+ }
+
+ /** Fetches a user from the Databricks account by its internal ID. */
+ public User getUser(GetUserRequest request) {
+ return impl.getUser(request);
+ }
+
public WorkspaceAccessDetail getWorkspaceAccessDetail(long workspaceId, long principalId) {
return getWorkspaceAccessDetail(
new GetWorkspaceAccessDetailRequest()
@@ -71,6 +216,18 @@ public WorkspaceAccessDetail getWorkspaceAccessDetail(GetWorkspaceAccessDetailRe
return impl.getWorkspaceAccessDetail(request);
}
+ public WorkspaceAssignment getWorkspaceAssignment(long workspaceId, long principalId) {
+ return getWorkspaceAssignment(
+ new GetWorkspaceAssignmentRequest()
+ .setWorkspaceId(workspaceId)
+ .setPrincipalId(principalId));
+ }
+
+ /** Returns the assignment for a principal in a workspace. */
+ public WorkspaceAssignment getWorkspaceAssignment(GetWorkspaceAssignmentRequest request) {
+ return impl.getWorkspaceAssignment(request);
+ }
+
public WorkspaceAssignmentDetail getWorkspaceAssignmentDetail(
long workspaceId, long principalId) {
return getWorkspaceAssignmentDetail(
@@ -85,6 +242,84 @@ public WorkspaceAssignmentDetail getWorkspaceAssignmentDetail(
return impl.getWorkspaceAssignmentDetail(request);
}
+ public ListDirectGroupMembersResponse listDirectGroupMembers(long groupId) {
+ return listDirectGroupMembers(new ListDirectGroupMembersRequest().setGroupId(groupId));
+ }
+
+ /**
+ * Lists provisioned direct members of a group with their membership source (internal or from
+ * identity provider).
+ */
+ public ListDirectGroupMembersResponse listDirectGroupMembers(
+ ListDirectGroupMembersRequest request) {
+ return impl.listDirectGroupMembers(request);
+ }
+
+ /**
+ * Lists the groups in the Databricks account, returning one page per call. Supports filtering by
+ * group name or external ID.
+ */
+ public Iterable listGroups(ListGroupsRequest request) {
+ return Paginator.newTokenPagination(
+ request,
+ impl::listGroups,
+ ListGroupsResponse::getGroups,
+ response -> {
+ String token = response.getNextPageToken();
+ if (token == null || token.isEmpty()) {
+ return null;
+ }
+ return request.setPageToken(token);
+ });
+ }
+
+ /**
+ * Lists the service principals in the Databricks account, returning one page per call. Supports
+ * filtering by application ID or external ID.
+ */
+ public Iterable listServicePrincipals(ListServicePrincipalsRequest request) {
+ return Paginator.newTokenPagination(
+ request,
+ impl::listServicePrincipals,
+ ListServicePrincipalsResponse::getServicePrincipals,
+ response -> {
+ String token = response.getNextPageToken();
+ if (token == null || token.isEmpty()) {
+ return null;
+ }
+ return request.setPageToken(token);
+ });
+ }
+
+ public ListTransitiveParentGroupsResponse listTransitiveParentGroups(long principalId) {
+ return listTransitiveParentGroups(
+ new ListTransitiveParentGroupsRequest().setPrincipalId(principalId));
+ }
+
+ /** Lists all transitive parent groups of a principal. */
+ public ListTransitiveParentGroupsResponse listTransitiveParentGroups(
+ ListTransitiveParentGroupsRequest request) {
+ return impl.listTransitiveParentGroups(request);
+ }
+
+ /**
+ * Lists the users in the Databricks account, returning one page per call. Supports filtering by
+ * username or external ID.
+ */
+ public Iterable listUsers(ListUsersRequest request) {
+ return Paginator.newTokenPagination(
+ request,
+ impl::listUsers,
+ ListUsersResponse::getUsers,
+ response -> {
+ String token = response.getNextPageToken();
+ if (token == null || token.isEmpty()) {
+ return null;
+ }
+ return request.setPageToken(token);
+ });
+ }
+
public ListWorkspaceAssignmentDetailsResponse listWorkspaceAssignmentDetails(long workspaceId) {
return listWorkspaceAssignmentDetails(
new ListWorkspaceAssignmentDetailsRequest().setWorkspaceId(workspaceId));
@@ -100,6 +335,21 @@ public ListWorkspaceAssignmentDetailsResponse listWorkspaceAssignmentDetails(
return impl.listWorkspaceAssignmentDetails(request);
}
+ public ListWorkspaceAssignmentsResponse listWorkspaceAssignments(long workspaceId) {
+ return listWorkspaceAssignments(
+ new ListWorkspaceAssignmentsRequest().setWorkspaceId(workspaceId));
+ }
+
+ /**
+ * Lists workspace assignments for a workspace. The response omits the per-principal entitlement
+ * fields (`entitlements` and `effective_entitlements`). To read the entitlements for a single
+ * principal, get that principal's assignment.
+ */
+ public ListWorkspaceAssignmentsResponse listWorkspaceAssignments(
+ ListWorkspaceAssignmentsRequest request) {
+ return impl.listWorkspaceAssignments(request);
+ }
+
/**
* Resolves a group with the given external ID from the customer's IdP. If the group does not
* exist, it will be created in the account. If the customer is not onboarded onto Automatic
@@ -128,6 +378,41 @@ public ResolveUserResponse resolveUser(ResolveUserRequest request) {
return impl.resolveUser(request);
}
+ /**
+ * Updates an existing group in the Databricks account. Only the fields named in the update mask
+ * are modified. Returns the updated Group resource.
+ */
+ public Group updateGroup(UpdateGroupRequest request) {
+ return impl.updateGroup(request);
+ }
+
+ /**
+ * Updates an existing service principal in the Databricks account. Only the fields named in the
+ * update mask are modified. Returns the updated ServicePrincipal resource.
+ */
+ public ServicePrincipal updateServicePrincipal(UpdateServicePrincipalRequest request) {
+ return impl.updateServicePrincipal(request);
+ }
+
+ /**
+ * Updates an existing user in the Databricks account and returns the updated user. Only the
+ * fields named in the update mask are modified. The updatable fields are fullName.givenName,
+ * fullName.familyName, status, and externalId. The behavior is the same whether or not Account
+ * Identity Management (AIM) is enabled.
+ */
+ public User updateUser(UpdateUserRequest request) {
+ return impl.updateUser(request);
+ }
+
+ /**
+ * Updates the entitlements of a directly assigned principal in a workspace. Changes are applied
+ * one at a time rather than atomically. If the request fails partway through, only some of the
+ * requested changes take effect. Get the assignment afterwards to confirm the final state.
+ */
+ public WorkspaceAssignment updateWorkspaceAssignment(UpdateWorkspaceAssignmentRequest request) {
+ return impl.updateWorkspaceAssignment(request);
+ }
+
/**
* Updates the entitlements of a directly assigned principal in a workspace. Changes are applied
* one at a time rather than atomically. If the request fails partway through, only some of the
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/AccountIamV2Impl.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/AccountIamV2Impl.java
index 471b65aca..987d27998 100644
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/AccountIamV2Impl.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/AccountIamV2Impl.java
@@ -16,6 +16,92 @@ public AccountIamV2Impl(ApiClient apiClient) {
this.apiClient = apiClient;
}
+ @Override
+ public DirectGroupMember createDirectGroupMember(CreateDirectGroupMemberRequest request) {
+ String path =
+ String.format(
+ "/api/2.0/identity/accounts/%s/groups/%s/direct-members",
+ apiClient.configuredAccountID(), request.getGroupId());
+ try {
+ Request req = new Request("POST", path, apiClient.serialize(request.getDirectGroupMember()));
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ req.withHeader("Content-Type", "application/json");
+ return apiClient.execute(req, DirectGroupMember.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public Group createGroup(CreateGroupRequest request) {
+ String path =
+ String.format("/api/2.0/identity/accounts/%s/groups", apiClient.configuredAccountID());
+ try {
+ Request req = new Request("POST", path, apiClient.serialize(request.getGroup()));
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ req.withHeader("Content-Type", "application/json");
+ return apiClient.execute(req, Group.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public ServicePrincipal createServicePrincipal(CreateServicePrincipalRequest request) {
+ String path =
+ String.format(
+ "/api/2.0/identity/accounts/%s/service-principals", apiClient.configuredAccountID());
+ try {
+ Request req = new Request("POST", path, apiClient.serialize(request.getServicePrincipal()));
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ req.withHeader("Content-Type", "application/json");
+ return apiClient.execute(req, ServicePrincipal.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public User createUser(CreateUserRequest request) {
+ String path =
+ String.format("/api/2.0/identity/accounts/%s/users", apiClient.configuredAccountID());
+ try {
+ Request req = new Request("POST", path, apiClient.serialize(request.getUser()));
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ req.withHeader("Content-Type", "application/json");
+ return apiClient.execute(req, User.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public WorkspaceAssignment createWorkspaceAssignment(CreateWorkspaceAssignmentRequest request) {
+ String path =
+ String.format(
+ "/api/2.0/identity/accounts/%s/workspaces/%s/workspace-assignments",
+ apiClient.configuredAccountID(), request.getWorkspaceId());
+ try {
+ Request req =
+ new Request("POST", path, apiClient.serialize(request.getWorkspaceAssignment()));
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ req.withHeader("Content-Type", "application/json");
+ return apiClient.execute(req, WorkspaceAssignment.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
@Override
public WorkspaceAssignmentDetail createWorkspaceAssignmentDetail(
CreateWorkspaceAssignmentDetailRequest request) {
@@ -36,6 +122,91 @@ public WorkspaceAssignmentDetail createWorkspaceAssignmentDetail(
}
}
+ @Override
+ public void deleteDirectGroupMember(DeleteDirectGroupMemberRequest request) {
+ String path =
+ String.format(
+ "/api/2.0/identity/accounts/%s/groups/%s/direct-members/%s",
+ apiClient.configuredAccountID(), request.getGroupId(), request.getPrincipalId());
+ try {
+ Request req = new Request("DELETE", path);
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ apiClient.execute(req, Void.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public void deleteGroup(DeleteGroupRequest request) {
+ String path =
+ String.format(
+ "/api/2.0/identity/accounts/%s/groups/%s",
+ apiClient.configuredAccountID(), request.getGroupId());
+ try {
+ Request req = new Request("DELETE", path);
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ apiClient.execute(req, Void.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public void deleteServicePrincipal(DeleteServicePrincipalRequest request) {
+ String path =
+ String.format(
+ "/api/2.0/identity/accounts/%s/service-principals/%s",
+ apiClient.configuredAccountID(), request.getServicePrincipalId());
+ try {
+ Request req = new Request("DELETE", path);
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ apiClient.execute(req, Void.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public void deleteUser(DeleteUserRequest request) {
+ String path =
+ String.format(
+ "/api/2.0/identity/accounts/%s/users/%s",
+ apiClient.configuredAccountID(), request.getUserId());
+ try {
+ Request req = new Request("DELETE", path);
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ apiClient.execute(req, Void.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public void deleteWorkspaceAssignment(DeleteWorkspaceAssignmentRequest request) {
+ String path =
+ String.format(
+ "/api/2.0/identity/accounts/%s/workspaces/%s/workspace-assignments/%s",
+ apiClient.configuredAccountID(), request.getWorkspaceId(), request.getPrincipalId());
+ try {
+ Request req = new Request("DELETE", path);
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ apiClient.execute(req, Void.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
@Override
public void deleteWorkspaceAssignmentDetail(DeleteWorkspaceAssignmentDetailRequest request) {
String path =
@@ -53,6 +224,74 @@ public void deleteWorkspaceAssignmentDetail(DeleteWorkspaceAssignmentDetailReque
}
}
+ @Override
+ public DirectGroupMember getDirectGroupMember(GetDirectGroupMemberRequest request) {
+ String path =
+ String.format(
+ "/api/2.0/identity/accounts/%s/groups/%s/direct-members/%s",
+ apiClient.configuredAccountID(), request.getGroupId(), request.getPrincipalId());
+ try {
+ Request req = new Request("GET", path);
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ return apiClient.execute(req, DirectGroupMember.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public Group getGroup(GetGroupRequest request) {
+ String path =
+ String.format(
+ "/api/2.0/identity/accounts/%s/groups/%s",
+ apiClient.configuredAccountID(), request.getGroupId());
+ try {
+ Request req = new Request("GET", path);
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ return apiClient.execute(req, Group.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public ServicePrincipal getServicePrincipal(GetServicePrincipalRequest request) {
+ String path =
+ String.format(
+ "/api/2.0/identity/accounts/%s/service-principals/%s",
+ apiClient.configuredAccountID(), request.getServicePrincipalId());
+ try {
+ Request req = new Request("GET", path);
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ return apiClient.execute(req, ServicePrincipal.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public User getUser(GetUserRequest request) {
+ String path =
+ String.format(
+ "/api/2.0/identity/accounts/%s/users/%s",
+ apiClient.configuredAccountID(), request.getUserId());
+ try {
+ Request req = new Request("GET", path);
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ return apiClient.execute(req, User.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
@Override
public WorkspaceAccessDetail getWorkspaceAccessDetail(GetWorkspaceAccessDetailRequest request) {
String path =
@@ -70,6 +309,23 @@ public WorkspaceAccessDetail getWorkspaceAccessDetail(GetWorkspaceAccessDetailRe
}
}
+ @Override
+ public WorkspaceAssignment getWorkspaceAssignment(GetWorkspaceAssignmentRequest request) {
+ String path =
+ String.format(
+ "/api/2.0/identity/accounts/%s/workspaces/%s/workspace-assignments/%s",
+ apiClient.configuredAccountID(), request.getWorkspaceId(), request.getPrincipalId());
+ try {
+ Request req = new Request("GET", path);
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ return apiClient.execute(req, WorkspaceAssignment.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
@Override
public WorkspaceAssignmentDetail getWorkspaceAssignmentDetail(
GetWorkspaceAssignmentDetailRequest request) {
@@ -88,6 +344,88 @@ public WorkspaceAssignmentDetail getWorkspaceAssignmentDetail(
}
}
+ @Override
+ public ListDirectGroupMembersResponse listDirectGroupMembers(
+ ListDirectGroupMembersRequest request) {
+ String path =
+ String.format(
+ "/api/2.0/identity/accounts/%s/groups/%s/direct-members",
+ apiClient.configuredAccountID(), request.getGroupId());
+ try {
+ Request req = new Request("GET", path);
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ return apiClient.execute(req, ListDirectGroupMembersResponse.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public ListGroupsResponse listGroups(ListGroupsRequest request) {
+ String path =
+ String.format("/api/2.0/identity/accounts/%s/groups", apiClient.configuredAccountID());
+ try {
+ Request req = new Request("GET", path);
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ return apiClient.execute(req, ListGroupsResponse.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public ListServicePrincipalsResponse listServicePrincipals(ListServicePrincipalsRequest request) {
+ String path =
+ String.format(
+ "/api/2.0/identity/accounts/%s/service-principals", apiClient.configuredAccountID());
+ try {
+ Request req = new Request("GET", path);
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ return apiClient.execute(req, ListServicePrincipalsResponse.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public ListTransitiveParentGroupsResponse listTransitiveParentGroups(
+ ListTransitiveParentGroupsRequest request) {
+ String path =
+ String.format(
+ "/api/2.0/identity/accounts/%s/principals/%s/transitive-parent-groups",
+ apiClient.configuredAccountID(), request.getPrincipalId());
+ try {
+ Request req = new Request("GET", path);
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ return apiClient.execute(req, ListTransitiveParentGroupsResponse.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public ListUsersResponse listUsers(ListUsersRequest request) {
+ String path =
+ String.format("/api/2.0/identity/accounts/%s/users", apiClient.configuredAccountID());
+ try {
+ Request req = new Request("GET", path);
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ return apiClient.execute(req, ListUsersResponse.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
@Override
public ListWorkspaceAssignmentDetailsResponse listWorkspaceAssignmentDetails(
ListWorkspaceAssignmentDetailsRequest request) {
@@ -106,6 +444,24 @@ public ListWorkspaceAssignmentDetailsResponse listWorkspaceAssignmentDetails(
}
}
+ @Override
+ public ListWorkspaceAssignmentsResponse listWorkspaceAssignments(
+ ListWorkspaceAssignmentsRequest request) {
+ String path =
+ String.format(
+ "/api/2.0/identity/accounts/%s/workspaces/%s/workspace-assignments",
+ apiClient.configuredAccountID(), request.getWorkspaceId());
+ try {
+ Request req = new Request("GET", path);
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ return apiClient.execute(req, ListWorkspaceAssignmentsResponse.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
@Override
public ResolveGroupResponse resolveGroup(ResolveGroupRequest request) {
String path =
@@ -161,6 +517,79 @@ public ResolveUserResponse resolveUser(ResolveUserRequest request) {
}
}
+ @Override
+ public Group updateGroup(UpdateGroupRequest request) {
+ String path =
+ String.format(
+ "/api/2.0/identity/accounts/%s/groups/%s",
+ apiClient.configuredAccountID(), request.getGroupId());
+ try {
+ Request req = new Request("PATCH", path, apiClient.serialize(request.getGroup()));
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ req.withHeader("Content-Type", "application/json");
+ return apiClient.execute(req, Group.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public ServicePrincipal updateServicePrincipal(UpdateServicePrincipalRequest request) {
+ String path =
+ String.format(
+ "/api/2.0/identity/accounts/%s/service-principals/%s",
+ apiClient.configuredAccountID(), request.getServicePrincipalId());
+ try {
+ Request req = new Request("PATCH", path, apiClient.serialize(request.getServicePrincipal()));
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ req.withHeader("Content-Type", "application/json");
+ return apiClient.execute(req, ServicePrincipal.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public User updateUser(UpdateUserRequest request) {
+ String path =
+ String.format(
+ "/api/2.0/identity/accounts/%s/users/%s",
+ apiClient.configuredAccountID(), request.getUserId());
+ try {
+ Request req = new Request("PATCH", path, apiClient.serialize(request.getUser()));
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ req.withHeader("Content-Type", "application/json");
+ return apiClient.execute(req, User.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public WorkspaceAssignment updateWorkspaceAssignment(UpdateWorkspaceAssignmentRequest request) {
+ String path =
+ String.format(
+ "/api/2.0/identity/accounts/%s/workspaces/%s/workspace-assignments/%s",
+ apiClient.configuredAccountID(), request.getWorkspaceId(), request.getPrincipalId());
+ try {
+ Request req =
+ new Request("PATCH", path, apiClient.serialize(request.getWorkspaceAssignment()));
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ req.withHeader("Content-Type", "application/json");
+ return apiClient.execute(req, WorkspaceAssignment.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
@Override
public WorkspaceAssignmentDetail updateWorkspaceAssignmentDetail(
UpdateWorkspaceAssignmentDetailRequest request) {
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/AccountIamV2Service.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/AccountIamV2Service.java
index 29b276d34..f84936796 100644
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/AccountIamV2Service.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/AccountIamV2Service.java
@@ -13,6 +13,51 @@
*/
@Generated
public interface AccountIamV2Service {
+ /** Creates a group membership (assigns a principal to a group). */
+ DirectGroupMember createDirectGroupMember(
+ CreateDirectGroupMemberRequest createDirectGroupMemberRequest);
+
+ /**
+ * Creates a local group in the Databricks account and returns the created group. A local group is
+ * one that is not synced from the customer's identity provider, and can be created whether or not
+ * Account Identity Management (AIM) is enabled.
+ *
+ * When AIM is enabled, supplying an external ID returns an error. Use the ExternalGroup
+ * resource to sync groups from the identity provider instead.
+ */
+ Group createGroup(CreateGroupRequest createGroupRequest);
+
+ /**
+ * Creates a local service principal in the Databricks account and returns the created service
+ * principal. A local service principal is one that is not synced from the customer's identity
+ * provider, and can be created whether or not Account Identity Management (AIM) is enabled.
+ *
+ *
When AIM is enabled, supplying an external ID returns an error. Use the
+ * ExternalServicePrincipal resource to sync service principals from the identity provider
+ * instead.
+ */
+ ServicePrincipal createServicePrincipal(
+ CreateServicePrincipalRequest createServicePrincipalRequest);
+
+ /**
+ * Creates a local user in the Databricks account and returns the created user. A local user is
+ * one that is not synced from the customer's identity provider, and can be created whether or not
+ * Account Identity Management (AIM) is enabled.
+ *
+ *
When AIM is enabled, supplying an external ID returns an error. Use the ExternalUser
+ * resource to sync users from the identity provider instead.
+ */
+ User createUser(CreateUserRequest createUserRequest);
+
+ /**
+ * Creates a workspace assignment for a principal. Entitlements are granted one at a time rather
+ * than atomically. If the request fails partway through, the principal stays assigned to the
+ * workspace with only some of the requested entitlements. Get the assignment afterwards to
+ * confirm which entitlements were granted.
+ */
+ WorkspaceAssignment createWorkspaceAssignment(
+ CreateWorkspaceAssignmentRequest createWorkspaceAssignmentRequest);
+
/**
* Creates a workspace assignment detail for a principal. Entitlements are granted one at a time
* rather than atomically. If the request fails partway through, the principal stays assigned to
@@ -22,6 +67,25 @@ public interface AccountIamV2Service {
WorkspaceAssignmentDetail createWorkspaceAssignmentDetail(
CreateWorkspaceAssignmentDetailRequest createWorkspaceAssignmentDetailRequest);
+ /** Deletes a group membership (unassigns a principal from a group). */
+ void deleteDirectGroupMember(DeleteDirectGroupMemberRequest deleteDirectGroupMemberRequest);
+
+ /** Deletes a group from the Databricks account by its internal ID. */
+ void deleteGroup(DeleteGroupRequest deleteGroupRequest);
+
+ /** Deletes a service principal from the Databricks account by its internal ID. */
+ void deleteServicePrincipal(DeleteServicePrincipalRequest deleteServicePrincipalRequest);
+
+ /** Deletes a user from the Databricks account by its internal ID. */
+ void deleteUser(DeleteUserRequest deleteUserRequest);
+
+ /**
+ * Deletes a workspace assignment for a principal, revoking all of its entitlements. Entitlements
+ * are revoked one at a time rather than atomically. If the request fails partway through, the
+ * principal stays assigned with some of its original entitlements. Retrying is safe.
+ */
+ void deleteWorkspaceAssignment(DeleteWorkspaceAssignmentRequest deleteWorkspaceAssignmentRequest);
+
/**
* Deletes a workspace assignment detail for a principal, revoking all of its entitlements.
* Entitlements are revoked one at a time rather than atomically. If the request fails partway
@@ -30,6 +94,18 @@ WorkspaceAssignmentDetail createWorkspaceAssignmentDetail(
void deleteWorkspaceAssignmentDetail(
DeleteWorkspaceAssignmentDetailRequest deleteWorkspaceAssignmentDetailRequest);
+ /** Gets a provisioned direct member of a group. */
+ DirectGroupMember getDirectGroupMember(GetDirectGroupMemberRequest getDirectGroupMemberRequest);
+
+ /** Fetches a group from the Databricks account by its internal ID. */
+ Group getGroup(GetGroupRequest getGroupRequest);
+
+ /** Fetches a service principal from the Databricks account by its internal ID. */
+ ServicePrincipal getServicePrincipal(GetServicePrincipalRequest getServicePrincipalRequest);
+
+ /** Fetches a user from the Databricks account by its internal ID. */
+ User getUser(GetUserRequest getUserRequest);
+
/**
* Returns the access details for a principal in a workspace. Allows for checking access details
* for any provisioned principal (user, service principal, or group) in a workspace. * Provisioned
@@ -40,10 +116,44 @@ void deleteWorkspaceAssignmentDetail(
WorkspaceAccessDetail getWorkspaceAccessDetail(
GetWorkspaceAccessDetailRequest getWorkspaceAccessDetailRequest);
+ /** Returns the assignment for a principal in a workspace. */
+ WorkspaceAssignment getWorkspaceAssignment(
+ GetWorkspaceAssignmentRequest getWorkspaceAssignmentRequest);
+
/** Returns the assignment details for a principal in a workspace. */
WorkspaceAssignmentDetail getWorkspaceAssignmentDetail(
GetWorkspaceAssignmentDetailRequest getWorkspaceAssignmentDetailRequest);
+ /**
+ * Lists provisioned direct members of a group with their membership source (internal or from
+ * identity provider).
+ */
+ ListDirectGroupMembersResponse listDirectGroupMembers(
+ ListDirectGroupMembersRequest listDirectGroupMembersRequest);
+
+ /**
+ * Lists the groups in the Databricks account, returning one page per call. Supports filtering by
+ * group name or external ID.
+ */
+ ListGroupsResponse listGroups(ListGroupsRequest listGroupsRequest);
+
+ /**
+ * Lists the service principals in the Databricks account, returning one page per call. Supports
+ * filtering by application ID or external ID.
+ */
+ ListServicePrincipalsResponse listServicePrincipals(
+ ListServicePrincipalsRequest listServicePrincipalsRequest);
+
+ /** Lists all transitive parent groups of a principal. */
+ ListTransitiveParentGroupsResponse listTransitiveParentGroups(
+ ListTransitiveParentGroupsRequest listTransitiveParentGroupsRequest);
+
+ /**
+ * Lists the users in the Databricks account, returning one page per call. Supports filtering by
+ * username or external ID.
+ */
+ ListUsersResponse listUsers(ListUsersRequest listUsersRequest);
+
/**
* Lists workspace assignment details for a workspace. The response omits the per-principal
* entitlement fields (`entitlements` and `effective_entitlements`). To read the entitlements for
@@ -52,6 +162,14 @@ WorkspaceAssignmentDetail getWorkspaceAssignmentDetail(
ListWorkspaceAssignmentDetailsResponse listWorkspaceAssignmentDetails(
ListWorkspaceAssignmentDetailsRequest listWorkspaceAssignmentDetailsRequest);
+ /**
+ * Lists workspace assignments for a workspace. The response omits the per-principal entitlement
+ * fields (`entitlements` and `effective_entitlements`). To read the entitlements for a single
+ * principal, get that principal's assignment.
+ */
+ ListWorkspaceAssignmentsResponse listWorkspaceAssignments(
+ ListWorkspaceAssignmentsRequest listWorkspaceAssignmentsRequest);
+
/**
* Resolves a group with the given external ID from the customer's IdP. If the group does not
* exist, it will be created in the account. If the customer is not onboarded onto Automatic
@@ -74,6 +192,35 @@ ResolveServicePrincipalResponse resolveServicePrincipal(
*/
ResolveUserResponse resolveUser(ResolveUserRequest resolveUserRequest);
+ /**
+ * Updates an existing group in the Databricks account. Only the fields named in the update mask
+ * are modified. Returns the updated Group resource.
+ */
+ Group updateGroup(UpdateGroupRequest updateGroupRequest);
+
+ /**
+ * Updates an existing service principal in the Databricks account. Only the fields named in the
+ * update mask are modified. Returns the updated ServicePrincipal resource.
+ */
+ ServicePrincipal updateServicePrincipal(
+ UpdateServicePrincipalRequest updateServicePrincipalRequest);
+
+ /**
+ * Updates an existing user in the Databricks account and returns the updated user. Only the
+ * fields named in the update mask are modified. The updatable fields are fullName.givenName,
+ * fullName.familyName, status, and externalId. The behavior is the same whether or not Account
+ * Identity Management (AIM) is enabled.
+ */
+ User updateUser(UpdateUserRequest updateUserRequest);
+
+ /**
+ * Updates the entitlements of a directly assigned principal in a workspace. Changes are applied
+ * one at a time rather than atomically. If the request fails partway through, only some of the
+ * requested changes take effect. Get the assignment afterwards to confirm the final state.
+ */
+ WorkspaceAssignment updateWorkspaceAssignment(
+ UpdateWorkspaceAssignmentRequest updateWorkspaceAssignmentRequest);
+
/**
* Updates the entitlements of a directly assigned principal in a workspace. Changes are applied
* one at a time rather than atomically. If the request fails partway through, only some of the
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateDirectGroupMemberProxyRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateDirectGroupMemberProxyRequest.java
new file mode 100644
index 000000000..1d9eff191
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateDirectGroupMemberProxyRequest.java
@@ -0,0 +1,60 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Objects;
+
+@Generated
+public class CreateDirectGroupMemberProxyRequest {
+ /** Required. The group membership to create. */
+ @JsonProperty("direct_group_member")
+ private DirectGroupMember directGroupMember;
+
+ /** Required. Internal ID of the group in Databricks. */
+ @JsonIgnore private Long groupId;
+
+ public CreateDirectGroupMemberProxyRequest setDirectGroupMember(
+ DirectGroupMember directGroupMember) {
+ this.directGroupMember = directGroupMember;
+ return this;
+ }
+
+ public DirectGroupMember getDirectGroupMember() {
+ return directGroupMember;
+ }
+
+ public CreateDirectGroupMemberProxyRequest setGroupId(Long groupId) {
+ this.groupId = groupId;
+ return this;
+ }
+
+ public Long getGroupId() {
+ return groupId;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ CreateDirectGroupMemberProxyRequest that = (CreateDirectGroupMemberProxyRequest) o;
+ return Objects.equals(directGroupMember, that.directGroupMember)
+ && Objects.equals(groupId, that.groupId);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(directGroupMember, groupId);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(CreateDirectGroupMemberProxyRequest.class)
+ .add("directGroupMember", directGroupMember)
+ .add("groupId", groupId)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateDirectGroupMemberRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateDirectGroupMemberRequest.java
new file mode 100644
index 000000000..179bc43f9
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateDirectGroupMemberRequest.java
@@ -0,0 +1,59 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Objects;
+
+@Generated
+public class CreateDirectGroupMemberRequest {
+ /** Required. The direct group member to be added to the group. */
+ @JsonProperty("direct_group_member")
+ private DirectGroupMember directGroupMember;
+
+ /** Required. Internal ID of the group in Databricks. */
+ @JsonIgnore private Long groupId;
+
+ public CreateDirectGroupMemberRequest setDirectGroupMember(DirectGroupMember directGroupMember) {
+ this.directGroupMember = directGroupMember;
+ return this;
+ }
+
+ public DirectGroupMember getDirectGroupMember() {
+ return directGroupMember;
+ }
+
+ public CreateDirectGroupMemberRequest setGroupId(Long groupId) {
+ this.groupId = groupId;
+ return this;
+ }
+
+ public Long getGroupId() {
+ return groupId;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ CreateDirectGroupMemberRequest that = (CreateDirectGroupMemberRequest) o;
+ return Objects.equals(directGroupMember, that.directGroupMember)
+ && Objects.equals(groupId, that.groupId);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(directGroupMember, groupId);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(CreateDirectGroupMemberRequest.class)
+ .add("directGroupMember", directGroupMember)
+ .add("groupId", groupId)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateGroupProxyRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateGroupProxyRequest.java
new file mode 100644
index 000000000..3b3b114de
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateGroupProxyRequest.java
@@ -0,0 +1,42 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Objects;
+
+@Generated
+public class CreateGroupProxyRequest {
+ /** Required. Group to be created in */
+ @JsonProperty("group")
+ private Group group;
+
+ public CreateGroupProxyRequest setGroup(Group group) {
+ this.group = group;
+ return this;
+ }
+
+ public Group getGroup() {
+ return group;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ CreateGroupProxyRequest that = (CreateGroupProxyRequest) o;
+ return Objects.equals(group, that.group);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(group);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(CreateGroupProxyRequest.class).add("group", group).toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateGroupRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateGroupRequest.java
new file mode 100644
index 000000000..62c97720d
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateGroupRequest.java
@@ -0,0 +1,42 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Objects;
+
+@Generated
+public class CreateGroupRequest {
+ /** Required. Group to be created in */
+ @JsonProperty("group")
+ private Group group;
+
+ public CreateGroupRequest setGroup(Group group) {
+ this.group = group;
+ return this;
+ }
+
+ public Group getGroup() {
+ return group;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ CreateGroupRequest that = (CreateGroupRequest) o;
+ return Objects.equals(group, that.group);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(group);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(CreateGroupRequest.class).add("group", group).toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateServicePrincipalProxyRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateServicePrincipalProxyRequest.java
new file mode 100644
index 000000000..43953b199
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateServicePrincipalProxyRequest.java
@@ -0,0 +1,44 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Objects;
+
+@Generated
+public class CreateServicePrincipalProxyRequest {
+ /** Required. Service principal to be created in */
+ @JsonProperty("service_principal")
+ private ServicePrincipal servicePrincipal;
+
+ public CreateServicePrincipalProxyRequest setServicePrincipal(ServicePrincipal servicePrincipal) {
+ this.servicePrincipal = servicePrincipal;
+ return this;
+ }
+
+ public ServicePrincipal getServicePrincipal() {
+ return servicePrincipal;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ CreateServicePrincipalProxyRequest that = (CreateServicePrincipalProxyRequest) o;
+ return Objects.equals(servicePrincipal, that.servicePrincipal);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(servicePrincipal);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(CreateServicePrincipalProxyRequest.class)
+ .add("servicePrincipal", servicePrincipal)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateServicePrincipalRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateServicePrincipalRequest.java
new file mode 100644
index 000000000..fadf9a546
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateServicePrincipalRequest.java
@@ -0,0 +1,44 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Objects;
+
+@Generated
+public class CreateServicePrincipalRequest {
+ /** Required. Service principal to be created in */
+ @JsonProperty("service_principal")
+ private ServicePrincipal servicePrincipal;
+
+ public CreateServicePrincipalRequest setServicePrincipal(ServicePrincipal servicePrincipal) {
+ this.servicePrincipal = servicePrincipal;
+ return this;
+ }
+
+ public ServicePrincipal getServicePrincipal() {
+ return servicePrincipal;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ CreateServicePrincipalRequest that = (CreateServicePrincipalRequest) o;
+ return Objects.equals(servicePrincipal, that.servicePrincipal);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(servicePrincipal);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(CreateServicePrincipalRequest.class)
+ .add("servicePrincipal", servicePrincipal)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateUserProxyRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateUserProxyRequest.java
new file mode 100644
index 000000000..b35fec791
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateUserProxyRequest.java
@@ -0,0 +1,42 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Objects;
+
+@Generated
+public class CreateUserProxyRequest {
+ /** Required. User to be created in */
+ @JsonProperty("user")
+ private User user;
+
+ public CreateUserProxyRequest setUser(User user) {
+ this.user = user;
+ return this;
+ }
+
+ public User getUser() {
+ return user;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ CreateUserProxyRequest that = (CreateUserProxyRequest) o;
+ return Objects.equals(user, that.user);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(user);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(CreateUserProxyRequest.class).add("user", user).toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateUserRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateUserRequest.java
new file mode 100644
index 000000000..0e85e104b
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateUserRequest.java
@@ -0,0 +1,42 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Objects;
+
+@Generated
+public class CreateUserRequest {
+ /** Required. User to be created in */
+ @JsonProperty("user")
+ private User user;
+
+ public CreateUserRequest setUser(User user) {
+ this.user = user;
+ return this;
+ }
+
+ public User getUser() {
+ return user;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ CreateUserRequest that = (CreateUserRequest) o;
+ return Objects.equals(user, that.user);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(user);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(CreateUserRequest.class).add("user", user).toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateWorkspaceAssignmentProxyRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateWorkspaceAssignmentProxyRequest.java
new file mode 100644
index 000000000..58e3b2875
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateWorkspaceAssignmentProxyRequest.java
@@ -0,0 +1,45 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Objects;
+
+@Generated
+public class CreateWorkspaceAssignmentProxyRequest {
+ /** Required. Workspace assignment to be created in . */
+ @JsonProperty("workspace_assignment")
+ private WorkspaceAssignment workspaceAssignment;
+
+ public CreateWorkspaceAssignmentProxyRequest setWorkspaceAssignment(
+ WorkspaceAssignment workspaceAssignment) {
+ this.workspaceAssignment = workspaceAssignment;
+ return this;
+ }
+
+ public WorkspaceAssignment getWorkspaceAssignment() {
+ return workspaceAssignment;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ CreateWorkspaceAssignmentProxyRequest that = (CreateWorkspaceAssignmentProxyRequest) o;
+ return Objects.equals(workspaceAssignment, that.workspaceAssignment);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(workspaceAssignment);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(CreateWorkspaceAssignmentProxyRequest.class)
+ .add("workspaceAssignment", workspaceAssignment)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateWorkspaceAssignmentRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateWorkspaceAssignmentRequest.java
new file mode 100644
index 000000000..3a036f9b3
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateWorkspaceAssignmentRequest.java
@@ -0,0 +1,60 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Objects;
+
+@Generated
+public class CreateWorkspaceAssignmentRequest {
+ /** Required. Workspace assignment to be created in . */
+ @JsonProperty("workspace_assignment")
+ private WorkspaceAssignment workspaceAssignment;
+
+ /** Required. The workspace ID for which the workspace assignment is being created. */
+ @JsonIgnore private Long workspaceId;
+
+ public CreateWorkspaceAssignmentRequest setWorkspaceAssignment(
+ WorkspaceAssignment workspaceAssignment) {
+ this.workspaceAssignment = workspaceAssignment;
+ return this;
+ }
+
+ public WorkspaceAssignment getWorkspaceAssignment() {
+ return workspaceAssignment;
+ }
+
+ public CreateWorkspaceAssignmentRequest setWorkspaceId(Long workspaceId) {
+ this.workspaceId = workspaceId;
+ return this;
+ }
+
+ public Long getWorkspaceId() {
+ return workspaceId;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ CreateWorkspaceAssignmentRequest that = (CreateWorkspaceAssignmentRequest) o;
+ return Objects.equals(workspaceAssignment, that.workspaceAssignment)
+ && Objects.equals(workspaceId, that.workspaceId);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(workspaceAssignment, workspaceId);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(CreateWorkspaceAssignmentRequest.class)
+ .add("workspaceAssignment", workspaceAssignment)
+ .add("workspaceId", workspaceId)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DeleteDirectGroupMemberProxyRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DeleteDirectGroupMemberProxyRequest.java
new file mode 100644
index 000000000..32713efbd
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DeleteDirectGroupMemberProxyRequest.java
@@ -0,0 +1,56 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import java.util.Objects;
+
+@Generated
+public class DeleteDirectGroupMemberProxyRequest {
+ /** Required. Internal ID of the group in Databricks. */
+ @JsonIgnore private Long groupId;
+
+ /** Required. Internal ID of the principal to be unassigned from the group. */
+ @JsonIgnore private Long principalId;
+
+ public DeleteDirectGroupMemberProxyRequest setGroupId(Long groupId) {
+ this.groupId = groupId;
+ return this;
+ }
+
+ public Long getGroupId() {
+ return groupId;
+ }
+
+ public DeleteDirectGroupMemberProxyRequest setPrincipalId(Long principalId) {
+ this.principalId = principalId;
+ return this;
+ }
+
+ public Long getPrincipalId() {
+ return principalId;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ DeleteDirectGroupMemberProxyRequest that = (DeleteDirectGroupMemberProxyRequest) o;
+ return Objects.equals(groupId, that.groupId) && Objects.equals(principalId, that.principalId);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(groupId, principalId);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(DeleteDirectGroupMemberProxyRequest.class)
+ .add("groupId", groupId)
+ .add("principalId", principalId)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DeleteDirectGroupMemberRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DeleteDirectGroupMemberRequest.java
new file mode 100644
index 000000000..a319d360d
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DeleteDirectGroupMemberRequest.java
@@ -0,0 +1,56 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import java.util.Objects;
+
+@Generated
+public class DeleteDirectGroupMemberRequest {
+ /** Required. Internal ID of the group in Databricks. */
+ @JsonIgnore private Long groupId;
+
+ /** Required. Internal ID of the principal to be unassigned from the group. */
+ @JsonIgnore private Long principalId;
+
+ public DeleteDirectGroupMemberRequest setGroupId(Long groupId) {
+ this.groupId = groupId;
+ return this;
+ }
+
+ public Long getGroupId() {
+ return groupId;
+ }
+
+ public DeleteDirectGroupMemberRequest setPrincipalId(Long principalId) {
+ this.principalId = principalId;
+ return this;
+ }
+
+ public Long getPrincipalId() {
+ return principalId;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ DeleteDirectGroupMemberRequest that = (DeleteDirectGroupMemberRequest) o;
+ return Objects.equals(groupId, that.groupId) && Objects.equals(principalId, that.principalId);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(groupId, principalId);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(DeleteDirectGroupMemberRequest.class)
+ .add("groupId", groupId)
+ .add("principalId", principalId)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DeleteGroupProxyRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DeleteGroupProxyRequest.java
new file mode 100644
index 000000000..aff780869
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DeleteGroupProxyRequest.java
@@ -0,0 +1,41 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import java.util.Objects;
+
+@Generated
+public class DeleteGroupProxyRequest {
+ /** Required. Internal ID of the group in Databricks. */
+ @JsonIgnore private String groupId;
+
+ public DeleteGroupProxyRequest setGroupId(String groupId) {
+ this.groupId = groupId;
+ return this;
+ }
+
+ public String getGroupId() {
+ return groupId;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ DeleteGroupProxyRequest that = (DeleteGroupProxyRequest) o;
+ return Objects.equals(groupId, that.groupId);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(groupId);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(DeleteGroupProxyRequest.class).add("groupId", groupId).toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DeleteGroupRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DeleteGroupRequest.java
new file mode 100644
index 000000000..560d46550
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DeleteGroupRequest.java
@@ -0,0 +1,41 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import java.util.Objects;
+
+@Generated
+public class DeleteGroupRequest {
+ /** Required. Internal ID of the group in Databricks. */
+ @JsonIgnore private String groupId;
+
+ public DeleteGroupRequest setGroupId(String groupId) {
+ this.groupId = groupId;
+ return this;
+ }
+
+ public String getGroupId() {
+ return groupId;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ DeleteGroupRequest that = (DeleteGroupRequest) o;
+ return Objects.equals(groupId, that.groupId);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(groupId);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(DeleteGroupRequest.class).add("groupId", groupId).toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DeleteServicePrincipalProxyRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DeleteServicePrincipalProxyRequest.java
new file mode 100644
index 000000000..2e014d5ca
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DeleteServicePrincipalProxyRequest.java
@@ -0,0 +1,43 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import java.util.Objects;
+
+@Generated
+public class DeleteServicePrincipalProxyRequest {
+ /** Required. Internal ID of the service principal in Databricks. */
+ @JsonIgnore private String servicePrincipalId;
+
+ public DeleteServicePrincipalProxyRequest setServicePrincipalId(String servicePrincipalId) {
+ this.servicePrincipalId = servicePrincipalId;
+ return this;
+ }
+
+ public String getServicePrincipalId() {
+ return servicePrincipalId;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ DeleteServicePrincipalProxyRequest that = (DeleteServicePrincipalProxyRequest) o;
+ return Objects.equals(servicePrincipalId, that.servicePrincipalId);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(servicePrincipalId);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(DeleteServicePrincipalProxyRequest.class)
+ .add("servicePrincipalId", servicePrincipalId)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DeleteServicePrincipalRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DeleteServicePrincipalRequest.java
new file mode 100644
index 000000000..b3081a445
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DeleteServicePrincipalRequest.java
@@ -0,0 +1,43 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import java.util.Objects;
+
+@Generated
+public class DeleteServicePrincipalRequest {
+ /** Required. Internal ID of the service principal in Databricks. */
+ @JsonIgnore private String servicePrincipalId;
+
+ public DeleteServicePrincipalRequest setServicePrincipalId(String servicePrincipalId) {
+ this.servicePrincipalId = servicePrincipalId;
+ return this;
+ }
+
+ public String getServicePrincipalId() {
+ return servicePrincipalId;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ DeleteServicePrincipalRequest that = (DeleteServicePrincipalRequest) o;
+ return Objects.equals(servicePrincipalId, that.servicePrincipalId);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(servicePrincipalId);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(DeleteServicePrincipalRequest.class)
+ .add("servicePrincipalId", servicePrincipalId)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DeleteUserProxyRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DeleteUserProxyRequest.java
new file mode 100644
index 000000000..d9d8b0d94
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DeleteUserProxyRequest.java
@@ -0,0 +1,41 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import java.util.Objects;
+
+@Generated
+public class DeleteUserProxyRequest {
+ /** Required. Internal ID of the user in Databricks. */
+ @JsonIgnore private String userId;
+
+ public DeleteUserProxyRequest setUserId(String userId) {
+ this.userId = userId;
+ return this;
+ }
+
+ public String getUserId() {
+ return userId;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ DeleteUserProxyRequest that = (DeleteUserProxyRequest) o;
+ return Objects.equals(userId, that.userId);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(userId);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(DeleteUserProxyRequest.class).add("userId", userId).toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DeleteUserRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DeleteUserRequest.java
new file mode 100644
index 000000000..256413117
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DeleteUserRequest.java
@@ -0,0 +1,41 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import java.util.Objects;
+
+@Generated
+public class DeleteUserRequest {
+ /** Required. Internal ID of the user in Databricks. */
+ @JsonIgnore private String userId;
+
+ public DeleteUserRequest setUserId(String userId) {
+ this.userId = userId;
+ return this;
+ }
+
+ public String getUserId() {
+ return userId;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ DeleteUserRequest that = (DeleteUserRequest) o;
+ return Objects.equals(userId, that.userId);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(userId);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(DeleteUserRequest.class).add("userId", userId).toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DeleteWorkspaceAssignmentProxyRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DeleteWorkspaceAssignmentProxyRequest.java
new file mode 100644
index 000000000..133c23ec1
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DeleteWorkspaceAssignmentProxyRequest.java
@@ -0,0 +1,43 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import java.util.Objects;
+
+@Generated
+public class DeleteWorkspaceAssignmentProxyRequest {
+ /** Required. ID of the principal in Databricks to delete workspace assignment for. */
+ @JsonIgnore private Long principalId;
+
+ public DeleteWorkspaceAssignmentProxyRequest setPrincipalId(Long principalId) {
+ this.principalId = principalId;
+ return this;
+ }
+
+ public Long getPrincipalId() {
+ return principalId;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ DeleteWorkspaceAssignmentProxyRequest that = (DeleteWorkspaceAssignmentProxyRequest) o;
+ return Objects.equals(principalId, that.principalId);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(principalId);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(DeleteWorkspaceAssignmentProxyRequest.class)
+ .add("principalId", principalId)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DeleteWorkspaceAssignmentRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DeleteWorkspaceAssignmentRequest.java
new file mode 100644
index 000000000..0a5d0657c
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DeleteWorkspaceAssignmentRequest.java
@@ -0,0 +1,57 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import java.util.Objects;
+
+@Generated
+public class DeleteWorkspaceAssignmentRequest {
+ /** Required. ID of the principal in Databricks to delete workspace assignment for. */
+ @JsonIgnore private Long principalId;
+
+ /** The workspace ID where the principal has access. */
+ @JsonIgnore private Long workspaceId;
+
+ public DeleteWorkspaceAssignmentRequest setPrincipalId(Long principalId) {
+ this.principalId = principalId;
+ return this;
+ }
+
+ public Long getPrincipalId() {
+ return principalId;
+ }
+
+ public DeleteWorkspaceAssignmentRequest setWorkspaceId(Long workspaceId) {
+ this.workspaceId = workspaceId;
+ return this;
+ }
+
+ public Long getWorkspaceId() {
+ return workspaceId;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ DeleteWorkspaceAssignmentRequest that = (DeleteWorkspaceAssignmentRequest) o;
+ return Objects.equals(principalId, that.principalId)
+ && Objects.equals(workspaceId, that.workspaceId);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(principalId, workspaceId);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(DeleteWorkspaceAssignmentRequest.class)
+ .add("principalId", principalId)
+ .add("workspaceId", workspaceId)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DirectGroupMember.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DirectGroupMember.java
new file mode 100644
index 000000000..d81ba72a3
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/DirectGroupMember.java
@@ -0,0 +1,105 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Objects;
+
+/** Represents a principal that is a direct member of a group, with its source of membership. */
+@Generated
+public class DirectGroupMember {
+ /** Display name of the principal. */
+ @JsonProperty("display_name")
+ private String displayName;
+
+ /** The external ID of the principal in Databricks. */
+ @JsonProperty("external_id")
+ private String externalId;
+
+ /** The source of group membership (internal or from identity provider). */
+ @JsonProperty("membership_source")
+ private GroupMembershipSource membershipSource;
+
+ /** Internal ID of the principal in Databricks. */
+ @JsonProperty("principal_id")
+ private Long principalId;
+
+ /** The type of the principal (user/service principal/group). */
+ @JsonProperty("principal_type")
+ private PrincipalType principalType;
+
+ public DirectGroupMember setDisplayName(String displayName) {
+ this.displayName = displayName;
+ return this;
+ }
+
+ public String getDisplayName() {
+ return displayName;
+ }
+
+ public DirectGroupMember setExternalId(String externalId) {
+ this.externalId = externalId;
+ return this;
+ }
+
+ public String getExternalId() {
+ return externalId;
+ }
+
+ public DirectGroupMember setMembershipSource(GroupMembershipSource membershipSource) {
+ this.membershipSource = membershipSource;
+ return this;
+ }
+
+ public GroupMembershipSource getMembershipSource() {
+ return membershipSource;
+ }
+
+ public DirectGroupMember setPrincipalId(Long principalId) {
+ this.principalId = principalId;
+ return this;
+ }
+
+ public Long getPrincipalId() {
+ return principalId;
+ }
+
+ public DirectGroupMember setPrincipalType(PrincipalType principalType) {
+ this.principalType = principalType;
+ return this;
+ }
+
+ public PrincipalType getPrincipalType() {
+ return principalType;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ DirectGroupMember that = (DirectGroupMember) o;
+ return Objects.equals(displayName, that.displayName)
+ && Objects.equals(externalId, that.externalId)
+ && Objects.equals(membershipSource, that.membershipSource)
+ && Objects.equals(principalId, that.principalId)
+ && Objects.equals(principalType, that.principalType);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(displayName, externalId, membershipSource, principalId, principalType);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(DirectGroupMember.class)
+ .add("displayName", displayName)
+ .add("externalId", externalId)
+ .add("membershipSource", membershipSource)
+ .add("principalId", principalId)
+ .add("principalType", principalType)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetDirectGroupMemberProxyRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetDirectGroupMemberProxyRequest.java
new file mode 100644
index 000000000..a9ebff025
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetDirectGroupMemberProxyRequest.java
@@ -0,0 +1,56 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import java.util.Objects;
+
+@Generated
+public class GetDirectGroupMemberProxyRequest {
+ /** Required. Internal ID of the group in Databricks. */
+ @JsonIgnore private Long groupId;
+
+ /** Required. Internal ID of the principal belonging to the group in Databricks. */
+ @JsonIgnore private Long principalId;
+
+ public GetDirectGroupMemberProxyRequest setGroupId(Long groupId) {
+ this.groupId = groupId;
+ return this;
+ }
+
+ public Long getGroupId() {
+ return groupId;
+ }
+
+ public GetDirectGroupMemberProxyRequest setPrincipalId(Long principalId) {
+ this.principalId = principalId;
+ return this;
+ }
+
+ public Long getPrincipalId() {
+ return principalId;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ GetDirectGroupMemberProxyRequest that = (GetDirectGroupMemberProxyRequest) o;
+ return Objects.equals(groupId, that.groupId) && Objects.equals(principalId, that.principalId);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(groupId, principalId);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(GetDirectGroupMemberProxyRequest.class)
+ .add("groupId", groupId)
+ .add("principalId", principalId)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetDirectGroupMemberRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetDirectGroupMemberRequest.java
new file mode 100644
index 000000000..da8451c3c
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetDirectGroupMemberRequest.java
@@ -0,0 +1,56 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import java.util.Objects;
+
+@Generated
+public class GetDirectGroupMemberRequest {
+ /** Required. Internal ID of the group in Databricks. */
+ @JsonIgnore private Long groupId;
+
+ /** Required. Internal ID of the principal belonging to the group in Databricks. */
+ @JsonIgnore private Long principalId;
+
+ public GetDirectGroupMemberRequest setGroupId(Long groupId) {
+ this.groupId = groupId;
+ return this;
+ }
+
+ public Long getGroupId() {
+ return groupId;
+ }
+
+ public GetDirectGroupMemberRequest setPrincipalId(Long principalId) {
+ this.principalId = principalId;
+ return this;
+ }
+
+ public Long getPrincipalId() {
+ return principalId;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ GetDirectGroupMemberRequest that = (GetDirectGroupMemberRequest) o;
+ return Objects.equals(groupId, that.groupId) && Objects.equals(principalId, that.principalId);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(groupId, principalId);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(GetDirectGroupMemberRequest.class)
+ .add("groupId", groupId)
+ .add("principalId", principalId)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetGroupProxyRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetGroupProxyRequest.java
new file mode 100644
index 000000000..4f10c3a6a
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetGroupProxyRequest.java
@@ -0,0 +1,41 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import java.util.Objects;
+
+@Generated
+public class GetGroupProxyRequest {
+ /** Required. Internal ID of the group in Databricks. */
+ @JsonIgnore private String groupId;
+
+ public GetGroupProxyRequest setGroupId(String groupId) {
+ this.groupId = groupId;
+ return this;
+ }
+
+ public String getGroupId() {
+ return groupId;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ GetGroupProxyRequest that = (GetGroupProxyRequest) o;
+ return Objects.equals(groupId, that.groupId);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(groupId);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(GetGroupProxyRequest.class).add("groupId", groupId).toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetGroupRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetGroupRequest.java
new file mode 100644
index 000000000..4f9ebf2c1
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetGroupRequest.java
@@ -0,0 +1,41 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import java.util.Objects;
+
+@Generated
+public class GetGroupRequest {
+ /** Required. Internal ID of the group in Databricks. */
+ @JsonIgnore private String groupId;
+
+ public GetGroupRequest setGroupId(String groupId) {
+ this.groupId = groupId;
+ return this;
+ }
+
+ public String getGroupId() {
+ return groupId;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ GetGroupRequest that = (GetGroupRequest) o;
+ return Objects.equals(groupId, that.groupId);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(groupId);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(GetGroupRequest.class).add("groupId", groupId).toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetServicePrincipalProxyRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetServicePrincipalProxyRequest.java
new file mode 100644
index 000000000..cba391135
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetServicePrincipalProxyRequest.java
@@ -0,0 +1,43 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import java.util.Objects;
+
+@Generated
+public class GetServicePrincipalProxyRequest {
+ /** Required. Internal ID of the service principal in Databricks. */
+ @JsonIgnore private String servicePrincipalId;
+
+ public GetServicePrincipalProxyRequest setServicePrincipalId(String servicePrincipalId) {
+ this.servicePrincipalId = servicePrincipalId;
+ return this;
+ }
+
+ public String getServicePrincipalId() {
+ return servicePrincipalId;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ GetServicePrincipalProxyRequest that = (GetServicePrincipalProxyRequest) o;
+ return Objects.equals(servicePrincipalId, that.servicePrincipalId);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(servicePrincipalId);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(GetServicePrincipalProxyRequest.class)
+ .add("servicePrincipalId", servicePrincipalId)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetServicePrincipalRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetServicePrincipalRequest.java
new file mode 100644
index 000000000..d17d7f97e
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetServicePrincipalRequest.java
@@ -0,0 +1,43 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import java.util.Objects;
+
+@Generated
+public class GetServicePrincipalRequest {
+ /** Required. Internal ID of the service principal in Databricks. */
+ @JsonIgnore private String servicePrincipalId;
+
+ public GetServicePrincipalRequest setServicePrincipalId(String servicePrincipalId) {
+ this.servicePrincipalId = servicePrincipalId;
+ return this;
+ }
+
+ public String getServicePrincipalId() {
+ return servicePrincipalId;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ GetServicePrincipalRequest that = (GetServicePrincipalRequest) o;
+ return Objects.equals(servicePrincipalId, that.servicePrincipalId);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(servicePrincipalId);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(GetServicePrincipalRequest.class)
+ .add("servicePrincipalId", servicePrincipalId)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetUserProxyRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetUserProxyRequest.java
new file mode 100644
index 000000000..46c3355ac
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetUserProxyRequest.java
@@ -0,0 +1,41 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import java.util.Objects;
+
+@Generated
+public class GetUserProxyRequest {
+ /** Required. Internal ID of the user in Databricks. */
+ @JsonIgnore private String userId;
+
+ public GetUserProxyRequest setUserId(String userId) {
+ this.userId = userId;
+ return this;
+ }
+
+ public String getUserId() {
+ return userId;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ GetUserProxyRequest that = (GetUserProxyRequest) o;
+ return Objects.equals(userId, that.userId);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(userId);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(GetUserProxyRequest.class).add("userId", userId).toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetUserRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetUserRequest.java
new file mode 100644
index 000000000..11a036c97
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetUserRequest.java
@@ -0,0 +1,41 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import java.util.Objects;
+
+@Generated
+public class GetUserRequest {
+ /** Required. Internal ID of the user in Databricks. */
+ @JsonIgnore private String userId;
+
+ public GetUserRequest setUserId(String userId) {
+ this.userId = userId;
+ return this;
+ }
+
+ public String getUserId() {
+ return userId;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ GetUserRequest that = (GetUserRequest) o;
+ return Objects.equals(userId, that.userId);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(userId);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(GetUserRequest.class).add("userId", userId).toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetWorkspaceAssignmentProxyRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetWorkspaceAssignmentProxyRequest.java
new file mode 100644
index 000000000..87d089868
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetWorkspaceAssignmentProxyRequest.java
@@ -0,0 +1,46 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import java.util.Objects;
+
+@Generated
+public class GetWorkspaceAssignmentProxyRequest {
+ /**
+ * Required. The internal ID of the principal (user/sp/group) for which the assignment is being
+ * requested.
+ */
+ @JsonIgnore private Long principalId;
+
+ public GetWorkspaceAssignmentProxyRequest setPrincipalId(Long principalId) {
+ this.principalId = principalId;
+ return this;
+ }
+
+ public Long getPrincipalId() {
+ return principalId;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ GetWorkspaceAssignmentProxyRequest that = (GetWorkspaceAssignmentProxyRequest) o;
+ return Objects.equals(principalId, that.principalId);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(principalId);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(GetWorkspaceAssignmentProxyRequest.class)
+ .add("principalId", principalId)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetWorkspaceAssignmentRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetWorkspaceAssignmentRequest.java
new file mode 100644
index 000000000..ff513b5ba
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetWorkspaceAssignmentRequest.java
@@ -0,0 +1,60 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import java.util.Objects;
+
+@Generated
+public class GetWorkspaceAssignmentRequest {
+ /**
+ * Required. The internal ID of the principal (user/sp/group) for which the assignment is being
+ * requested.
+ */
+ @JsonIgnore private Long principalId;
+
+ /** Required. The workspace ID for which the assignment is being requested. */
+ @JsonIgnore private Long workspaceId;
+
+ public GetWorkspaceAssignmentRequest setPrincipalId(Long principalId) {
+ this.principalId = principalId;
+ return this;
+ }
+
+ public Long getPrincipalId() {
+ return principalId;
+ }
+
+ public GetWorkspaceAssignmentRequest setWorkspaceId(Long workspaceId) {
+ this.workspaceId = workspaceId;
+ return this;
+ }
+
+ public Long getWorkspaceId() {
+ return workspaceId;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ GetWorkspaceAssignmentRequest that = (GetWorkspaceAssignmentRequest) o;
+ return Objects.equals(principalId, that.principalId)
+ && Objects.equals(workspaceId, that.workspaceId);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(principalId, workspaceId);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(GetWorkspaceAssignmentRequest.class)
+ .add("principalId", principalId)
+ .add("workspaceId", workspaceId)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetWorkspaceIdentityDetailRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetWorkspaceIdentityDetailRequest.java
new file mode 100644
index 000000000..d5ddfa57e
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GetWorkspaceIdentityDetailRequest.java
@@ -0,0 +1,46 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import java.util.Objects;
+
+@Generated
+public class GetWorkspaceIdentityDetailRequest {
+ /**
+ * Required. The internal ID of the principal (user/sp/group) for which the identity details are
+ * being requested.
+ */
+ @JsonIgnore private Long principalId;
+
+ public GetWorkspaceIdentityDetailRequest setPrincipalId(Long principalId) {
+ this.principalId = principalId;
+ return this;
+ }
+
+ public Long getPrincipalId() {
+ return principalId;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ GetWorkspaceIdentityDetailRequest that = (GetWorkspaceIdentityDetailRequest) o;
+ return Objects.equals(principalId, that.principalId);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(principalId);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(GetWorkspaceIdentityDetailRequest.class)
+ .add("principalId", principalId)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GroupMembershipSource.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GroupMembershipSource.java
new file mode 100644
index 000000000..6bf0eab3c
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/GroupMembershipSource.java
@@ -0,0 +1,12 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+
+/** The source of the group membership (internal or from identity provider). */
+@Generated
+public enum GroupMembershipSource {
+ IDENTITY_PROVIDER,
+ INTERNAL,
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListDirectGroupMembersProxyRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListDirectGroupMembersProxyRequest.java
new file mode 100644
index 000000000..f9074b7a9
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListDirectGroupMembersProxyRequest.java
@@ -0,0 +1,79 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.QueryParam;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import java.util.Objects;
+
+@Generated
+public class ListDirectGroupMembersProxyRequest {
+ /** Required. Internal ID of the group in Databricks whose direct members are being listed. */
+ @JsonIgnore private Long groupId;
+
+ /**
+ * The maximum number of members to return. The service may return fewer than this value. If not
+ * provided, defaults to 1000 (also the maximum allowed).
+ */
+ @JsonIgnore
+ @QueryParam("page_size")
+ private Long pageSize;
+
+ /** A page token from a previous list call. Provide this to retrieve the subsequent page. */
+ @JsonIgnore
+ @QueryParam("page_token")
+ private String pageToken;
+
+ public ListDirectGroupMembersProxyRequest setGroupId(Long groupId) {
+ this.groupId = groupId;
+ return this;
+ }
+
+ public Long getGroupId() {
+ return groupId;
+ }
+
+ public ListDirectGroupMembersProxyRequest setPageSize(Long pageSize) {
+ this.pageSize = pageSize;
+ return this;
+ }
+
+ public Long getPageSize() {
+ return pageSize;
+ }
+
+ public ListDirectGroupMembersProxyRequest setPageToken(String pageToken) {
+ this.pageToken = pageToken;
+ return this;
+ }
+
+ public String getPageToken() {
+ return pageToken;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ ListDirectGroupMembersProxyRequest that = (ListDirectGroupMembersProxyRequest) o;
+ return Objects.equals(groupId, that.groupId)
+ && Objects.equals(pageSize, that.pageSize)
+ && Objects.equals(pageToken, that.pageToken);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(groupId, pageSize, pageToken);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(ListDirectGroupMembersProxyRequest.class)
+ .add("groupId", groupId)
+ .add("pageSize", pageSize)
+ .add("pageToken", pageToken)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListDirectGroupMembersRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListDirectGroupMembersRequest.java
new file mode 100644
index 000000000..fa5225eaa
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListDirectGroupMembersRequest.java
@@ -0,0 +1,82 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.QueryParam;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import java.util.Objects;
+
+@Generated
+public class ListDirectGroupMembersRequest {
+ /** Required. Internal ID of the group in Databricks whose direct members are being listed. */
+ @JsonIgnore private Long groupId;
+
+ /**
+ * The maximum number of members to return. The service may return fewer than this value. If not
+ * provided, defaults to 1000 (also the maximum allowed).
+ */
+ @JsonIgnore
+ @QueryParam("page_size")
+ private Long pageSize;
+
+ /**
+ * A page token, received from a previous ListDirectGroupMembers call. Provide this to retrieve
+ * the subsequent page.
+ */
+ @JsonIgnore
+ @QueryParam("page_token")
+ private String pageToken;
+
+ public ListDirectGroupMembersRequest setGroupId(Long groupId) {
+ this.groupId = groupId;
+ return this;
+ }
+
+ public Long getGroupId() {
+ return groupId;
+ }
+
+ public ListDirectGroupMembersRequest setPageSize(Long pageSize) {
+ this.pageSize = pageSize;
+ return this;
+ }
+
+ public Long getPageSize() {
+ return pageSize;
+ }
+
+ public ListDirectGroupMembersRequest setPageToken(String pageToken) {
+ this.pageToken = pageToken;
+ return this;
+ }
+
+ public String getPageToken() {
+ return pageToken;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ ListDirectGroupMembersRequest that = (ListDirectGroupMembersRequest) o;
+ return Objects.equals(groupId, that.groupId)
+ && Objects.equals(pageSize, that.pageSize)
+ && Objects.equals(pageToken, that.pageToken);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(groupId, pageSize, pageToken);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(ListDirectGroupMembersRequest.class)
+ .add("groupId", groupId)
+ .add("pageSize", pageSize)
+ .add("pageToken", pageToken)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListDirectGroupMembersResponse.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListDirectGroupMembersResponse.java
new file mode 100644
index 000000000..41519aa94
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListDirectGroupMembersResponse.java
@@ -0,0 +1,65 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Collection;
+import java.util.Objects;
+
+/** Response message for listing direct group members. */
+@Generated
+public class ListDirectGroupMembersResponse {
+ /** The list of direct group members with their membership source type. */
+ @JsonProperty("direct_group_members")
+ private Collection directGroupMembers;
+
+ /**
+ * A token, which can be sent as page_token to retrieve the next page. If this field is omitted,
+ * there are no subsequent pages.
+ */
+ @JsonProperty("next_page_token")
+ private String nextPageToken;
+
+ public ListDirectGroupMembersResponse setDirectGroupMembers(
+ Collection directGroupMembers) {
+ this.directGroupMembers = directGroupMembers;
+ return this;
+ }
+
+ public Collection getDirectGroupMembers() {
+ return directGroupMembers;
+ }
+
+ public ListDirectGroupMembersResponse setNextPageToken(String nextPageToken) {
+ this.nextPageToken = nextPageToken;
+ return this;
+ }
+
+ public String getNextPageToken() {
+ return nextPageToken;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ ListDirectGroupMembersResponse that = (ListDirectGroupMembersResponse) o;
+ return Objects.equals(directGroupMembers, that.directGroupMembers)
+ && Objects.equals(nextPageToken, that.nextPageToken);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(directGroupMembers, nextPageToken);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(ListDirectGroupMembersResponse.class)
+ .add("directGroupMembers", directGroupMembers)
+ .add("nextPageToken", nextPageToken)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListGroupsProxyRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListGroupsProxyRequest.java
new file mode 100644
index 000000000..866f437ee
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListGroupsProxyRequest.java
@@ -0,0 +1,81 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.QueryParam;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import java.util.Objects;
+
+@Generated
+public class ListGroupsProxyRequest {
+ /** Optional. Allows filtering groups by group name or external id. */
+ @JsonIgnore
+ @QueryParam("filter")
+ private String filter;
+
+ /** The maximum number of groups to return. The service may return fewer than this value. */
+ @JsonIgnore
+ @QueryParam("page_size")
+ private Long pageSize;
+
+ /**
+ * A page token, received from a previous ListGroups call. Provide this to retrieve the subsequent
+ * page.
+ */
+ @JsonIgnore
+ @QueryParam("page_token")
+ private String pageToken;
+
+ public ListGroupsProxyRequest setFilter(String filter) {
+ this.filter = filter;
+ return this;
+ }
+
+ public String getFilter() {
+ return filter;
+ }
+
+ public ListGroupsProxyRequest setPageSize(Long pageSize) {
+ this.pageSize = pageSize;
+ return this;
+ }
+
+ public Long getPageSize() {
+ return pageSize;
+ }
+
+ public ListGroupsProxyRequest setPageToken(String pageToken) {
+ this.pageToken = pageToken;
+ return this;
+ }
+
+ public String getPageToken() {
+ return pageToken;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ ListGroupsProxyRequest that = (ListGroupsProxyRequest) o;
+ return Objects.equals(filter, that.filter)
+ && Objects.equals(pageSize, that.pageSize)
+ && Objects.equals(pageToken, that.pageToken);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(filter, pageSize, pageToken);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(ListGroupsProxyRequest.class)
+ .add("filter", filter)
+ .add("pageSize", pageSize)
+ .add("pageToken", pageToken)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListGroupsRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListGroupsRequest.java
new file mode 100644
index 000000000..ea347f965
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListGroupsRequest.java
@@ -0,0 +1,81 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.QueryParam;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import java.util.Objects;
+
+@Generated
+public class ListGroupsRequest {
+ /** Optional. Allows filtering groups by group name or external id. */
+ @JsonIgnore
+ @QueryParam("filter")
+ private String filter;
+
+ /** The maximum number of groups to return. The service may return fewer than this value. */
+ @JsonIgnore
+ @QueryParam("page_size")
+ private Long pageSize;
+
+ /**
+ * A page token, received from a previous ListGroups call. Provide this to retrieve the subsequent
+ * page.
+ */
+ @JsonIgnore
+ @QueryParam("page_token")
+ private String pageToken;
+
+ public ListGroupsRequest setFilter(String filter) {
+ this.filter = filter;
+ return this;
+ }
+
+ public String getFilter() {
+ return filter;
+ }
+
+ public ListGroupsRequest setPageSize(Long pageSize) {
+ this.pageSize = pageSize;
+ return this;
+ }
+
+ public Long getPageSize() {
+ return pageSize;
+ }
+
+ public ListGroupsRequest setPageToken(String pageToken) {
+ this.pageToken = pageToken;
+ return this;
+ }
+
+ public String getPageToken() {
+ return pageToken;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ ListGroupsRequest that = (ListGroupsRequest) o;
+ return Objects.equals(filter, that.filter)
+ && Objects.equals(pageSize, that.pageSize)
+ && Objects.equals(pageToken, that.pageToken);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(filter, pageSize, pageToken);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(ListGroupsRequest.class)
+ .add("filter", filter)
+ .add("pageSize", pageSize)
+ .add("pageToken", pageToken)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListGroupsResponse.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListGroupsResponse.java
new file mode 100644
index 000000000..e1e15930e
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListGroupsResponse.java
@@ -0,0 +1,63 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Collection;
+import java.util.Objects;
+
+/** Response message containing a page of groups in the account. */
+@Generated
+public class ListGroupsResponse {
+ /** */
+ @JsonProperty("groups")
+ private Collection groups;
+
+ /**
+ * A token, which can be sent as page_token to retrieve the next page. If this field is omitted,
+ * there are no subsequent pages.
+ */
+ @JsonProperty("next_page_token")
+ private String nextPageToken;
+
+ public ListGroupsResponse setGroups(Collection groups) {
+ this.groups = groups;
+ return this;
+ }
+
+ public Collection getGroups() {
+ return groups;
+ }
+
+ public ListGroupsResponse setNextPageToken(String nextPageToken) {
+ this.nextPageToken = nextPageToken;
+ return this;
+ }
+
+ public String getNextPageToken() {
+ return nextPageToken;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ ListGroupsResponse that = (ListGroupsResponse) o;
+ return Objects.equals(groups, that.groups) && Objects.equals(nextPageToken, that.nextPageToken);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(groups, nextPageToken);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(ListGroupsResponse.class)
+ .add("groups", groups)
+ .add("nextPageToken", nextPageToken)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListServicePrincipalsProxyRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListServicePrincipalsProxyRequest.java
new file mode 100644
index 000000000..cee72d702
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListServicePrincipalsProxyRequest.java
@@ -0,0 +1,81 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.QueryParam;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import java.util.Objects;
+
+@Generated
+public class ListServicePrincipalsProxyRequest {
+ /** Optional. Allows filtering service principals by application id or external id. */
+ @JsonIgnore
+ @QueryParam("filter")
+ private String filter;
+
+ /** The maximum number of SPs to return. The service may return fewer than this value. */
+ @JsonIgnore
+ @QueryParam("page_size")
+ private Long pageSize;
+
+ /**
+ * A page token, received from a previous ListServicePrincipals call. Provide this to retrieve the
+ * subsequent page.
+ */
+ @JsonIgnore
+ @QueryParam("page_token")
+ private String pageToken;
+
+ public ListServicePrincipalsProxyRequest setFilter(String filter) {
+ this.filter = filter;
+ return this;
+ }
+
+ public String getFilter() {
+ return filter;
+ }
+
+ public ListServicePrincipalsProxyRequest setPageSize(Long pageSize) {
+ this.pageSize = pageSize;
+ return this;
+ }
+
+ public Long getPageSize() {
+ return pageSize;
+ }
+
+ public ListServicePrincipalsProxyRequest setPageToken(String pageToken) {
+ this.pageToken = pageToken;
+ return this;
+ }
+
+ public String getPageToken() {
+ return pageToken;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ ListServicePrincipalsProxyRequest that = (ListServicePrincipalsProxyRequest) o;
+ return Objects.equals(filter, that.filter)
+ && Objects.equals(pageSize, that.pageSize)
+ && Objects.equals(pageToken, that.pageToken);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(filter, pageSize, pageToken);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(ListServicePrincipalsProxyRequest.class)
+ .add("filter", filter)
+ .add("pageSize", pageSize)
+ .add("pageToken", pageToken)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListServicePrincipalsRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListServicePrincipalsRequest.java
new file mode 100644
index 000000000..cfb2695a9
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListServicePrincipalsRequest.java
@@ -0,0 +1,84 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.QueryParam;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import java.util.Objects;
+
+@Generated
+public class ListServicePrincipalsRequest {
+ /** Optional. Allows filtering service principals by application id or external id. */
+ @JsonIgnore
+ @QueryParam("filter")
+ private String filter;
+
+ /**
+ * The maximum number of service principals to return. The service may return fewer than this
+ * value.
+ */
+ @JsonIgnore
+ @QueryParam("page_size")
+ private Long pageSize;
+
+ /**
+ * A page token, received from a previous ListServicePrincipals call. Provide this to retrieve the
+ * subsequent page.
+ */
+ @JsonIgnore
+ @QueryParam("page_token")
+ private String pageToken;
+
+ public ListServicePrincipalsRequest setFilter(String filter) {
+ this.filter = filter;
+ return this;
+ }
+
+ public String getFilter() {
+ return filter;
+ }
+
+ public ListServicePrincipalsRequest setPageSize(Long pageSize) {
+ this.pageSize = pageSize;
+ return this;
+ }
+
+ public Long getPageSize() {
+ return pageSize;
+ }
+
+ public ListServicePrincipalsRequest setPageToken(String pageToken) {
+ this.pageToken = pageToken;
+ return this;
+ }
+
+ public String getPageToken() {
+ return pageToken;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ ListServicePrincipalsRequest that = (ListServicePrincipalsRequest) o;
+ return Objects.equals(filter, that.filter)
+ && Objects.equals(pageSize, that.pageSize)
+ && Objects.equals(pageToken, that.pageToken);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(filter, pageSize, pageToken);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(ListServicePrincipalsRequest.class)
+ .add("filter", filter)
+ .add("pageSize", pageSize)
+ .add("pageToken", pageToken)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListServicePrincipalsResponse.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListServicePrincipalsResponse.java
new file mode 100644
index 000000000..39d78b8de
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListServicePrincipalsResponse.java
@@ -0,0 +1,65 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Collection;
+import java.util.Objects;
+
+/** Response message containing a page of service principals in the account. */
+@Generated
+public class ListServicePrincipalsResponse {
+ /**
+ * A token, which can be sent as page_token to retrieve the next page. If this field is omitted,
+ * there are no subsequent pages.
+ */
+ @JsonProperty("next_page_token")
+ private String nextPageToken;
+
+ /** */
+ @JsonProperty("service_principals")
+ private Collection servicePrincipals;
+
+ public ListServicePrincipalsResponse setNextPageToken(String nextPageToken) {
+ this.nextPageToken = nextPageToken;
+ return this;
+ }
+
+ public String getNextPageToken() {
+ return nextPageToken;
+ }
+
+ public ListServicePrincipalsResponse setServicePrincipals(
+ Collection servicePrincipals) {
+ this.servicePrincipals = servicePrincipals;
+ return this;
+ }
+
+ public Collection getServicePrincipals() {
+ return servicePrincipals;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ ListServicePrincipalsResponse that = (ListServicePrincipalsResponse) o;
+ return Objects.equals(nextPageToken, that.nextPageToken)
+ && Objects.equals(servicePrincipals, that.servicePrincipals);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(nextPageToken, servicePrincipals);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(ListServicePrincipalsResponse.class)
+ .add("nextPageToken", nextPageToken)
+ .add("servicePrincipals", servicePrincipals)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListTransitiveParentGroupsProxyRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListTransitiveParentGroupsProxyRequest.java
new file mode 100644
index 000000000..d1736b8fc
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListTransitiveParentGroupsProxyRequest.java
@@ -0,0 +1,85 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.QueryParam;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import java.util.Objects;
+
+@Generated
+public class ListTransitiveParentGroupsProxyRequest {
+ /**
+ * The maximum number of parent groups to return. The service may return fewer than this value. If
+ * not provided, defaults to 1000 (also the maximum allowed).
+ */
+ @JsonIgnore
+ @QueryParam("page_size")
+ private Long pageSize;
+
+ /**
+ * A page token, received from a previous ListTransitiveParentGroups call. Provide this to
+ * retrieve the subsequent page.
+ */
+ @JsonIgnore
+ @QueryParam("page_token")
+ private String pageToken;
+
+ /**
+ * Required. Internal ID of the principal in Databricks whose transitive parent groups are being
+ * listed.
+ */
+ @JsonIgnore private Long principalId;
+
+ public ListTransitiveParentGroupsProxyRequest setPageSize(Long pageSize) {
+ this.pageSize = pageSize;
+ return this;
+ }
+
+ public Long getPageSize() {
+ return pageSize;
+ }
+
+ public ListTransitiveParentGroupsProxyRequest setPageToken(String pageToken) {
+ this.pageToken = pageToken;
+ return this;
+ }
+
+ public String getPageToken() {
+ return pageToken;
+ }
+
+ public ListTransitiveParentGroupsProxyRequest setPrincipalId(Long principalId) {
+ this.principalId = principalId;
+ return this;
+ }
+
+ public Long getPrincipalId() {
+ return principalId;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ ListTransitiveParentGroupsProxyRequest that = (ListTransitiveParentGroupsProxyRequest) o;
+ return Objects.equals(pageSize, that.pageSize)
+ && Objects.equals(pageToken, that.pageToken)
+ && Objects.equals(principalId, that.principalId);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(pageSize, pageToken, principalId);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(ListTransitiveParentGroupsProxyRequest.class)
+ .add("pageSize", pageSize)
+ .add("pageToken", pageToken)
+ .add("principalId", principalId)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListTransitiveParentGroupsRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListTransitiveParentGroupsRequest.java
new file mode 100644
index 000000000..676656545
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListTransitiveParentGroupsRequest.java
@@ -0,0 +1,85 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.QueryParam;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import java.util.Objects;
+
+@Generated
+public class ListTransitiveParentGroupsRequest {
+ /**
+ * The maximum number of parent groups to return. The service may return fewer than this value. If
+ * not provided, defaults to 1000 (also the maximum allowed).
+ */
+ @JsonIgnore
+ @QueryParam("page_size")
+ private Long pageSize;
+
+ /**
+ * A page token, received from a previous ListTransitiveParentGroups call. Provide this to
+ * retrieve the subsequent page.
+ */
+ @JsonIgnore
+ @QueryParam("page_token")
+ private String pageToken;
+
+ /**
+ * Required. Internal ID of the principal in Databricks whose transitive parent groups are being
+ * listed.
+ */
+ @JsonIgnore private Long principalId;
+
+ public ListTransitiveParentGroupsRequest setPageSize(Long pageSize) {
+ this.pageSize = pageSize;
+ return this;
+ }
+
+ public Long getPageSize() {
+ return pageSize;
+ }
+
+ public ListTransitiveParentGroupsRequest setPageToken(String pageToken) {
+ this.pageToken = pageToken;
+ return this;
+ }
+
+ public String getPageToken() {
+ return pageToken;
+ }
+
+ public ListTransitiveParentGroupsRequest setPrincipalId(Long principalId) {
+ this.principalId = principalId;
+ return this;
+ }
+
+ public Long getPrincipalId() {
+ return principalId;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ ListTransitiveParentGroupsRequest that = (ListTransitiveParentGroupsRequest) o;
+ return Objects.equals(pageSize, that.pageSize)
+ && Objects.equals(pageToken, that.pageToken)
+ && Objects.equals(principalId, that.principalId);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(pageSize, pageToken, principalId);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(ListTransitiveParentGroupsRequest.class)
+ .add("pageSize", pageSize)
+ .add("pageToken", pageToken)
+ .add("principalId", principalId)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListTransitiveParentGroupsResponse.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListTransitiveParentGroupsResponse.java
new file mode 100644
index 000000000..c173b5e0f
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListTransitiveParentGroupsResponse.java
@@ -0,0 +1,65 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Collection;
+import java.util.Objects;
+
+/** Response message for listing all transitive parent groups of a principal. */
+@Generated
+public class ListTransitiveParentGroupsResponse {
+ /**
+ * A token, which can be sent as page_token to retrieve the next page. If this field is omitted,
+ * there are no subsequent pages.
+ */
+ @JsonProperty("next_page_token")
+ private String nextPageToken;
+
+ /** The list of transitive parent groups. */
+ @JsonProperty("transitive_parent_groups")
+ private Collection transitiveParentGroups;
+
+ public ListTransitiveParentGroupsResponse setNextPageToken(String nextPageToken) {
+ this.nextPageToken = nextPageToken;
+ return this;
+ }
+
+ public String getNextPageToken() {
+ return nextPageToken;
+ }
+
+ public ListTransitiveParentGroupsResponse setTransitiveParentGroups(
+ Collection transitiveParentGroups) {
+ this.transitiveParentGroups = transitiveParentGroups;
+ return this;
+ }
+
+ public Collection getTransitiveParentGroups() {
+ return transitiveParentGroups;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ ListTransitiveParentGroupsResponse that = (ListTransitiveParentGroupsResponse) o;
+ return Objects.equals(nextPageToken, that.nextPageToken)
+ && Objects.equals(transitiveParentGroups, that.transitiveParentGroups);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(nextPageToken, transitiveParentGroups);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(ListTransitiveParentGroupsResponse.class)
+ .add("nextPageToken", nextPageToken)
+ .add("transitiveParentGroups", transitiveParentGroups)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListUsersProxyRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListUsersProxyRequest.java
new file mode 100644
index 000000000..62db974ba
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListUsersProxyRequest.java
@@ -0,0 +1,81 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.QueryParam;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import java.util.Objects;
+
+@Generated
+public class ListUsersProxyRequest {
+ /** Optional. Allows filtering users by username or external id. */
+ @JsonIgnore
+ @QueryParam("filter")
+ private String filter;
+
+ /** The maximum number of users to return. The service may return fewer than this value. */
+ @JsonIgnore
+ @QueryParam("page_size")
+ private Long pageSize;
+
+ /**
+ * A page token, received from a previous ListUsers call. Provide this to retrieve the subsequent
+ * page.
+ */
+ @JsonIgnore
+ @QueryParam("page_token")
+ private String pageToken;
+
+ public ListUsersProxyRequest setFilter(String filter) {
+ this.filter = filter;
+ return this;
+ }
+
+ public String getFilter() {
+ return filter;
+ }
+
+ public ListUsersProxyRequest setPageSize(Long pageSize) {
+ this.pageSize = pageSize;
+ return this;
+ }
+
+ public Long getPageSize() {
+ return pageSize;
+ }
+
+ public ListUsersProxyRequest setPageToken(String pageToken) {
+ this.pageToken = pageToken;
+ return this;
+ }
+
+ public String getPageToken() {
+ return pageToken;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ ListUsersProxyRequest that = (ListUsersProxyRequest) o;
+ return Objects.equals(filter, that.filter)
+ && Objects.equals(pageSize, that.pageSize)
+ && Objects.equals(pageToken, that.pageToken);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(filter, pageSize, pageToken);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(ListUsersProxyRequest.class)
+ .add("filter", filter)
+ .add("pageSize", pageSize)
+ .add("pageToken", pageToken)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListUsersRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListUsersRequest.java
new file mode 100644
index 000000000..c89bad6ed
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListUsersRequest.java
@@ -0,0 +1,81 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.QueryParam;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import java.util.Objects;
+
+@Generated
+public class ListUsersRequest {
+ /** Optional. Allows filtering users by username or external id. */
+ @JsonIgnore
+ @QueryParam("filter")
+ private String filter;
+
+ /** The maximum number of users to return. The service may return fewer than this value. */
+ @JsonIgnore
+ @QueryParam("page_size")
+ private Long pageSize;
+
+ /**
+ * A page token, received from a previous ListUsers call. Provide this to retrieve the subsequent
+ * page.
+ */
+ @JsonIgnore
+ @QueryParam("page_token")
+ private String pageToken;
+
+ public ListUsersRequest setFilter(String filter) {
+ this.filter = filter;
+ return this;
+ }
+
+ public String getFilter() {
+ return filter;
+ }
+
+ public ListUsersRequest setPageSize(Long pageSize) {
+ this.pageSize = pageSize;
+ return this;
+ }
+
+ public Long getPageSize() {
+ return pageSize;
+ }
+
+ public ListUsersRequest setPageToken(String pageToken) {
+ this.pageToken = pageToken;
+ return this;
+ }
+
+ public String getPageToken() {
+ return pageToken;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ ListUsersRequest that = (ListUsersRequest) o;
+ return Objects.equals(filter, that.filter)
+ && Objects.equals(pageSize, that.pageSize)
+ && Objects.equals(pageToken, that.pageToken);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(filter, pageSize, pageToken);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(ListUsersRequest.class)
+ .add("filter", filter)
+ .add("pageSize", pageSize)
+ .add("pageToken", pageToken)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListUsersResponse.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListUsersResponse.java
new file mode 100644
index 000000000..08033fc3d
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListUsersResponse.java
@@ -0,0 +1,62 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Collection;
+import java.util.Objects;
+
+@Generated
+public class ListUsersResponse {
+ /**
+ * A token, which can be sent as page_token to retrieve the next page. If this field is omitted,
+ * there are no subsequent pages.
+ */
+ @JsonProperty("next_page_token")
+ private String nextPageToken;
+
+ /** */
+ @JsonProperty("users")
+ private Collection users;
+
+ public ListUsersResponse setNextPageToken(String nextPageToken) {
+ this.nextPageToken = nextPageToken;
+ return this;
+ }
+
+ public String getNextPageToken() {
+ return nextPageToken;
+ }
+
+ public ListUsersResponse setUsers(Collection users) {
+ this.users = users;
+ return this;
+ }
+
+ public Collection getUsers() {
+ return users;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ ListUsersResponse that = (ListUsersResponse) o;
+ return Objects.equals(nextPageToken, that.nextPageToken) && Objects.equals(users, that.users);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(nextPageToken, users);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(ListUsersResponse.class)
+ .add("nextPageToken", nextPageToken)
+ .add("users", users)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListWorkspaceAssignmentsProxyRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListWorkspaceAssignmentsProxyRequest.java
new file mode 100644
index 000000000..4906af9ce
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListWorkspaceAssignmentsProxyRequest.java
@@ -0,0 +1,64 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.QueryParam;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import java.util.Objects;
+
+@Generated
+public class ListWorkspaceAssignmentsProxyRequest {
+ /**
+ * The maximum number of workspace assignments to return. The service may return fewer than this
+ * value.
+ */
+ @JsonIgnore
+ @QueryParam("page_size")
+ private Long pageSize;
+
+ /** A page token from a previous list call. Provide this to retrieve the subsequent page. */
+ @JsonIgnore
+ @QueryParam("page_token")
+ private String pageToken;
+
+ public ListWorkspaceAssignmentsProxyRequest setPageSize(Long pageSize) {
+ this.pageSize = pageSize;
+ return this;
+ }
+
+ public Long getPageSize() {
+ return pageSize;
+ }
+
+ public ListWorkspaceAssignmentsProxyRequest setPageToken(String pageToken) {
+ this.pageToken = pageToken;
+ return this;
+ }
+
+ public String getPageToken() {
+ return pageToken;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ ListWorkspaceAssignmentsProxyRequest that = (ListWorkspaceAssignmentsProxyRequest) o;
+ return Objects.equals(pageSize, that.pageSize) && Objects.equals(pageToken, that.pageToken);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(pageSize, pageToken);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(ListWorkspaceAssignmentsProxyRequest.class)
+ .add("pageSize", pageSize)
+ .add("pageToken", pageToken)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListWorkspaceAssignmentsRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListWorkspaceAssignmentsRequest.java
new file mode 100644
index 000000000..440a26e45
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListWorkspaceAssignmentsRequest.java
@@ -0,0 +1,82 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.QueryParam;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import java.util.Objects;
+
+@Generated
+public class ListWorkspaceAssignmentsRequest {
+ /**
+ * The maximum number of workspace assignments to return. The service may return fewer than this
+ * value.
+ */
+ @JsonIgnore
+ @QueryParam("page_size")
+ private Long pageSize;
+
+ /**
+ * A page token, received from a previous ListWorkspaceAssignments call. Provide this to retrieve
+ * the subsequent page.
+ */
+ @JsonIgnore
+ @QueryParam("page_token")
+ private String pageToken;
+
+ /** Required. The workspace ID for which the workspace assignments are being fetched. */
+ @JsonIgnore private Long workspaceId;
+
+ public ListWorkspaceAssignmentsRequest setPageSize(Long pageSize) {
+ this.pageSize = pageSize;
+ return this;
+ }
+
+ public Long getPageSize() {
+ return pageSize;
+ }
+
+ public ListWorkspaceAssignmentsRequest setPageToken(String pageToken) {
+ this.pageToken = pageToken;
+ return this;
+ }
+
+ public String getPageToken() {
+ return pageToken;
+ }
+
+ public ListWorkspaceAssignmentsRequest setWorkspaceId(Long workspaceId) {
+ this.workspaceId = workspaceId;
+ return this;
+ }
+
+ public Long getWorkspaceId() {
+ return workspaceId;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ ListWorkspaceAssignmentsRequest that = (ListWorkspaceAssignmentsRequest) o;
+ return Objects.equals(pageSize, that.pageSize)
+ && Objects.equals(pageToken, that.pageToken)
+ && Objects.equals(workspaceId, that.workspaceId);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(pageSize, pageToken, workspaceId);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(ListWorkspaceAssignmentsRequest.class)
+ .add("pageSize", pageSize)
+ .add("pageToken", pageToken)
+ .add("workspaceId", workspaceId)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListWorkspaceAssignmentsResponse.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListWorkspaceAssignmentsResponse.java
new file mode 100644
index 000000000..b94568e51
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListWorkspaceAssignmentsResponse.java
@@ -0,0 +1,65 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Collection;
+import java.util.Objects;
+
+/** Response message for listing workspace assignments. */
+@Generated
+public class ListWorkspaceAssignmentsResponse {
+ /**
+ * A token, which can be sent as page_token to retrieve the next page. If this field is omitted,
+ * there are no subsequent pages.
+ */
+ @JsonProperty("next_page_token")
+ private String nextPageToken;
+
+ /** */
+ @JsonProperty("workspace_assignments")
+ private Collection workspaceAssignments;
+
+ public ListWorkspaceAssignmentsResponse setNextPageToken(String nextPageToken) {
+ this.nextPageToken = nextPageToken;
+ return this;
+ }
+
+ public String getNextPageToken() {
+ return nextPageToken;
+ }
+
+ public ListWorkspaceAssignmentsResponse setWorkspaceAssignments(
+ Collection workspaceAssignments) {
+ this.workspaceAssignments = workspaceAssignments;
+ return this;
+ }
+
+ public Collection getWorkspaceAssignments() {
+ return workspaceAssignments;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ ListWorkspaceAssignmentsResponse that = (ListWorkspaceAssignmentsResponse) o;
+ return Objects.equals(nextPageToken, that.nextPageToken)
+ && Objects.equals(workspaceAssignments, that.workspaceAssignments);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(nextPageToken, workspaceAssignments);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(ListWorkspaceAssignmentsResponse.class)
+ .add("nextPageToken", nextPageToken)
+ .add("workspaceAssignments", workspaceAssignments)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/TransitiveParentGroup.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/TransitiveParentGroup.java
new file mode 100644
index 000000000..4f11444d9
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/TransitiveParentGroup.java
@@ -0,0 +1,75 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Objects;
+
+/** Represents a group that is a transitive parent of a principal. */
+@Generated
+public class TransitiveParentGroup {
+ /** The parent account ID for group in Databricks. */
+ @JsonProperty("account_id")
+ private String accountId;
+
+ /** ExternalId of the group in the customer's IdP. */
+ @JsonProperty("external_id")
+ private String externalId;
+
+ /** Internal group ID of the group in Databricks. */
+ @JsonProperty("group_id")
+ private String groupId;
+
+ public TransitiveParentGroup setAccountId(String accountId) {
+ this.accountId = accountId;
+ return this;
+ }
+
+ public String getAccountId() {
+ return accountId;
+ }
+
+ public TransitiveParentGroup setExternalId(String externalId) {
+ this.externalId = externalId;
+ return this;
+ }
+
+ public String getExternalId() {
+ return externalId;
+ }
+
+ public TransitiveParentGroup setGroupId(String groupId) {
+ this.groupId = groupId;
+ return this;
+ }
+
+ public String getGroupId() {
+ return groupId;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ TransitiveParentGroup that = (TransitiveParentGroup) o;
+ return Objects.equals(accountId, that.accountId)
+ && Objects.equals(externalId, that.externalId)
+ && Objects.equals(groupId, that.groupId);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(accountId, externalId, groupId);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(TransitiveParentGroup.class)
+ .add("accountId", accountId)
+ .add("externalId", externalId)
+ .add("groupId", groupId)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/UpdateGroupProxyRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/UpdateGroupProxyRequest.java
new file mode 100644
index 000000000..c5a9e6bc5
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/UpdateGroupProxyRequest.java
@@ -0,0 +1,76 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.QueryParam;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Objects;
+
+@Generated
+public class UpdateGroupProxyRequest {
+ /** Required. Group to be updated in */
+ @JsonProperty("group")
+ private Group group;
+
+ /** Required. Internal ID of the group in Databricks. */
+ @JsonIgnore private String groupId;
+
+ /** Optional. The list of fields to update. */
+ @JsonIgnore
+ @QueryParam("update_mask")
+ private String updateMask;
+
+ public UpdateGroupProxyRequest setGroup(Group group) {
+ this.group = group;
+ return this;
+ }
+
+ public Group getGroup() {
+ return group;
+ }
+
+ public UpdateGroupProxyRequest setGroupId(String groupId) {
+ this.groupId = groupId;
+ return this;
+ }
+
+ public String getGroupId() {
+ return groupId;
+ }
+
+ public UpdateGroupProxyRequest setUpdateMask(String updateMask) {
+ this.updateMask = updateMask;
+ return this;
+ }
+
+ public String getUpdateMask() {
+ return updateMask;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ UpdateGroupProxyRequest that = (UpdateGroupProxyRequest) o;
+ return Objects.equals(group, that.group)
+ && Objects.equals(groupId, that.groupId)
+ && Objects.equals(updateMask, that.updateMask);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(group, groupId, updateMask);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(UpdateGroupProxyRequest.class)
+ .add("group", group)
+ .add("groupId", groupId)
+ .add("updateMask", updateMask)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/UpdateGroupRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/UpdateGroupRequest.java
new file mode 100644
index 000000000..de1a4952f
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/UpdateGroupRequest.java
@@ -0,0 +1,76 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.QueryParam;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Objects;
+
+@Generated
+public class UpdateGroupRequest {
+ /** Required. Group to be updated in */
+ @JsonProperty("group")
+ private Group group;
+
+ /** Required. Internal ID of the group in Databricks. */
+ @JsonIgnore private String groupId;
+
+ /** Optional. The list of fields to update. */
+ @JsonIgnore
+ @QueryParam("update_mask")
+ private String updateMask;
+
+ public UpdateGroupRequest setGroup(Group group) {
+ this.group = group;
+ return this;
+ }
+
+ public Group getGroup() {
+ return group;
+ }
+
+ public UpdateGroupRequest setGroupId(String groupId) {
+ this.groupId = groupId;
+ return this;
+ }
+
+ public String getGroupId() {
+ return groupId;
+ }
+
+ public UpdateGroupRequest setUpdateMask(String updateMask) {
+ this.updateMask = updateMask;
+ return this;
+ }
+
+ public String getUpdateMask() {
+ return updateMask;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ UpdateGroupRequest that = (UpdateGroupRequest) o;
+ return Objects.equals(group, that.group)
+ && Objects.equals(groupId, that.groupId)
+ && Objects.equals(updateMask, that.updateMask);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(group, groupId, updateMask);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(UpdateGroupRequest.class)
+ .add("group", group)
+ .add("groupId", groupId)
+ .add("updateMask", updateMask)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/UpdateServicePrincipalProxyRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/UpdateServicePrincipalProxyRequest.java
new file mode 100644
index 000000000..091de5312
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/UpdateServicePrincipalProxyRequest.java
@@ -0,0 +1,76 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.QueryParam;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Objects;
+
+@Generated
+public class UpdateServicePrincipalProxyRequest {
+ /** Required. Service principal to be updated in */
+ @JsonProperty("service_principal")
+ private ServicePrincipal servicePrincipal;
+
+ /** Required. Internal ID of the service principal in Databricks. */
+ @JsonIgnore private String servicePrincipalId;
+
+ /** Optional. The list of fields to update. */
+ @JsonIgnore
+ @QueryParam("update_mask")
+ private String updateMask;
+
+ public UpdateServicePrincipalProxyRequest setServicePrincipal(ServicePrincipal servicePrincipal) {
+ this.servicePrincipal = servicePrincipal;
+ return this;
+ }
+
+ public ServicePrincipal getServicePrincipal() {
+ return servicePrincipal;
+ }
+
+ public UpdateServicePrincipalProxyRequest setServicePrincipalId(String servicePrincipalId) {
+ this.servicePrincipalId = servicePrincipalId;
+ return this;
+ }
+
+ public String getServicePrincipalId() {
+ return servicePrincipalId;
+ }
+
+ public UpdateServicePrincipalProxyRequest setUpdateMask(String updateMask) {
+ this.updateMask = updateMask;
+ return this;
+ }
+
+ public String getUpdateMask() {
+ return updateMask;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ UpdateServicePrincipalProxyRequest that = (UpdateServicePrincipalProxyRequest) o;
+ return Objects.equals(servicePrincipal, that.servicePrincipal)
+ && Objects.equals(servicePrincipalId, that.servicePrincipalId)
+ && Objects.equals(updateMask, that.updateMask);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(servicePrincipal, servicePrincipalId, updateMask);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(UpdateServicePrincipalProxyRequest.class)
+ .add("servicePrincipal", servicePrincipal)
+ .add("servicePrincipalId", servicePrincipalId)
+ .add("updateMask", updateMask)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/UpdateServicePrincipalRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/UpdateServicePrincipalRequest.java
new file mode 100644
index 000000000..1c5f67d44
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/UpdateServicePrincipalRequest.java
@@ -0,0 +1,76 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.QueryParam;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Objects;
+
+@Generated
+public class UpdateServicePrincipalRequest {
+ /** Required. Service Principal to be updated in */
+ @JsonProperty("service_principal")
+ private ServicePrincipal servicePrincipal;
+
+ /** Required. Internal ID of the service principal in Databricks. */
+ @JsonIgnore private String servicePrincipalId;
+
+ /** Optional. The list of fields to update. */
+ @JsonIgnore
+ @QueryParam("update_mask")
+ private String updateMask;
+
+ public UpdateServicePrincipalRequest setServicePrincipal(ServicePrincipal servicePrincipal) {
+ this.servicePrincipal = servicePrincipal;
+ return this;
+ }
+
+ public ServicePrincipal getServicePrincipal() {
+ return servicePrincipal;
+ }
+
+ public UpdateServicePrincipalRequest setServicePrincipalId(String servicePrincipalId) {
+ this.servicePrincipalId = servicePrincipalId;
+ return this;
+ }
+
+ public String getServicePrincipalId() {
+ return servicePrincipalId;
+ }
+
+ public UpdateServicePrincipalRequest setUpdateMask(String updateMask) {
+ this.updateMask = updateMask;
+ return this;
+ }
+
+ public String getUpdateMask() {
+ return updateMask;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ UpdateServicePrincipalRequest that = (UpdateServicePrincipalRequest) o;
+ return Objects.equals(servicePrincipal, that.servicePrincipal)
+ && Objects.equals(servicePrincipalId, that.servicePrincipalId)
+ && Objects.equals(updateMask, that.updateMask);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(servicePrincipal, servicePrincipalId, updateMask);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(UpdateServicePrincipalRequest.class)
+ .add("servicePrincipal", servicePrincipal)
+ .add("servicePrincipalId", servicePrincipalId)
+ .add("updateMask", updateMask)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/UpdateUserProxyRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/UpdateUserProxyRequest.java
new file mode 100644
index 000000000..b755e5214
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/UpdateUserProxyRequest.java
@@ -0,0 +1,76 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.QueryParam;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Objects;
+
+@Generated
+public class UpdateUserProxyRequest {
+ /** Optional. The list of fields to update. */
+ @JsonIgnore
+ @QueryParam("update_mask")
+ private String updateMask;
+
+ /** Required. User to be updated in */
+ @JsonProperty("user")
+ private User user;
+
+ /** Required. Internal ID of the user in Databricks. */
+ @JsonIgnore private String userId;
+
+ public UpdateUserProxyRequest setUpdateMask(String updateMask) {
+ this.updateMask = updateMask;
+ return this;
+ }
+
+ public String getUpdateMask() {
+ return updateMask;
+ }
+
+ public UpdateUserProxyRequest setUser(User user) {
+ this.user = user;
+ return this;
+ }
+
+ public User getUser() {
+ return user;
+ }
+
+ public UpdateUserProxyRequest setUserId(String userId) {
+ this.userId = userId;
+ return this;
+ }
+
+ public String getUserId() {
+ return userId;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ UpdateUserProxyRequest that = (UpdateUserProxyRequest) o;
+ return Objects.equals(updateMask, that.updateMask)
+ && Objects.equals(user, that.user)
+ && Objects.equals(userId, that.userId);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(updateMask, user, userId);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(UpdateUserProxyRequest.class)
+ .add("updateMask", updateMask)
+ .add("user", user)
+ .add("userId", userId)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/UpdateUserRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/UpdateUserRequest.java
new file mode 100644
index 000000000..209ba0890
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/UpdateUserRequest.java
@@ -0,0 +1,76 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.QueryParam;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Objects;
+
+@Generated
+public class UpdateUserRequest {
+ /** Optional. The list of fields to update. */
+ @JsonIgnore
+ @QueryParam("update_mask")
+ private String updateMask;
+
+ /** Required. User to be updated in */
+ @JsonProperty("user")
+ private User user;
+
+ /** Required. Internal ID of the user in Databricks. */
+ @JsonIgnore private String userId;
+
+ public UpdateUserRequest setUpdateMask(String updateMask) {
+ this.updateMask = updateMask;
+ return this;
+ }
+
+ public String getUpdateMask() {
+ return updateMask;
+ }
+
+ public UpdateUserRequest setUser(User user) {
+ this.user = user;
+ return this;
+ }
+
+ public User getUser() {
+ return user;
+ }
+
+ public UpdateUserRequest setUserId(String userId) {
+ this.userId = userId;
+ return this;
+ }
+
+ public String getUserId() {
+ return userId;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ UpdateUserRequest that = (UpdateUserRequest) o;
+ return Objects.equals(updateMask, that.updateMask)
+ && Objects.equals(user, that.user)
+ && Objects.equals(userId, that.userId);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(updateMask, user, userId);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(UpdateUserRequest.class)
+ .add("updateMask", updateMask)
+ .add("user", user)
+ .add("userId", userId)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/UpdateWorkspaceAssignmentProxyRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/UpdateWorkspaceAssignmentProxyRequest.java
new file mode 100644
index 000000000..98ca1233f
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/UpdateWorkspaceAssignmentProxyRequest.java
@@ -0,0 +1,78 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.QueryParam;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.google.protobuf.FieldMask;
+import java.util.Objects;
+
+@Generated
+public class UpdateWorkspaceAssignmentProxyRequest {
+ /** Required. ID of the principal in Databricks. */
+ @JsonIgnore private Long principalId;
+
+ /** Required. The list of fields to update. */
+ @JsonIgnore
+ @QueryParam("update_mask")
+ private FieldMask updateMask;
+
+ /** Required. Workspace assignment to be updated in . */
+ @JsonProperty("workspace_assignment")
+ private WorkspaceAssignment workspaceAssignment;
+
+ public UpdateWorkspaceAssignmentProxyRequest setPrincipalId(Long principalId) {
+ this.principalId = principalId;
+ return this;
+ }
+
+ public Long getPrincipalId() {
+ return principalId;
+ }
+
+ public UpdateWorkspaceAssignmentProxyRequest setUpdateMask(FieldMask updateMask) {
+ this.updateMask = updateMask;
+ return this;
+ }
+
+ public FieldMask getUpdateMask() {
+ return updateMask;
+ }
+
+ public UpdateWorkspaceAssignmentProxyRequest setWorkspaceAssignment(
+ WorkspaceAssignment workspaceAssignment) {
+ this.workspaceAssignment = workspaceAssignment;
+ return this;
+ }
+
+ public WorkspaceAssignment getWorkspaceAssignment() {
+ return workspaceAssignment;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ UpdateWorkspaceAssignmentProxyRequest that = (UpdateWorkspaceAssignmentProxyRequest) o;
+ return Objects.equals(principalId, that.principalId)
+ && Objects.equals(updateMask, that.updateMask)
+ && Objects.equals(workspaceAssignment, that.workspaceAssignment);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(principalId, updateMask, workspaceAssignment);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(UpdateWorkspaceAssignmentProxyRequest.class)
+ .add("principalId", principalId)
+ .add("updateMask", updateMask)
+ .add("workspaceAssignment", workspaceAssignment)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/UpdateWorkspaceAssignmentRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/UpdateWorkspaceAssignmentRequest.java
new file mode 100644
index 000000000..042954c1f
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/UpdateWorkspaceAssignmentRequest.java
@@ -0,0 +1,92 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.QueryParam;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.google.protobuf.FieldMask;
+import java.util.Objects;
+
+@Generated
+public class UpdateWorkspaceAssignmentRequest {
+ /** Required. ID of the principal in Databricks. */
+ @JsonIgnore private Long principalId;
+
+ /** Required. The list of fields to update. */
+ @JsonIgnore
+ @QueryParam("update_mask")
+ private FieldMask updateMask;
+
+ /** Required. Workspace assignment to be updated in . */
+ @JsonProperty("workspace_assignment")
+ private WorkspaceAssignment workspaceAssignment;
+
+ /** Required. The workspace ID for which the workspace assignment is being updated. */
+ @JsonIgnore private Long workspaceId;
+
+ public UpdateWorkspaceAssignmentRequest setPrincipalId(Long principalId) {
+ this.principalId = principalId;
+ return this;
+ }
+
+ public Long getPrincipalId() {
+ return principalId;
+ }
+
+ public UpdateWorkspaceAssignmentRequest setUpdateMask(FieldMask updateMask) {
+ this.updateMask = updateMask;
+ return this;
+ }
+
+ public FieldMask getUpdateMask() {
+ return updateMask;
+ }
+
+ public UpdateWorkspaceAssignmentRequest setWorkspaceAssignment(
+ WorkspaceAssignment workspaceAssignment) {
+ this.workspaceAssignment = workspaceAssignment;
+ return this;
+ }
+
+ public WorkspaceAssignment getWorkspaceAssignment() {
+ return workspaceAssignment;
+ }
+
+ public UpdateWorkspaceAssignmentRequest setWorkspaceId(Long workspaceId) {
+ this.workspaceId = workspaceId;
+ return this;
+ }
+
+ public Long getWorkspaceId() {
+ return workspaceId;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ UpdateWorkspaceAssignmentRequest that = (UpdateWorkspaceAssignmentRequest) o;
+ return Objects.equals(principalId, that.principalId)
+ && Objects.equals(updateMask, that.updateMask)
+ && Objects.equals(workspaceAssignment, that.workspaceAssignment)
+ && Objects.equals(workspaceId, that.workspaceId);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(principalId, updateMask, workspaceAssignment, workspaceId);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(UpdateWorkspaceAssignmentRequest.class)
+ .add("principalId", principalId)
+ .add("updateMask", updateMask)
+ .add("workspaceAssignment", workspaceAssignment)
+ .add("workspaceId", workspaceId)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/UpdateWorkspaceIdentityDetailRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/UpdateWorkspaceIdentityDetailRequest.java
new file mode 100644
index 000000000..392b6bc6c
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/UpdateWorkspaceIdentityDetailRequest.java
@@ -0,0 +1,78 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.QueryParam;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.google.protobuf.FieldMask;
+import java.util.Objects;
+
+@Generated
+public class UpdateWorkspaceIdentityDetailRequest {
+ /** Required. ID of the principal in Databricks. */
+ @JsonIgnore private Long principalId;
+
+ /** Required. The list of fields to update. */
+ @JsonIgnore
+ @QueryParam("update_mask")
+ private FieldMask updateMask;
+
+ /** Required. Workspace identity detail to be updated in . */
+ @JsonProperty("workspace_identity_detail")
+ private WorkspaceIdentityDetail workspaceIdentityDetail;
+
+ public UpdateWorkspaceIdentityDetailRequest setPrincipalId(Long principalId) {
+ this.principalId = principalId;
+ return this;
+ }
+
+ public Long getPrincipalId() {
+ return principalId;
+ }
+
+ public UpdateWorkspaceIdentityDetailRequest setUpdateMask(FieldMask updateMask) {
+ this.updateMask = updateMask;
+ return this;
+ }
+
+ public FieldMask getUpdateMask() {
+ return updateMask;
+ }
+
+ public UpdateWorkspaceIdentityDetailRequest setWorkspaceIdentityDetail(
+ WorkspaceIdentityDetail workspaceIdentityDetail) {
+ this.workspaceIdentityDetail = workspaceIdentityDetail;
+ return this;
+ }
+
+ public WorkspaceIdentityDetail getWorkspaceIdentityDetail() {
+ return workspaceIdentityDetail;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ UpdateWorkspaceIdentityDetailRequest that = (UpdateWorkspaceIdentityDetailRequest) o;
+ return Objects.equals(principalId, that.principalId)
+ && Objects.equals(updateMask, that.updateMask)
+ && Objects.equals(workspaceIdentityDetail, that.workspaceIdentityDetail);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(principalId, updateMask, workspaceIdentityDetail);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(UpdateWorkspaceIdentityDetailRequest.class)
+ .add("principalId", principalId)
+ .add("updateMask", updateMask)
+ .add("workspaceIdentityDetail", workspaceIdentityDetail)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/WorkspaceAssignment.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/WorkspaceAssignment.java
new file mode 100644
index 000000000..cebbea881
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/WorkspaceAssignment.java
@@ -0,0 +1,151 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Collection;
+import java.util.Objects;
+
+/**
+ * The direct assignment of a provisioned account-level principal (user, service principal, or
+ * group) to a workspace, together with the entitlements that assignment grants in the workspace.
+ *
+ * This resource covers only principals assigned directly to the workspace. Principals that
+ * inherit workspace access through a group are not represented here. See WorkspaceAccessDetail and
+ * WorkspaceIdentityDetail for the effective, direct-or-indirect view. Creating the resource assigns
+ * the principal to the workspace, and deleting it removes the assignment.
+ *
+ *
`entitlements` is the only client-settable field. It holds the entitlements granted directly
+ * on this assignment, including any the principal also holds through a group.
+ * `effective_entitlements` is the read-only union of those and any granted through group
+ * membership.
+ *
+ *
A direct assignment always carries at least one directly-assigned entitlement, because the
+ * assignment is what grants it. Create and update both reject an empty `entitlements` set. To
+ * remove a principal's assignment entirely, delete the resource.
+ *
+ *
This resource replaces workspace assignment previously managed through the workspace SCIM and
+ * permission-assignment APIs, and is intended for account and workspace admins.
+ */
+@Generated
+public class WorkspaceAssignment {
+ /** The account ID parent of the workspace where the principal is assigned */
+ @JsonProperty("account_id")
+ private String accountId;
+
+ /**
+ * Every entitlement the principal holds in this workspace, whether granted directly or through
+ * group membership. Get responses populate this field. List responses leave it empty.
+ */
+ @JsonProperty("effective_entitlements")
+ private Collection effectiveEntitlements;
+
+ /**
+ * Entitlements granted directly to the principal on this workspace. This is the only
+ * client-settable field. Create and update manage exactly this set, including entitlements the
+ * principal also holds through a group. List responses leave this field empty. Get a single
+ * principal to read its entitlements.
+ */
+ @JsonProperty("entitlements")
+ private Collection entitlements;
+
+ /** The internal ID of the principal (user/sp/group) in Databricks. */
+ @JsonProperty("principal_id")
+ private Long principalId;
+
+ /** The type of the principal (user/service principal/group) that is assigned. */
+ @JsonProperty("principal_type")
+ private PrincipalType principalType;
+
+ /** The workspace ID where the principal is assigned */
+ @JsonProperty("workspace_id")
+ private Long workspaceId;
+
+ public WorkspaceAssignment setAccountId(String accountId) {
+ this.accountId = accountId;
+ return this;
+ }
+
+ public String getAccountId() {
+ return accountId;
+ }
+
+ public WorkspaceAssignment setEffectiveEntitlements(
+ Collection effectiveEntitlements) {
+ this.effectiveEntitlements = effectiveEntitlements;
+ return this;
+ }
+
+ public Collection getEffectiveEntitlements() {
+ return effectiveEntitlements;
+ }
+
+ public WorkspaceAssignment setEntitlements(Collection entitlements) {
+ this.entitlements = entitlements;
+ return this;
+ }
+
+ public Collection getEntitlements() {
+ return entitlements;
+ }
+
+ public WorkspaceAssignment setPrincipalId(Long principalId) {
+ this.principalId = principalId;
+ return this;
+ }
+
+ public Long getPrincipalId() {
+ return principalId;
+ }
+
+ public WorkspaceAssignment setPrincipalType(PrincipalType principalType) {
+ this.principalType = principalType;
+ return this;
+ }
+
+ public PrincipalType getPrincipalType() {
+ return principalType;
+ }
+
+ public WorkspaceAssignment setWorkspaceId(Long workspaceId) {
+ this.workspaceId = workspaceId;
+ return this;
+ }
+
+ public Long getWorkspaceId() {
+ return workspaceId;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ WorkspaceAssignment that = (WorkspaceAssignment) o;
+ return Objects.equals(accountId, that.accountId)
+ && Objects.equals(effectiveEntitlements, that.effectiveEntitlements)
+ && Objects.equals(entitlements, that.entitlements)
+ && Objects.equals(principalId, that.principalId)
+ && Objects.equals(principalType, that.principalType)
+ && Objects.equals(workspaceId, that.workspaceId);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(
+ accountId, effectiveEntitlements, entitlements, principalId, principalType, workspaceId);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(WorkspaceAssignment.class)
+ .add("accountId", accountId)
+ .add("effectiveEntitlements", effectiveEntitlements)
+ .add("entitlements", entitlements)
+ .add("principalId", principalId)
+ .add("principalType", principalType)
+ .add("workspaceId", workspaceId)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/WorkspaceIamV2API.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/WorkspaceIamV2API.java
index df2a09488..51e7b6f6b 100644
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/WorkspaceIamV2API.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/WorkspaceIamV2API.java
@@ -5,6 +5,7 @@
import com.databricks.sdk.core.logging.Logger;
import com.databricks.sdk.core.logging.LoggerFactory;
import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.Paginator;
/**
* These APIs are used to manage identities and the workspace access of these identities in
@@ -26,6 +27,50 @@ public WorkspaceIamV2API(WorkspaceIamV2Service mock) {
impl = mock;
}
+ /** Creates a group membership (assigns a principal to a group). */
+ public DirectGroupMember createDirectGroupMemberProxy(
+ CreateDirectGroupMemberProxyRequest request) {
+ return impl.createDirectGroupMemberProxy(request);
+ }
+
+ /**
+ * Creates a local group in the Databricks account that parents the calling workspace and returns
+ * the created group. A local group is one that is not synced from the customer's identity
+ * provider, and can be created whether or not Account Identity Management (AIM) is enabled.
+ *
+ * When AIM is enabled, supplying an external ID returns an error. Use the ExternalGroup
+ * resource to sync groups from the identity provider instead.
+ */
+ public Group createGroupProxy(CreateGroupProxyRequest request) {
+ return impl.createGroupProxy(request);
+ }
+
+ /**
+ * Creates a local service principal in the Databricks account that parents the calling workspace
+ * and returns the created service principal. A local service principal is one that is not synced
+ * from the customer's identity provider, and can be created whether or not Account Identity
+ * Management (AIM) is enabled.
+ *
+ *
When AIM is enabled, supplying an external ID returns an error. Use the
+ * ExternalServicePrincipal resource to sync service principals from the identity provider
+ * instead.
+ */
+ public ServicePrincipal createServicePrincipalProxy(CreateServicePrincipalProxyRequest request) {
+ return impl.createServicePrincipalProxy(request);
+ }
+
+ /**
+ * Creates a local user in the Databricks account that parents the calling workspace and returns
+ * the created user. A local user is one that is not synced from the customer's identity provider,
+ * and can be created whether or not Account Identity Management (AIM) is enabled.
+ *
+ *
When AIM is enabled, supplying an external ID returns an error. Use the ExternalUser
+ * resource to sync users from the identity provider instead.
+ */
+ public User createUserProxy(CreateUserProxyRequest request) {
+ return impl.createUserProxy(request);
+ }
+
/**
* Creates a workspace assignment detail for a principal in the calling workspace. Entitlements
* are granted one at a time rather than atomically. If the request fails partway through, the
@@ -37,6 +82,64 @@ public WorkspaceAssignmentDetail createWorkspaceAssignmentDetailProxy(
return impl.createWorkspaceAssignmentDetailProxy(request);
}
+ /**
+ * Creates a workspace assignment for a principal in the calling workspace. Entitlements are
+ * granted one at a time rather than atomically. If the request fails partway through, the
+ * principal stays assigned to the workspace with only some of the requested entitlements. Get the
+ * assignment afterwards to confirm which entitlements were granted.
+ */
+ public WorkspaceAssignment createWorkspaceAssignmentProxy(
+ CreateWorkspaceAssignmentProxyRequest request) {
+ return impl.createWorkspaceAssignmentProxy(request);
+ }
+
+ public void deleteDirectGroupMemberProxy(long groupId, long principalId) {
+ deleteDirectGroupMemberProxy(
+ new DeleteDirectGroupMemberProxyRequest().setGroupId(groupId).setPrincipalId(principalId));
+ }
+
+ /** Deletes a group membership (unassigns a principal from a group). */
+ public void deleteDirectGroupMemberProxy(DeleteDirectGroupMemberProxyRequest request) {
+ impl.deleteDirectGroupMemberProxy(request);
+ }
+
+ public void deleteGroupProxy(String groupId) {
+ deleteGroupProxy(new DeleteGroupProxyRequest().setGroupId(groupId));
+ }
+
+ /**
+ * Deletes a group by its internal ID from the Databricks account that parents the calling
+ * workspace.
+ */
+ public void deleteGroupProxy(DeleteGroupProxyRequest request) {
+ impl.deleteGroupProxy(request);
+ }
+
+ public void deleteServicePrincipalProxy(String servicePrincipalId) {
+ deleteServicePrincipalProxy(
+ new DeleteServicePrincipalProxyRequest().setServicePrincipalId(servicePrincipalId));
+ }
+
+ /**
+ * Deletes a service principal by its internal ID from the Databricks account that parents the
+ * calling workspace.
+ */
+ public void deleteServicePrincipalProxy(DeleteServicePrincipalProxyRequest request) {
+ impl.deleteServicePrincipalProxy(request);
+ }
+
+ public void deleteUserProxy(String userId) {
+ deleteUserProxy(new DeleteUserProxyRequest().setUserId(userId));
+ }
+
+ /**
+ * Deletes a user by its internal ID from the Databricks account that parents the calling
+ * workspace.
+ */
+ public void deleteUserProxy(DeleteUserProxyRequest request) {
+ impl.deleteUserProxy(request);
+ }
+
public void deleteWorkspaceAssignmentDetailProxy(long principalId) {
deleteWorkspaceAssignmentDetailProxy(
new DeleteWorkspaceAssignmentDetailProxyRequest().setPrincipalId(principalId));
@@ -53,6 +156,68 @@ public void deleteWorkspaceAssignmentDetailProxy(
impl.deleteWorkspaceAssignmentDetailProxy(request);
}
+ public void deleteWorkspaceAssignmentProxy(long principalId) {
+ deleteWorkspaceAssignmentProxy(
+ new DeleteWorkspaceAssignmentProxyRequest().setPrincipalId(principalId));
+ }
+
+ /**
+ * Deletes a workspace assignment for a principal in the calling workspace, revoking all of its
+ * entitlements. Entitlements are revoked one at a time rather than atomically. If the request
+ * fails partway through, the principal stays assigned with some of its original entitlements.
+ * Retrying is safe.
+ */
+ public void deleteWorkspaceAssignmentProxy(DeleteWorkspaceAssignmentProxyRequest request) {
+ impl.deleteWorkspaceAssignmentProxy(request);
+ }
+
+ public DirectGroupMember getDirectGroupMemberProxy(long groupId, long principalId) {
+ return getDirectGroupMemberProxy(
+ new GetDirectGroupMemberProxyRequest().setGroupId(groupId).setPrincipalId(principalId));
+ }
+
+ /** Gets a provisioned direct member of a group. */
+ public DirectGroupMember getDirectGroupMemberProxy(GetDirectGroupMemberProxyRequest request) {
+ return impl.getDirectGroupMemberProxy(request);
+ }
+
+ public Group getGroupProxy(String groupId) {
+ return getGroupProxy(new GetGroupProxyRequest().setGroupId(groupId));
+ }
+
+ /**
+ * Fetches a group by its internal ID from the Databricks account that parents the calling
+ * workspace.
+ */
+ public Group getGroupProxy(GetGroupProxyRequest request) {
+ return impl.getGroupProxy(request);
+ }
+
+ public ServicePrincipal getServicePrincipalProxy(String servicePrincipalId) {
+ return getServicePrincipalProxy(
+ new GetServicePrincipalProxyRequest().setServicePrincipalId(servicePrincipalId));
+ }
+
+ /**
+ * Fetches a service principal by its internal ID from the Databricks account that parents the
+ * calling workspace.
+ */
+ public ServicePrincipal getServicePrincipalProxy(GetServicePrincipalProxyRequest request) {
+ return impl.getServicePrincipalProxy(request);
+ }
+
+ public User getUserProxy(String userId) {
+ return getUserProxy(new GetUserProxyRequest().setUserId(userId));
+ }
+
+ /**
+ * Fetches a user by its internal ID from the Databricks account that parents the calling
+ * workspace.
+ */
+ public User getUserProxy(GetUserProxyRequest request) {
+ return impl.getUserProxy(request);
+ }
+
public WorkspaceAccessDetail getWorkspaceAccessDetailLocal(long principalId) {
return getWorkspaceAccessDetailLocal(
new GetWorkspaceAccessDetailLocalRequest().setPrincipalId(principalId));
@@ -81,6 +246,108 @@ public WorkspaceAssignmentDetail getWorkspaceAssignmentDetailProxy(
return impl.getWorkspaceAssignmentDetailProxy(request);
}
+ public WorkspaceAssignment getWorkspaceAssignmentProxy(long principalId) {
+ return getWorkspaceAssignmentProxy(
+ new GetWorkspaceAssignmentProxyRequest().setPrincipalId(principalId));
+ }
+
+ /** Returns the assignment for a principal in the calling workspace. */
+ public WorkspaceAssignment getWorkspaceAssignmentProxy(
+ GetWorkspaceAssignmentProxyRequest request) {
+ return impl.getWorkspaceAssignmentProxy(request);
+ }
+
+ public WorkspaceIdentityDetail getWorkspaceIdentityDetail(long principalId) {
+ return getWorkspaceIdentityDetail(
+ new GetWorkspaceIdentityDetailRequest().setPrincipalId(principalId));
+ }
+
+ /** Returns the identity details for a principal in a workspace. */
+ public WorkspaceIdentityDetail getWorkspaceIdentityDetail(
+ GetWorkspaceIdentityDetailRequest request) {
+ return impl.getWorkspaceIdentityDetail(request);
+ }
+
+ public ListDirectGroupMembersResponse listDirectGroupMembersProxy(long groupId) {
+ return listDirectGroupMembersProxy(
+ new ListDirectGroupMembersProxyRequest().setGroupId(groupId));
+ }
+
+ /**
+ * Lists provisioned direct members of a group with their membership source (internal or from
+ * identity provider).
+ */
+ public ListDirectGroupMembersResponse listDirectGroupMembersProxy(
+ ListDirectGroupMembersProxyRequest request) {
+ return impl.listDirectGroupMembersProxy(request);
+ }
+
+ /**
+ * Lists the groups in the Databricks account that parents the calling workspace, returning one
+ * page per call. Supports filtering by group name or external ID.
+ */
+ public Iterable listGroupsProxy(ListGroupsProxyRequest request) {
+ return Paginator.newTokenPagination(
+ request,
+ impl::listGroupsProxy,
+ ListGroupsResponse::getGroups,
+ response -> {
+ String token = response.getNextPageToken();
+ if (token == null || token.isEmpty()) {
+ return null;
+ }
+ return request.setPageToken(token);
+ });
+ }
+
+ /**
+ * Lists the service principals in the Databricks account that parents the calling workspace,
+ * returning one page per call. Supports filtering by application ID or external ID.
+ */
+ public Iterable listServicePrincipalsProxy(
+ ListServicePrincipalsProxyRequest request) {
+ return Paginator.newTokenPagination(
+ request,
+ impl::listServicePrincipalsProxy,
+ ListServicePrincipalsResponse::getServicePrincipals,
+ response -> {
+ String token = response.getNextPageToken();
+ if (token == null || token.isEmpty()) {
+ return null;
+ }
+ return request.setPageToken(token);
+ });
+ }
+
+ public ListTransitiveParentGroupsResponse listTransitiveParentGroupsProxy(long principalId) {
+ return listTransitiveParentGroupsProxy(
+ new ListTransitiveParentGroupsProxyRequest().setPrincipalId(principalId));
+ }
+
+ /** Lists all transitive parent groups of a principal. */
+ public ListTransitiveParentGroupsResponse listTransitiveParentGroupsProxy(
+ ListTransitiveParentGroupsProxyRequest request) {
+ return impl.listTransitiveParentGroupsProxy(request);
+ }
+
+ /**
+ * Lists the users in the Databricks account that parents the calling workspace, returning one
+ * page per call. Supports filtering by username or external ID.
+ */
+ public Iterable listUsersProxy(ListUsersProxyRequest request) {
+ return Paginator.newTokenPagination(
+ request,
+ impl::listUsersProxy,
+ ListUsersResponse::getUsers,
+ response -> {
+ String token = response.getNextPageToken();
+ if (token == null || token.isEmpty()) {
+ return null;
+ }
+ return request.setPageToken(token);
+ });
+ }
+
/**
* Lists workspace assignment details for the calling workspace. The response omits the
* per-principal entitlement fields (`entitlements` and `effective_entitlements`). To read the
@@ -91,6 +358,16 @@ public ListWorkspaceAssignmentDetailsResponse listWorkspaceAssignmentDetailsProx
return impl.listWorkspaceAssignmentDetailsProxy(request);
}
+ /**
+ * Lists workspace assignments for the calling workspace. The response omits the per-principal
+ * entitlement fields (`entitlements` and `effective_entitlements`). To read the entitlements for
+ * a single principal, get that principal's assignment.
+ */
+ public ListWorkspaceAssignmentsResponse listWorkspaceAssignmentsProxy(
+ ListWorkspaceAssignmentsProxyRequest request) {
+ return impl.listWorkspaceAssignmentsProxy(request);
+ }
+
/**
* Resolves a group with the given external ID from the customer's IdP. If the group does not
* exist, it will be created in the account. If the customer is not onboarded onto Automatic
@@ -119,6 +396,32 @@ public ResolveUserResponse resolveUserProxy(ResolveUserProxyRequest request) {
return impl.resolveUserProxy(request);
}
+ /**
+ * Updates an existing group in the Databricks account that parents the calling workspace. Only
+ * the fields named in the update mask are modified. Returns the updated Group resource.
+ */
+ public Group updateGroupProxy(UpdateGroupProxyRequest request) {
+ return impl.updateGroupProxy(request);
+ }
+
+ /**
+ * Updates an existing service principal in the Databricks account that parents the calling
+ * workspace. Only the fields named in the update mask are modified. Returns the updated
+ * ServicePrincipal resource.
+ */
+ public ServicePrincipal updateServicePrincipalProxy(UpdateServicePrincipalProxyRequest request) {
+ return impl.updateServicePrincipalProxy(request);
+ }
+
+ /**
+ * Updates an existing user in the Databricks account that parents the calling workspace and
+ * returns the updated user. Only the fields named in the update mask are modified. The updatable
+ * fields are fullName.givenName, fullName.familyName, status, and externalId.
+ */
+ public User updateUserProxy(UpdateUserProxyRequest request) {
+ return impl.updateUserProxy(request);
+ }
+
/**
* Updates the entitlements of a directly assigned principal in the calling workspace. Changes are
* applied one at a time rather than atomically. If the request fails partway through, only some
@@ -130,6 +433,22 @@ public WorkspaceAssignmentDetail updateWorkspaceAssignmentDetailProxy(
return impl.updateWorkspaceAssignmentDetailProxy(request);
}
+ /**
+ * Updates the entitlements of a directly assigned principal in the calling workspace. Changes are
+ * applied one at a time rather than atomically. If the request fails partway through, only some
+ * of the requested changes take effect. Get the assignment afterwards to confirm the final state.
+ */
+ public WorkspaceAssignment updateWorkspaceAssignmentProxy(
+ UpdateWorkspaceAssignmentProxyRequest request) {
+ return impl.updateWorkspaceAssignmentProxy(request);
+ }
+
+ /** Updates a workspace identity detail for a principal. */
+ public WorkspaceIdentityDetail updateWorkspaceIdentityDetail(
+ UpdateWorkspaceIdentityDetailRequest request) {
+ return impl.updateWorkspaceIdentityDetail(request);
+ }
+
public WorkspaceIamV2Service impl() {
return impl;
}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/WorkspaceIamV2Impl.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/WorkspaceIamV2Impl.java
index 866bde97e..047dcc1ee 100644
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/WorkspaceIamV2Impl.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/WorkspaceIamV2Impl.java
@@ -16,6 +16,79 @@ public WorkspaceIamV2Impl(ApiClient apiClient) {
this.apiClient = apiClient;
}
+ @Override
+ public DirectGroupMember createDirectGroupMemberProxy(
+ CreateDirectGroupMemberProxyRequest request) {
+ String path = String.format("/api/2.0/identity/groups/%s/direct-members", request.getGroupId());
+ try {
+ Request req = new Request("POST", path, apiClient.serialize(request.getDirectGroupMember()));
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ req.withHeader("Content-Type", "application/json");
+ if (apiClient.workspaceId() != null) {
+ req.withHeader("X-Databricks-Workspace-Id", apiClient.workspaceId());
+ }
+ return apiClient.execute(req, DirectGroupMember.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public Group createGroupProxy(CreateGroupProxyRequest request) {
+ String path = "/api/2.0/identity/groups";
+ try {
+ Request req = new Request("POST", path, apiClient.serialize(request.getGroup()));
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ req.withHeader("Content-Type", "application/json");
+ if (apiClient.workspaceId() != null) {
+ req.withHeader("X-Databricks-Workspace-Id", apiClient.workspaceId());
+ }
+ return apiClient.execute(req, Group.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public ServicePrincipal createServicePrincipalProxy(CreateServicePrincipalProxyRequest request) {
+ String path = "/api/2.0/identity/service-principals";
+ try {
+ Request req = new Request("POST", path, apiClient.serialize(request.getServicePrincipal()));
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ req.withHeader("Content-Type", "application/json");
+ if (apiClient.workspaceId() != null) {
+ req.withHeader("X-Databricks-Workspace-Id", apiClient.workspaceId());
+ }
+ return apiClient.execute(req, ServicePrincipal.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public User createUserProxy(CreateUserProxyRequest request) {
+ String path = "/api/2.0/identity/users";
+ try {
+ Request req = new Request("POST", path, apiClient.serialize(request.getUser()));
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ req.withHeader("Content-Type", "application/json");
+ if (apiClient.workspaceId() != null) {
+ req.withHeader("X-Databricks-Workspace-Id", apiClient.workspaceId());
+ }
+ return apiClient.execute(req, User.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
@Override
public WorkspaceAssignmentDetail createWorkspaceAssignmentDetailProxy(
CreateWorkspaceAssignmentDetailProxyRequest request) {
@@ -36,6 +109,98 @@ public WorkspaceAssignmentDetail createWorkspaceAssignmentDetailProxy(
}
}
+ @Override
+ public WorkspaceAssignment createWorkspaceAssignmentProxy(
+ CreateWorkspaceAssignmentProxyRequest request) {
+ String path = "/api/2.0/identity/workspace-assignments";
+ try {
+ Request req =
+ new Request("POST", path, apiClient.serialize(request.getWorkspaceAssignment()));
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ req.withHeader("Content-Type", "application/json");
+ if (apiClient.workspaceId() != null) {
+ req.withHeader("X-Databricks-Workspace-Id", apiClient.workspaceId());
+ }
+ return apiClient.execute(req, WorkspaceAssignment.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public void deleteDirectGroupMemberProxy(DeleteDirectGroupMemberProxyRequest request) {
+ String path =
+ String.format(
+ "/api/2.0/identity/groups/%s/direct-members/%s",
+ request.getGroupId(), request.getPrincipalId());
+ try {
+ Request req = new Request("DELETE", path);
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ if (apiClient.workspaceId() != null) {
+ req.withHeader("X-Databricks-Workspace-Id", apiClient.workspaceId());
+ }
+ apiClient.execute(req, Void.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public void deleteGroupProxy(DeleteGroupProxyRequest request) {
+ String path = String.format("/api/2.0/identity/groups/%s", request.getGroupId());
+ try {
+ Request req = new Request("DELETE", path);
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ if (apiClient.workspaceId() != null) {
+ req.withHeader("X-Databricks-Workspace-Id", apiClient.workspaceId());
+ }
+ apiClient.execute(req, Void.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public void deleteServicePrincipalProxy(DeleteServicePrincipalProxyRequest request) {
+ String path =
+ String.format("/api/2.0/identity/service-principals/%s", request.getServicePrincipalId());
+ try {
+ Request req = new Request("DELETE", path);
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ if (apiClient.workspaceId() != null) {
+ req.withHeader("X-Databricks-Workspace-Id", apiClient.workspaceId());
+ }
+ apiClient.execute(req, Void.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public void deleteUserProxy(DeleteUserProxyRequest request) {
+ String path = String.format("/api/2.0/identity/users/%s", request.getUserId());
+ try {
+ Request req = new Request("DELETE", path);
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ if (apiClient.workspaceId() != null) {
+ req.withHeader("X-Databricks-Workspace-Id", apiClient.workspaceId());
+ }
+ apiClient.execute(req, Void.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
@Override
public void deleteWorkspaceAssignmentDetailProxy(
DeleteWorkspaceAssignmentDetailProxyRequest request) {
@@ -56,6 +221,96 @@ public void deleteWorkspaceAssignmentDetailProxy(
}
}
+ @Override
+ public void deleteWorkspaceAssignmentProxy(DeleteWorkspaceAssignmentProxyRequest request) {
+ String path =
+ String.format("/api/2.0/identity/workspace-assignments/%s", request.getPrincipalId());
+ try {
+ Request req = new Request("DELETE", path);
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ if (apiClient.workspaceId() != null) {
+ req.withHeader("X-Databricks-Workspace-Id", apiClient.workspaceId());
+ }
+ apiClient.execute(req, Void.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public DirectGroupMember getDirectGroupMemberProxy(GetDirectGroupMemberProxyRequest request) {
+ String path =
+ String.format(
+ "/api/2.0/identity/groups/%s/direct-members/%s",
+ request.getGroupId(), request.getPrincipalId());
+ try {
+ Request req = new Request("GET", path);
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ if (apiClient.workspaceId() != null) {
+ req.withHeader("X-Databricks-Workspace-Id", apiClient.workspaceId());
+ }
+ return apiClient.execute(req, DirectGroupMember.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public Group getGroupProxy(GetGroupProxyRequest request) {
+ String path = String.format("/api/2.0/identity/groups/%s", request.getGroupId());
+ try {
+ Request req = new Request("GET", path);
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ if (apiClient.workspaceId() != null) {
+ req.withHeader("X-Databricks-Workspace-Id", apiClient.workspaceId());
+ }
+ return apiClient.execute(req, Group.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public ServicePrincipal getServicePrincipalProxy(GetServicePrincipalProxyRequest request) {
+ String path =
+ String.format("/api/2.0/identity/service-principals/%s", request.getServicePrincipalId());
+ try {
+ Request req = new Request("GET", path);
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ if (apiClient.workspaceId() != null) {
+ req.withHeader("X-Databricks-Workspace-Id", apiClient.workspaceId());
+ }
+ return apiClient.execute(req, ServicePrincipal.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public User getUserProxy(GetUserProxyRequest request) {
+ String path = String.format("/api/2.0/identity/users/%s", request.getUserId());
+ try {
+ Request req = new Request("GET", path);
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ if (apiClient.workspaceId() != null) {
+ req.withHeader("X-Databricks-Workspace-Id", apiClient.workspaceId());
+ }
+ return apiClient.execute(req, User.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
@Override
public WorkspaceAccessDetail getWorkspaceAccessDetailLocal(
GetWorkspaceAccessDetailLocalRequest request) {
@@ -95,6 +350,134 @@ public WorkspaceAssignmentDetail getWorkspaceAssignmentDetailProxy(
}
}
+ @Override
+ public WorkspaceAssignment getWorkspaceAssignmentProxy(
+ GetWorkspaceAssignmentProxyRequest request) {
+ String path =
+ String.format("/api/2.0/identity/workspace-assignments/%s", request.getPrincipalId());
+ try {
+ Request req = new Request("GET", path);
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ if (apiClient.workspaceId() != null) {
+ req.withHeader("X-Databricks-Workspace-Id", apiClient.workspaceId());
+ }
+ return apiClient.execute(req, WorkspaceAssignment.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public WorkspaceIdentityDetail getWorkspaceIdentityDetail(
+ GetWorkspaceIdentityDetailRequest request) {
+ String path =
+ String.format("/api/2.0/identity/workspace-identity-details/%s", request.getPrincipalId());
+ try {
+ Request req = new Request("GET", path);
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ if (apiClient.workspaceId() != null) {
+ req.withHeader("X-Databricks-Workspace-Id", apiClient.workspaceId());
+ }
+ return apiClient.execute(req, WorkspaceIdentityDetail.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public ListDirectGroupMembersResponse listDirectGroupMembersProxy(
+ ListDirectGroupMembersProxyRequest request) {
+ String path = String.format("/api/2.0/identity/groups/%s/direct-members", request.getGroupId());
+ try {
+ Request req = new Request("GET", path);
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ if (apiClient.workspaceId() != null) {
+ req.withHeader("X-Databricks-Workspace-Id", apiClient.workspaceId());
+ }
+ return apiClient.execute(req, ListDirectGroupMembersResponse.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public ListGroupsResponse listGroupsProxy(ListGroupsProxyRequest request) {
+ String path = "/api/2.0/identity/groups";
+ try {
+ Request req = new Request("GET", path);
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ if (apiClient.workspaceId() != null) {
+ req.withHeader("X-Databricks-Workspace-Id", apiClient.workspaceId());
+ }
+ return apiClient.execute(req, ListGroupsResponse.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public ListServicePrincipalsResponse listServicePrincipalsProxy(
+ ListServicePrincipalsProxyRequest request) {
+ String path = "/api/2.0/identity/service-principals";
+ try {
+ Request req = new Request("GET", path);
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ if (apiClient.workspaceId() != null) {
+ req.withHeader("X-Databricks-Workspace-Id", apiClient.workspaceId());
+ }
+ return apiClient.execute(req, ListServicePrincipalsResponse.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public ListTransitiveParentGroupsResponse listTransitiveParentGroupsProxy(
+ ListTransitiveParentGroupsProxyRequest request) {
+ String path =
+ String.format(
+ "/api/2.0/identity/principals/%s/transitive-parent-groups", request.getPrincipalId());
+ try {
+ Request req = new Request("GET", path);
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ if (apiClient.workspaceId() != null) {
+ req.withHeader("X-Databricks-Workspace-Id", apiClient.workspaceId());
+ }
+ return apiClient.execute(req, ListTransitiveParentGroupsResponse.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public ListUsersResponse listUsersProxy(ListUsersProxyRequest request) {
+ String path = "/api/2.0/identity/users";
+ try {
+ Request req = new Request("GET", path);
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ if (apiClient.workspaceId() != null) {
+ req.withHeader("X-Databricks-Workspace-Id", apiClient.workspaceId());
+ }
+ return apiClient.execute(req, ListUsersResponse.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
@Override
public ListWorkspaceAssignmentDetailsResponse listWorkspaceAssignmentDetailsProxy(
ListWorkspaceAssignmentDetailsProxyRequest request) {
@@ -113,6 +496,24 @@ public ListWorkspaceAssignmentDetailsResponse listWorkspaceAssignmentDetailsProx
}
}
+ @Override
+ public ListWorkspaceAssignmentsResponse listWorkspaceAssignmentsProxy(
+ ListWorkspaceAssignmentsProxyRequest request) {
+ String path = "/api/2.0/identity/workspace-assignments";
+ try {
+ Request req = new Request("GET", path);
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ if (apiClient.workspaceId() != null) {
+ req.withHeader("X-Databricks-Workspace-Id", apiClient.workspaceId());
+ }
+ return apiClient.execute(req, ListWorkspaceAssignmentsResponse.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
@Override
public ResolveGroupResponse resolveGroupProxy(ResolveGroupProxyRequest request) {
String path = "/api/2.0/identity/groups/resolve-by-external-id";
@@ -168,6 +569,61 @@ public ResolveUserResponse resolveUserProxy(ResolveUserProxyRequest request) {
}
}
+ @Override
+ public Group updateGroupProxy(UpdateGroupProxyRequest request) {
+ String path = String.format("/api/2.0/identity/groups/%s", request.getGroupId());
+ try {
+ Request req = new Request("PATCH", path, apiClient.serialize(request.getGroup()));
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ req.withHeader("Content-Type", "application/json");
+ if (apiClient.workspaceId() != null) {
+ req.withHeader("X-Databricks-Workspace-Id", apiClient.workspaceId());
+ }
+ return apiClient.execute(req, Group.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public ServicePrincipal updateServicePrincipalProxy(UpdateServicePrincipalProxyRequest request) {
+ String path =
+ String.format("/api/2.0/identity/service-principals/%s", request.getServicePrincipalId());
+ try {
+ Request req = new Request("PATCH", path, apiClient.serialize(request.getServicePrincipal()));
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ req.withHeader("Content-Type", "application/json");
+ if (apiClient.workspaceId() != null) {
+ req.withHeader("X-Databricks-Workspace-Id", apiClient.workspaceId());
+ }
+ return apiClient.execute(req, ServicePrincipal.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public User updateUserProxy(UpdateUserProxyRequest request) {
+ String path = String.format("/api/2.0/identity/users/%s", request.getUserId());
+ try {
+ Request req = new Request("PATCH", path, apiClient.serialize(request.getUser()));
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ req.withHeader("Content-Type", "application/json");
+ if (apiClient.workspaceId() != null) {
+ req.withHeader("X-Databricks-Workspace-Id", apiClient.workspaceId());
+ }
+ return apiClient.execute(req, User.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
@Override
public WorkspaceAssignmentDetail updateWorkspaceAssignmentDetailProxy(
UpdateWorkspaceAssignmentDetailProxyRequest request) {
@@ -189,4 +645,46 @@ public WorkspaceAssignmentDetail updateWorkspaceAssignmentDetailProxy(
throw new DatabricksException("IO error: " + e.getMessage(), e);
}
}
+
+ @Override
+ public WorkspaceAssignment updateWorkspaceAssignmentProxy(
+ UpdateWorkspaceAssignmentProxyRequest request) {
+ String path =
+ String.format("/api/2.0/identity/workspace-assignments/%s", request.getPrincipalId());
+ try {
+ Request req =
+ new Request("PATCH", path, apiClient.serialize(request.getWorkspaceAssignment()));
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ req.withHeader("Content-Type", "application/json");
+ if (apiClient.workspaceId() != null) {
+ req.withHeader("X-Databricks-Workspace-Id", apiClient.workspaceId());
+ }
+ return apiClient.execute(req, WorkspaceAssignment.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public WorkspaceIdentityDetail updateWorkspaceIdentityDetail(
+ UpdateWorkspaceIdentityDetailRequest request) {
+ String path =
+ String.format("/api/2.0/identity/workspace-identity-details/%s", request.getPrincipalId());
+ try {
+ Request req =
+ new Request("PATCH", path, apiClient.serialize(request.getWorkspaceIdentityDetail()));
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ req.withHeader("Content-Type", "application/json");
+ if (apiClient.workspaceId() != null) {
+ req.withHeader("X-Databricks-Workspace-Id", apiClient.workspaceId());
+ }
+ return apiClient.execute(req, WorkspaceIdentityDetail.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/WorkspaceIamV2Service.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/WorkspaceIamV2Service.java
index 289bda051..99ba4e218 100644
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/WorkspaceIamV2Service.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/WorkspaceIamV2Service.java
@@ -13,6 +13,43 @@
*/
@Generated
public interface WorkspaceIamV2Service {
+ /** Creates a group membership (assigns a principal to a group). */
+ DirectGroupMember createDirectGroupMemberProxy(
+ CreateDirectGroupMemberProxyRequest createDirectGroupMemberProxyRequest);
+
+ /**
+ * Creates a local group in the Databricks account that parents the calling workspace and returns
+ * the created group. A local group is one that is not synced from the customer's identity
+ * provider, and can be created whether or not Account Identity Management (AIM) is enabled.
+ *
+ * When AIM is enabled, supplying an external ID returns an error. Use the ExternalGroup
+ * resource to sync groups from the identity provider instead.
+ */
+ Group createGroupProxy(CreateGroupProxyRequest createGroupProxyRequest);
+
+ /**
+ * Creates a local service principal in the Databricks account that parents the calling workspace
+ * and returns the created service principal. A local service principal is one that is not synced
+ * from the customer's identity provider, and can be created whether or not Account Identity
+ * Management (AIM) is enabled.
+ *
+ *
When AIM is enabled, supplying an external ID returns an error. Use the
+ * ExternalServicePrincipal resource to sync service principals from the identity provider
+ * instead.
+ */
+ ServicePrincipal createServicePrincipalProxy(
+ CreateServicePrincipalProxyRequest createServicePrincipalProxyRequest);
+
+ /**
+ * Creates a local user in the Databricks account that parents the calling workspace and returns
+ * the created user. A local user is one that is not synced from the customer's identity provider,
+ * and can be created whether or not Account Identity Management (AIM) is enabled.
+ *
+ *
When AIM is enabled, supplying an external ID returns an error. Use the ExternalUser
+ * resource to sync users from the identity provider instead.
+ */
+ User createUserProxy(CreateUserProxyRequest createUserProxyRequest);
+
/**
* Creates a workspace assignment detail for a principal in the calling workspace. Entitlements
* are granted one at a time rather than atomically. If the request fails partway through, the
@@ -22,6 +59,38 @@ public interface WorkspaceIamV2Service {
WorkspaceAssignmentDetail createWorkspaceAssignmentDetailProxy(
CreateWorkspaceAssignmentDetailProxyRequest createWorkspaceAssignmentDetailProxyRequest);
+ /**
+ * Creates a workspace assignment for a principal in the calling workspace. Entitlements are
+ * granted one at a time rather than atomically. If the request fails partway through, the
+ * principal stays assigned to the workspace with only some of the requested entitlements. Get the
+ * assignment afterwards to confirm which entitlements were granted.
+ */
+ WorkspaceAssignment createWorkspaceAssignmentProxy(
+ CreateWorkspaceAssignmentProxyRequest createWorkspaceAssignmentProxyRequest);
+
+ /** Deletes a group membership (unassigns a principal from a group). */
+ void deleteDirectGroupMemberProxy(
+ DeleteDirectGroupMemberProxyRequest deleteDirectGroupMemberProxyRequest);
+
+ /**
+ * Deletes a group by its internal ID from the Databricks account that parents the calling
+ * workspace.
+ */
+ void deleteGroupProxy(DeleteGroupProxyRequest deleteGroupProxyRequest);
+
+ /**
+ * Deletes a service principal by its internal ID from the Databricks account that parents the
+ * calling workspace.
+ */
+ void deleteServicePrincipalProxy(
+ DeleteServicePrincipalProxyRequest deleteServicePrincipalProxyRequest);
+
+ /**
+ * Deletes a user by its internal ID from the Databricks account that parents the calling
+ * workspace.
+ */
+ void deleteUserProxy(DeleteUserProxyRequest deleteUserProxyRequest);
+
/**
* Deletes a workspace assignment detail for a principal in the calling workspace, revoking all of
* its entitlements. Entitlements are revoked one at a time rather than atomically. If the request
@@ -31,6 +100,38 @@ WorkspaceAssignmentDetail createWorkspaceAssignmentDetailProxy(
void deleteWorkspaceAssignmentDetailProxy(
DeleteWorkspaceAssignmentDetailProxyRequest deleteWorkspaceAssignmentDetailProxyRequest);
+ /**
+ * Deletes a workspace assignment for a principal in the calling workspace, revoking all of its
+ * entitlements. Entitlements are revoked one at a time rather than atomically. If the request
+ * fails partway through, the principal stays assigned with some of its original entitlements.
+ * Retrying is safe.
+ */
+ void deleteWorkspaceAssignmentProxy(
+ DeleteWorkspaceAssignmentProxyRequest deleteWorkspaceAssignmentProxyRequest);
+
+ /** Gets a provisioned direct member of a group. */
+ DirectGroupMember getDirectGroupMemberProxy(
+ GetDirectGroupMemberProxyRequest getDirectGroupMemberProxyRequest);
+
+ /**
+ * Fetches a group by its internal ID from the Databricks account that parents the calling
+ * workspace.
+ */
+ Group getGroupProxy(GetGroupProxyRequest getGroupProxyRequest);
+
+ /**
+ * Fetches a service principal by its internal ID from the Databricks account that parents the
+ * calling workspace.
+ */
+ ServicePrincipal getServicePrincipalProxy(
+ GetServicePrincipalProxyRequest getServicePrincipalProxyRequest);
+
+ /**
+ * Fetches a user by its internal ID from the Databricks account that parents the calling
+ * workspace.
+ */
+ User getUserProxy(GetUserProxyRequest getUserProxyRequest);
+
/**
* Returns the access details for a principal in the current workspace. Allows for checking access
* details for any provisioned principal (user, service principal, or group) in the current
@@ -45,6 +146,44 @@ WorkspaceAccessDetail getWorkspaceAccessDetailLocal(
WorkspaceAssignmentDetail getWorkspaceAssignmentDetailProxy(
GetWorkspaceAssignmentDetailProxyRequest getWorkspaceAssignmentDetailProxyRequest);
+ /** Returns the assignment for a principal in the calling workspace. */
+ WorkspaceAssignment getWorkspaceAssignmentProxy(
+ GetWorkspaceAssignmentProxyRequest getWorkspaceAssignmentProxyRequest);
+
+ /** Returns the identity details for a principal in a workspace. */
+ WorkspaceIdentityDetail getWorkspaceIdentityDetail(
+ GetWorkspaceIdentityDetailRequest getWorkspaceIdentityDetailRequest);
+
+ /**
+ * Lists provisioned direct members of a group with their membership source (internal or from
+ * identity provider).
+ */
+ ListDirectGroupMembersResponse listDirectGroupMembersProxy(
+ ListDirectGroupMembersProxyRequest listDirectGroupMembersProxyRequest);
+
+ /**
+ * Lists the groups in the Databricks account that parents the calling workspace, returning one
+ * page per call. Supports filtering by group name or external ID.
+ */
+ ListGroupsResponse listGroupsProxy(ListGroupsProxyRequest listGroupsProxyRequest);
+
+ /**
+ * Lists the service principals in the Databricks account that parents the calling workspace,
+ * returning one page per call. Supports filtering by application ID or external ID.
+ */
+ ListServicePrincipalsResponse listServicePrincipalsProxy(
+ ListServicePrincipalsProxyRequest listServicePrincipalsProxyRequest);
+
+ /** Lists all transitive parent groups of a principal. */
+ ListTransitiveParentGroupsResponse listTransitiveParentGroupsProxy(
+ ListTransitiveParentGroupsProxyRequest listTransitiveParentGroupsProxyRequest);
+
+ /**
+ * Lists the users in the Databricks account that parents the calling workspace, returning one
+ * page per call. Supports filtering by username or external ID.
+ */
+ ListUsersResponse listUsersProxy(ListUsersProxyRequest listUsersProxyRequest);
+
/**
* Lists workspace assignment details for the calling workspace. The response omits the
* per-principal entitlement fields (`entitlements` and `effective_entitlements`). To read the
@@ -53,6 +192,14 @@ WorkspaceAssignmentDetail getWorkspaceAssignmentDetailProxy(
ListWorkspaceAssignmentDetailsResponse listWorkspaceAssignmentDetailsProxy(
ListWorkspaceAssignmentDetailsProxyRequest listWorkspaceAssignmentDetailsProxyRequest);
+ /**
+ * Lists workspace assignments for the calling workspace. The response omits the per-principal
+ * entitlement fields (`entitlements` and `effective_entitlements`). To read the entitlements for
+ * a single principal, get that principal's assignment.
+ */
+ ListWorkspaceAssignmentsResponse listWorkspaceAssignmentsProxy(
+ ListWorkspaceAssignmentsProxyRequest listWorkspaceAssignmentsProxyRequest);
+
/**
* Resolves a group with the given external ID from the customer's IdP. If the group does not
* exist, it will be created in the account. If the customer is not onboarded onto Automatic
@@ -75,6 +222,27 @@ ResolveServicePrincipalResponse resolveServicePrincipalProxy(
*/
ResolveUserResponse resolveUserProxy(ResolveUserProxyRequest resolveUserProxyRequest);
+ /**
+ * Updates an existing group in the Databricks account that parents the calling workspace. Only
+ * the fields named in the update mask are modified. Returns the updated Group resource.
+ */
+ Group updateGroupProxy(UpdateGroupProxyRequest updateGroupProxyRequest);
+
+ /**
+ * Updates an existing service principal in the Databricks account that parents the calling
+ * workspace. Only the fields named in the update mask are modified. Returns the updated
+ * ServicePrincipal resource.
+ */
+ ServicePrincipal updateServicePrincipalProxy(
+ UpdateServicePrincipalProxyRequest updateServicePrincipalProxyRequest);
+
+ /**
+ * Updates an existing user in the Databricks account that parents the calling workspace and
+ * returns the updated user. Only the fields named in the update mask are modified. The updatable
+ * fields are fullName.givenName, fullName.familyName, status, and externalId.
+ */
+ User updateUserProxy(UpdateUserProxyRequest updateUserProxyRequest);
+
/**
* Updates the entitlements of a directly assigned principal in the calling workspace. Changes are
* applied one at a time rather than atomically. If the request fails partway through, only some
@@ -83,4 +251,16 @@ ResolveServicePrincipalResponse resolveServicePrincipalProxy(
*/
WorkspaceAssignmentDetail updateWorkspaceAssignmentDetailProxy(
UpdateWorkspaceAssignmentDetailProxyRequest updateWorkspaceAssignmentDetailProxyRequest);
+
+ /**
+ * Updates the entitlements of a directly assigned principal in the calling workspace. Changes are
+ * applied one at a time rather than atomically. If the request fails partway through, only some
+ * of the requested changes take effect. Get the assignment afterwards to confirm the final state.
+ */
+ WorkspaceAssignment updateWorkspaceAssignmentProxy(
+ UpdateWorkspaceAssignmentProxyRequest updateWorkspaceAssignmentProxyRequest);
+
+ /** Updates a workspace identity detail for a principal. */
+ WorkspaceIdentityDetail updateWorkspaceIdentityDetail(
+ UpdateWorkspaceIdentityDetailRequest updateWorkspaceIdentityDetailRequest);
}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/WorkspaceIdentityDetail.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/WorkspaceIdentityDetail.java
new file mode 100644
index 000000000..744193111
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/WorkspaceIdentityDetail.java
@@ -0,0 +1,91 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Objects;
+
+/** The details of a directly or indirectly assigned principal's details in a workspace. */
+@Generated
+public class WorkspaceIdentityDetail {
+ /** The type of assignment the principal has to the workspace (direct or indirect). */
+ @JsonProperty("assignment_type")
+ private WorkspaceIdentityDetailAssignmentType assignmentType;
+
+ /** The internal ID of the principal (user/sp/group) in Databricks. */
+ @JsonProperty("principal_id")
+ private Long principalId;
+
+ /** The type of the principal (user/service principal/group). */
+ @JsonProperty("principal_type")
+ private PrincipalType principalType;
+
+ /** The activity status of an identity in a Databricks workspace. */
+ @JsonProperty("workspace_identity_status")
+ private State workspaceIdentityStatus;
+
+ public WorkspaceIdentityDetail setAssignmentType(
+ WorkspaceIdentityDetailAssignmentType assignmentType) {
+ this.assignmentType = assignmentType;
+ return this;
+ }
+
+ public WorkspaceIdentityDetailAssignmentType getAssignmentType() {
+ return assignmentType;
+ }
+
+ public WorkspaceIdentityDetail setPrincipalId(Long principalId) {
+ this.principalId = principalId;
+ return this;
+ }
+
+ public Long getPrincipalId() {
+ return principalId;
+ }
+
+ public WorkspaceIdentityDetail setPrincipalType(PrincipalType principalType) {
+ this.principalType = principalType;
+ return this;
+ }
+
+ public PrincipalType getPrincipalType() {
+ return principalType;
+ }
+
+ public WorkspaceIdentityDetail setWorkspaceIdentityStatus(State workspaceIdentityStatus) {
+ this.workspaceIdentityStatus = workspaceIdentityStatus;
+ return this;
+ }
+
+ public State getWorkspaceIdentityStatus() {
+ return workspaceIdentityStatus;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ WorkspaceIdentityDetail that = (WorkspaceIdentityDetail) o;
+ return Objects.equals(assignmentType, that.assignmentType)
+ && Objects.equals(principalId, that.principalId)
+ && Objects.equals(principalType, that.principalType)
+ && Objects.equals(workspaceIdentityStatus, that.workspaceIdentityStatus);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(assignmentType, principalId, principalType, workspaceIdentityStatus);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(WorkspaceIdentityDetail.class)
+ .add("assignmentType", assignmentType)
+ .add("principalId", principalId)
+ .add("principalType", principalType)
+ .add("workspaceIdentityStatus", workspaceIdentityStatus)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/WorkspaceIdentityDetailAssignmentType.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/WorkspaceIdentityDetailAssignmentType.java
new file mode 100644
index 000000000..5f7e43f15
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/WorkspaceIdentityDetailAssignmentType.java
@@ -0,0 +1,12 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iamv2;
+
+import com.databricks.sdk.support.Generated;
+
+/** The type of assignment the principal has to the workspace. */
+@Generated
+public enum WorkspaceIdentityDetailAssignmentType {
+ DIRECT,
+ INDIRECT,
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/CreateJob.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/CreateJob.java
index 0b1d665ef..2a79da278 100644
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/CreateJob.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/CreateJob.java
@@ -198,8 +198,7 @@ public class CreateJob {
/**
* List of triggers attached to this job. A run starts when any active trigger evaluates to true.
* Cannot be set in the same request as the legacy `schedule`, `trigger`, or `continuous` fields.
- * The 10-trigger cap is the design's hard limit; rollout steps the effective cap 3 -> 5 -> 10 via
- * internal validation during the preview.
+ * Gated behind the "Multiple Triggers" feature preview.
*/
@JsonProperty("triggers")
private Collection triggers;
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/JobSettings.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/JobSettings.java
index 56cda2f66..a23cbdd03 100644
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/JobSettings.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/JobSettings.java
@@ -194,8 +194,7 @@ public class JobSettings {
/**
* List of triggers attached to this job. A run starts when any active trigger evaluates to true.
* Cannot be set in the same request as the legacy `schedule`, `trigger`, or `continuous` fields.
- * The 10-trigger cap is the design's hard limit; rollout steps the effective cap 3 -> 5 -> 10 via
- * internal validation during the preview.
+ * Gated behind the "Multiple Triggers" feature preview.
*/
@JsonProperty("triggers")
private Collection triggers;
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/SchemaSpec.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/SchemaSpec.java
index fcf043c97..9e2dceb4a 100644
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/SchemaSpec.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/SchemaSpec.java
@@ -37,7 +37,13 @@ public class SchemaSpec {
@JsonProperty("source_catalog")
private String sourceCatalog;
- /** Required. Schema name in the source database. */
+ /**
+ * Schema name in the source database. Currently required; this field will become optional in an
+ * upcoming release, since some source types (for example streaming / message-bus connectors) do
+ * not use it. When that change ships, this field's type in the generated SDKs and CLI will change
+ * from required to optional (nullable); clients that assume it is always present should handle
+ * its absence.
+ */
@JsonProperty("source_schema")
private String sourceSchema;
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/TableSpec.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/TableSpec.java
index 6b85d657e..c4eee40d1 100644
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/TableSpec.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/TableSpec.java
@@ -36,7 +36,13 @@ public class TableSpec {
@JsonProperty("source_schema")
private String sourceSchema;
- /** Required. Table name in the source database. */
+ /**
+ * Table name in the source database. Currently required; this field will become optional in an
+ * upcoming release, since some source types (for example streaming / message-bus connectors) do
+ * not use it. When that change ships, this field's type in the generated SDKs and CLI will change
+ * from required to optional (nullable); clients that assume it is always present should handle
+ * its absence.
+ */
@JsonProperty("source_table")
private String sourceTable;
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/serving/TelemetryConfig.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/serving/TelemetryConfig.java
index d3848e971..4743a1446 100644
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/serving/TelemetryConfig.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/serving/TelemetryConfig.java
@@ -15,9 +15,7 @@ public class TelemetryConfig {
/**
* The Unity Catalog tables to which endpoint telemetry (logs, traces, and metrics) is exported.
- * Provide this to create a new telemetry profile for the endpoint from the given tables. This
- * field selects the tables when writing a telemetry configuration; it is not returned when
- * reading one. Responses identify the resulting profile with `telemetry_profile_id` instead.
+ * Provide this to create a new telemetry profile for the endpoint from the given tables.
*/
@JsonProperty("table_names")
private UnityCatalogTableNames tableNames;