# Path: google/cloud/asset_v1/types/asset_service.py
# class ContentType(proto.Enum):
# class AnalyzeIamPolicyLongrunningMetadata(proto.Message):
# class ExportAssetsRequest(proto.Message):
# class ExportAssetsResponse(proto.Message):
# class ListAssetsRequest(proto.Message):
# class ListAssetsResponse(proto.Message):
# class BatchGetAssetsHistoryRequest(proto.Message):
# class BatchGetAssetsHistoryResponse(proto.Message):
# class CreateFeedRequest(proto.Message):
# class GetFeedRequest(proto.Message):
# class ListFeedsRequest(proto.Message):
# class ListFeedsResponse(proto.Message):
# class UpdateFeedRequest(proto.Message):
# class DeleteFeedRequest(proto.Message):
# class OutputConfig(proto.Message):
# class OutputResult(proto.Message):
# class GcsOutputResult(proto.Message):
# class GcsDestination(proto.Message):
# class BigQueryDestination(proto.Message):
# class PartitionSpec(proto.Message):
#     class PartitionKey(proto.Enum):
# class PubsubDestination(proto.Message):
# class FeedOutputConfig(proto.Message):
# class Feed(proto.Message):
# class SearchAllResourcesRequest(proto.Message):
# class SearchAllResourcesResponse(proto.Message):
# class SearchAllIamPoliciesRequest(proto.Message):
# class SearchAllIamPoliciesResponse(proto.Message):
# class IamPolicyAnalysisQuery(proto.Message):
#     class ResourceSelector(proto.Message):
#     class IdentitySelector(proto.Message):
#     class AccessSelector(proto.Message):
#     class Options(proto.Message):
#     class ConditionContext(proto.Message):
# class AnalyzeIamPolicyRequest(proto.Message):
# class AnalyzeIamPolicyResponse(proto.Message):
#     class IamPolicyAnalysis(proto.Message):
# class IamPolicyAnalysisOutputConfig(proto.Message):
#     class GcsDestination(proto.Message):
#     class BigQueryDestination(proto.Message):
#         class PartitionKey(proto.Enum):
# class AnalyzeIamPolicyLongrunningRequest(proto.Message):
# class AnalyzeIamPolicyLongrunningResponse(proto.Message):
# class AnalyzeMoveRequest(proto.Message):
#     class AnalysisView(proto.Enum):
# class AnalyzeMoveResponse(proto.Message):
# class MoveAnalysis(proto.Message):
# class MoveAnalysisResult(proto.Message):
# class MoveImpact(proto.Message):
#     CONTENT_TYPE_UNSPECIFIED = 0
#     RESOURCE = 1
#     IAM_POLICY = 2
#     ORG_POLICY = 4
#     ACCESS_POLICY = 5
#     OS_INVENTORY = 6
#     RELATIONSHIP = 7
#         PARTITION_KEY_UNSPECIFIED = 0
#         READ_TIME = 1
#         REQUEST_TIME = 2
#             PARTITION_KEY_UNSPECIFIED = 0
#             REQUEST_TIME = 1
#         ANALYSIS_VIEW_UNSPECIFIED = 0
#         FULL = 1
#         BASIC = 2
#     def raw_page(self):
#     def raw_page(self):
#     def raw_page(self):
# 
# Path: google/cloud/asset_v1/types/assets.py
# class TemporalAsset(proto.Message):
#     class PriorAssetState(proto.Enum):
# class TimeWindow(proto.Message):
# class Asset(proto.Message):
# class Resource(proto.Message):
# class RelatedAssets(proto.Message):
# class RelationshipAttributes(proto.Message):
# class RelatedAsset(proto.Message):
# class ResourceSearchResult(proto.Message):
# class VersionedResource(proto.Message):
# class AttachedResource(proto.Message):
# class RelatedResources(proto.Message):
# class RelatedResource(proto.Message):
# class IamPolicySearchResult(proto.Message):
#     class Explanation(proto.Message):
#         class Permissions(proto.Message):
# class IamPolicyAnalysisState(proto.Message):
# class ConditionEvaluation(proto.Message):
#     class EvaluationValue(proto.Enum):
# class IamPolicyAnalysisResult(proto.Message):
#     class Resource(proto.Message):
#     class Access(proto.Message):
#     class Identity(proto.Message):
#     class Edge(proto.Message):
#     class AccessControlList(proto.Message):
#     class IdentityList(proto.Message):
#         PRIOR_ASSET_STATE_UNSPECIFIED = 0
#         PRESENT = 1
#         INVALID = 2
#         DOES_NOT_EXIST = 3
#         DELETED = 4
#         EVALUATION_VALUE_UNSPECIFIED = 0
#         TRUE = 1
#         FALSE = 2
#         CONDITIONAL = 3


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

    All the usual :class:`google.cloud.asset_v1.types.SearchAllResourcesResponse`
    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[..., Awaitable[asset_service.SearchAllResourcesResponse]],
        request: asset_service.SearchAllResourcesRequest,
        response: asset_service.SearchAllResourcesResponse,
        *,
        metadata: Sequence[Tuple[str, str]] = ()
    ):
        """Instantiates the pager.

        Args:
            method (Callable): The method that was originally called, and
                which instantiated this pager.
            request (google.cloud.asset_v1.types.SearchAllResourcesRequest):
                The initial request object.
            response (google.cloud.asset_v1.types.SearchAllResourcesResponse):
                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_v1/types/asset_service.py
# class ContentType(proto.Enum):
# class AnalyzeIamPolicyLongrunningMetadata(proto.Message):
# class ExportAssetsRequest(proto.Message):
# class ExportAssetsResponse(proto.Message):
# class ListAssetsRequest(proto.Message):
# class ListAssetsResponse(proto.Message):
# class BatchGetAssetsHistoryRequest(proto.Message):
# class BatchGetAssetsHistoryResponse(proto.Message):
# class CreateFeedRequest(proto.Message):
# class GetFeedRequest(proto.Message):
# class ListFeedsRequest(proto.Message):
# class ListFeedsResponse(proto.Message):
# class UpdateFeedRequest(proto.Message):
# class DeleteFeedRequest(proto.Message):
# class OutputConfig(proto.Message):
# class OutputResult(proto.Message):
# class GcsOutputResult(proto.Message):
# class GcsDestination(proto.Message):
# class BigQueryDestination(proto.Message):
# class PartitionSpec(proto.Message):
#     class PartitionKey(proto.Enum):
# class PubsubDestination(proto.Message):
# class FeedOutputConfig(proto.Message):
# class Feed(proto.Message):
# class SearchAllResourcesRequest(proto.Message):
# class SearchAllResourcesResponse(proto.Message):
# class SearchAllIamPoliciesRequest(proto.Message):
# class SearchAllIamPoliciesResponse(proto.Message):
# class IamPolicyAnalysisQuery(proto.Message):
#     class ResourceSelector(proto.Message):
#     class IdentitySelector(proto.Message):
#     class AccessSelector(proto.Message):
#     class Options(proto.Message):
#     class ConditionContext(proto.Message):
# class AnalyzeIamPolicyRequest(proto.Message):
# class AnalyzeIamPolicyResponse(proto.Message):
#     class IamPolicyAnalysis(proto.Message):
# class IamPolicyAnalysisOutputConfig(proto.Message):
#     class GcsDestination(proto.Message):
#     class BigQueryDestination(proto.Message):
#         class PartitionKey(proto.Enum):
# class AnalyzeIamPolicyLongrunningRequest(proto.Message):
# class AnalyzeIamPolicyLongrunningResponse(proto.Message):
# class AnalyzeMoveRequest(proto.Message):
#     class AnalysisView(proto.Enum):
# class AnalyzeMoveResponse(proto.Message):
# class MoveAnalysis(proto.Message):
# class MoveAnalysisResult(proto.Message):
# class MoveImpact(proto.Message):
#     CONTENT_TYPE_UNSPECIFIED = 0
#     RESOURCE = 1
#     IAM_POLICY = 2
#     ORG_POLICY = 4
#     ACCESS_POLICY = 5
#     OS_INVENTORY = 6
#     RELATIONSHIP = 7
#         PARTITION_KEY_UNSPECIFIED = 0
#         READ_TIME = 1
#         REQUEST_TIME = 2
#             PARTITION_KEY_UNSPECIFIED = 0
#             REQUEST_TIME = 1
#         ANALYSIS_VIEW_UNSPECIFIED = 0
#         FULL = 1
#         BASIC = 2
#     def raw_page(self):
#     def raw_page(self):
#     def raw_page(self):
# 
# Path: google/cloud/asset_v1/types/assets.py
# class TemporalAsset(proto.Message):
#     class PriorAssetState(proto.Enum):
# class TimeWindow(proto.Message):
# class Asset(proto.Message):
# class Resource(proto.Message):
# class RelatedAssets(proto.Message):
# class RelationshipAttributes(proto.Message):
# class RelatedAsset(proto.Message):
# class ResourceSearchResult(proto.Message):
# class VersionedResource(proto.Message):
# class AttachedResource(proto.Message):
# class RelatedResources(proto.Message):
# class RelatedResource(proto.Message):
# class IamPolicySearchResult(proto.Message):
#     class Explanation(proto.Message):
#         class Permissions(proto.Message):
# class IamPolicyAnalysisState(proto.Message):
# class ConditionEvaluation(proto.Message):
#     class EvaluationValue(proto.Enum):
# class IamPolicyAnalysisResult(proto.Message):
#     class Resource(proto.Message):
#     class Access(proto.Message):
#     class Identity(proto.Message):
#     class Edge(proto.Message):
#     class AccessControlList(proto.Message):
#     class IdentityList(proto.Message):
#         PRIOR_ASSET_STATE_UNSPECIFIED = 0
#         PRESENT = 1
#         INVALID = 2
#         DOES_NOT_EXIST = 3
#         DELETED = 4
#         EVALUATION_VALUE_UNSPECIFIED = 0
#         TRUE = 1
#         FALSE = 2
#         CONDITIONAL = 3


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

    ``SearchAllResources`` requests and continue to iterate
    through the ``results`` field on the
    corresponding responses.

    All the usual :class:`google.cloud.asset_v1.types.SearchAllResourcesResponse`
    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[..., Awaitable[asset_service.SearchAllResourcesResponse]],
        request: asset_service.SearchAllResourcesRequest,
        response: asset_service.SearchAllResourcesResponse,
        *,
        metadata: Sequence[Tuple[str, str]] = ()
    ):
        """Instantiates the pager.

        Args:
            method (Callable): The method that was originally called, and
                which instantiated this pager.
            request (google.cloud.asset_v1.types.SearchAllResourcesRequest):
                The initial request object.
            response (google.cloud.asset_v1.types.SearchAllResourcesResponse):
                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.SearchAllResourcesRequest(request)