| 48 | |
| 49 | |
| 50 | class UserManager: |
| 51 | |
| 52 | def __init__(self, client_adapter: ClientAdapter, observability_instruments: ObservabilityInstruments) -> None: |
| 53 | self._impl = UserMgmtImpl(client_adapter, observability_instruments) |
| 54 | |
| 55 | def get_user(self, |
| 56 | username, # type: str |
| 57 | *options, # type: GetUserOptions |
| 58 | **kwargs # type: Any |
| 59 | ) -> UserAndMetadata: |
| 60 | """Returns a user by its username. |
| 61 | |
| 62 | Args: |
| 63 | username (str): The name of the user to retrieve. |
| 64 | options (:class:`~couchbase.management.options.GetUserOptions`): Optional parameters for this |
| 65 | operation. |
| 66 | **kwargs (Dict[str, Any]): keyword arguments that can be used as optional parameters |
| 67 | for this operation. |
| 68 | |
| 69 | Returns: |
| 70 | :class:`UserAndMetadata`: A :class:`UserAndMetadata` instance. |
| 71 | |
| 72 | Raises: |
| 73 | :class:`~couchbase.exceptions.UserNotFoundException`: If the user does not exist. |
| 74 | """ |
| 75 | op_type = UserMgmtOperationType.UserGet |
| 76 | with ObservableRequestHandler(op_type, self._impl.observability_instruments) as obs_handler: |
| 77 | req = self._impl.request_builder.build_get_user_request(username, obs_handler, *options, **kwargs) |
| 78 | return self._impl.get_user(req, obs_handler) |
| 79 | |
| 80 | def get_all_users(self, |
| 81 | *options, # type: GetAllUsersOptions |
| 82 | **kwargs # type: Any |
| 83 | ) -> Iterable[UserAndMetadata]: |
| 84 | """Returns a list of all existing users. |
| 85 | |
| 86 | Args: |
| 87 | options (:class:`~couchbase.management.options.GetAllUsersOptions`): Optional parameters for this |
| 88 | operation. |
| 89 | **kwargs (Dict[str, Any]): keyword arguments that can be used as optional parameters |
| 90 | for this operation. |
| 91 | |
| 92 | Returns: |
| 93 | Iterable[:class:`UserAndMetadata`]: A list of existing users. |
| 94 | """ |
| 95 | op_type = UserMgmtOperationType.UserGetAll |
| 96 | with ObservableRequestHandler(op_type, self._impl.observability_instruments) as obs_handler: |
| 97 | req = self._impl.request_builder.build_get_all_users_request(obs_handler, *options, **kwargs) |
| 98 | return self._impl.get_all_users(req, obs_handler) |
| 99 | |
| 100 | def upsert_user(self, |
| 101 | user, # type: User |
| 102 | *options, # type: UpsertUserOptions |
| 103 | **kwargs # type: Any |
| 104 | ) -> None: |
| 105 | """Creates a new user or updates an existing user. |
| 106 | |
| 107 | Args: |