async def deactivate_identity_provider(self, idpId): """ Deactivates an active IdP. Args: idp_id {str} Returns: IdentityProvider """ http_method = "post".upper() api_url = format_url(f""" {self._base_url} /api/v1/idps/{idpId}/lifecycle/deactivate """) body = {} headers = {} request, error = await self._request_executor.create_request( http_method, api_url, body, headers) if error: return (None, None, error) response, error = await self._request_executor\ .execute(request, IdentityProvider) if error: return (None, response, error) try: result = IdentityProvider( self.form_response_body(response.get_body())) except Exception as error: return (None, response, error) return (result, response, None)
async def list_identity_providers(self, query_params={}, keep_empty_params=False): """ Enumerates IdPs in your organization with pagination. A subset of IdPs can be returned that match a supported filter expression or query. Args: query_params {dict}: Map of query parameters for request [query_params.q] {str} [query_params.after] {str} [query_params.limit] {str} [query_params.type] {str} Returns: list: Collection of IdentityProvider instances. """ http_method = "get".upper() api_url = format_url(f""" {self._base_url} /api/v1/idps """) if query_params: encoded_query_params = urlencode(query_params) api_url += f"/?{encoded_query_params}" body = {} headers = {} form = {} request, error = await self._request_executor.create_request( http_method, api_url, body, headers, form, keep_empty_params=keep_empty_params) if error: return (None, None, error) response, error = await self._request_executor\ .execute(request, IdentityProvider) if error: return (None, response, error) try: result = [] for item in response.get_body(): result.append(IdentityProvider(self.form_response_body(item))) except Exception as error: return (None, response, error) return (result, response, None)
async def update_identity_provider(self, idpId, identity_provider, keep_empty_params=False): """ Updates the configuration for an IdP. Args: idp_id {str} {identity_provider} Returns: IdentityProvider """ http_method = "put".upper() api_url = format_url(f""" {self._base_url} /api/v1/idps/{idpId} """) if isinstance(identity_provider, dict): body = identity_provider else: body = identity_provider.as_dict() headers = { "Accept": "application/json", "Content-Type": "application/json" } form = {} request, error = await self._request_executor.create_request( http_method, api_url, body, headers, form, keep_empty_params=keep_empty_params) if error: return (None, None, error) response, error = await self._request_executor\ .execute(request, IdentityProvider) if error: return (None, response, error) try: result = IdentityProvider( self.form_response_body(response.get_body())) except Exception as error: return (None, response, error) return (result, response, None)
async def create_identity_provider( self, identity_provider ): """ Adds a new IdP to your organization. Args: {identity_provider} Returns: IdentityProvider """ http_method = "post".upper() api_url = format_url(f""" {self._base_url} /api/v1/idps """) if isinstance(identity_provider, dict): body = identity_provider else: body = identity_provider.as_dict() headers = { "Accept": "application/json", "Content-Type": "application/json" } request, error = await self._request_executor.create_request( http_method, api_url, body, headers ) if error: return (None, None, error) response, error = await self._request_executor\ .execute(request, IdentityProvider) if error: return (None, response, error) try: result = IdentityProvider( self.form_response_body(response.get_body()) ) except Exception as error: return (None, response, error) return (result, response, None)
async def get_identity_provider(self, idpId, keep_empty_params=False): """ Fetches an IdP by `id`. Args: idp_id {str} Returns: IdentityProvider """ http_method = "get".upper() api_url = format_url(f""" {self._base_url} /api/v1/idps/{idpId} """) body = {} headers = {} form = {} request, error = await self._request_executor.create_request( http_method, api_url, body, headers, form, keep_empty_params=keep_empty_params) if error: return (None, None, error) response, error = await self._request_executor\ .execute(request, IdentityProvider) if error: return (None, response, error) try: result = IdentityProvider( self.form_response_body(response.get_body())) except Exception as error: return (None, response, error) return (result, response, None)