OSDN Git Service

Hulk did something
[bytom/vapor.git] / vendor / google.golang.org / genproto / googleapis / cloud / billing / v1 / cloud_billing.pb.go
diff --git a/vendor/google.golang.org/genproto/googleapis/cloud/billing/v1/cloud_billing.pb.go b/vendor/google.golang.org/genproto/googleapis/cloud/billing/v1/cloud_billing.pb.go
new file mode 100644 (file)
index 0000000..238193b
--- /dev/null
@@ -0,0 +1,688 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: google/cloud/billing/v1/cloud_billing.proto
+
+/*
+Package billing is a generated protocol buffer package.
+
+It is generated from these files:
+       google/cloud/billing/v1/cloud_billing.proto
+
+It has these top-level messages:
+       BillingAccount
+       ProjectBillingInfo
+       GetBillingAccountRequest
+       ListBillingAccountsRequest
+       ListBillingAccountsResponse
+       ListProjectBillingInfoRequest
+       ListProjectBillingInfoResponse
+       GetProjectBillingInfoRequest
+       UpdateProjectBillingInfoRequest
+*/
+package billing
+
+import proto "github.com/golang/protobuf/proto"
+import fmt "fmt"
+import math "math"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
+
+import (
+       context "golang.org/x/net/context"
+       grpc "google.golang.org/grpc"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
+
+// A billing account in [Google Cloud
+// Console](https://console.cloud.google.com/). You can assign a billing account
+// to one or more projects.
+type BillingAccount struct {
+       // 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`.
+       Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+       // 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.
+       Open bool `protobuf:"varint,2,opt,name=open" json:"open,omitempty"`
+       // The display name given to the billing account, such as `My Billing
+       // Account`. This name is displayed in the Google Cloud Console.
+       DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName" json:"display_name,omitempty"`
+}
+
+func (m *BillingAccount) Reset()                    { *m = BillingAccount{} }
+func (m *BillingAccount) String() string            { return proto.CompactTextString(m) }
+func (*BillingAccount) ProtoMessage()               {}
+func (*BillingAccount) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
+
+func (m *BillingAccount) GetName() string {
+       if m != nil {
+               return m.Name
+       }
+       return ""
+}
+
+func (m *BillingAccount) GetOpen() bool {
+       if m != nil {
+               return m.Open
+       }
+       return false
+}
+
+func (m *BillingAccount) GetDisplayName() string {
+       if m != nil {
+               return m.DisplayName
+       }
+       return ""
+}
+
+// Encapsulation of billing information for a 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).
+type ProjectBillingInfo struct {
+       // 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`. This field is read-only.
+       Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+       // 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. This field is read-only.
+       ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId" json:"project_id,omitempty"`
+       // The resource name of the billing account associated with the project, if
+       // any. For example, `billingAccounts/012345-567890-ABCDEF`.
+       BillingAccountName string `protobuf:"bytes,3,opt,name=billing_account_name,json=billingAccountName" json:"billing_account_name,omitempty"`
+       // 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.
+       BillingEnabled bool `protobuf:"varint,4,opt,name=billing_enabled,json=billingEnabled" json:"billing_enabled,omitempty"`
+}
+
+func (m *ProjectBillingInfo) Reset()                    { *m = ProjectBillingInfo{} }
+func (m *ProjectBillingInfo) String() string            { return proto.CompactTextString(m) }
+func (*ProjectBillingInfo) ProtoMessage()               {}
+func (*ProjectBillingInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
+
+func (m *ProjectBillingInfo) GetName() string {
+       if m != nil {
+               return m.Name
+       }
+       return ""
+}
+
+func (m *ProjectBillingInfo) GetProjectId() string {
+       if m != nil {
+               return m.ProjectId
+       }
+       return ""
+}
+
+func (m *ProjectBillingInfo) GetBillingAccountName() string {
+       if m != nil {
+               return m.BillingAccountName
+       }
+       return ""
+}
+
+func (m *ProjectBillingInfo) GetBillingEnabled() bool {
+       if m != nil {
+               return m.BillingEnabled
+       }
+       return false
+}
+
+// Request message for `GetBillingAccount`.
+type GetBillingAccountRequest struct {
+       // The resource name of the billing account to retrieve. For example,
+       // `billingAccounts/012345-567890-ABCDEF`.
+       Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+}
+
+func (m *GetBillingAccountRequest) Reset()                    { *m = GetBillingAccountRequest{} }
+func (m *GetBillingAccountRequest) String() string            { return proto.CompactTextString(m) }
+func (*GetBillingAccountRequest) ProtoMessage()               {}
+func (*GetBillingAccountRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
+
+func (m *GetBillingAccountRequest) GetName() string {
+       if m != nil {
+               return m.Name
+       }
+       return ""
+}
+
+// Request message for `ListBillingAccounts`.
+type ListBillingAccountsRequest struct {
+       // Requested page size. The maximum page size is 100; this is also the
+       // default.
+       PageSize int32 `protobuf:"varint,1,opt,name=page_size,json=pageSize" json:"page_size,omitempty"`
+       // 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.
+       PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken" json:"page_token,omitempty"`
+}
+
+func (m *ListBillingAccountsRequest) Reset()                    { *m = ListBillingAccountsRequest{} }
+func (m *ListBillingAccountsRequest) String() string            { return proto.CompactTextString(m) }
+func (*ListBillingAccountsRequest) ProtoMessage()               {}
+func (*ListBillingAccountsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
+
+func (m *ListBillingAccountsRequest) GetPageSize() int32 {
+       if m != nil {
+               return m.PageSize
+       }
+       return 0
+}
+
+func (m *ListBillingAccountsRequest) GetPageToken() string {
+       if m != nil {
+               return m.PageToken
+       }
+       return ""
+}
+
+// Response message for `ListBillingAccounts`.
+type ListBillingAccountsResponse struct {
+       // A list of billing accounts.
+       BillingAccounts []*BillingAccount `protobuf:"bytes,1,rep,name=billing_accounts,json=billingAccounts" json:"billing_accounts,omitempty"`
+       // 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.
+       NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken" json:"next_page_token,omitempty"`
+}
+
+func (m *ListBillingAccountsResponse) Reset()                    { *m = ListBillingAccountsResponse{} }
+func (m *ListBillingAccountsResponse) String() string            { return proto.CompactTextString(m) }
+func (*ListBillingAccountsResponse) ProtoMessage()               {}
+func (*ListBillingAccountsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
+
+func (m *ListBillingAccountsResponse) GetBillingAccounts() []*BillingAccount {
+       if m != nil {
+               return m.BillingAccounts
+       }
+       return nil
+}
+
+func (m *ListBillingAccountsResponse) GetNextPageToken() string {
+       if m != nil {
+               return m.NextPageToken
+       }
+       return ""
+}
+
+// Request message for `ListProjectBillingInfo`.
+type ListProjectBillingInfoRequest struct {
+       // The resource name of the billing account associated with the projects that
+       // you want to list. For example, `billingAccounts/012345-567890-ABCDEF`.
+       Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+       // Requested page size. The maximum page size is 100; this is also the
+       // default.
+       PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize" json:"page_size,omitempty"`
+       // 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.
+       PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken" json:"page_token,omitempty"`
+}
+
+func (m *ListProjectBillingInfoRequest) Reset()                    { *m = ListProjectBillingInfoRequest{} }
+func (m *ListProjectBillingInfoRequest) String() string            { return proto.CompactTextString(m) }
+func (*ListProjectBillingInfoRequest) ProtoMessage()               {}
+func (*ListProjectBillingInfoRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
+
+func (m *ListProjectBillingInfoRequest) GetName() string {
+       if m != nil {
+               return m.Name
+       }
+       return ""
+}
+
+func (m *ListProjectBillingInfoRequest) GetPageSize() int32 {
+       if m != nil {
+               return m.PageSize
+       }
+       return 0
+}
+
+func (m *ListProjectBillingInfoRequest) GetPageToken() string {
+       if m != nil {
+               return m.PageToken
+       }
+       return ""
+}
+
+// Request message for `ListProjectBillingInfoResponse`.
+type ListProjectBillingInfoResponse struct {
+       // A list of `ProjectBillingInfo` resources representing the projects
+       // associated with the billing account.
+       ProjectBillingInfo []*ProjectBillingInfo `protobuf:"bytes,1,rep,name=project_billing_info,json=projectBillingInfo" json:"project_billing_info,omitempty"`
+       // 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.
+       NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken" json:"next_page_token,omitempty"`
+}
+
+func (m *ListProjectBillingInfoResponse) Reset()                    { *m = ListProjectBillingInfoResponse{} }
+func (m *ListProjectBillingInfoResponse) String() string            { return proto.CompactTextString(m) }
+func (*ListProjectBillingInfoResponse) ProtoMessage()               {}
+func (*ListProjectBillingInfoResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
+
+func (m *ListProjectBillingInfoResponse) GetProjectBillingInfo() []*ProjectBillingInfo {
+       if m != nil {
+               return m.ProjectBillingInfo
+       }
+       return nil
+}
+
+func (m *ListProjectBillingInfoResponse) GetNextPageToken() string {
+       if m != nil {
+               return m.NextPageToken
+       }
+       return ""
+}
+
+// Request message for `GetProjectBillingInfo`.
+type GetProjectBillingInfoRequest struct {
+       // The resource name of the project for which billing information is
+       // retrieved. For example, `projects/tokyo-rain-123`.
+       Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+}
+
+func (m *GetProjectBillingInfoRequest) Reset()                    { *m = GetProjectBillingInfoRequest{} }
+func (m *GetProjectBillingInfoRequest) String() string            { return proto.CompactTextString(m) }
+func (*GetProjectBillingInfoRequest) ProtoMessage()               {}
+func (*GetProjectBillingInfoRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
+
+func (m *GetProjectBillingInfoRequest) GetName() string {
+       if m != nil {
+               return m.Name
+       }
+       return ""
+}
+
+// Request message for `UpdateProjectBillingInfo`.
+type UpdateProjectBillingInfoRequest struct {
+       // The resource name of the project associated with the billing information
+       // that you want to update. For example, `projects/tokyo-rain-123`.
+       Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+       // The new billing information for the project. Read-only fields are ignored;
+       // thus, you may leave empty all fields except `billing_account_name`.
+       ProjectBillingInfo *ProjectBillingInfo `protobuf:"bytes,2,opt,name=project_billing_info,json=projectBillingInfo" json:"project_billing_info,omitempty"`
+}
+
+func (m *UpdateProjectBillingInfoRequest) Reset()                    { *m = UpdateProjectBillingInfoRequest{} }
+func (m *UpdateProjectBillingInfoRequest) String() string            { return proto.CompactTextString(m) }
+func (*UpdateProjectBillingInfoRequest) ProtoMessage()               {}
+func (*UpdateProjectBillingInfoRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
+
+func (m *UpdateProjectBillingInfoRequest) GetName() string {
+       if m != nil {
+               return m.Name
+       }
+       return ""
+}
+
+func (m *UpdateProjectBillingInfoRequest) GetProjectBillingInfo() *ProjectBillingInfo {
+       if m != nil {
+               return m.ProjectBillingInfo
+       }
+       return nil
+}
+
+func init() {
+       proto.RegisterType((*BillingAccount)(nil), "google.cloud.billing.v1.BillingAccount")
+       proto.RegisterType((*ProjectBillingInfo)(nil), "google.cloud.billing.v1.ProjectBillingInfo")
+       proto.RegisterType((*GetBillingAccountRequest)(nil), "google.cloud.billing.v1.GetBillingAccountRequest")
+       proto.RegisterType((*ListBillingAccountsRequest)(nil), "google.cloud.billing.v1.ListBillingAccountsRequest")
+       proto.RegisterType((*ListBillingAccountsResponse)(nil), "google.cloud.billing.v1.ListBillingAccountsResponse")
+       proto.RegisterType((*ListProjectBillingInfoRequest)(nil), "google.cloud.billing.v1.ListProjectBillingInfoRequest")
+       proto.RegisterType((*ListProjectBillingInfoResponse)(nil), "google.cloud.billing.v1.ListProjectBillingInfoResponse")
+       proto.RegisterType((*GetProjectBillingInfoRequest)(nil), "google.cloud.billing.v1.GetProjectBillingInfoRequest")
+       proto.RegisterType((*UpdateProjectBillingInfoRequest)(nil), "google.cloud.billing.v1.UpdateProjectBillingInfoRequest")
+}
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ context.Context
+var _ grpc.ClientConn
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the grpc package it is being compiled against.
+const _ = grpc.SupportPackageIsVersion4
+
+// Client API for CloudBilling service
+
+type CloudBillingClient interface {
+       // Gets information about a billing account. The current authenticated user
+       // must be an [owner of the billing
+       // account](https://support.google.com/cloud/answer/4430947).
+       GetBillingAccount(ctx context.Context, in *GetBillingAccountRequest, opts ...grpc.CallOption) (*BillingAccount, error)
+       // Lists the billing accounts that the current authenticated user
+       // [owns](https://support.google.com/cloud/answer/4430947).
+       ListBillingAccounts(ctx context.Context, in *ListBillingAccountsRequest, opts ...grpc.CallOption) (*ListBillingAccountsResponse, error)
+       // Lists the projects associated with a billing account. The current
+       // authenticated user must be an [owner of the billing
+       // account](https://support.google.com/cloud/answer/4430947).
+       ListProjectBillingInfo(ctx context.Context, in *ListProjectBillingInfoRequest, opts ...grpc.CallOption) (*ListProjectBillingInfoResponse, error)
+       // Gets the billing information for a project. The current authenticated user
+       // must have [permission to view the
+       // project](https://cloud.google.com/docs/permissions-overview#h.bgs0oxofvnoo
+       // ).
+       GetProjectBillingInfo(ctx context.Context, in *GetProjectBillingInfoRequest, opts ...grpc.CallOption) (*ProjectBillingInfo, error)
+       // 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 may 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](https://cloud.google.com/docs/permissions-overview#h.bgs0oxofvnoo
+       // ) and the [billing
+       // account](https://support.google.com/cloud/answer/4430947).
+       //
+       // 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.
+       UpdateProjectBillingInfo(ctx context.Context, in *UpdateProjectBillingInfoRequest, opts ...grpc.CallOption) (*ProjectBillingInfo, error)
+}
+
+type cloudBillingClient struct {
+       cc *grpc.ClientConn
+}
+
+func NewCloudBillingClient(cc *grpc.ClientConn) CloudBillingClient {
+       return &cloudBillingClient{cc}
+}
+
+func (c *cloudBillingClient) GetBillingAccount(ctx context.Context, in *GetBillingAccountRequest, opts ...grpc.CallOption) (*BillingAccount, error) {
+       out := new(BillingAccount)
+       err := grpc.Invoke(ctx, "/google.cloud.billing.v1.CloudBilling/GetBillingAccount", in, out, c.cc, opts...)
+       if err != nil {
+               return nil, err
+       }
+       return out, nil
+}
+
+func (c *cloudBillingClient) ListBillingAccounts(ctx context.Context, in *ListBillingAccountsRequest, opts ...grpc.CallOption) (*ListBillingAccountsResponse, error) {
+       out := new(ListBillingAccountsResponse)
+       err := grpc.Invoke(ctx, "/google.cloud.billing.v1.CloudBilling/ListBillingAccounts", in, out, c.cc, opts...)
+       if err != nil {
+               return nil, err
+       }
+       return out, nil
+}
+
+func (c *cloudBillingClient) ListProjectBillingInfo(ctx context.Context, in *ListProjectBillingInfoRequest, opts ...grpc.CallOption) (*ListProjectBillingInfoResponse, error) {
+       out := new(ListProjectBillingInfoResponse)
+       err := grpc.Invoke(ctx, "/google.cloud.billing.v1.CloudBilling/ListProjectBillingInfo", in, out, c.cc, opts...)
+       if err != nil {
+               return nil, err
+       }
+       return out, nil
+}
+
+func (c *cloudBillingClient) GetProjectBillingInfo(ctx context.Context, in *GetProjectBillingInfoRequest, opts ...grpc.CallOption) (*ProjectBillingInfo, error) {
+       out := new(ProjectBillingInfo)
+       err := grpc.Invoke(ctx, "/google.cloud.billing.v1.CloudBilling/GetProjectBillingInfo", in, out, c.cc, opts...)
+       if err != nil {
+               return nil, err
+       }
+       return out, nil
+}
+
+func (c *cloudBillingClient) UpdateProjectBillingInfo(ctx context.Context, in *UpdateProjectBillingInfoRequest, opts ...grpc.CallOption) (*ProjectBillingInfo, error) {
+       out := new(ProjectBillingInfo)
+       err := grpc.Invoke(ctx, "/google.cloud.billing.v1.CloudBilling/UpdateProjectBillingInfo", in, out, c.cc, opts...)
+       if err != nil {
+               return nil, err
+       }
+       return out, nil
+}
+
+// Server API for CloudBilling service
+
+type CloudBillingServer interface {
+       // Gets information about a billing account. The current authenticated user
+       // must be an [owner of the billing
+       // account](https://support.google.com/cloud/answer/4430947).
+       GetBillingAccount(context.Context, *GetBillingAccountRequest) (*BillingAccount, error)
+       // Lists the billing accounts that the current authenticated user
+       // [owns](https://support.google.com/cloud/answer/4430947).
+       ListBillingAccounts(context.Context, *ListBillingAccountsRequest) (*ListBillingAccountsResponse, error)
+       // Lists the projects associated with a billing account. The current
+       // authenticated user must be an [owner of the billing
+       // account](https://support.google.com/cloud/answer/4430947).
+       ListProjectBillingInfo(context.Context, *ListProjectBillingInfoRequest) (*ListProjectBillingInfoResponse, error)
+       // Gets the billing information for a project. The current authenticated user
+       // must have [permission to view the
+       // project](https://cloud.google.com/docs/permissions-overview#h.bgs0oxofvnoo
+       // ).
+       GetProjectBillingInfo(context.Context, *GetProjectBillingInfoRequest) (*ProjectBillingInfo, error)
+       // 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 may 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](https://cloud.google.com/docs/permissions-overview#h.bgs0oxofvnoo
+       // ) and the [billing
+       // account](https://support.google.com/cloud/answer/4430947).
+       //
+       // 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.
+       UpdateProjectBillingInfo(context.Context, *UpdateProjectBillingInfoRequest) (*ProjectBillingInfo, error)
+}
+
+func RegisterCloudBillingServer(s *grpc.Server, srv CloudBillingServer) {
+       s.RegisterService(&_CloudBilling_serviceDesc, srv)
+}
+
+func _CloudBilling_GetBillingAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+       in := new(GetBillingAccountRequest)
+       if err := dec(in); err != nil {
+               return nil, err
+       }
+       if interceptor == nil {
+               return srv.(CloudBillingServer).GetBillingAccount(ctx, in)
+       }
+       info := &grpc.UnaryServerInfo{
+               Server:     srv,
+               FullMethod: "/google.cloud.billing.v1.CloudBilling/GetBillingAccount",
+       }
+       handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+               return srv.(CloudBillingServer).GetBillingAccount(ctx, req.(*GetBillingAccountRequest))
+       }
+       return interceptor(ctx, in, info, handler)
+}
+
+func _CloudBilling_ListBillingAccounts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+       in := new(ListBillingAccountsRequest)
+       if err := dec(in); err != nil {
+               return nil, err
+       }
+       if interceptor == nil {
+               return srv.(CloudBillingServer).ListBillingAccounts(ctx, in)
+       }
+       info := &grpc.UnaryServerInfo{
+               Server:     srv,
+               FullMethod: "/google.cloud.billing.v1.CloudBilling/ListBillingAccounts",
+       }
+       handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+               return srv.(CloudBillingServer).ListBillingAccounts(ctx, req.(*ListBillingAccountsRequest))
+       }
+       return interceptor(ctx, in, info, handler)
+}
+
+func _CloudBilling_ListProjectBillingInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+       in := new(ListProjectBillingInfoRequest)
+       if err := dec(in); err != nil {
+               return nil, err
+       }
+       if interceptor == nil {
+               return srv.(CloudBillingServer).ListProjectBillingInfo(ctx, in)
+       }
+       info := &grpc.UnaryServerInfo{
+               Server:     srv,
+               FullMethod: "/google.cloud.billing.v1.CloudBilling/ListProjectBillingInfo",
+       }
+       handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+               return srv.(CloudBillingServer).ListProjectBillingInfo(ctx, req.(*ListProjectBillingInfoRequest))
+       }
+       return interceptor(ctx, in, info, handler)
+}
+
+func _CloudBilling_GetProjectBillingInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+       in := new(GetProjectBillingInfoRequest)
+       if err := dec(in); err != nil {
+               return nil, err
+       }
+       if interceptor == nil {
+               return srv.(CloudBillingServer).GetProjectBillingInfo(ctx, in)
+       }
+       info := &grpc.UnaryServerInfo{
+               Server:     srv,
+               FullMethod: "/google.cloud.billing.v1.CloudBilling/GetProjectBillingInfo",
+       }
+       handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+               return srv.(CloudBillingServer).GetProjectBillingInfo(ctx, req.(*GetProjectBillingInfoRequest))
+       }
+       return interceptor(ctx, in, info, handler)
+}
+
+func _CloudBilling_UpdateProjectBillingInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+       in := new(UpdateProjectBillingInfoRequest)
+       if err := dec(in); err != nil {
+               return nil, err
+       }
+       if interceptor == nil {
+               return srv.(CloudBillingServer).UpdateProjectBillingInfo(ctx, in)
+       }
+       info := &grpc.UnaryServerInfo{
+               Server:     srv,
+               FullMethod: "/google.cloud.billing.v1.CloudBilling/UpdateProjectBillingInfo",
+       }
+       handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+               return srv.(CloudBillingServer).UpdateProjectBillingInfo(ctx, req.(*UpdateProjectBillingInfoRequest))
+       }
+       return interceptor(ctx, in, info, handler)
+}
+
+var _CloudBilling_serviceDesc = grpc.ServiceDesc{
+       ServiceName: "google.cloud.billing.v1.CloudBilling",
+       HandlerType: (*CloudBillingServer)(nil),
+       Methods: []grpc.MethodDesc{
+               {
+                       MethodName: "GetBillingAccount",
+                       Handler:    _CloudBilling_GetBillingAccount_Handler,
+               },
+               {
+                       MethodName: "ListBillingAccounts",
+                       Handler:    _CloudBilling_ListBillingAccounts_Handler,
+               },
+               {
+                       MethodName: "ListProjectBillingInfo",
+                       Handler:    _CloudBilling_ListProjectBillingInfo_Handler,
+               },
+               {
+                       MethodName: "GetProjectBillingInfo",
+                       Handler:    _CloudBilling_GetProjectBillingInfo_Handler,
+               },
+               {
+                       MethodName: "UpdateProjectBillingInfo",
+                       Handler:    _CloudBilling_UpdateProjectBillingInfo_Handler,
+               },
+       },
+       Streams:  []grpc.StreamDesc{},
+       Metadata: "google/cloud/billing/v1/cloud_billing.proto",
+}
+
+func init() { proto.RegisterFile("google/cloud/billing/v1/cloud_billing.proto", fileDescriptor0) }
+
+var fileDescriptor0 = []byte{
+       // 667 bytes of a gzipped FileDescriptorProto
+       0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x56, 0xdd, 0x4e, 0xd4, 0x40,
+       0x14, 0xce, 0x00, 0x12, 0xf6, 0x80, 0x20, 0x03, 0xe8, 0x66, 0x17, 0x10, 0xea, 0x0f, 0x28, 0xb1,
+       0x15, 0xf0, 0xdf, 0xa8, 0x11, 0x63, 0x08, 0x89, 0x31, 0x9b, 0xaa, 0x89, 0xd1, 0x98, 0x66, 0x76,
+       0x3b, 0x34, 0xd5, 0x32, 0x53, 0x77, 0x0a, 0x51, 0x8c, 0x37, 0xbe, 0x82, 0x7a, 0xe1, 0x85, 0x37,
+       0x5e, 0xe8, 0x2b, 0x78, 0xed, 0x2b, 0xf8, 0x0a, 0xde, 0xfb, 0x0a, 0x66, 0xa6, 0x53, 0x65, 0xbb,
+       0x9d, 0x85, 0xc6, 0xbb, 0xe6, 0x9b, 0x73, 0xfa, 0x7d, 0xe7, 0x9b, 0xef, 0x6c, 0x17, 0x96, 0x02,
+       0xce, 0x83, 0x88, 0x3a, 0xad, 0x88, 0x6f, 0xfb, 0x4e, 0x33, 0x8c, 0xa2, 0x90, 0x05, 0xce, 0xce,
+       0x72, 0x0a, 0x78, 0x1a, 0xb0, 0xe3, 0x36, 0x4f, 0x38, 0x3e, 0x96, 0x16, 0xdb, 0xea, 0xcc, 0xce,
+       0xce, 0x76, 0x96, 0x6b, 0xd3, 0xfa, 0x2d, 0x24, 0x0e, 0x1d, 0xc2, 0x18, 0x4f, 0x48, 0x12, 0x72,
+       0x26, 0xd2, 0x36, 0xeb, 0x29, 0x8c, 0xae, 0xa5, 0xb5, 0xb7, 0x5b, 0x2d, 0xbe, 0xcd, 0x12, 0x8c,
+       0x61, 0x80, 0x91, 0x2d, 0x5a, 0x45, 0x73, 0x68, 0xb1, 0xe2, 0xaa, 0x67, 0x89, 0xf1, 0x98, 0xb2,
+       0x6a, 0xdf, 0x1c, 0x5a, 0x1c, 0x72, 0xd5, 0x33, 0x9e, 0x87, 0x11, 0x3f, 0x14, 0x71, 0x44, 0x5e,
+       0x7b, 0xaa, 0xbe, 0x5f, 0xd5, 0x0f, 0x6b, 0xec, 0x3e, 0xd9, 0xa2, 0xd6, 0x17, 0x04, 0xb8, 0xd1,
+       0xe6, 0xcf, 0x69, 0x2b, 0xd1, 0x24, 0x1b, 0x6c, 0x93, 0x17, 0x32, 0xcc, 0x00, 0xc4, 0x69, 0xa5,
+       0x17, 0xfa, 0x8a, 0xa7, 0xe2, 0x56, 0x34, 0xb2, 0xe1, 0xe3, 0xf3, 0x30, 0xa9, 0x47, 0xf2, 0x48,
+       0xaa, 0x73, 0x2f, 0x29, 0x6e, 0x76, 0x8c, 0x20, 0xb9, 0xf1, 0x02, 0x8c, 0x65, 0x1d, 0x94, 0x91,
+       0x66, 0x44, 0xfd, 0xea, 0x80, 0x52, 0x3f, 0xaa, 0xe1, 0xbb, 0x29, 0x6a, 0xd9, 0x50, 0x5d, 0xa7,
+       0x49, 0xa7, 0x09, 0x2e, 0x7d, 0xb9, 0x4d, 0x45, 0xa1, 0x17, 0xd6, 0x63, 0xa8, 0xdd, 0x0b, 0x45,
+       0xae, 0x41, 0x64, 0x1d, 0x75, 0xa8, 0xc4, 0x24, 0xa0, 0x9e, 0x08, 0x77, 0xd3, 0xb6, 0x43, 0xee,
+       0x90, 0x04, 0x1e, 0x84, 0xbb, 0xe9, 0x90, 0xf2, 0x30, 0xe1, 0x2f, 0xb4, 0x99, 0x72, 0x48, 0x12,
+       0xd0, 0x87, 0x12, 0xb0, 0x3e, 0x21, 0xa8, 0x17, 0xbe, 0x5a, 0xc4, 0x9c, 0x09, 0x8a, 0x5d, 0x38,
+       0x92, 0x33, 0x41, 0x54, 0xd1, 0x5c, 0xff, 0xe2, 0xf0, 0xca, 0x82, 0x6d, 0xb8, 0x7d, 0x3b, 0x37,
+       0xd7, 0x58, 0xa7, 0x53, 0x02, 0x9f, 0x86, 0x31, 0x46, 0x5f, 0x25, 0x5e, 0x97, 0xae, 0xc3, 0x12,
+       0x6e, 0xfc, 0xd5, 0xc6, 0x61, 0x46, 0x4a, 0xeb, 0xbe, 0xcd, 0x1e, 0x56, 0x75, 0x9a, 0xd1, 0xd7,
+       0xd3, 0x8c, 0xfe, 0xbc, 0x19, 0xdf, 0x10, 0xcc, 0x9a, 0x18, 0xb5, 0x1f, 0xcf, 0x60, 0x32, 0xcb,
+       0x4c, 0xe6, 0x4b, 0xc8, 0x36, 0xb9, 0xf6, 0x64, 0xc9, 0xe8, 0x49, 0xc1, 0x2b, 0x71, 0xdc, 0x1d,
+       0xd3, 0x83, 0x5a, 0xb3, 0x02, 0xd3, 0xeb, 0xb4, 0x9c, 0x33, 0xd6, 0x07, 0x04, 0xc7, 0x1f, 0xc5,
+       0x3e, 0x49, 0x68, 0x39, 0x47, 0x4d, 0x23, 0x4b, 0x61, 0xff, 0x3f, 0xf2, 0xca, 0xef, 0x41, 0x18,
+       0xb9, 0x23, 0x7b, 0x35, 0x88, 0x3f, 0x22, 0x18, 0xef, 0xda, 0x0e, 0xbc, 0x6c, 0xe4, 0x31, 0x6d,
+       0x52, 0xed, 0xa0, 0x09, 0xb5, 0x4e, 0xbe, 0xfb, 0xf9, 0xeb, 0x7d, 0xdf, 0x2c, 0x9e, 0x96, 0x3f,
+       0x74, 0x6f, 0xe4, 0xd0, 0x37, 0x72, 0x99, 0x75, 0xce, 0xbe, 0xc5, 0x9f, 0x11, 0x4c, 0x14, 0xac,
+       0x0a, 0x5e, 0x35, 0xd2, 0x98, 0x77, 0xb6, 0x76, 0xa1, 0x5c, 0x53, 0x9a, 0x3e, 0xab, 0xae, 0x84,
+       0x4e, 0xe1, 0x09, 0x29, 0x34, 0xbf, 0x56, 0xdf, 0x11, 0x1c, 0x2d, 0x4e, 0x2f, 0xbe, 0xd4, 0x93,
+       0xcd, 0x18, 0x87, 0xda, 0xe5, 0xd2, 0x7d, 0x5a, 0xe8, 0x39, 0x25, 0x74, 0x01, 0x9f, 0xea, 0xe5,
+       0xa8, 0xa3, 0xd3, 0x20, 0xf0, 0x57, 0x04, 0x53, 0x85, 0x79, 0xc6, 0x17, 0x7b, 0x5d, 0xbb, 0x59,
+       0x78, 0x99, 0x54, 0x5a, 0x67, 0x94, 0xd8, 0x13, 0x78, 0xfe, 0x9f, 0xd8, 0x4c, 0x99, 0x54, 0xd9,
+       0xdc, 0x23, 0xe7, 0x07, 0x82, 0xaa, 0x69, 0x87, 0xf0, 0x15, 0x23, 0xe9, 0x3e, 0x6b, 0x57, 0x4e,
+       0xee, 0x2d, 0x25, 0xf7, 0x6a, 0x6d, 0x7f, 0xb9, 0xd7, 0x0a, 0x17, 0x77, 0xad, 0x0d, 0xf5, 0x16,
+       0xdf, 0x32, 0x51, 0xae, 0x8d, 0xef, 0xdd, 0xc6, 0x86, 0xfc, 0x62, 0x37, 0xd0, 0x93, 0x9b, 0xba,
+       0x3a, 0xe0, 0x11, 0x61, 0x81, 0xcd, 0xdb, 0x81, 0x13, 0x50, 0xa6, 0xbe, 0xe7, 0x4e, 0x7a, 0x44,
+       0xe2, 0x50, 0x74, 0xfd, 0x6d, 0xb8, 0xae, 0x1f, 0x9b, 0x83, 0xaa, 0x74, 0xf5, 0x4f, 0x00, 0x00,
+       0x00, 0xff, 0xff, 0xc0, 0x01, 0x24, 0x32, 0x60, 0x08, 0x00, 0x00,
+}