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;