Source code for sinch.domains.numbers.api.v1.available_regions_apis

from typing import Optional, List
from sinch.core.pagination import TokenBasedPaginator, Paginator
from sinch.domains.numbers.api.v1.internal import ListAvailableRegionsEndpoint
from sinch.domains.numbers.models.v1.internal import (
    ListAvailableRegionsRequest,
)
from sinch.domains.numbers.models.v1.response import AvailableRegion
from sinch.domains.numbers.models.v1.types import NumberType


[docs] class AvailableRegions: def __init__(self, sinch): self._sinch = sinch
[docs] def list( self, types: Optional[List[NumberType]] = None, **kwargs ) -> Paginator[AvailableRegion]: """ Lists all regions for numbers provided using the project ID. Some numbers can be configured for multiple regions. See which regions apply to your virtual number. :param types: List of number types to filter the regions. :type types: Optional[List[NumberType]] :param kwargs: Additional parameters for the request. :type kwargs: Optional[dict] :return: A paginator object containing the list of available regions. :rtype: Paginator[Region] For additional documentation, see https://www.sinch.com and visit our developer portal. """ return TokenBasedPaginator( sinch=self._sinch, endpoint=ListAvailableRegionsEndpoint( project_id=self._sinch.configuration.project_id, request_data=ListAvailableRegionsRequest( types=types, **kwargs ), ), )