:py:mod:`viam.proto.app.billing` ================================ .. py:module:: viam.proto.app.billing .. autoapi-nested-parse:: @generated by Viam. Do not edit manually! Module Contents --------------- Classes ~~~~~~~ .. autoapisummary:: viam.proto.app.billing.BillingServiceBase viam.proto.app.billing.BillingServiceStub viam.proto.app.billing.UnimplementedBillingServiceBase viam.proto.app.billing.BillableResourceEvent viam.proto.app.billing.GetCurrentMonthUsageRequest viam.proto.app.billing.GetCurrentMonthUsageResponse viam.proto.app.billing.GetInvoicePdfRequest viam.proto.app.billing.GetInvoicePdfResponse viam.proto.app.billing.GetInvoicesSummaryRequest viam.proto.app.billing.GetInvoicesSummaryResponse viam.proto.app.billing.GetOrgBillingInformationRequest viam.proto.app.billing.GetOrgBillingInformationResponse viam.proto.app.billing.Invoice viam.proto.app.billing.InvoiceSummary viam.proto.app.billing.PaymentMethodCard viam.proto.app.billing.PaymentMethodType .. py:class:: BillingServiceBase Bases: :py:obj:`abc.ABC` Helper class that provides a standard way to create an ABC using inheritance. .. py:method:: GetCurrentMonthUsage(stream: grpclib.server.Stream[app.v1.billing_pb2.GetCurrentMonthUsageRequest, app.v1.billing_pb2.GetCurrentMonthUsageResponse]) -> None :abstractmethod: :async: .. py:method:: GetOrgBillingInformation(stream: grpclib.server.Stream[app.v1.billing_pb2.GetOrgBillingInformationRequest, app.v1.billing_pb2.GetOrgBillingInformationResponse]) -> None :abstractmethod: :async: .. py:method:: GetInvoicesSummary(stream: grpclib.server.Stream[app.v1.billing_pb2.GetInvoicesSummaryRequest, app.v1.billing_pb2.GetInvoicesSummaryResponse]) -> None :abstractmethod: :async: .. py:method:: GetInvoicePdf(stream: grpclib.server.Stream[app.v1.billing_pb2.GetInvoicePdfRequest, app.v1.billing_pb2.GetInvoicePdfResponse]) -> None :abstractmethod: :async: .. py:method:: __mapping__() -> Dict[str, grpclib.const.Handler] .. py:class:: BillingServiceStub(channel: grpclib.client.Channel) .. py:class:: UnimplementedBillingServiceBase Bases: :py:obj:`BillingServiceBase` Helper class that provides a standard way to create an ABC using inheritance. .. py:method:: GetCurrentMonthUsage(stream: grpclib.server.Stream[app.v1.billing_pb2.GetCurrentMonthUsageRequest, app.v1.billing_pb2.GetCurrentMonthUsageResponse]) -> None :async: .. py:method:: GetOrgBillingInformation(stream: grpclib.server.Stream[app.v1.billing_pb2.GetOrgBillingInformationRequest, app.v1.billing_pb2.GetOrgBillingInformationResponse]) -> None :async: .. py:method:: GetInvoicesSummary(stream: grpclib.server.Stream[app.v1.billing_pb2.GetInvoicesSummaryRequest, app.v1.billing_pb2.GetInvoicesSummaryResponse]) -> None :async: .. py:method:: GetInvoicePdf(stream: grpclib.server.Stream[app.v1.billing_pb2.GetInvoicePdfRequest, app.v1.billing_pb2.GetInvoicePdfResponse]) -> None :async: .. py:class:: BillableResourceEvent(*, id: str = ..., type: str = ..., usage_quantity: float = ..., usage_quantity_unit: str = ..., usage_cost: str = ..., occurred_at: google.protobuf.timestamp_pb2.Timestamp | None = ..., user_name: str = ...) Bases: :py:obj:`google.protobuf.message.Message` Abstract base class for protocol messages. Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below. .. py:property:: occurred_at :type: google.protobuf.timestamp_pb2.Timestamp .. py:attribute:: id :type: str .. py:attribute:: type :type: str .. py:attribute:: usage_quantity :type: float .. py:attribute:: usage_quantity_unit :type: str .. py:attribute:: usage_cost :type: str .. py:attribute:: user_name :type: str .. py:method:: HasField(field_name: Literal[occurred_at, b'occurred_at']) -> bool Checks if a certain field is set for the message. For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, :exc:`ValueError` will be raised. :param field_name: The name of the field to check for presence. :type field_name: str :returns: Whether a value has been set for the named field. :rtype: bool :raises ValueError: if the `field_name` is not a member of this message. .. py:class:: GetCurrentMonthUsageRequest(*, org_id: str = ...) Bases: :py:obj:`google.protobuf.message.Message` Abstract base class for protocol messages. Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below. .. py:attribute:: org_id :type: str .. py:class:: GetCurrentMonthUsageResponse(*, start_date: google.protobuf.timestamp_pb2.Timestamp | None = ..., end_date: google.protobuf.timestamp_pb2.Timestamp | None = ..., cloud_storage_usage_cost: float = ..., data_upload_usage_cost: float = ..., data_egres_usage_cost: float = ..., remote_control_usage_cost: float = ..., standard_compute_usage_cost: float = ..., discount_amount: float = ..., total_usage_with_discount: float = ..., total_usage_without_discount: float = ..., per_machine_usage_cost: float = ..., binary_data_cloud_storage_usage_cost: float = ..., other_cloud_storage_usage_cost: float = ...) Bases: :py:obj:`google.protobuf.message.Message` Abstract base class for protocol messages. Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below. .. py:property:: start_date :type: google.protobuf.timestamp_pb2.Timestamp .. py:property:: end_date :type: google.protobuf.timestamp_pb2.Timestamp .. py:attribute:: cloud_storage_usage_cost :type: float .. py:attribute:: data_upload_usage_cost :type: float .. py:attribute:: data_egres_usage_cost :type: float .. py:attribute:: remote_control_usage_cost :type: float .. py:attribute:: standard_compute_usage_cost :type: float .. py:attribute:: discount_amount :type: float .. py:attribute:: total_usage_with_discount :type: float .. py:attribute:: total_usage_without_discount :type: float .. py:attribute:: per_machine_usage_cost :type: float .. py:attribute:: binary_data_cloud_storage_usage_cost :type: float .. py:attribute:: other_cloud_storage_usage_cost :type: float .. py:method:: HasField(field_name: Literal[end_date, b'end_date', start_date, b'start_date']) -> bool Checks if a certain field is set for the message. For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, :exc:`ValueError` will be raised. :param field_name: The name of the field to check for presence. :type field_name: str :returns: Whether a value has been set for the named field. :rtype: bool :raises ValueError: if the `field_name` is not a member of this message. .. py:class:: GetInvoicePdfRequest(*, id: str = ..., org_id: str = ...) Bases: :py:obj:`google.protobuf.message.Message` Abstract base class for protocol messages. Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below. .. py:attribute:: id :type: str .. py:attribute:: org_id :type: str .. py:class:: GetInvoicePdfResponse(*, chunk: bytes = ...) Bases: :py:obj:`google.protobuf.message.Message` Abstract base class for protocol messages. Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below. .. py:attribute:: chunk :type: bytes .. py:class:: GetInvoicesSummaryRequest(*, org_id: str = ...) Bases: :py:obj:`google.protobuf.message.Message` Abstract base class for protocol messages. Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below. .. py:attribute:: org_id :type: str .. py:class:: GetInvoicesSummaryResponse(*, outstanding_balance: float = ..., invoices: collections.abc.Iterable[global___InvoiceSummary] | None = ...) Bases: :py:obj:`google.protobuf.message.Message` Abstract base class for protocol messages. Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below. .. py:property:: invoices :type: google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InvoiceSummary] all previous invoices .. py:attribute:: outstanding_balance :type: float all unpaid balances at the end of the last billing cycle .. py:class:: GetOrgBillingInformationRequest(*, org_id: str = ...) Bases: :py:obj:`google.protobuf.message.Message` Abstract base class for protocol messages. Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below. .. py:attribute:: org_id :type: str .. py:class:: GetOrgBillingInformationResponse(*, type: global___PaymentMethodType = ..., billing_email: str = ..., method: global___PaymentMethodCard | None = ..., billing_tier: str | None = ...) Bases: :py:obj:`google.protobuf.message.Message` Abstract base class for protocol messages. Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below. .. py:property:: method :type: global___PaymentMethodCard defined if type is PAYMENT_METHOD_TYPE_CARD .. py:attribute:: type :type: global___PaymentMethodType .. py:attribute:: billing_email :type: str .. py:attribute:: billing_tier :type: str Only return billing_tier for billing dashboard admin users .. py:method:: HasField(field_name: Literal[_billing_tier, b'_billing_tier', _method, b'_method', billing_tier, b'billing_tier', method, b'method']) -> bool Checks if a certain field is set for the message. For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, :exc:`ValueError` will be raised. :param field_name: The name of the field to check for presence. :type field_name: str :returns: Whether a value has been set for the named field. :rtype: bool :raises ValueError: if the `field_name` is not a member of this message. .. py:method:: WhichOneof(oneof_group: Literal[_billing_tier, b'_billing_tier']) -> Literal[billing_tier] | None WhichOneof(oneof_group: Literal[_method, b'_method']) -> Literal[method] | None Returns the name of the field that is set inside a oneof group. If no field is set, returns None. :param oneof_group: the name of the oneof group to check. :type oneof_group: str :returns: The name of the group that is set, or None. :rtype: str or None :raises ValueError: no group with the given name exists .. py:class:: Invoice(*, id: str = ..., invoice_date: google.protobuf.timestamp_pb2.Timestamp | None = ..., invoice_amount: float = ..., status: str = ..., due_date: google.protobuf.timestamp_pb2.Timestamp | None = ..., items: collections.abc.Iterable[global___BillableResourceEvent] | None = ..., emailed_to: str = ...) Bases: :py:obj:`google.protobuf.message.Message` Abstract base class for protocol messages. Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below. .. py:property:: invoice_date :type: google.protobuf.timestamp_pb2.Timestamp .. py:property:: due_date :type: google.protobuf.timestamp_pb2.Timestamp .. py:property:: items :type: google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BillableResourceEvent] .. py:attribute:: id :type: str .. py:attribute:: invoice_amount :type: float .. py:attribute:: status :type: str .. py:attribute:: emailed_to :type: str .. py:method:: HasField(field_name: Literal[due_date, b'due_date', invoice_date, b'invoice_date']) -> bool Checks if a certain field is set for the message. For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, :exc:`ValueError` will be raised. :param field_name: The name of the field to check for presence. :type field_name: str :returns: Whether a value has been set for the named field. :rtype: bool :raises ValueError: if the `field_name` is not a member of this message. .. py:class:: InvoiceSummary(*, id: str = ..., invoice_date: google.protobuf.timestamp_pb2.Timestamp | None = ..., invoice_amount: float = ..., status: str = ..., due_date: google.protobuf.timestamp_pb2.Timestamp | None = ..., paid_date: google.protobuf.timestamp_pb2.Timestamp | None = ...) Bases: :py:obj:`google.protobuf.message.Message` Abstract base class for protocol messages. Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below. .. py:property:: invoice_date :type: google.protobuf.timestamp_pb2.Timestamp .. py:property:: due_date :type: google.protobuf.timestamp_pb2.Timestamp .. py:property:: paid_date :type: google.protobuf.timestamp_pb2.Timestamp .. py:attribute:: id :type: str .. py:attribute:: invoice_amount :type: float .. py:attribute:: status :type: str .. py:method:: HasField(field_name: Literal[due_date, b'due_date', invoice_date, b'invoice_date', paid_date, b'paid_date']) -> bool Checks if a certain field is set for the message. For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, :exc:`ValueError` will be raised. :param field_name: The name of the field to check for presence. :type field_name: str :returns: Whether a value has been set for the named field. :rtype: bool :raises ValueError: if the `field_name` is not a member of this message. .. py:class:: PaymentMethodCard(*, brand: str = ..., last_four_digits: str = ...) Bases: :py:obj:`google.protobuf.message.Message` Abstract base class for protocol messages. Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below. .. py:attribute:: brand :type: str .. py:attribute:: last_four_digits :type: str .. py:class:: PaymentMethodType Bases: :py:obj:`_PaymentMethodType`