<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/api/billing.proto
namespace Google\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Billing related configuration of the service.
* The following example shows how to configure monitored resources and metrics
* for billing, `consumer_destinations` is the only supported destination and
* the monitored resources need at least one label key
* `cloud.googleapis.com/location` to indicate the location of the billing
* usage, using different monitored resources between monitoring and billing is
* recommended so they can be evolved independently:
* monitored_resources:
* - type: library.googleapis.com/billing_branch
* labels:
* - key: cloud.googleapis.com/location
* description: |
* Predefined label to support billing location restriction.
* - key: city
* description: |
* Custom label to define the city where the library branch is located
* in.
* - key: name
* description: Custom label to define the name of the library branch.
* metrics:
* - name: library.googleapis.com/book/borrowed_count
* metric_kind: DELTA
* value_type: INT64
* unit: "1"
* billing:
* consumer_destinations:
* - monitored_resource: library.googleapis.com/billing_branch
* metrics:
* - library.googleapis.com/book/borrowed_count
*
* Generated from protobuf message <code>google.api.Billing</code>
*/
class Billing extends \Google\Protobuf\Internal\Message
{
/**
* Billing configurations for sending metrics to the consumer project.
* There can be multiple consumer destinations per service, each one must have
* a different monitored resource type. A metric can be used in at most
* one consumer destination.
*
* Generated from protobuf field <code>repeated .google.api.Billing.BillingDestination consumer_destinations = 8;</code>
*/
private $consumer_destinations;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type array<\Google\Api\Billing\BillingDestination>|\Google\Protobuf\Internal\RepeatedField $consumer_destinations
* Billing configurations for sending metrics to the consumer project.
* There can be multiple consumer destinations per service, each one must have
* a different monitored resource type. A metric can be used in at most
* one consumer destination.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Google\Api\Billing::initOnce();
parent::__construct($data);
}
/**
* Billing configurations for sending metrics to the consumer project.
* There can be multiple consumer destinations per service, each one must have
* a different monitored resource type. A metric can be used in at most
* one consumer destination.
*
* Generated from protobuf field <code>repeated .google.api.Billing.BillingDestination consumer_destinations = 8;</code>
* @return \Google\Protobuf\Internal\RepeatedField
*/
public function getConsumerDestinations()
{
return $this->consumer_destinations;
}
/**
* Billing configurations for sending metrics to the consumer project.
* There can be multiple consumer destinations per service, each one must have
* a different monitored resource type. A metric can be used in at most
* one consumer destination.
*
* Generated from protobuf field <code>repeated .google.api.Billing.BillingDestination consumer_destinations = 8;</code>
* @param array<\Google\Api\Billing\BillingDestination>|\Google\Protobuf\Internal\RepeatedField $var
* @return $this
*/
public function setConsumerDestinations($var)
{
$arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Api\Billing\BillingDestination::class);
$this->consumer_destinations = $arr;
return $this;
}
}
|