| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 | // Copyright 2022 Google LLC//// Licensed under the Apache License, Version 2.0 (the "License");// you may not use this file except in compliance with the License.// You may obtain a copy of the License at////     http://www.apache.org/licenses/LICENSE-2.0//// Unless required by applicable law or agreed to in writing, software// distributed under the License is distributed on an "AS IS" BASIS,// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.// See the License for the specific language governing permissions and// limitations under the License.syntax = "proto3";package google.ads.googleads.v12.services;import "google/ads/googleads/v12/resources/billing_setup.proto";import "google/api/annotations.proto";import "google/api/client.proto";import "google/api/field_behavior.proto";import "google/api/resource.proto";option csharp_namespace = "Google.Ads.GoogleAds.V12.Services";option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services";option java_multiple_files = true;option java_outer_classname = "BillingSetupServiceProto";option java_package = "com.google.ads.googleads.v12.services";option objc_class_prefix = "GAA";option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Services";option ruby_package = "Google::Ads::GoogleAds::V12::Services";// Proto file describing the BillingSetup service.// A service for designating the business entity responsible for accrued costs.//// A billing setup is associated with a payments account.  Billing-related// activity for all billing setups associated with a particular payments account// will appear on a single invoice generated monthly.//// Mutates:// The REMOVE operation cancels a pending billing setup.// The CREATE operation creates a new billing setup.service BillingSetupService {  option (google.api.default_host) = "googleads.googleapis.com";  option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords";  // Creates a billing setup, or cancels an existing billing setup.  //  // List of thrown errors:  //   [AuthenticationError]()  //   [AuthorizationError]()  //   [BillingSetupError]()  //   [DateError]()  //   [FieldError]()  //   [HeaderError]()  //   [InternalError]()  //   [MutateError]()  //   [QuotaError]()  //   [RequestError]()  rpc MutateBillingSetup(MutateBillingSetupRequest) returns (MutateBillingSetupResponse) {    option (google.api.http) = {      post: "/v12/customers/{customer_id=*}/billingSetups:mutate"      body: "*"    };    option (google.api.method_signature) = "customer_id,operation";  }}// Request message for billing setup mutate operations.message MutateBillingSetupRequest {  // Required. Id of the customer to apply the billing setup mutate operation to.  string customer_id = 1 [(google.api.field_behavior) = REQUIRED];  // Required. The operation to perform.  BillingSetupOperation operation = 2 [(google.api.field_behavior) = REQUIRED];}// A single operation on a billing setup, which describes the cancellation of an// existing billing setup.message BillingSetupOperation {  // Only one of these operations can be set. "Update" operations are not  // supported.  oneof operation {    // Creates a billing setup. No resource name is expected for the new billing    // setup.    google.ads.googleads.v12.resources.BillingSetup create = 2;    // Resource name of the billing setup to remove. A setup cannot be    // removed unless it is in a pending state or its scheduled start time is in    // the future. The resource name looks like    // `customers/{customer_id}/billingSetups/{billing_id}`.    string remove = 1 [(google.api.resource_reference) = {                         type: "googleads.googleapis.com/BillingSetup"                       }];  }}// Response message for a billing setup operation.message MutateBillingSetupResponse {  // A result that identifies the resource affected by the mutate request.  MutateBillingSetupResult result = 1;}// Result for a single billing setup mutate.message MutateBillingSetupResult {  // Returned for successful operations.  string resource_name = 1 [(google.api.resource_reference) = {                              type: "googleads.googleapis.com/BillingSetup"                            }];}
 |