IAM

The SDK interfaces based on the IAM API are as follows. For details about the invoking methods, see the sample codes.

Interface

Method

API

TokenService

Token create(String nocatalog, Auth auth)

POST /v3/auth/tokens

Obtaining a User Token Through Password Authentication Link

Obtaining a User Token Through Password and Virtual MFA Authentication Link

Obtaining an Agency Token Link

Token get(String tokenId)

Token getWithoutCatalog(String tokenId, String nocatalog

GET /v3/auth/tokens

Link

List<? extends Project> getProjectScopes(String tokenId)

GET /v3/auth/projects

Link

List<? extends Domain> getDomainScopes(String tokenId)

GET /v3/auth/domains

Link

List<? extends Service> getServiceCatalog()

GET /v3/auth/catalog

Link

SecuritytokenService

Securitytoken create(Auth auth)

POST /v3.0/OS-CREDENTIAL/securitytokens

Link

CredentialService

PermanentCredentialResp createPermanentAccessKey(CreatePermanentCredentialReq createPermanentCredentialReq)

POST /v3.0/OS-CREDENTIAL/credentials

Link

Credentials listPermanentAccessKeys(String userId)

GET /v3.0/OS-CREDENTIAL/credentials

Link

PermanentCredentialResp queryPermanentAccessKey(String accessKey)

GET /v3.0/OS-CREDENTIAL/credentials/{access_key}

Link

UpdateCredentialResp updatePermanentAccessKey(String accessKey, UpdateCredentialReq updateCredentialReq)

PUT /v3.0/OS-CREDENTIAL/credentials/{access_key}

Link

ActionResponse deletePermanentAccessKey(String accessKey)

DELETE /v3.0/OS-CREDENTIAL/credentials/{access_key}

Link

RegionService

List<? extends Region> list()

GET /v3/regions

Link

Region get(String regionId)

GET /v3/regions/{region_id}

Link

ProjectService(identity)

List<? extends Project> listByObject(Map<String, Object> filteringParams)

GET /v3/projects

Link

Project create(Project project)

POST /v3/projects

Link

Project update(Project project)

PATCH /v3/projects/{project_id}

Link

Project get(String projectId)

GET /v3/projects/{project_id}

Link

ProjectService(iam)

ActionResponse updateStatus(String projectId, UpdateProjectReq project)

PUT /v3-ext/projects/{project_id}

Link

QueryProjectResp query(String projectId)

GET /v3-ext/projects/{project_id}

Link

DomainService

PasswordConfig getDomainPasswordConfig(String domainId)

GET /v3/domains/{domain_id}/config/security_compliance

Link

PasswordConfig getDomainPasswordConfigByOption(String domainId, String option)

GET /v3/domains/{domain_id}/config/security_compliance/{option}

Link

UserService(identity)

List<? extends User> list()

List<? extends User> list(Map<String, String> filteringParams)

GET /v3/users

Link

User get(String userId)

GET /v3/users/{user_id}

Link

List<? extends Group> listUserGroups(String userId)

GET /v3/users/{user_id}/groups

Link

User create(User user)

POST /v3/users

Link

ActionResponse changePassword(String userId,String originalPassword,String password)

POST /v3/users/{user_id}/password

Link

User update(User user)

PATCH /v3/users/{user_id}

Link

ActionResponse delete(String userId)

DELETE /v3/users/{user_id}

Link

List<? extends Project> listUserProjects(String userId)

GET /v3/users/{user_id}/projects

Link

UserService(iam)

CreateUserResp create(CreateUserReq user)

POST /v3.0/OS-USER/users

Link

QueryUserResp query(String userId)

GET /v3.0/OS-USER/users/{user_id}

Link

ActionResponse update(String userId, UpdateUserReq user)

PUT /v3.0/OS-USER/users/{user_id}/info

Link

UpdateUserByAdminResp updateByAdmin(String userId, UpdateUserByAdminReq user)

PUT /v3.0/OS-USER/users/{user_id}

Link

GroupService

List<? extends Group> list(Map<String, String> filteringParams)

GET /v3/groups

Link

Group get(String groupId)

GET /v3/groups/{group_id}

Link

Group create(Group group)

POST /v3/groups

Link

Group update(Group group)

PATCH /v3/groups/{group_id}

Link

ActionResponse delete(String groupId)

DELETE /v3/groups/{group_id}

Link

ActionResponse checkGroupUser(String groupId, String userId)

HEAD /v3/groups/{group_id}/users/{user_id}

Link

ActionResponse addUserToGroup(String groupId, String userId)

PUT /v3/groups/{group_id}/users/{user_id}

Link

ActionResponse removeUserFromGroup(String groupId, String userId)

DELETE /v3/groups/{group_id}/users/{user_id}

Link

List<? extends User> listGroupUsers(String groupId, Map<String, String> filteringParams)

GET /v3/groups/{group_id}/users

Link

List<? extends Role> listDomainGroupRoles(String groupId, String domainId)

GET /v3/domains/{domain_id}/groups/{group_id}/roles

Link

List<? extends Role> listProjectGroupRoles(String groupId, String projectId)

GET /v3/projects/{project_id}/groups/{group_id}/roles

Link

RoleService

List<? extends Role> list(Map<String, String> filteringParams)

GET /v3/roles

Link

Role get(String roleId)

GET /v3/roles/{role_id}

Link

ActionResponse grantDomainGroupRole(String domainId, String groupId, String roleId)

PUT /v3/domains/{domain_id}/groups/{group_id}/roles/{role_id}

Link

ActionResponse grantProjectGroupRole(String projectId, String groupId, String roleId)

PUT /v3/projects/{project_id}/groups/{group_id}/roles/{role_id}

Link

ActionResponse checkDomainGroupRole(String domainId, String groupId, String roleId)

HEAD /v3/domains/{domain_id}/groups/{group_id}/roles/{role_id}

Link

ActionResponse checkProjectGroupRole(String projectId, String groupId, String roleId)

HEAD /v3/projects/{project_id}/groups/{group_id}/roles/{role_id}

Link

ActionResponse revokeDomainGroupRole(String domainId, String groupId, String roleId)

DELETE /v3/domains/{domain_id}/groups/{group_id}/roles/{role_id}

Link

ActionResponse revokeProjectGroupRole(String projectId, String groupId, String roleId)

DELETE /v3/projects/{project_id}/groups/{group_id}/roles/{role_id}

Link

ActionResponse grantGroupAllProjectsRole(String domainId, String groupId, String roleId)

PUT /v3/OS-INHERIT/domains/{domain_id}/groups/{group_id}/roles/{role_id}/inherited_to_projects

Link

CustomRoleService

List<CreateRoleResp> list().getRoles()

GET /v3.0/OS-ROLE/roles

Link

QueryRoleResp get(String roleId)

GET /v3.0/OS-ROLE/roles/{role_id}

Link

CreateRoleResp create(CreateRoleReq roleReq)

POST /v3.0/OS-ROLE/roles

Link for creating a custom cloud service policy

Link for creating a custom agency policy

UpdateRoleResp update(String roleId, UpdateRoleReq updateRoleReq)

PATCH /v3.0/OS-ROLE/roles/{role_id}

Link for modifying a custom cloud service policy

Link for modifying a custom agency policy

ActionResponse delete(String roleId)

DELETE /v3.0/OS-ROLE/roles/{role_id}

Link

AgencyService

ListAgenciesResp listAgencies(String domainId, Map<String, String> filteringParams)

GET /v3.0/OS-AGENCY/agencies

Link

AgencyResp get(String agencyId)

GET /v3.0/OS-AGENCY/agencies/{agency_id}

Link

AgencyResp create(CreateAgencyReq createAgencyReq)

POST /v3.0/OS-AGENCY/agencies

Link

AgencyResp update(String agencyId, UpdateAgencyReq updateAgencyReq)

PUT /v3.0/OS-AGENCY/agencies/{agency_id}

Link

ActionResponse delete(String agencyId)

DELETE /v3.0/OS-AGENCY/agencies/{agency_id}

Link

ListPermissionsResp listPermissionsOnDomain(String domainId, String agencyID)

GET /v3.0/OS-AGENCY/domains/{domain_id}/agencies/{agency_id}/roles

Link

ListPermissionsResp listPermissionsOnProject(String projectId, String agencyId)

GET /v3.0/OS-AGENCY/projects/{project_id}/agencies/{agency_id}/roles

Link

ActionResponse addPermissionOnDomain(String domainId, String agencyId, String roleId)

PUT /v3.0/OS-AGENCY/domains/{domain_id}/agencies/{agency_id}/roles/{role_id}

Link

ActionResponse addPermissionOnProject(String projectId, String agencyId, String roleId)

PUT /v3.0/OS-AGENCY/projects/{project_id}/agencies/{agency_id}/roles/{role_id}

Link

ActionResponse checkPermissionOnDomain(String domainId, String agencyId, String roleId)

HEAD /v3.0/OS-AGENCY/domains/{domain_id}/agencies/{agency_id}/roles/{role_id}

Link

ActionResponse checkPermissionOnProject(String projectId, String agencyId, String roleId)

HEAD /v3.0/OS-AGENCY/projects/{project_id}/agencies/{agency_id}/roles/{role_id}

Link

ActionResponse deletePermissionOnDomain(String domainId, String agencyId, String roleId)

DELETE /v3.0/OS-AGENCY/domains/{domain_id}/agencies/{agency_id}/roles/{role_id}

Link

ActionResponse deletePermissionOnProject(String projectId, String agencyId, String roleId)

DELETE /v3.0/OS-AGENCY/projects/{project_id}/agencies/{agency_id}/roles/{role_id}

Link

VersionService

Version get()

GET /v3

Link

ServiceEndpointService

List<? extends Service> list(Map<String, String> filteringParams)

GET /v3/services

Link

Service get(String serviceId)

GET /v3/services/{service_id}

Link

List<? extends Endpoint> listEndpoints(Map<String, String> filteringParams)

GET /v3/endpoints

Link

Endpoint getEndpoint(String endpointId)

GET /v3/endpoints/{endpoint_id}

Link