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

AuthToken Operations

create_authtoken(self, attr, nocatalog=None)

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

validate_authtoken(self, x_subject_token, nocatalog=None):

GET /v3/auth/tokens

Link

Securitytoken Operations

create_securitytoken(self, **attrs)

POST /v3.0/OS-CREDENTIAL/securitytokens

  • Obtaining a Temporary Access Key and Security Token Through an Agency Link
  • Obtaining a Temporary Access Key and Security Token Through a Token Link

Credential Operations

create_credential(self, **attrs)

POST /v3.0/OS-CREDENTIAL/credentials

Link

credentials(self, **query)

GET /v3.0/OS-CREDENTIAL/credentials

Link

get_credential(self, access_key)

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

Link

update_credential(self, access_key, **attrs)

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

Link

delete_credential(self, access_key)

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

Link

Region Operations

regions(self, **query)

GET /v3/regions

Link

get_region(self, region)

GET /v3/regions/{region_id}

Link

Project Operations

projects(self, **query)

GET /v3/projects

Link

list_user_projects(self, user_id)

GET /v3/users/{user_id}/projects

Link

get_project_scopes(self)

GET /v3/auth/projects

Link

create_project(self, **attrs)

POST /v3/projects

Link

update_project(self, project, **attrs)

PATCH /v3/projects/{project_id}

Link

get_project(self, project)

GET /v3/projects/{project_id}

Link

Project Operations (iam)

update_project_status(self, project_id, attrs)

PUT /v3-ext/projects/{project_id}

Link

get_project_details_and_status(self, project_id)

GET /v3-ext/projects/{project_id}

Link

Domain Operations

get_domain_scopes(self)

GET /v3/auth/domains

Link

PasswordConfig Operations

get_password_config(self, domain_id)

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

Link

get_password_config_by_option(self, domain_id, option)

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

Link

User Operations (identity)

users(self, **query)

GET /v3/users

Link

get_user(self, user)

GET /v3/users/{user_id}

Link

list_group_users(self, group_id)

GET /v3/groups/{group_id}/users

Link

create_user(self, **attrs)

POST /v3/users

Link

change_password(self, user_id, **attrs)

POST /v3/users/{user_id}/password

Link

update_user(self, user, **attrs)

PATCH /v3/users/{user_id}

Link

delete_user(self, user, ignore_missing=True)

DELETE /v3/users/{user_id}

Link

remove_user_from_group(self, group_id, user_id)

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

Link

User Operations (iam)

query_user_details(self, user_id)

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

Link

create_user(self, **user)

POST /v3.0/OS-USER/users

Link

update_user_information(self, user_id, **user)

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

Link

update_user_information_by_admin(self, user_id, **user)

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

Link

Group Operations

groups(self, **query)

GET /v3/groups

Link

get_group(self, group)

GET /v3/groups/{group_id}

Link

create_group(self, **attrs)

POST /v3/groups

Link

update_group(self, group, **attrs)

PATCH /v3/groups/{group_id}

Link

delete_group(self, group, ignore_missing=True)

DELETE /v3/groups/{group_id}

Link

check_group_user(self, group_id, user_id)

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

Link

add_user_to_group(self, group_id, user_id)

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

Link

list_user_groups(self, user_id)

GET /v3/users/{user_id}/groups

Link

Role Operations

roles(self, **query)

GET /v3/roles

Link

get_role(self, role)

GET /v3/roles/{role_id}

Link

list_domain_user_group_role(self, domain_id, group_id)

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

Link

list_project_user_group_role(self, project_id, group_id)

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

Link

grant_domain_group_role(self, domain_id, group_id, role_id)

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

Link

grant_project_group_role(self, project_id, group_id, role_id)

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

Link

check_domain_group_role(self, domain_id, group_id, role_id)

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

Link

check_project_group_role(self, project_id, group_id, role_id)

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

Link

delete_domain_group_role(self, domain_id, group_id, role_id)

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

Link

delete_project_group_role(self, project_id, group_id, role_id)

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

Link

grant_all_projects_group_role(self, domain_id, group_id, role_id)

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

Link

Customrole Operations

custom_roles(self)

GET /v3.0/OS-ROLE/roles

Link

get_custom_role(self, role_id)

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

Link

create_custom_role(self, **attrs)

POST /v3.0/OS-ROLE/roles

  • Creating a Custom Cloud Service Policy Link
  • Creating a Custom Agency Policy Link

update_custom_role(self, role_id, **attrs)

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

  • Modifying a Custom Cloud Service Policy Link
  • Modifying a Custom Agency Policy Link

delete_custom_role(self, role_id, ignore_missing=True)

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

Link

Agency Operations

agencies(self, **query)

GET /v3.0/OS-AGENCY/agencies

Link

get_agency(self, agency_id)

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

Link

create_agency(self, **attrs)

POST /v3.0/OS-AGENCY/agencies

Link

update_agency(self, agency_id, **attrs)

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

Link

delete_agency(self, agency_id)

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

Link

list_domain_agency_role(self, domain_id, agency_id)

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

Link

list_project_agency_role(self, project_id, agency_id)

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

Link

grant_domain_agency_role(self, domain_id, agency_id, role_id)

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

Link

grant_project_agency_role(self, project_id, agency_id, role_id)

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

Link

check_domain_agency_role(self, domain_id, agency_id, role_id)

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

Link

check_project_agency_role(self, project_id, agency_id, role_id)

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

Link

delete_domain_agency_role(self, domain_id, agency_id, role_id)

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

Link

delete_project_agency_role(self, project_id, agency_id, role_id)

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

Link

Version Operations

get_version_of_keystone(self)

GET /

Link

get_version3_of_keystone(self)

GET /v3

Link

Service Operations

services(self, **query)

GET /v3/services

Link

get_service(self, service)

GET /v3/services/{service_id}

Link

get_service_catalog(self)

GET /v3/auth/catalog

Link

Endpoint Operations

endpoints(self, **query)

GET /v3/endpoints

Link

get_endpoint(self, endpoint)

GET /v3/endpoints/{endpoint_id}

Link