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¶
- aggregation_interval¶
- 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.
- AGGREGATION_INTERVAL_UNSPECIFIED = 0¶
- DAILY = 1¶
- MONTHLY = 2¶
- 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.
- ACCOUNT = 1¶
- AGGREGATION_LEVEL_UNSPECIFIED = 0¶
- PROJECT = 2¶
- class google.cloud.billing_v1.types.BillingAccount(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]¶
Bases:
proto.message.Message
A billing account in GCP Console. You can assign a billing account to one or more projects.
- name¶
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 account012345-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 will be 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 GCP Console.- Type
str
- master_billing_account¶
If this account is a subaccount, then this will be the resource name of the master billing account that it is being resold through. Otherwise this will be empty.
- 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. .. attribute:: 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
. .. attribute:: billing_accountRequired. The billing account resource to create. Currently CreateBillingAccount only supports subaccount creation, so any created billing accounts must be under a provided master billing account.
- type
google.cloud.billing_v1.types.BillingAccount
- class google.cloud.billing_v1.types.GetBillingAccountRequest(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]¶
Bases:
proto.message.Message
Request message for
GetBillingAccount
. .. attribute:: nameRequired. 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
. .. attribute:: nameRequired. 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
. .. attribute:: page_sizeRequested 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 previousListBillingAccounts
call. If unspecified, the first page of results is returned.- Type
str
- filter¶
Options for how to filter the returned billing accounts. Currently this only supports filtering for subaccounts under a single provided reseller billing account. (e.g. “master_billing_account=billingAccounts/012345-678901-ABCDEF”). Boolean algebra and other fields are not currently supported.
- 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
. .. attribute:: billing_accountsA list of billing accounts.
- type
Sequence[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 thepage_token
field set to this value. This field is empty if there are no more results to retrieve.- Type
str
- property raw_page¶
- class google.cloud.billing_v1.types.ListProjectBillingInfoRequest(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]¶
Bases:
proto.message.Message
Request message for
ListProjectBillingInfo
. .. attribute:: nameRequired. 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 previousListProjectBillingInfo
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
. .. attribute:: project_billing_infoA list of
ProjectBillingInfo
resources representing the projects associated with the billing account.- type
Sequence[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 thepage_token
field set to this value. This field is empty if there are no more results to retrieve.- Type
str
- property raw_page¶
- class google.cloud.billing_v1.types.ListServicesRequest(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]¶
Bases:
proto.message.Message
Request message for
ListServices
. .. attribute:: page_sizeRequested 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 previousListServices
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
. .. attribute:: servicesA list of services.
- type
Sequence[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 thepage_token
field set to this value. This field is empty if there are no more results to retrieve.- Type
str
- property raw_page¶
- class google.cloud.billing_v1.types.ListSkusRequest(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]¶
Bases:
proto.message.Message
Request message for
ListSkus
. .. attribute:: parentRequired. The name of the service. Example: “services/DA34-426B-A397”.
- 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 previousListSkus
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
. .. attribute:: skusThe list of public SKUs of the given service.
- type
Sequence[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 thepage_token
field set to this value. This field is empty if there are no more results to retrieve.- Type
str
- property raw_page¶
- 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
- 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
- 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
Sequence[google.cloud.billing_v1.types.PricingExpression.TierRate]
- 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.
- aggregation_info¶
Aggregation Info. This can be left unspecified if the pricing expression doesn’t require aggregation.
- 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 GCP 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¶
The resource name for the
ProjectBillingInfo
; has the formprojects/{project_id}/billingInfo
. For example, the resource name for the billing information for projecttokyo-rain-123
would beprojects/tokyo-rain-123/billingInfo
. This field is read-only.- Type
str
- project_id¶
The ID of the project that this
ProjectBillingInfo
represents, such astokyo-rain-123
. This is a convenience field so that you don’t need to parse thename
field to obtain a project ID. This field is read-only.- 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¶
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. This field is read-only.
- 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. .. attribute:: name
The resource name for the service. Example: “services/DA34-426B-A397”.
- type
str
- service_id¶
The identifier for the service. Example: “DA34-426B-A397”.
- 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 Platform .. attribute:: name
The resource name for the SKU. Example: “services/DA34-426B-A397/skus/AA95-CD31-42FE”.
- type
str
- sku_id¶
The identifier for the SKU. Example: “AA95-CD31-42FE”.
- 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.
- 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
Sequence[str]
- pricing_info¶
A timeline of pricing info for this SKU in chronological order.
- Type
- service_provider_name¶
Identifies the service provider. This is ‘Google’ for first party services in Google Cloud Platform.
- Type
str
- class google.cloud.billing_v1.types.UpdateBillingAccountRequest(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]¶
Bases:
proto.message.Message
Request message for
UpdateBillingAccount
. .. attribute:: nameRequired. 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.
- 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
. .. attribute:: nameRequired. 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. Read-only fields are ignored; thus, you can leave empty all fields except
billing_account_name
.