As of January 1, 2020 this library no longer supports Python 2 on the latest released version. Library versions released prior to that date will continue to be available. For more information please visit Python 2 support on Google Cloud.

CloudBilling

class google.cloud.billing_v1.services.cloud_billing.CloudBillingAsyncClient(*, credentials: typing.Optional[google.auth.credentials.Credentials] = None, transport: typing.Optional[typing.Union[str, google.cloud.billing_v1.services.cloud_billing.transports.base.CloudBillingTransport, typing.Callable[[...], google.cloud.billing_v1.services.cloud_billing.transports.base.CloudBillingTransport]]] = 'grpc_asyncio', client_options: typing.Optional[google.api_core.client_options.ClientOptions] = None, client_info: google.api_core.gapic_v1.client_info.ClientInfo = <google.api_core.gapic_v1.client_info.ClientInfo object>)[source]

Retrieves the Google Cloud Console billing accounts and associates them with projects.

Instantiates the cloud billing async client.

Parameters
  • credentials (Optional[google.auth.credentials.Credentials]) – The authorization credentials to attach to requests. These credentials identify the application to the service; if none are specified, the client will attempt to ascertain the credentials from the environment.

  • transport (Optional[Union[str,CloudBillingTransport,Callable[..., CloudBillingTransport]]]) – The transport to use, or a Callable that constructs and returns a new transport to use. If a Callable is given, it will be called with the same set of initialization arguments as used in the CloudBillingTransport constructor. If set to None, a transport is chosen automatically.

  • client_options (Optional[Union[google.api_core.client_options.ClientOptions, dict]]) –

    Custom options for the client.

    1. The api_endpoint property can be used to override the default endpoint provided by the client when transport is not explicitly provided. Only if this property is not set and transport was not explicitly provided, the endpoint is determined by the GOOGLE_API_USE_MTLS_ENDPOINT environment variable, which have one of the following values: “always” (always use the default mTLS endpoint), “never” (always use the default regular endpoint) and “auto” (auto-switch to the default mTLS endpoint if client certificate is present; this is the default value).

    2. If the GOOGLE_API_USE_CLIENT_CERTIFICATE environment variable is “true”, then the client_cert_source property can be used to provide a client certificate for mTLS transport. If not provided, the default SSL client certificate will be used if present. If GOOGLE_API_USE_CLIENT_CERTIFICATE is “false” or not set, no client certificate will be used.

    3. The universe_domain property can be used to override the default “googleapis.com” universe. Note that api_endpoint property still takes precedence; and universe_domain is currently not supported for mTLS.

  • client_info (google.api_core.gapic_v1.client_info.ClientInfo) – The client info used to send a user-agent string along with API requests. If None, then default info will be used. Generally, you only need to set this if you’re developing your own client library.

Raises

google.auth.exceptions.MutualTlsChannelError – If mutual TLS transport creation failed for any reason.

property api_endpoint

Return the API endpoint used by the client instance.

Returns

The API endpoint used by the client instance.

Return type

str

static billing_account_path(billing_account: str) str

Returns a fully-qualified billing_account string.

static common_billing_account_path(billing_account: str) str

Returns a fully-qualified billing_account string.

static common_folder_path(folder: str) str

Returns a fully-qualified folder string.

static common_location_path(project: str, location: str) str

Returns a fully-qualified location string.

static common_organization_path(organization: str) str

Returns a fully-qualified organization string.

static common_project_path(project: str) str

Returns a fully-qualified project string.

async create_billing_account(request: Optional[Union[google.cloud.billing_v1.types.cloud_billing.CreateBillingAccountRequest, dict]] = None, *, billing_account: Optional[google.cloud.billing_v1.types.cloud_billing.BillingAccount] = None, parent: Optional[str] = None, retry: Optional[Union[google.api_core.retry.retry_unary_async.AsyncRetry, google.api_core.gapic_v1.method._MethodDefault]] = _MethodDefault._DEFAULT_VALUE, timeout: Union[float, object] = _MethodDefault._DEFAULT_VALUE, metadata: Sequence[Tuple[str, str]] = ()) google.cloud.billing_v1.types.cloud_billing.BillingAccount[source]

This method creates billing subaccounts.

Google Cloud resellers should use the Channel Services APIs, accounts.customers.create and accounts.customers.entitlements.create.

When creating a subaccount, the current authenticated user must have the billing.accounts.update IAM permission on the parent account, which is typically given to billing account administrators. This method will return an error if the parent account has not been provisioned for subaccounts.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import billing_v1

async def sample_create_billing_account():
    # Create a client
    client = billing_v1.CloudBillingAsyncClient()

    # Initialize request argument(s)
    request = billing_v1.CreateBillingAccountRequest(
    )

    # Make the request
    response = await client.create_billing_account(request=request)

    # Handle the response
    print(response)
Parameters
  • request (Optional[Union[google.cloud.billing_v1.types.CreateBillingAccountRequest, dict]]) – The request object. Request message for CreateBillingAccount.

  • billing_account (google.cloud.billing_v1.types.BillingAccount) –

    Required. The billing account resource to create. Currently CreateBillingAccount only supports subaccount creation, so any created billing accounts must be under a provided parent billing account.

    This corresponds to the billing_account field on the request instance; if request is provided, this should not be set.

  • parent (str) –

    Optional. The parent to create a billing account from. Format:

    • billingAccounts/{billing_account_id}, for example, billingAccounts/012345-567890-ABCDEF

    This corresponds to the parent field on the request instance; if request is provided, this should not be set.

  • retry (google.api_core.retry_async.AsyncRetry) – 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

A billing account in the

[Google Cloud Console](https://console.cloud.google.com/). You can assign a billing account to one or more projects.

Return type

google.cloud.billing_v1.types.BillingAccount

classmethod from_service_account_file(filename: str, *args, **kwargs)[source]
Creates an instance of this client using the provided credentials

file.

Parameters
  • filename (str) – The path to the service account private key json file.

  • args – Additional arguments to pass to the constructor.

  • kwargs – Additional arguments to pass to the constructor.

Returns

The constructed client.

Return type

CloudBillingAsyncClient

classmethod from_service_account_info(info: dict, *args, **kwargs)[source]
Creates an instance of this client using the provided credentials

info.

Parameters
  • info (dict) – The service account private key info.

  • args – Additional arguments to pass to the constructor.

  • kwargs – Additional arguments to pass to the constructor.

Returns

The constructed client.

Return type

CloudBillingAsyncClient

classmethod from_service_account_json(filename: str, *args, **kwargs)
Creates an instance of this client using the provided credentials

file.

Parameters
  • filename (str) – The path to the service account private key json file.

  • args – Additional arguments to pass to the constructor.

  • kwargs – Additional arguments to pass to the constructor.

Returns

The constructed client.

Return type

CloudBillingAsyncClient

async get_billing_account(request: Optional[Union[google.cloud.billing_v1.types.cloud_billing.GetBillingAccountRequest, dict]] = None, *, name: Optional[str] = None, retry: Optional[Union[google.api_core.retry.retry_unary_async.AsyncRetry, google.api_core.gapic_v1.method._MethodDefault]] = _MethodDefault._DEFAULT_VALUE, timeout: Union[float, object] = _MethodDefault._DEFAULT_VALUE, metadata: Sequence[Tuple[str, str]] = ()) google.cloud.billing_v1.types.cloud_billing.BillingAccount[source]

Gets information about a billing account. The current authenticated user must be a viewer of the billing account.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import billing_v1

async def sample_get_billing_account():
    # Create a client
    client = billing_v1.CloudBillingAsyncClient()

    # Initialize request argument(s)
    request = billing_v1.GetBillingAccountRequest(
        name="name_value",
    )

    # Make the request
    response = await client.get_billing_account(request=request)

    # Handle the response
    print(response)
Parameters
  • request (Optional[Union[google.cloud.billing_v1.types.GetBillingAccountRequest, dict]]) – The request object. Request message for GetBillingAccount.

  • name (str) –

    Required. The resource name of the billing account to retrieve. For example, billingAccounts/012345-567890-ABCDEF.

    This corresponds to the name field on the request instance; if request is provided, this should not be set.

  • retry (google.api_core.retry_async.AsyncRetry) – 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

A billing account in the

[Google Cloud Console](https://console.cloud.google.com/). You can assign a billing account to one or more projects.

Return type

google.cloud.billing_v1.types.BillingAccount

async get_iam_policy(request: Optional[Union[google.iam.v1.iam_policy_pb2.GetIamPolicyRequest, dict]] = None, *, resource: Optional[str] = None, retry: Optional[Union[google.api_core.retry.retry_unary_async.AsyncRetry, google.api_core.gapic_v1.method._MethodDefault]] = _MethodDefault._DEFAULT_VALUE, timeout: Union[float, object] = _MethodDefault._DEFAULT_VALUE, metadata: Sequence[Tuple[str, str]] = ()) google.iam.v1.policy_pb2.Policy[source]

Gets the access control policy for a billing account. The caller must have the billing.accounts.getIamPolicy permission on the account, which is often given to billing account viewers.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import billing_v1
from google.iam.v1 import iam_policy_pb2  # type: ignore

async def sample_get_iam_policy():
    # Create a client
    client = billing_v1.CloudBillingAsyncClient()

    # Initialize request argument(s)
    request = iam_policy_pb2.GetIamPolicyRequest(
        resource="resource_value",
    )

    # Make the request
    response = await client.get_iam_policy(request=request)

    # Handle the response
    print(response)
Parameters
  • request (Optional[Union[google.iam.v1.iam_policy_pb2.GetIamPolicyRequest, dict]]) – The request object. Request message for GetIamPolicy method.

  • resource (str) –

    REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.

    This corresponds to the resource field on the request instance; if request is provided, this should not be set.

  • retry (google.api_core.retry_async.AsyncRetry) – 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

An Identity and Access Management (IAM) policy, which specifies access

controls for Google Cloud resources.

A Policy is a collection of bindings. A binding binds one or more members, or principals, to a single role. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.

For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).

JSON example:

`     {       "bindings": [         {           "role": "roles/resourcemanager.organizationAdmin",           "members": [             "user:mike@example.com",             "group:admins@example.com",             "domain:google.com",             "serviceAccount:my-project-id@appspot.gserviceaccount.com"           ]         },         {           "role": "roles/resourcemanager.organizationViewer",           "members": [             "user:eve@example.com"           ],           "condition": {             "title": "expirable access",             "description": "Does not grant access after Sep 2020",             "expression": "request.time <             timestamp('2020-10-01T00:00:00.000Z')",           }         }       ],       "etag": "BwWWja0YfJA=",       "version": 3     }`

YAML example:

`     bindings:     - members:       - user:mike@example.com       - group:admins@example.com       - domain:google.com       - serviceAccount:my-project-id@appspot.gserviceaccount.com       role: roles/resourcemanager.organizationAdmin     - members:       - user:eve@example.com       role: roles/resourcemanager.organizationViewer       condition:         title: expirable access         description: Does not grant access after Sep 2020         expression: request.time < timestamp('2020-10-01T00:00:00.000Z')     etag: BwWWja0YfJA=     version: 3`

For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).

Return type

google.iam.v1.policy_pb2.Policy

classmethod get_mtls_endpoint_and_cert_source(client_options: Optional[google.api_core.client_options.ClientOptions] = None)[source]

Return the API endpoint and client cert source for mutual TLS.

The client cert source is determined in the following order: (1) if GOOGLE_API_USE_CLIENT_CERTIFICATE environment variable is not “true”, the client cert source is None. (2) if client_options.client_cert_source is provided, use the provided one; if the default client cert source exists, use the default one; otherwise the client cert source is None.

The API endpoint is determined in the following order: (1) if client_options.api_endpoint if provided, use the provided one. (2) if GOOGLE_API_USE_CLIENT_CERTIFICATE environment variable is “always”, use the default mTLS endpoint; if the environment variable is “never”, use the default API endpoint; otherwise if client cert source exists, use the default mTLS endpoint, otherwise use the default API endpoint.

More details can be found at https://google.aip.dev/auth/4114.

Parameters

client_options (google.api_core.client_options.ClientOptions) – Custom options for the client. Only the api_endpoint and client_cert_source properties may be used in this method.

Returns

returns the API endpoint and the

client cert source to use.

Return type

Tuple[str, Callable[[], Tuple[bytes, bytes]]]

Raises

google.auth.exceptions.MutualTLSChannelError – If any errors happen.

async get_project_billing_info(request: Optional[Union[google.cloud.billing_v1.types.cloud_billing.GetProjectBillingInfoRequest, dict]] = None, *, name: Optional[str] = None, retry: Optional[Union[google.api_core.retry.retry_unary_async.AsyncRetry, google.api_core.gapic_v1.method._MethodDefault]] = _MethodDefault._DEFAULT_VALUE, timeout: Union[float, object] = _MethodDefault._DEFAULT_VALUE, metadata: Sequence[Tuple[str, str]] = ()) google.cloud.billing_v1.types.cloud_billing.ProjectBillingInfo[source]

Gets the billing information for a project. The current authenticated user must have the resourcemanager.projects.get permission for the project, which can be granted by assigning the Project Viewer role.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import billing_v1

async def sample_get_project_billing_info():
    # Create a client
    client = billing_v1.CloudBillingAsyncClient()

    # Initialize request argument(s)
    request = billing_v1.GetProjectBillingInfoRequest(
        name="name_value",
    )

    # Make the request
    response = await client.get_project_billing_info(request=request)

    # Handle the response
    print(response)
Parameters
  • request (Optional[Union[google.cloud.billing_v1.types.GetProjectBillingInfoRequest, dict]]) – The request object. Request message for GetProjectBillingInfo.

  • name (str) –

    Required. The resource name of the project for which billing information is retrieved. For example, projects/tokyo-rain-123.

    This corresponds to the name field on the request instance; if request is provided, this should not be set.

  • retry (google.api_core.retry_async.AsyncRetry) – 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

Encapsulation of billing information for a Google Cloud Console project. A project has at most one associated billing account at a time (but a billing account can be assigned to multiple projects).

Return type

google.cloud.billing_v1.types.ProjectBillingInfo

classmethod get_transport_class(label: Optional[str] = None) Type[google.cloud.billing_v1.services.cloud_billing.transports.base.CloudBillingTransport]

Returns an appropriate transport class.

Parameters

label – The name of the desired transport. If none is provided, then the first transport in the registry is used.

Returns

The transport class to use.

async list_billing_accounts(request: Optional[Union[google.cloud.billing_v1.types.cloud_billing.ListBillingAccountsRequest, dict]] = None, *, parent: Optional[str] = None, retry: Optional[Union[google.api_core.retry.retry_unary_async.AsyncRetry, google.api_core.gapic_v1.method._MethodDefault]] = _MethodDefault._DEFAULT_VALUE, timeout: Union[float, object] = _MethodDefault._DEFAULT_VALUE, metadata: Sequence[Tuple[str, str]] = ()) google.cloud.billing_v1.services.cloud_billing.pagers.ListBillingAccountsAsyncPager[source]

Lists the billing accounts that the current authenticated user has permission to view.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import billing_v1

async def sample_list_billing_accounts():
    # Create a client
    client = billing_v1.CloudBillingAsyncClient()

    # Initialize request argument(s)
    request = billing_v1.ListBillingAccountsRequest(
    )

    # Make the request
    page_result = client.list_billing_accounts(request=request)

    # Handle the response
    async for response in page_result:
        print(response)
Parameters
  • request (Optional[Union[google.cloud.billing_v1.types.ListBillingAccountsRequest, dict]]) – The request object. Request message for ListBillingAccounts.

  • parent (str) –

    Optional. The parent resource to list billing accounts from. Format:

    • organizations/{organization_id}, for example, organizations/12345678

    • billingAccounts/{billing_account_id}, for example, billingAccounts/012345-567890-ABCDEF

    This corresponds to the parent field on the request instance; if request is provided, this should not be set.

  • retry (google.api_core.retry_async.AsyncRetry) – 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

Response message for ListBillingAccounts.

Iterating over this object will yield results and resolve additional pages automatically.

Return type

google.cloud.billing_v1.services.cloud_billing.pagers.ListBillingAccountsAsyncPager

async list_project_billing_info(request: Optional[Union[google.cloud.billing_v1.types.cloud_billing.ListProjectBillingInfoRequest, dict]] = None, *, name: Optional[str] = None, retry: Optional[Union[google.api_core.retry.retry_unary_async.AsyncRetry, google.api_core.gapic_v1.method._MethodDefault]] = _MethodDefault._DEFAULT_VALUE, timeout: Union[float, object] = _MethodDefault._DEFAULT_VALUE, metadata: Sequence[Tuple[str, str]] = ()) google.cloud.billing_v1.services.cloud_billing.pagers.ListProjectBillingInfoAsyncPager[source]

Lists the projects associated with a billing account. The current authenticated user must have the billing.resourceAssociations.list IAM permission, which is often given to billing account viewers.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import billing_v1

async def sample_list_project_billing_info():
    # Create a client
    client = billing_v1.CloudBillingAsyncClient()

    # Initialize request argument(s)
    request = billing_v1.ListProjectBillingInfoRequest(
        name="name_value",
    )

    # Make the request
    page_result = client.list_project_billing_info(request=request)

    # Handle the response
    async for response in page_result:
        print(response)
Parameters
  • request (Optional[Union[google.cloud.billing_v1.types.ListProjectBillingInfoRequest, dict]]) – The request object. Request message for ListProjectBillingInfo.

  • name (str) –

    Required. The resource name of the billing account associated with the projects that you want to list. For example, billingAccounts/012345-567890-ABCDEF.

    This corresponds to the name field on the request instance; if request is provided, this should not be set.

  • retry (google.api_core.retry_async.AsyncRetry) – 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

Request message for ListProjectBillingInfoResponse.

Iterating over this object will yield results and resolve additional pages automatically.

Return type

google.cloud.billing_v1.services.cloud_billing.pagers.ListProjectBillingInfoAsyncPager

async move_billing_account(request: Optional[Union[google.cloud.billing_v1.types.cloud_billing.MoveBillingAccountRequest, dict]] = None, *, retry: Optional[Union[google.api_core.retry.retry_unary_async.AsyncRetry, google.api_core.gapic_v1.method._MethodDefault]] = _MethodDefault._DEFAULT_VALUE, timeout: Union[float, object] = _MethodDefault._DEFAULT_VALUE, metadata: Sequence[Tuple[str, str]] = ()) google.cloud.billing_v1.types.cloud_billing.BillingAccount[source]

Changes which parent organization a billing account belongs to.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import billing_v1

async def sample_move_billing_account():
    # Create a client
    client = billing_v1.CloudBillingAsyncClient()

    # Initialize request argument(s)
    request = billing_v1.MoveBillingAccountRequest(
        name="name_value",
        destination_parent="destination_parent_value",
    )

    # Make the request
    response = await client.move_billing_account(request=request)

    # Handle the response
    print(response)
Parameters
  • request (Optional[Union[google.cloud.billing_v1.types.MoveBillingAccountRequest, dict]]) – The request object. Request message for MoveBillingAccount RPC.

  • retry (google.api_core.retry_async.AsyncRetry) – 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

A billing account in the

[Google Cloud Console](https://console.cloud.google.com/). You can assign a billing account to one or more projects.

Return type

google.cloud.billing_v1.types.BillingAccount

static organization_path(organization: str) str

Returns a fully-qualified organization string.

static parse_billing_account_path(path: str) Dict[str, str]

Parses a billing_account path into its component segments.

static parse_common_billing_account_path(path: str) Dict[str, str]

Parse a billing_account path into its component segments.

static parse_common_folder_path(path: str) Dict[str, str]

Parse a folder path into its component segments.

static parse_common_location_path(path: str) Dict[str, str]

Parse a location path into its component segments.

static parse_common_organization_path(path: str) Dict[str, str]

Parse a organization path into its component segments.

static parse_common_project_path(path: str) Dict[str, str]

Parse a project path into its component segments.

static parse_organization_path(path: str) Dict[str, str]

Parses a organization path into its component segments.

static parse_project_billing_info_path(path: str) Dict[str, str]

Parses a project_billing_info path into its component segments.

static parse_project_path(path: str) Dict[str, str]

Parses a project path into its component segments.

static project_billing_info_path(project: str) str

Returns a fully-qualified project_billing_info string.

static project_path(project: str) str

Returns a fully-qualified project string.

async set_iam_policy(request: Optional[Union[google.iam.v1.iam_policy_pb2.SetIamPolicyRequest, dict]] = None, *, resource: Optional[str] = None, retry: Optional[Union[google.api_core.retry.retry_unary_async.AsyncRetry, google.api_core.gapic_v1.method._MethodDefault]] = _MethodDefault._DEFAULT_VALUE, timeout: Union[float, object] = _MethodDefault._DEFAULT_VALUE, metadata: Sequence[Tuple[str, str]] = ()) google.iam.v1.policy_pb2.Policy[source]

Sets the access control policy for a billing account. Replaces any existing policy. The caller must have the billing.accounts.setIamPolicy permission on the account, which is often given to billing account administrators.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import billing_v1
from google.iam.v1 import iam_policy_pb2  # type: ignore

async def sample_set_iam_policy():
    # Create a client
    client = billing_v1.CloudBillingAsyncClient()

    # Initialize request argument(s)
    request = iam_policy_pb2.SetIamPolicyRequest(
        resource="resource_value",
    )

    # Make the request
    response = await client.set_iam_policy(request=request)

    # Handle the response
    print(response)
Parameters
  • request (Optional[Union[google.iam.v1.iam_policy_pb2.SetIamPolicyRequest, dict]]) – The request object. Request message for SetIamPolicy method.

  • resource (str) –

    REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.

    This corresponds to the resource field on the request instance; if request is provided, this should not be set.

  • retry (google.api_core.retry_async.AsyncRetry) – 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

An Identity and Access Management (IAM) policy, which specifies access

controls for Google Cloud resources.

A Policy is a collection of bindings. A binding binds one or more members, or principals, to a single role. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.

For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).

JSON example:

`     {       "bindings": [         {           "role": "roles/resourcemanager.organizationAdmin",           "members": [             "user:mike@example.com",             "group:admins@example.com",             "domain:google.com",             "serviceAccount:my-project-id@appspot.gserviceaccount.com"           ]         },         {           "role": "roles/resourcemanager.organizationViewer",           "members": [             "user:eve@example.com"           ],           "condition": {             "title": "expirable access",             "description": "Does not grant access after Sep 2020",             "expression": "request.time <             timestamp('2020-10-01T00:00:00.000Z')",           }         }       ],       "etag": "BwWWja0YfJA=",       "version": 3     }`

YAML example:

`     bindings:     - members:       - user:mike@example.com       - group:admins@example.com       - domain:google.com       - serviceAccount:my-project-id@appspot.gserviceaccount.com       role: roles/resourcemanager.organizationAdmin     - members:       - user:eve@example.com       role: roles/resourcemanager.organizationViewer       condition:         title: expirable access         description: Does not grant access after Sep 2020         expression: request.time < timestamp('2020-10-01T00:00:00.000Z')     etag: BwWWja0YfJA=     version: 3`

For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).

Return type

google.iam.v1.policy_pb2.Policy

async test_iam_permissions(request: Optional[Union[google.iam.v1.iam_policy_pb2.TestIamPermissionsRequest, dict]] = None, *, resource: Optional[str] = None, permissions: Optional[MutableSequence[str]] = None, retry: Optional[Union[google.api_core.retry.retry_unary_async.AsyncRetry, google.api_core.gapic_v1.method._MethodDefault]] = _MethodDefault._DEFAULT_VALUE, timeout: Union[float, object] = _MethodDefault._DEFAULT_VALUE, metadata: Sequence[Tuple[str, str]] = ()) google.iam.v1.iam_policy_pb2.TestIamPermissionsResponse[source]

Tests the access control policy for a billing account. This method takes the resource and a set of permissions as input and returns the subset of the input permissions that the caller is allowed for that resource.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import billing_v1
from google.iam.v1 import iam_policy_pb2  # type: ignore

async def sample_test_iam_permissions():
    # Create a client
    client = billing_v1.CloudBillingAsyncClient()

    # Initialize request argument(s)
    request = iam_policy_pb2.TestIamPermissionsRequest(
        resource="resource_value",
        permissions=['permissions_value1', 'permissions_value2'],
    )

    # Make the request
    response = await client.test_iam_permissions(request=request)

    # Handle the response
    print(response)
Parameters
  • request (Optional[Union[google.iam.v1.iam_policy_pb2.TestIamPermissionsRequest, dict]]) – The request object. Request message for TestIamPermissions method.

  • resource (str) –

    REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.

    This corresponds to the resource field on the request instance; if request is provided, this should not be set.

  • permissions (MutableSequence[str]) –

    The set of permissions to check for the resource. Permissions with wildcards (such as ‘*’ or ‘storage.*’) are not allowed. For more information see IAM Overview.

    This corresponds to the permissions field on the request instance; if request is provided, this should not be set.

  • retry (google.api_core.retry_async.AsyncRetry) – 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

Response message for TestIamPermissions method.

Return type

google.iam.v1.iam_policy_pb2.TestIamPermissionsResponse

property transport: google.cloud.billing_v1.services.cloud_billing.transports.base.CloudBillingTransport

Returns the transport used by the client instance.

Returns

The transport used by the client instance.

Return type

CloudBillingTransport

property universe_domain: str

Return the universe domain used by the client instance.

Returns

The universe domain used

by the client instance.

Return type

str

async update_billing_account(request: Optional[Union[google.cloud.billing_v1.types.cloud_billing.UpdateBillingAccountRequest, dict]] = None, *, name: Optional[str] = None, account: Optional[google.cloud.billing_v1.types.cloud_billing.BillingAccount] = None, retry: Optional[Union[google.api_core.retry.retry_unary_async.AsyncRetry, google.api_core.gapic_v1.method._MethodDefault]] = _MethodDefault._DEFAULT_VALUE, timeout: Union[float, object] = _MethodDefault._DEFAULT_VALUE, metadata: Sequence[Tuple[str, str]] = ()) google.cloud.billing_v1.types.cloud_billing.BillingAccount[source]

Updates a billing account’s fields. Currently the only field that can be edited is display_name. The current authenticated user must have the billing.accounts.update IAM permission, which is typically given to the administrator of the billing account.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import billing_v1

async def sample_update_billing_account():
    # Create a client
    client = billing_v1.CloudBillingAsyncClient()

    # Initialize request argument(s)
    request = billing_v1.UpdateBillingAccountRequest(
        name="name_value",
    )

    # Make the request
    response = await client.update_billing_account(request=request)

    # Handle the response
    print(response)
Parameters
  • request (Optional[Union[google.cloud.billing_v1.types.UpdateBillingAccountRequest, dict]]) – The request object. Request message for UpdateBillingAccount.

  • name (str) –

    Required. The name of the billing account resource to be updated.

    This corresponds to the name field on the request instance; if request is provided, this should not be set.

  • account (google.cloud.billing_v1.types.BillingAccount) –

    Required. The billing account resource to replace the resource on the server.

    This corresponds to the account field on the request instance; if request is provided, this should not be set.

  • retry (google.api_core.retry_async.AsyncRetry) – 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

A billing account in the

[Google Cloud Console](https://console.cloud.google.com/). You can assign a billing account to one or more projects.

Return type

google.cloud.billing_v1.types.BillingAccount

async update_project_billing_info(request: Optional[Union[google.cloud.billing_v1.types.cloud_billing.UpdateProjectBillingInfoRequest, dict]] = None, *, name: Optional[str] = None, project_billing_info: Optional[google.cloud.billing_v1.types.cloud_billing.ProjectBillingInfo] = None, retry: Optional[Union[google.api_core.retry.retry_unary_async.AsyncRetry, google.api_core.gapic_v1.method._MethodDefault]] = _MethodDefault._DEFAULT_VALUE, timeout: Union[float, object] = _MethodDefault._DEFAULT_VALUE, metadata: Sequence[Tuple[str, str]] = ()) google.cloud.billing_v1.types.cloud_billing.ProjectBillingInfo[source]

Sets or updates the billing account associated with a project. You specify the new billing account by setting the billing_account_name in the ProjectBillingInfo resource to the resource name of a billing account. Associating a project with an open billing account enables billing on the project and allows charges for resource usage. If the project already had a billing account, this method changes the billing account used for resource usage charges.

Note: Incurred charges that have not yet been reported in the transaction history of the Google Cloud Console might be billed to the new billing account, even if the charge occurred before the new billing account was assigned to the project.

The current authenticated user must have ownership privileges for both the project and the billing account.

You can disable billing on the project by setting the billing_account_name field to empty. This action disassociates the current billing account from the project. Any billable activity of your in-use services will stop, and your application could stop functioning as expected. Any unbilled charges to date will be billed to the previously associated account. The current authenticated user must be either an owner of the project or an owner of the billing account for the project.

Note that associating a project with a closed billing account will have much the same effect as disabling billing on the project: any paid resources used by the project will be shut down. Thus, unless you wish to disable billing, you should always call this method with the name of an open billing account.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import billing_v1

async def sample_update_project_billing_info():
    # Create a client
    client = billing_v1.CloudBillingAsyncClient()

    # Initialize request argument(s)
    request = billing_v1.UpdateProjectBillingInfoRequest(
        name="name_value",
    )

    # Make the request
    response = await client.update_project_billing_info(request=request)

    # Handle the response
    print(response)
Parameters
  • request (Optional[Union[google.cloud.billing_v1.types.UpdateProjectBillingInfoRequest, dict]]) – The request object. Request message for UpdateProjectBillingInfo.

  • name (str) –

    Required. The resource name of the project associated with the billing information that you want to update. For example, projects/tokyo-rain-123.

    This corresponds to the name field on the request instance; if request is provided, this should not be set.

  • project_billing_info (google.cloud.billing_v1.types.ProjectBillingInfo) –

    The new billing information for the project. Output-only fields are ignored; thus, you can leave empty all fields except billing_account_name.

    This corresponds to the project_billing_info field on the request instance; if request is provided, this should not be set.

  • retry (google.api_core.retry_async.AsyncRetry) – 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

Encapsulation of billing information for a Google Cloud Console project. A project has at most one associated billing account at a time (but a billing account can be assigned to multiple projects).

Return type

google.cloud.billing_v1.types.ProjectBillingInfo

class google.cloud.billing_v1.services.cloud_billing.CloudBillingClient(*, credentials: typing.Optional[google.auth.credentials.Credentials] = None, transport: typing.Optional[typing.Union[str, google.cloud.billing_v1.services.cloud_billing.transports.base.CloudBillingTransport, typing.Callable[[...], google.cloud.billing_v1.services.cloud_billing.transports.base.CloudBillingTransport]]] = None, client_options: typing.Optional[typing.Union[google.api_core.client_options.ClientOptions, dict]] = None, client_info: google.api_core.gapic_v1.client_info.ClientInfo = <google.api_core.gapic_v1.client_info.ClientInfo object>)[source]

Retrieves the Google Cloud Console billing accounts and associates them with projects.

Instantiates the cloud billing client.

Parameters
  • credentials (Optional[google.auth.credentials.Credentials]) – The authorization credentials to attach to requests. These credentials identify the application to the service; if none are specified, the client will attempt to ascertain the credentials from the environment.

  • transport (Optional[Union[str,CloudBillingTransport,Callable[..., CloudBillingTransport]]]) – The transport to use, or a Callable that constructs and returns a new transport. If a Callable is given, it will be called with the same set of initialization arguments as used in the CloudBillingTransport constructor. If set to None, a transport is chosen automatically.

  • client_options (Optional[Union[google.api_core.client_options.ClientOptions, dict]]) –

    Custom options for the client.

    1. The api_endpoint property can be used to override the default endpoint provided by the client when transport is not explicitly provided. Only if this property is not set and transport was not explicitly provided, the endpoint is determined by the GOOGLE_API_USE_MTLS_ENDPOINT environment variable, which have one of the following values: “always” (always use the default mTLS endpoint), “never” (always use the default regular endpoint) and “auto” (auto-switch to the default mTLS endpoint if client certificate is present; this is the default value).

    2. If the GOOGLE_API_USE_CLIENT_CERTIFICATE environment variable is “true”, then the client_cert_source property can be used to provide a client certificate for mTLS transport. If not provided, the default SSL client certificate will be used if present. If GOOGLE_API_USE_CLIENT_CERTIFICATE is “false” or not set, no client certificate will be used.

    3. The universe_domain property can be used to override the default “googleapis.com” universe. Note that the api_endpoint property still takes precedence; and universe_domain is currently not supported for mTLS.

  • client_info (google.api_core.gapic_v1.client_info.ClientInfo) – The client info used to send a user-agent string along with API requests. If None, then default info will be used. Generally, you only need to set this if you’re developing your own client library.

Raises

google.auth.exceptions.MutualTLSChannelError – If mutual TLS transport creation failed for any reason.

__exit__(type, value, traceback)[source]

Releases underlying transport’s resources.

Warning

ONLY use as a context manager if the transport is NOT shared with other clients! Exiting the with block will CLOSE the transport and may cause errors in other clients!

property api_endpoint

Return the API endpoint used by the client instance.

Returns

The API endpoint used by the client instance.

Return type

str

static billing_account_path(billing_account: str) str[source]

Returns a fully-qualified billing_account string.

static common_billing_account_path(billing_account: str) str[source]

Returns a fully-qualified billing_account string.

static common_folder_path(folder: str) str[source]

Returns a fully-qualified folder string.

static common_location_path(project: str, location: str) str[source]

Returns a fully-qualified location string.

static common_organization_path(organization: str) str[source]

Returns a fully-qualified organization string.

static common_project_path(project: str) str[source]

Returns a fully-qualified project string.

create_billing_account(request: Optional[Union[google.cloud.billing_v1.types.cloud_billing.CreateBillingAccountRequest, dict]] = None, *, billing_account: Optional[google.cloud.billing_v1.types.cloud_billing.BillingAccount] = None, parent: Optional[str] = None, retry: Optional[Union[google.api_core.retry.retry_unary.Retry, google.api_core.gapic_v1.method._MethodDefault]] = _MethodDefault._DEFAULT_VALUE, timeout: Union[float, object] = _MethodDefault._DEFAULT_VALUE, metadata: Sequence[Tuple[str, str]] = ()) google.cloud.billing_v1.types.cloud_billing.BillingAccount[source]

This method creates billing subaccounts.

Google Cloud resellers should use the Channel Services APIs, accounts.customers.create and accounts.customers.entitlements.create.

When creating a subaccount, the current authenticated user must have the billing.accounts.update IAM permission on the parent account, which is typically given to billing account administrators. This method will return an error if the parent account has not been provisioned for subaccounts.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import billing_v1

def sample_create_billing_account():
    # Create a client
    client = billing_v1.CloudBillingClient()

    # Initialize request argument(s)
    request = billing_v1.CreateBillingAccountRequest(
    )

    # Make the request
    response = client.create_billing_account(request=request)

    # Handle the response
    print(response)
Parameters
  • request (Union[google.cloud.billing_v1.types.CreateBillingAccountRequest, dict]) – The request object. Request message for CreateBillingAccount.

  • billing_account (google.cloud.billing_v1.types.BillingAccount) –

    Required. The billing account resource to create. Currently CreateBillingAccount only supports subaccount creation, so any created billing accounts must be under a provided parent billing account.

    This corresponds to the billing_account field on the request instance; if request is provided, this should not be set.

  • parent (str) –

    Optional. The parent to create a billing account from. Format:

    • billingAccounts/{billing_account_id}, for example, billingAccounts/012345-567890-ABCDEF

    This corresponds to the parent field on the request instance; if request is provided, this should not be set.

  • 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

A billing account in the

[Google Cloud Console](https://console.cloud.google.com/). You can assign a billing account to one or more projects.

Return type

google.cloud.billing_v1.types.BillingAccount

classmethod from_service_account_file(filename: str, *args, **kwargs)[source]
Creates an instance of this client using the provided credentials

file.

Parameters
  • filename (str) – The path to the service account private key json file.

  • args – Additional arguments to pass to the constructor.

  • kwargs – Additional arguments to pass to the constructor.

Returns

The constructed client.

Return type

CloudBillingClient

classmethod from_service_account_info(info: dict, *args, **kwargs)[source]
Creates an instance of this client using the provided credentials

info.

Parameters
  • info (dict) – The service account private key info.

  • args – Additional arguments to pass to the constructor.

  • kwargs – Additional arguments to pass to the constructor.

Returns

The constructed client.

Return type

CloudBillingClient

classmethod from_service_account_json(filename: str, *args, **kwargs)
Creates an instance of this client using the provided credentials

file.

Parameters
  • filename (str) – The path to the service account private key json file.

  • args – Additional arguments to pass to the constructor.

  • kwargs – Additional arguments to pass to the constructor.

Returns

The constructed client.

Return type

CloudBillingClient

get_billing_account(request: Optional[Union[google.cloud.billing_v1.types.cloud_billing.GetBillingAccountRequest, dict]] = None, *, name: Optional[str] = None, retry: Optional[Union[google.api_core.retry.retry_unary.Retry, google.api_core.gapic_v1.method._MethodDefault]] = _MethodDefault._DEFAULT_VALUE, timeout: Union[float, object] = _MethodDefault._DEFAULT_VALUE, metadata: Sequence[Tuple[str, str]] = ()) google.cloud.billing_v1.types.cloud_billing.BillingAccount[source]

Gets information about a billing account. The current authenticated user must be a viewer of the billing account.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import billing_v1

def sample_get_billing_account():
    # Create a client
    client = billing_v1.CloudBillingClient()

    # Initialize request argument(s)
    request = billing_v1.GetBillingAccountRequest(
        name="name_value",
    )

    # Make the request
    response = client.get_billing_account(request=request)

    # Handle the response
    print(response)
Parameters
  • request (Union[google.cloud.billing_v1.types.GetBillingAccountRequest, dict]) – The request object. Request message for GetBillingAccount.

  • name (str) –

    Required. The resource name of the billing account to retrieve. For example, billingAccounts/012345-567890-ABCDEF.

    This corresponds to the name field on the request instance; if request is provided, this should not be set.

  • 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

A billing account in the

[Google Cloud Console](https://console.cloud.google.com/). You can assign a billing account to one or more projects.

Return type

google.cloud.billing_v1.types.BillingAccount

get_iam_policy(request: Optional[Union[google.iam.v1.iam_policy_pb2.GetIamPolicyRequest, dict]] = None, *, resource: Optional[str] = None, retry: Optional[Union[google.api_core.retry.retry_unary.Retry, google.api_core.gapic_v1.method._MethodDefault]] = _MethodDefault._DEFAULT_VALUE, timeout: Union[float, object] = _MethodDefault._DEFAULT_VALUE, metadata: Sequence[Tuple[str, str]] = ()) google.iam.v1.policy_pb2.Policy[source]

Gets the access control policy for a billing account. The caller must have the billing.accounts.getIamPolicy permission on the account, which is often given to billing account viewers.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import billing_v1
from google.iam.v1 import iam_policy_pb2  # type: ignore

def sample_get_iam_policy():
    # Create a client
    client = billing_v1.CloudBillingClient()

    # Initialize request argument(s)
    request = iam_policy_pb2.GetIamPolicyRequest(
        resource="resource_value",
    )

    # Make the request
    response = client.get_iam_policy(request=request)

    # Handle the response
    print(response)
Parameters
  • request (Union[google.iam.v1.iam_policy_pb2.GetIamPolicyRequest, dict]) – The request object. Request message for GetIamPolicy method.

  • resource (str) –

    REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.

    This corresponds to the resource field on the request instance; if request is provided, this should not be set.

  • 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

An Identity and Access Management (IAM) policy, which specifies access

controls for Google Cloud resources.

A Policy is a collection of bindings. A binding binds one or more members, or principals, to a single role. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.

For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).

JSON example:

`     {       "bindings": [         {           "role": "roles/resourcemanager.organizationAdmin",           "members": [             "user:mike@example.com",             "group:admins@example.com",             "domain:google.com",             "serviceAccount:my-project-id@appspot.gserviceaccount.com"           ]         },         {           "role": "roles/resourcemanager.organizationViewer",           "members": [             "user:eve@example.com"           ],           "condition": {             "title": "expirable access",             "description": "Does not grant access after Sep 2020",             "expression": "request.time <             timestamp('2020-10-01T00:00:00.000Z')",           }         }       ],       "etag": "BwWWja0YfJA=",       "version": 3     }`

YAML example:

`     bindings:     - members:       - user:mike@example.com       - group:admins@example.com       - domain:google.com       - serviceAccount:my-project-id@appspot.gserviceaccount.com       role: roles/resourcemanager.organizationAdmin     - members:       - user:eve@example.com       role: roles/resourcemanager.organizationViewer       condition:         title: expirable access         description: Does not grant access after Sep 2020         expression: request.time < timestamp('2020-10-01T00:00:00.000Z')     etag: BwWWja0YfJA=     version: 3`

For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).

Return type

google.iam.v1.policy_pb2.Policy

classmethod get_mtls_endpoint_and_cert_source(client_options: Optional[google.api_core.client_options.ClientOptions] = None)[source]

Deprecated. Return the API endpoint and client cert source for mutual TLS.

The client cert source is determined in the following order: (1) if GOOGLE_API_USE_CLIENT_CERTIFICATE environment variable is not “true”, the client cert source is None. (2) if client_options.client_cert_source is provided, use the provided one; if the default client cert source exists, use the default one; otherwise the client cert source is None.

The API endpoint is determined in the following order: (1) if client_options.api_endpoint if provided, use the provided one. (2) if GOOGLE_API_USE_CLIENT_CERTIFICATE environment variable is “always”, use the default mTLS endpoint; if the environment variable is “never”, use the default API endpoint; otherwise if client cert source exists, use the default mTLS endpoint, otherwise use the default API endpoint.

More details can be found at https://google.aip.dev/auth/4114.

Parameters

client_options (google.api_core.client_options.ClientOptions) – Custom options for the client. Only the api_endpoint and client_cert_source properties may be used in this method.

Returns

returns the API endpoint and the

client cert source to use.

Return type

Tuple[str, Callable[[], Tuple[bytes, bytes]]]

Raises

google.auth.exceptions.MutualTLSChannelError – If any errors happen.

get_project_billing_info(request: Optional[Union[google.cloud.billing_v1.types.cloud_billing.GetProjectBillingInfoRequest, dict]] = None, *, name: Optional[str] = None, retry: Optional[Union[google.api_core.retry.retry_unary.Retry, google.api_core.gapic_v1.method._MethodDefault]] = _MethodDefault._DEFAULT_VALUE, timeout: Union[float, object] = _MethodDefault._DEFAULT_VALUE, metadata: Sequence[Tuple[str, str]] = ()) google.cloud.billing_v1.types.cloud_billing.ProjectBillingInfo[source]

Gets the billing information for a project. The current authenticated user must have the resourcemanager.projects.get permission for the project, which can be granted by assigning the Project Viewer role.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import billing_v1

def sample_get_project_billing_info():
    # Create a client
    client = billing_v1.CloudBillingClient()

    # Initialize request argument(s)
    request = billing_v1.GetProjectBillingInfoRequest(
        name="name_value",
    )

    # Make the request
    response = client.get_project_billing_info(request=request)

    # Handle the response
    print(response)
Parameters
  • request (Union[google.cloud.billing_v1.types.GetProjectBillingInfoRequest, dict]) – The request object. Request message for GetProjectBillingInfo.

  • name (str) –

    Required. The resource name of the project for which billing information is retrieved. For example, projects/tokyo-rain-123.

    This corresponds to the name field on the request instance; if request is provided, this should not be set.

  • 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

Encapsulation of billing information for a Google Cloud Console project. A project has at most one associated billing account at a time (but a billing account can be assigned to multiple projects).

Return type

google.cloud.billing_v1.types.ProjectBillingInfo

list_billing_accounts(request: Optional[Union[google.cloud.billing_v1.types.cloud_billing.ListBillingAccountsRequest, dict]] = None, *, parent: Optional[str] = None, retry: Optional[Union[google.api_core.retry.retry_unary.Retry, google.api_core.gapic_v1.method._MethodDefault]] = _MethodDefault._DEFAULT_VALUE, timeout: Union[float, object] = _MethodDefault._DEFAULT_VALUE, metadata: Sequence[Tuple[str, str]] = ()) google.cloud.billing_v1.services.cloud_billing.pagers.ListBillingAccountsPager[source]

Lists the billing accounts that the current authenticated user has permission to view.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import billing_v1

def sample_list_billing_accounts():
    # Create a client
    client = billing_v1.CloudBillingClient()

    # Initialize request argument(s)
    request = billing_v1.ListBillingAccountsRequest(
    )

    # Make the request
    page_result = client.list_billing_accounts(request=request)

    # Handle the response
    for response in page_result:
        print(response)
Parameters
  • request (Union[google.cloud.billing_v1.types.ListBillingAccountsRequest, dict]) – The request object. Request message for ListBillingAccounts.

  • parent (str) –

    Optional. The parent resource to list billing accounts from. Format:

    • organizations/{organization_id}, for example, organizations/12345678

    • billingAccounts/{billing_account_id}, for example, billingAccounts/012345-567890-ABCDEF

    This corresponds to the parent field on the request instance; if request is provided, this should not be set.

  • 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

Response message for ListBillingAccounts.

Iterating over this object will yield results and resolve additional pages automatically.

Return type

google.cloud.billing_v1.services.cloud_billing.pagers.ListBillingAccountsPager

list_project_billing_info(request: Optional[Union[google.cloud.billing_v1.types.cloud_billing.ListProjectBillingInfoRequest, dict]] = None, *, name: Optional[str] = None, retry: Optional[Union[google.api_core.retry.retry_unary.Retry, google.api_core.gapic_v1.method._MethodDefault]] = _MethodDefault._DEFAULT_VALUE, timeout: Union[float, object] = _MethodDefault._DEFAULT_VALUE, metadata: Sequence[Tuple[str, str]] = ()) google.cloud.billing_v1.services.cloud_billing.pagers.ListProjectBillingInfoPager[source]

Lists the projects associated with a billing account. The current authenticated user must have the billing.resourceAssociations.list IAM permission, which is often given to billing account viewers.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import billing_v1

def sample_list_project_billing_info():
    # Create a client
    client = billing_v1.CloudBillingClient()

    # Initialize request argument(s)
    request = billing_v1.ListProjectBillingInfoRequest(
        name="name_value",
    )

    # Make the request
    page_result = client.list_project_billing_info(request=request)

    # Handle the response
    for response in page_result:
        print(response)
Parameters
  • request (Union[google.cloud.billing_v1.types.ListProjectBillingInfoRequest, dict]) – The request object. Request message for ListProjectBillingInfo.

  • name (str) –

    Required. The resource name of the billing account associated with the projects that you want to list. For example, billingAccounts/012345-567890-ABCDEF.

    This corresponds to the name field on the request instance; if request is provided, this should not be set.

  • 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

Request message for ListProjectBillingInfoResponse.

Iterating over this object will yield results and resolve additional pages automatically.

Return type

google.cloud.billing_v1.services.cloud_billing.pagers.ListProjectBillingInfoPager

move_billing_account(request: Optional[Union[google.cloud.billing_v1.types.cloud_billing.MoveBillingAccountRequest, dict]] = None, *, retry: Optional[Union[google.api_core.retry.retry_unary.Retry, google.api_core.gapic_v1.method._MethodDefault]] = _MethodDefault._DEFAULT_VALUE, timeout: Union[float, object] = _MethodDefault._DEFAULT_VALUE, metadata: Sequence[Tuple[str, str]] = ()) google.cloud.billing_v1.types.cloud_billing.BillingAccount[source]

Changes which parent organization a billing account belongs to.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import billing_v1

def sample_move_billing_account():
    # Create a client
    client = billing_v1.CloudBillingClient()

    # Initialize request argument(s)
    request = billing_v1.MoveBillingAccountRequest(
        name="name_value",
        destination_parent="destination_parent_value",
    )

    # Make the request
    response = client.move_billing_account(request=request)

    # Handle the response
    print(response)
Parameters
Returns

A billing account in the

[Google Cloud Console](https://console.cloud.google.com/). You can assign a billing account to one or more projects.

Return type

google.cloud.billing_v1.types.BillingAccount

static organization_path(organization: str) str[source]

Returns a fully-qualified organization string.

static parse_billing_account_path(path: str) Dict[str, str][source]

Parses a billing_account path into its component segments.

static parse_common_billing_account_path(path: str) Dict[str, str][source]

Parse a billing_account path into its component segments.

static parse_common_folder_path(path: str) Dict[str, str][source]

Parse a folder path into its component segments.

static parse_common_location_path(path: str) Dict[str, str][source]

Parse a location path into its component segments.

static parse_common_organization_path(path: str) Dict[str, str][source]

Parse a organization path into its component segments.

static parse_common_project_path(path: str) Dict[str, str][source]

Parse a project path into its component segments.

static parse_organization_path(path: str) Dict[str, str][source]

Parses a organization path into its component segments.

static parse_project_billing_info_path(path: str) Dict[str, str][source]

Parses a project_billing_info path into its component segments.

static parse_project_path(path: str) Dict[str, str][source]

Parses a project path into its component segments.

static project_billing_info_path(project: str) str[source]

Returns a fully-qualified project_billing_info string.

static project_path(project: str) str[source]

Returns a fully-qualified project string.

set_iam_policy(request: Optional[Union[google.iam.v1.iam_policy_pb2.SetIamPolicyRequest, dict]] = None, *, resource: Optional[str] = None, retry: Optional[Union[google.api_core.retry.retry_unary.Retry, google.api_core.gapic_v1.method._MethodDefault]] = _MethodDefault._DEFAULT_VALUE, timeout: Union[float, object] = _MethodDefault._DEFAULT_VALUE, metadata: Sequence[Tuple[str, str]] = ()) google.iam.v1.policy_pb2.Policy[source]

Sets the access control policy for a billing account. Replaces any existing policy. The caller must have the billing.accounts.setIamPolicy permission on the account, which is often given to billing account administrators.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import billing_v1
from google.iam.v1 import iam_policy_pb2  # type: ignore

def sample_set_iam_policy():
    # Create a client
    client = billing_v1.CloudBillingClient()

    # Initialize request argument(s)
    request = iam_policy_pb2.SetIamPolicyRequest(
        resource="resource_value",
    )

    # Make the request
    response = client.set_iam_policy(request=request)

    # Handle the response
    print(response)
Parameters
  • request (Union[google.iam.v1.iam_policy_pb2.SetIamPolicyRequest, dict]) – The request object. Request message for SetIamPolicy method.

  • resource (str) –

    REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.

    This corresponds to the resource field on the request instance; if request is provided, this should not be set.

  • 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

An Identity and Access Management (IAM) policy, which specifies access

controls for Google Cloud resources.

A Policy is a collection of bindings. A binding binds one or more members, or principals, to a single role. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.

For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).

JSON example:

`     {       "bindings": [         {           "role": "roles/resourcemanager.organizationAdmin",           "members": [             "user:mike@example.com",             "group:admins@example.com",             "domain:google.com",             "serviceAccount:my-project-id@appspot.gserviceaccount.com"           ]         },         {           "role": "roles/resourcemanager.organizationViewer",           "members": [             "user:eve@example.com"           ],           "condition": {             "title": "expirable access",             "description": "Does not grant access after Sep 2020",             "expression": "request.time <             timestamp('2020-10-01T00:00:00.000Z')",           }         }       ],       "etag": "BwWWja0YfJA=",       "version": 3     }`

YAML example:

`     bindings:     - members:       - user:mike@example.com       - group:admins@example.com       - domain:google.com       - serviceAccount:my-project-id@appspot.gserviceaccount.com       role: roles/resourcemanager.organizationAdmin     - members:       - user:eve@example.com       role: roles/resourcemanager.organizationViewer       condition:         title: expirable access         description: Does not grant access after Sep 2020         expression: request.time < timestamp('2020-10-01T00:00:00.000Z')     etag: BwWWja0YfJA=     version: 3`

For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).

Return type

google.iam.v1.policy_pb2.Policy

test_iam_permissions(request: Optional[Union[google.iam.v1.iam_policy_pb2.TestIamPermissionsRequest, dict]] = None, *, resource: Optional[str] = None, permissions: Optional[MutableSequence[str]] = None, retry: Optional[Union[google.api_core.retry.retry_unary.Retry, google.api_core.gapic_v1.method._MethodDefault]] = _MethodDefault._DEFAULT_VALUE, timeout: Union[float, object] = _MethodDefault._DEFAULT_VALUE, metadata: Sequence[Tuple[str, str]] = ()) google.iam.v1.iam_policy_pb2.TestIamPermissionsResponse[source]

Tests the access control policy for a billing account. This method takes the resource and a set of permissions as input and returns the subset of the input permissions that the caller is allowed for that resource.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import billing_v1
from google.iam.v1 import iam_policy_pb2  # type: ignore

def sample_test_iam_permissions():
    # Create a client
    client = billing_v1.CloudBillingClient()

    # Initialize request argument(s)
    request = iam_policy_pb2.TestIamPermissionsRequest(
        resource="resource_value",
        permissions=['permissions_value1', 'permissions_value2'],
    )

    # Make the request
    response = client.test_iam_permissions(request=request)

    # Handle the response
    print(response)
Parameters
  • request (Union[google.iam.v1.iam_policy_pb2.TestIamPermissionsRequest, dict]) – The request object. Request message for TestIamPermissions method.

  • resource (str) –

    REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.

    This corresponds to the resource field on the request instance; if request is provided, this should not be set.

  • permissions (MutableSequence[str]) –

    The set of permissions to check for the resource. Permissions with wildcards (such as ‘*’ or ‘storage.*’) are not allowed. For more information see IAM Overview.

    This corresponds to the permissions field on the request instance; if request is provided, this should not be set.

  • 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

Response message for TestIamPermissions method.

Return type

google.iam.v1.iam_policy_pb2.TestIamPermissionsResponse

property transport: google.cloud.billing_v1.services.cloud_billing.transports.base.CloudBillingTransport

Returns the transport used by the client instance.

Returns

The transport used by the client

instance.

Return type

CloudBillingTransport

property universe_domain: str

Return the universe domain used by the client instance.

Returns

The universe domain used by the client instance.

Return type

str

update_billing_account(request: Optional[Union[google.cloud.billing_v1.types.cloud_billing.UpdateBillingAccountRequest, dict]] = None, *, name: Optional[str] = None, account: Optional[google.cloud.billing_v1.types.cloud_billing.BillingAccount] = None, retry: Optional[Union[google.api_core.retry.retry_unary.Retry, google.api_core.gapic_v1.method._MethodDefault]] = _MethodDefault._DEFAULT_VALUE, timeout: Union[float, object] = _MethodDefault._DEFAULT_VALUE, metadata: Sequence[Tuple[str, str]] = ()) google.cloud.billing_v1.types.cloud_billing.BillingAccount[source]

Updates a billing account’s fields. Currently the only field that can be edited is display_name. The current authenticated user must have the billing.accounts.update IAM permission, which is typically given to the administrator of the billing account.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import billing_v1

def sample_update_billing_account():
    # Create a client
    client = billing_v1.CloudBillingClient()

    # Initialize request argument(s)
    request = billing_v1.UpdateBillingAccountRequest(
        name="name_value",
    )

    # Make the request
    response = client.update_billing_account(request=request)

    # Handle the response
    print(response)
Parameters
  • request (Union[google.cloud.billing_v1.types.UpdateBillingAccountRequest, dict]) – The request object. Request message for UpdateBillingAccount.

  • name (str) –

    Required. The name of the billing account resource to be updated.

    This corresponds to the name field on the request instance; if request is provided, this should not be set.

  • account (google.cloud.billing_v1.types.BillingAccount) –

    Required. The billing account resource to replace the resource on the server.

    This corresponds to the account field on the request instance; if request is provided, this should not be set.

  • 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

A billing account in the

[Google Cloud Console](https://console.cloud.google.com/). You can assign a billing account to one or more projects.

Return type

google.cloud.billing_v1.types.BillingAccount

update_project_billing_info(request: Optional[Union[google.cloud.billing_v1.types.cloud_billing.UpdateProjectBillingInfoRequest, dict]] = None, *, name: Optional[str] = None, project_billing_info: Optional[google.cloud.billing_v1.types.cloud_billing.ProjectBillingInfo] = None, retry: Optional[Union[google.api_core.retry.retry_unary.Retry, google.api_core.gapic_v1.method._MethodDefault]] = _MethodDefault._DEFAULT_VALUE, timeout: Union[float, object] = _MethodDefault._DEFAULT_VALUE, metadata: Sequence[Tuple[str, str]] = ()) google.cloud.billing_v1.types.cloud_billing.ProjectBillingInfo[source]

Sets or updates the billing account associated with a project. You specify the new billing account by setting the billing_account_name in the ProjectBillingInfo resource to the resource name of a billing account. Associating a project with an open billing account enables billing on the project and allows charges for resource usage. If the project already had a billing account, this method changes the billing account used for resource usage charges.

Note: Incurred charges that have not yet been reported in the transaction history of the Google Cloud Console might be billed to the new billing account, even if the charge occurred before the new billing account was assigned to the project.

The current authenticated user must have ownership privileges for both the project and the billing account.

You can disable billing on the project by setting the billing_account_name field to empty. This action disassociates the current billing account from the project. Any billable activity of your in-use services will stop, and your application could stop functioning as expected. Any unbilled charges to date will be billed to the previously associated account. The current authenticated user must be either an owner of the project or an owner of the billing account for the project.

Note that associating a project with a closed billing account will have much the same effect as disabling billing on the project: any paid resources used by the project will be shut down. Thus, unless you wish to disable billing, you should always call this method with the name of an open billing account.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import billing_v1

def sample_update_project_billing_info():
    # Create a client
    client = billing_v1.CloudBillingClient()

    # Initialize request argument(s)
    request = billing_v1.UpdateProjectBillingInfoRequest(
        name="name_value",
    )

    # Make the request
    response = client.update_project_billing_info(request=request)

    # Handle the response
    print(response)
Parameters
  • request (Union[google.cloud.billing_v1.types.UpdateProjectBillingInfoRequest, dict]) – The request object. Request message for UpdateProjectBillingInfo.

  • name (str) –

    Required. The resource name of the project associated with the billing information that you want to update. For example, projects/tokyo-rain-123.

    This corresponds to the name field on the request instance; if request is provided, this should not be set.

  • project_billing_info (google.cloud.billing_v1.types.ProjectBillingInfo) –

    The new billing information for the project. Output-only fields are ignored; thus, you can leave empty all fields except billing_account_name.

    This corresponds to the project_billing_info field on the request instance; if request is provided, this should not be set.

  • 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

Encapsulation of billing information for a Google Cloud Console project. A project has at most one associated billing account at a time (but a billing account can be assigned to multiple projects).

Return type

google.cloud.billing_v1.types.ProjectBillingInfo

class google.cloud.billing_v1.services.cloud_billing.pagers.ListBillingAccountsAsyncPager(method: Callable[[...], Awaitable[google.cloud.billing_v1.types.cloud_billing.ListBillingAccountsResponse]], request: google.cloud.billing_v1.types.cloud_billing.ListBillingAccountsRequest, response: google.cloud.billing_v1.types.cloud_billing.ListBillingAccountsResponse, *, retry: Optional[Union[google.api_core.retry.retry_unary_async.AsyncRetry, google.api_core.gapic_v1.method._MethodDefault]] = _MethodDefault._DEFAULT_VALUE, timeout: Union[float, object] = _MethodDefault._DEFAULT_VALUE, metadata: Sequence[Tuple[str, str]] = ())[source]

A pager for iterating through list_billing_accounts requests.

This class thinly wraps an initial google.cloud.billing_v1.types.ListBillingAccountsResponse object, and provides an __aiter__ method to iterate through its billing_accounts field.

If there are more pages, the __aiter__ method will make additional ListBillingAccounts requests and continue to iterate through the billing_accounts field on the corresponding responses.

All the usual google.cloud.billing_v1.types.ListBillingAccountsResponse attributes are available on the pager. If multiple requests are made, only the most recent response is retained, and thus used for attribute lookup.

Instantiates the pager.

Parameters
class google.cloud.billing_v1.services.cloud_billing.pagers.ListBillingAccountsPager(method: Callable[[...], google.cloud.billing_v1.types.cloud_billing.ListBillingAccountsResponse], request: google.cloud.billing_v1.types.cloud_billing.ListBillingAccountsRequest, response: google.cloud.billing_v1.types.cloud_billing.ListBillingAccountsResponse, *, retry: Optional[Union[google.api_core.retry.retry_unary.Retry, google.api_core.gapic_v1.method._MethodDefault]] = _MethodDefault._DEFAULT_VALUE, timeout: Union[float, object] = _MethodDefault._DEFAULT_VALUE, metadata: Sequence[Tuple[str, str]] = ())[source]

A pager for iterating through list_billing_accounts requests.

This class thinly wraps an initial google.cloud.billing_v1.types.ListBillingAccountsResponse object, and provides an __iter__ method to iterate through its billing_accounts field.

If there are more pages, the __iter__ method will make additional ListBillingAccounts requests and continue to iterate through the billing_accounts field on the corresponding responses.

All the usual google.cloud.billing_v1.types.ListBillingAccountsResponse attributes are available on the pager. If multiple requests are made, only the most recent response is retained, and thus used for attribute lookup.

Instantiate the pager.

Parameters
class google.cloud.billing_v1.services.cloud_billing.pagers.ListProjectBillingInfoAsyncPager(method: Callable[[...], Awaitable[google.cloud.billing_v1.types.cloud_billing.ListProjectBillingInfoResponse]], request: google.cloud.billing_v1.types.cloud_billing.ListProjectBillingInfoRequest, response: google.cloud.billing_v1.types.cloud_billing.ListProjectBillingInfoResponse, *, retry: Optional[Union[google.api_core.retry.retry_unary_async.AsyncRetry, google.api_core.gapic_v1.method._MethodDefault]] = _MethodDefault._DEFAULT_VALUE, timeout: Union[float, object] = _MethodDefault._DEFAULT_VALUE, metadata: Sequence[Tuple[str, str]] = ())[source]

A pager for iterating through list_project_billing_info requests.

This class thinly wraps an initial google.cloud.billing_v1.types.ListProjectBillingInfoResponse object, and provides an __aiter__ method to iterate through its project_billing_info field.

If there are more pages, the __aiter__ method will make additional ListProjectBillingInfo requests and continue to iterate through the project_billing_info field on the corresponding responses.

All the usual google.cloud.billing_v1.types.ListProjectBillingInfoResponse attributes are available on the pager. If multiple requests are made, only the most recent response is retained, and thus used for attribute lookup.

Instantiates the pager.

Parameters
class google.cloud.billing_v1.services.cloud_billing.pagers.ListProjectBillingInfoPager(method: Callable[[...], google.cloud.billing_v1.types.cloud_billing.ListProjectBillingInfoResponse], request: google.cloud.billing_v1.types.cloud_billing.ListProjectBillingInfoRequest, response: google.cloud.billing_v1.types.cloud_billing.ListProjectBillingInfoResponse, *, retry: Optional[Union[google.api_core.retry.retry_unary.Retry, google.api_core.gapic_v1.method._MethodDefault]] = _MethodDefault._DEFAULT_VALUE, timeout: Union[float, object] = _MethodDefault._DEFAULT_VALUE, metadata: Sequence[Tuple[str, str]] = ())[source]

A pager for iterating through list_project_billing_info requests.

This class thinly wraps an initial google.cloud.billing_v1.types.ListProjectBillingInfoResponse object, and provides an __iter__ method to iterate through its project_billing_info field.

If there are more pages, the __iter__ method will make additional ListProjectBillingInfo requests and continue to iterate through the project_billing_info field on the corresponding responses.

All the usual google.cloud.billing_v1.types.ListProjectBillingInfoResponse attributes are available on the pager. If multiple requests are made, only the most recent response is retained, and thus used for attribute lookup.

Instantiate the pager.

Parameters