def __init__(self, method: Callable[..., budget_service.ListBudgetsResponse], request: budget_service.ListBudgetsRequest, response: budget_service.ListBudgetsResponse, *, 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.billing.budgets_v1beta1.types.ListBudgetsRequest): The initial request object. response (google.cloud.billing.budgets_v1beta1.types.ListBudgetsResponse): 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 = budget_service.ListBudgetsRequest(request) self._response = response self._metadata = metadata
async def list_budgets( self, request: budget_service.ListBudgetsRequest = None, *, retry: retries.Retry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.ListBudgetsAsyncPager: r"""Returns a list of budgets for a billing account. WARNING: There are some fields exposed on the Google Cloud Console that aren't available on this API. When reading from the API, you will not see these fields in the return value, though they may have been set in the Cloud Console. Args: request (:class:`google.cloud.billing.budgets_v1beta1.types.ListBudgetsRequest`): The request object. Request for ListBudgets retry (google.api_core.retry.Retry): Designation of what errors, if any, should be retried. timeout (float): The timeout for this request. metadata (Sequence[Tuple[str, str]]): Strings which should be sent along with the request as metadata. Returns: google.cloud.billing.budgets_v1beta1.services.budget_service.pagers.ListBudgetsAsyncPager: Response for ListBudgets Iterating over this object will yield results and resolve additional pages automatically. """ # Create or coerce a protobuf request object. request = budget_service.ListBudgetsRequest(request) # Wrap the RPC method; this adds retry and timeout information, # and friendly error handling. rpc = gapic_v1.method_async.wrap_method( self._client._transport.list_budgets, default_retry=retries.Retry( initial=0.1, maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( core_exceptions.DeadlineExceeded, core_exceptions.ServiceUnavailable, ), deadline=60.0, ), default_timeout=60.0, client_info=DEFAULT_CLIENT_INFO, ) # Certain fields should be provided within the metadata header; # add these here. metadata = tuple(metadata) + ( gapic_v1.routing_header.to_grpc_metadata((("parent", request.parent),)), ) # Send the request. response = await rpc(request, retry=retry, timeout=timeout, metadata=metadata,) # This method is paged; wrap the response in a pager, which provides # an `__aiter__` convenience method. response = pagers.ListBudgetsAsyncPager( method=rpc, request=request, response=response, metadata=metadata, ) # Done; return the response. return response
def list_budgets( self, request: budget_service.ListBudgetsRequest = None, *, retry: retries.Retry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.ListBudgetsPager: r"""Returns a list of budgets for a billing account. WARNING: There are some fields exposed on the Google Cloud Console that aren't available on this API. When reading from the API, you will not see these fields in the return value, though they may have been set in the Cloud Console. Args: request (google.cloud.billing.budgets_v1beta1.types.ListBudgetsRequest): The request object. Request for ListBudgets retry (google.api_core.retry.Retry): Designation of what errors, if any, should be retried. timeout (float): The timeout for this request. metadata (Sequence[Tuple[str, str]]): Strings which should be sent along with the request as metadata. Returns: google.cloud.billing.budgets_v1beta1.services.budget_service.pagers.ListBudgetsPager: Response for ListBudgets Iterating over this object will yield results and resolve additional pages automatically. """ # Create or coerce a protobuf request object. # Minor optimization to avoid making a copy if the user passes # in a budget_service.ListBudgetsRequest. # There's no risk of modifying the input as we've already verified # there are no flattened fields. if not isinstance(request, budget_service.ListBudgetsRequest): request = budget_service.ListBudgetsRequest(request) # Wrap the RPC method; this adds retry and timeout information, # and friendly error handling. rpc = self._transport._wrapped_methods[self._transport.list_budgets] # Certain fields should be provided within the metadata header; # add these here. metadata = tuple(metadata) + (gapic_v1.routing_header.to_grpc_metadata( (("parent", request.parent), )), ) # Send the request. response = rpc( request, retry=retry, timeout=timeout, metadata=metadata, ) # This method is paged; wrap the response in a pager, which provides # an `__iter__` convenience method. response = pagers.ListBudgetsPager( method=rpc, request=request, response=response, metadata=metadata, ) # Done; return the response. return response