# Path: google/cloud/asset_v1p5beta1/types/asset_service.py
# class ContentType(proto.Enum):
# class ListAssetsRequest(proto.Message):
# class ListAssetsResponse(proto.Message):
#     CONTENT_TYPE_UNSPECIFIED = 0
#     RESOURCE = 1
#     IAM_POLICY = 2
#     ORG_POLICY = 4
#     ACCESS_POLICY = 5
#     def raw_page(self):
# 
# Path: google/cloud/asset_v1p5beta1/types/assets.py
# class Asset(proto.Message):
# class Resource(proto.Message):


from typing import (
    Any,
    AsyncIterator,
    Awaitable,
    Callable,
    Sequence,
    Tuple,
    Optional,
    Iterator,
)
from google.cloud.asset_v1p5beta1.types import asset_service
from google.cloud.asset_v1p5beta1.types import assets
    ``ListAssets`` requests and continue to iterate
    through the ``assets`` field on the
    corresponding responses.

    All the usual :class:`google.cloud.asset_v1p5beta1.types.ListAssetsResponse`
    attributes are available on the pager. If multiple requests are made, only
    the most recent response is retained, and thus used for attribute lookup.
    """

    def __init__(
        self,
        method: Callable[..., asset_service.ListAssetsResponse],
        request: asset_service.ListAssetsRequest,
        response: asset_service.ListAssetsResponse,
        *,
        metadata: Sequence[Tuple[str, str]] = ()
    ):
        """Instantiate the pager.

        Args:
            method (Callable): The method that was originally called, and
                which instantiated this pager.
            request (google.cloud.asset_v1p5beta1.types.ListAssetsRequest):
                The initial request object.
            response (google.cloud.asset_v1p5beta1.types.ListAssetsResponse):
                The initial response object.
            metadata (Sequence[Tuple[str, str]]): Strings which should be
                sent along with the request as metadata.
        """
        self._method = method

# Path: google/cloud/asset_v1p5beta1/types/asset_service.py
# class ContentType(proto.Enum):
# class ListAssetsRequest(proto.Message):
# class ListAssetsResponse(proto.Message):
#     CONTENT_TYPE_UNSPECIFIED = 0
#     RESOURCE = 1
#     IAM_POLICY = 2
#     ORG_POLICY = 4
#     ACCESS_POLICY = 5
#     def raw_page(self):
# 
# Path: google/cloud/asset_v1p5beta1/types/assets.py
# class Asset(proto.Message):
# class Resource(proto.Message):


# Path: google/cloud/asset_v1p5beta1/services/asset_service/pagers.py
from typing import (
    Any,
    AsyncIterator,
    Awaitable,
    Callable,
    Sequence,
    Tuple,
    Optional,
    Iterator,
)
from google.cloud.asset_v1p5beta1.types import asset_service
from google.cloud.asset_v1p5beta1.types import assets

    ``ListAssets`` requests and continue to iterate
    through the ``assets`` field on the
    corresponding responses.

    All the usual :class:`google.cloud.asset_v1p5beta1.types.ListAssetsResponse`
    attributes are available on the pager. If multiple requests are made, only
    the most recent response is retained, and thus used for attribute lookup.
    """

    def __init__(
        self,
        method: Callable[..., asset_service.ListAssetsResponse],
        request: asset_service.ListAssetsRequest,
        response: asset_service.ListAssetsResponse,
        *,
        metadata: Sequence[Tuple[str, str]] = ()
    ):
        """Instantiate the pager.

        Args:
            method (Callable): The method that was originally called, and
                which instantiated this pager.
            request (google.cloud.asset_v1p5beta1.types.ListAssetsRequest):
                The initial request object.
            response (google.cloud.asset_v1p5beta1.types.ListAssetsResponse):
                The initial response object.
            metadata (Sequence[Tuple[str, str]]): Strings which should be
                sent along with the request as metadata.
        """
        self._method = method

        self._request = asset_service.ListAssetsRequest(request)