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.

Types for Google Cloud Billing v1 API

class google.cloud.billing_v1.types.AggregationInfo(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

Represents the aggregation level and interval for pricing of a single SKU.

aggregation_level
Type

google.cloud.billing_v1.types.AggregationInfo.AggregationLevel

aggregation_interval
Type

google.cloud.billing_v1.types.AggregationInfo.AggregationInterval

aggregation_count

The number of intervals to aggregate over. Example: If aggregation_level is “DAILY” and aggregation_count is 14, aggregation will be over 14 days.

Type

int

class AggregationInterval(value)[source]

Bases: proto.enums.Enum

The interval at which usage is aggregated to compute cost. Example: “MONTHLY” aggregation interval indicates that usage for tiered pricing is aggregated every month.

Values:
AGGREGATION_INTERVAL_UNSPECIFIED (0):

No description available.

DAILY (1):

No description available.

MONTHLY (2):

No description available.

class AggregationLevel(value)[source]

Bases: proto.enums.Enum

The level at which usage is aggregated to compute cost. Example: “ACCOUNT” aggregation level indicates that usage for tiered pricing is aggregated across all projects in a single account.

Values:
AGGREGATION_LEVEL_UNSPECIFIED (0):

No description available.

ACCOUNT (1):

No description available.

PROJECT (2):

No description available.

class google.cloud.billing_v1.types.BillingAccount(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

A billing account in the Google Cloud Console. You can assign a billing account to one or more projects.

name

Output only. The resource name of the billing account. The resource name has the form billingAccounts/{billing_account_id}. For example, billingAccounts/012345-567890-ABCDEF would be the resource name for billing account 012345-567890-ABCDEF.

Type

str

open_

Output only. True if the billing account is open, and will therefore be charged for any usage on associated projects. False if the billing account is closed, and therefore projects associated with it are unable to use paid services.

Type

bool

display_name

The display name given to the billing account, such as My Billing Account. This name is displayed in the Google Cloud Console.

Type

str

master_billing_account

If this account is a subaccount, then this will be the resource name of the parent billing account that it is being resold through. Otherwise this will be empty.

Type

str

parent

Output only. The billing account’s parent resource identifier. Use the MoveBillingAccount method to update the account’s parent resource if it is a organization. Format:

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

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

Type

str

class google.cloud.billing_v1.types.Category(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

Represents the category hierarchy of a SKU.

service_display_name

The display name of the service this SKU belongs to.

Type

str

resource_family

The type of product the SKU refers to. Example: “Compute”, “Storage”, “Network”, “ApplicationServices” etc.

Type

str

resource_group

A group classification for related SKUs. Example: “RAM”, “GPU”, “Prediction”, “Ops”, “GoogleEgress” etc.

Type

str

usage_type

Represents how the SKU is consumed. Example: “OnDemand”, “Preemptible”, “Commit1Mo”, “Commit1Yr” etc.

Type

str

class google.cloud.billing_v1.types.CreateBillingAccountRequest(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

Request message for CreateBillingAccount.

billing_account

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.

Type

google.cloud.billing_v1.types.BillingAccount

parent

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

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

Type

str

class google.cloud.billing_v1.types.GeoTaxonomy(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

Encapsulates the geographic taxonomy data for a sku.

type_

The type of Geo Taxonomy: GLOBAL, REGIONAL, or MULTI_REGIONAL.

Type

google.cloud.billing_v1.types.GeoTaxonomy.Type

regions

The list of regions associated with a sku. Empty for Global skus, which are associated with all Google Cloud regions.

Type

MutableSequence[str]

class Type(value)[source]

Bases: proto.enums.Enum

The type of Geo Taxonomy: GLOBAL, REGIONAL, or MULTI_REGIONAL.

Values:
TYPE_UNSPECIFIED (0):

The type is not specified.

GLOBAL (1):

The sku is global in nature, e.g. a license sku. Global skus are available in all regions, and so have an empty region list.

REGIONAL (2):

The sku is available in a specific region, e.g. “us-west2”.

MULTI_REGIONAL (3):

The sku is associated with multiple regions, e.g. “us-west2” and “us-east1”.

class google.cloud.billing_v1.types.GetBillingAccountRequest(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

Request message for GetBillingAccount.

name

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

Type

str

class google.cloud.billing_v1.types.GetProjectBillingInfoRequest(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

Request message for GetProjectBillingInfo.

name

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

Type

str

class google.cloud.billing_v1.types.ListBillingAccountsRequest(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

Request message for ListBillingAccounts.

page_size

Requested page size. The maximum page size is 100; this is also the default.

Type

int

page_token

A token identifying a page of results to return. This should be a next_page_token value returned from a previous ListBillingAccounts call. If unspecified, the first page of results is returned.

Type

str

filter

Options for how to filter the returned billing accounts. This only supports filtering for subaccounts under a single provided parent billing account. (for example, master_billing_account=billingAccounts/012345-678901-ABCDEF). Boolean algebra and other fields are not currently supported.

Type

str

parent

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

Type

str

class google.cloud.billing_v1.types.ListBillingAccountsResponse(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

Response message for ListBillingAccounts.

billing_accounts

A list of billing accounts.

Type

MutableSequence[google.cloud.billing_v1.types.BillingAccount]

next_page_token

A token to retrieve the next page of results. To retrieve the next page, call ListBillingAccounts again with the page_token field set to this value. This field is empty if there are no more results to retrieve.

Type

str

class google.cloud.billing_v1.types.ListProjectBillingInfoRequest(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

Request message for ListProjectBillingInfo.

name

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

Type

str

page_size

Requested page size. The maximum page size is 100; this is also the default.

Type

int

page_token

A token identifying a page of results to be returned. This should be a next_page_token value returned from a previous ListProjectBillingInfo call. If unspecified, the first page of results is returned.

Type

str

class google.cloud.billing_v1.types.ListProjectBillingInfoResponse(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

Request message for ListProjectBillingInfoResponse.

project_billing_info

A list of ProjectBillingInfo resources representing the projects associated with the billing account.

Type

MutableSequence[google.cloud.billing_v1.types.ProjectBillingInfo]

next_page_token

A token to retrieve the next page of results. To retrieve the next page, call ListProjectBillingInfo again with the page_token field set to this value. This field is empty if there are no more results to retrieve.

Type

str

class google.cloud.billing_v1.types.ListServicesRequest(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

Request message for ListServices.

page_size

Requested page size. Defaults to 5000.

Type

int

page_token

A token identifying a page of results to return. This should be a next_page_token value returned from a previous ListServices call. If unspecified, the first page of results is returned.

Type

str

class google.cloud.billing_v1.types.ListServicesResponse(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

Response message for ListServices.

services

A list of services.

Type

MutableSequence[google.cloud.billing_v1.types.Service]

next_page_token

A token to retrieve the next page of results. To retrieve the next page, call ListServices again with the page_token field set to this value. This field is empty if there are no more results to retrieve.

Type

str

class google.cloud.billing_v1.types.ListSkusRequest(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

Request message for ListSkus.

parent

Required. The name of the service. Example: “services/6F81-5844-456A”.

Type

str

start_time

Optional inclusive start time of the time range for which the pricing versions will be returned. Timestamps in the future are not allowed. The time range has to be within a single calendar month in America/Los_Angeles timezone. Time range as a whole is optional. If not specified, the latest pricing will be returned (up to 12 hours old at most).

Type

google.protobuf.timestamp_pb2.Timestamp

end_time

Optional exclusive end time of the time range for which the pricing versions will be returned. Timestamps in the future are not allowed. The time range has to be within a single calendar month in America/Los_Angeles timezone. Time range as a whole is optional. If not specified, the latest pricing will be returned (up to 12 hours old at most).

Type

google.protobuf.timestamp_pb2.Timestamp

currency_code

The ISO 4217 currency code for the pricing info in the response proto. Will use the conversion rate as of start_time. Optional. If not specified USD will be used.

Type

str

page_size

Requested page size. Defaults to 5000.

Type

int

page_token

A token identifying a page of results to return. This should be a next_page_token value returned from a previous ListSkus call. If unspecified, the first page of results is returned.

Type

str

class google.cloud.billing_v1.types.ListSkusResponse(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

Response message for ListSkus.

skus

The list of public SKUs of the given service.

Type

MutableSequence[google.cloud.billing_v1.types.Sku]

next_page_token

A token to retrieve the next page of results. To retrieve the next page, call ListSkus again with the page_token field set to this value. This field is empty if there are no more results to retrieve.

Type

str

class google.cloud.billing_v1.types.MoveBillingAccountRequest(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

Request message for MoveBillingAccount RPC.

name

Required. The resource name of the billing account to move. Must be of the form billingAccounts/{billing_account_id}. The specified billing account cannot be a subaccount, since a subaccount always belongs to the same organization as its parent account.

Type

str

destination_parent

Required. The resource name of the Organization to move the billing account under. Must be of the form organizations/{organization_id}.

Type

str

class google.cloud.billing_v1.types.PricingExpression(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

Expresses a mathematical pricing formula. For Example:-

usage_unit: GBy tiered_rates: [start_usage_amount: 20, unit_price: $10] [start_usage_amount: 100, unit_price: $5]

The above expresses a pricing formula where the first 20GB is free, the next 80GB is priced at $10 per GB followed by $5 per GB for additional usage.

usage_unit

The short hand for unit of usage this pricing is specified in. Example: usage_unit of “GiBy” means that usage is specified in “Gibi Byte”.

Type

str

display_quantity

The recommended quantity of units for displaying pricing info. When displaying pricing info it is recommended to display: (unit_price * display_quantity) per display_quantity usage_unit. This field does not affect the pricing formula and is for display purposes only. Example: If the unit_price is “0.0001 USD”, the usage_unit is “GB” and the display_quantity is “1000” then the recommended way of displaying the pricing info is “0.10 USD per 1000 GB”.

Type

float

tiered_rates

The list of tiered rates for this pricing. The total cost is computed by applying each of the tiered rates on usage. This repeated list is sorted by ascending order of start_usage_amount.

Type

MutableSequence[google.cloud.billing_v1.types.PricingExpression.TierRate]

usage_unit_description

The unit of usage in human readable form. Example: “gibi byte”.

Type

str

base_unit

The base unit for the SKU which is the unit used in usage exports. Example: “By”.

Type

str

base_unit_description

The base unit in human readable form. Example: “byte”.

Type

str

base_unit_conversion_factor

Conversion factor for converting from price per usage_unit to price per base_unit, and start_usage_amount to start_usage_amount in base_unit. unit_price / base_unit_conversion_factor = price per base_unit. start_usage_amount * base_unit_conversion_factor = start_usage_amount in base_unit.

Type

float

class TierRate(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

The price rate indicating starting usage and its corresponding price.

start_usage_amount

Usage is priced at this rate only after this amount. Example: start_usage_amount of 10 indicates that the usage will be priced at the unit_price after the first 10 usage_units.

Type

float

unit_price

The price per unit of usage. Example: unit_price of amount $10 indicates that each unit will cost $10.

Type

google.type.money_pb2.Money

class google.cloud.billing_v1.types.PricingInfo(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

Represents the pricing information for a SKU at a single point of time.

effective_time

The timestamp from which this pricing was effective within the requested time range. This is guaranteed to be greater than or equal to the start_time field in the request and less than the end_time field in the request. If a time range was not specified in the request this field will be equivalent to a time within the last 12 hours, indicating the latest pricing info.

Type

google.protobuf.timestamp_pb2.Timestamp

summary

An optional human readable summary of the pricing information, has a maximum length of 256 characters.

Type

str

pricing_expression

Expresses the pricing formula. See PricingExpression for an example.

Type

google.cloud.billing_v1.types.PricingExpression

aggregation_info

Aggregation Info. This can be left unspecified if the pricing expression doesn’t require aggregation.

Type

google.cloud.billing_v1.types.AggregationInfo

currency_conversion_rate

Conversion rate used for currency conversion, from USD to the currency specified in the request. This includes any surcharge collected for billing in non USD currency. If a currency is not specified in the request this defaults to 1.0. Example: USD * currency_conversion_rate = JPY

Type

float

class google.cloud.billing_v1.types.ProjectBillingInfo(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

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).

name

Output only. The resource name for the ProjectBillingInfo; has the form projects/{project_id}/billingInfo. For example, the resource name for the billing information for project tokyo-rain-123 would be projects/tokyo-rain-123/billingInfo.

Type

str

project_id

Output only. The ID of the project that this ProjectBillingInfo represents, such as tokyo-rain-123. This is a convenience field so that you don’t need to parse the name field to obtain a project ID.

Type

str

billing_account_name

The resource name of the billing account associated with the project, if any. For example, billingAccounts/012345-567890-ABCDEF.

Type

str

billing_enabled

Output only. True if the project is associated with an open billing account, to which usage on the project is charged. False if the project is associated with a closed billing account, or no billing account at all, and therefore cannot use paid services.

Type

bool

class google.cloud.billing_v1.types.Service(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

Encapsulates a single service in Google Cloud Platform.

name

The resource name for the service. Example: “services/6F81-5844-456A”.

Type

str

service_id

The identifier for the service. Example: “6F81-5844-456A”.

Type

str

display_name

A human readable display name for this service.

Type

str

business_entity_name

The business under which the service is offered. Ex. “businessEntities/GCP”, “businessEntities/Maps”.

Type

str

class google.cloud.billing_v1.types.Sku(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

Encapsulates a single SKU in Google Cloud

name

The resource name for the SKU. Example: “services/6F81-5844-456A/skus/D041-B8A1-6E0B”.

Type

str

sku_id

The identifier for the SKU. Example: “D041-B8A1-6E0B”.

Type

str

description

A human readable description of the SKU, has a maximum length of 256 characters.

Type

str

category

The category hierarchy of this SKU, purely for organizational purpose.

Type

google.cloud.billing_v1.types.Category

service_regions

List of service regions this SKU is offered at. Example: “asia-east1” Service regions can be found at https://cloud.google.com/about/locations/

Type

MutableSequence[str]

pricing_info

A timeline of pricing info for this SKU in chronological order.

Type

MutableSequence[google.cloud.billing_v1.types.PricingInfo]

service_provider_name

Identifies the service provider. This is ‘Google’ for first party services in Google Cloud Platform.

Type

str

geo_taxonomy

The geographic taxonomy for this sku.

Type

google.cloud.billing_v1.types.GeoTaxonomy

class google.cloud.billing_v1.types.UpdateBillingAccountRequest(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

Request message for UpdateBillingAccount.

name

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

Type

str

account

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

Type

google.cloud.billing_v1.types.BillingAccount

update_mask

The update mask applied to the resource. Only “display_name” is currently supported.

Type

google.protobuf.field_mask_pb2.FieldMask

class google.cloud.billing_v1.types.UpdateProjectBillingInfoRequest(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

Request message for UpdateProjectBillingInfo.

name

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

Type

str

project_billing_info

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

Type

google.cloud.billing_v1.types.ProjectBillingInfo