account_budget_proposal.proto 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. // Copyright 2022 Google LLC
  2. //
  3. // Licensed under the Apache License, Version 2.0 (the "License");
  4. // you may not use this file except in compliance with the License.
  5. // You may obtain a copy of the License at
  6. //
  7. // http://www.apache.org/licenses/LICENSE-2.0
  8. //
  9. // Unless required by applicable law or agreed to in writing, software
  10. // distributed under the License is distributed on an "AS IS" BASIS,
  11. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. // See the License for the specific language governing permissions and
  13. // limitations under the License.
  14. syntax = "proto3";
  15. package google.ads.googleads.v11.resources;
  16. import "google/ads/googleads/v11/enums/account_budget_proposal_status.proto";
  17. import "google/ads/googleads/v11/enums/account_budget_proposal_type.proto";
  18. import "google/ads/googleads/v11/enums/spending_limit_type.proto";
  19. import "google/ads/googleads/v11/enums/time_type.proto";
  20. import "google/api/field_behavior.proto";
  21. import "google/api/resource.proto";
  22. option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources";
  23. option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources";
  24. option java_multiple_files = true;
  25. option java_outer_classname = "AccountBudgetProposalProto";
  26. option java_package = "com.google.ads.googleads.v11.resources";
  27. option objc_class_prefix = "GAA";
  28. option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources";
  29. option ruby_package = "Google::Ads::GoogleAds::V11::Resources";
  30. // Proto file describing the AccountBudgetProposal resource.
  31. // An account-level budget proposal.
  32. //
  33. // All fields prefixed with 'proposed' may not necessarily be applied directly.
  34. // For example, proposed spending limits may be adjusted before their
  35. // application. This is true if the 'proposed' field has an 'approved'
  36. // counterpart, for example, spending limits.
  37. //
  38. // Note that the proposal type (proposal_type) changes which fields are
  39. // required and which must remain empty.
  40. message AccountBudgetProposal {
  41. option (google.api.resource) = {
  42. type: "googleads.googleapis.com/AccountBudgetProposal"
  43. pattern: "customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}"
  44. };
  45. // Immutable. The resource name of the proposal.
  46. // AccountBudgetProposal resource names have the form:
  47. //
  48. // `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}`
  49. string resource_name = 1 [
  50. (google.api.field_behavior) = IMMUTABLE,
  51. (google.api.resource_reference) = {
  52. type: "googleads.googleapis.com/AccountBudgetProposal"
  53. }
  54. ];
  55. // Output only. The ID of the proposal.
  56. optional int64 id = 25 [(google.api.field_behavior) = OUTPUT_ONLY];
  57. // Immutable. The resource name of the billing setup associated with this proposal.
  58. optional string billing_setup = 26 [
  59. (google.api.field_behavior) = IMMUTABLE,
  60. (google.api.resource_reference) = {
  61. type: "googleads.googleapis.com/BillingSetup"
  62. }
  63. ];
  64. // Immutable. The resource name of the account-level budget associated with this
  65. // proposal.
  66. optional string account_budget = 27 [
  67. (google.api.field_behavior) = IMMUTABLE,
  68. (google.api.resource_reference) = {
  69. type: "googleads.googleapis.com/AccountBudget"
  70. }
  71. ];
  72. // Immutable. The type of this proposal, for example, END to end the budget associated
  73. // with this proposal.
  74. google.ads.googleads.v11.enums.AccountBudgetProposalTypeEnum.AccountBudgetProposalType proposal_type = 4 [(google.api.field_behavior) = IMMUTABLE];
  75. // Output only. The status of this proposal.
  76. // When a new proposal is created, the status defaults to PENDING.
  77. google.ads.googleads.v11.enums.AccountBudgetProposalStatusEnum.AccountBudgetProposalStatus status = 15 [(google.api.field_behavior) = OUTPUT_ONLY];
  78. // Immutable. The name to assign to the account-level budget.
  79. optional string proposed_name = 28 [(google.api.field_behavior) = IMMUTABLE];
  80. // Output only. The approved start date time in yyyy-mm-dd hh:mm:ss format.
  81. optional string approved_start_date_time = 30 [(google.api.field_behavior) = OUTPUT_ONLY];
  82. // Immutable. A purchase order number is a value that enables the user to help them
  83. // reference this budget in their monthly invoices.
  84. optional string proposed_purchase_order_number = 35 [(google.api.field_behavior) = IMMUTABLE];
  85. // Immutable. Notes associated with this budget.
  86. optional string proposed_notes = 36 [(google.api.field_behavior) = IMMUTABLE];
  87. // Output only. The date time when this account-level budget proposal was created, which is
  88. // not the same as its approval date time, if applicable.
  89. optional string creation_date_time = 37 [(google.api.field_behavior) = OUTPUT_ONLY];
  90. // Output only. The date time when this account-level budget was approved, if applicable.
  91. optional string approval_date_time = 38 [(google.api.field_behavior) = OUTPUT_ONLY];
  92. // The proposed start date time of the account-level budget, which cannot be
  93. // in the past.
  94. oneof proposed_start_time {
  95. // Immutable. The proposed start date time in yyyy-mm-dd hh:mm:ss format.
  96. string proposed_start_date_time = 29 [(google.api.field_behavior) = IMMUTABLE];
  97. // Immutable. The proposed start date time as a well-defined type, for example, NOW.
  98. google.ads.googleads.v11.enums.TimeTypeEnum.TimeType proposed_start_time_type = 7 [(google.api.field_behavior) = IMMUTABLE];
  99. }
  100. // The proposed end date time of the account-level budget, which cannot be in
  101. // the past.
  102. oneof proposed_end_time {
  103. // Immutable. The proposed end date time in yyyy-mm-dd hh:mm:ss format.
  104. string proposed_end_date_time = 31 [(google.api.field_behavior) = IMMUTABLE];
  105. // Immutable. The proposed end date time as a well-defined type, for example, FOREVER.
  106. google.ads.googleads.v11.enums.TimeTypeEnum.TimeType proposed_end_time_type = 9 [(google.api.field_behavior) = IMMUTABLE];
  107. }
  108. // The approved end date time of the account-level budget.
  109. oneof approved_end_time {
  110. // Output only. The approved end date time in yyyy-mm-dd hh:mm:ss format.
  111. string approved_end_date_time = 32 [(google.api.field_behavior) = OUTPUT_ONLY];
  112. // Output only. The approved end date time as a well-defined type, for example, FOREVER.
  113. google.ads.googleads.v11.enums.TimeTypeEnum.TimeType approved_end_time_type = 22 [(google.api.field_behavior) = OUTPUT_ONLY];
  114. }
  115. // The proposed spending limit.
  116. oneof proposed_spending_limit {
  117. // Immutable. The proposed spending limit in micros. One million is equivalent to
  118. // one unit.
  119. int64 proposed_spending_limit_micros = 33 [(google.api.field_behavior) = IMMUTABLE];
  120. // Immutable. The proposed spending limit as a well-defined type, for example,
  121. // INFINITE.
  122. google.ads.googleads.v11.enums.SpendingLimitTypeEnum.SpendingLimitType proposed_spending_limit_type = 11 [(google.api.field_behavior) = IMMUTABLE];
  123. }
  124. // The approved spending limit.
  125. oneof approved_spending_limit {
  126. // Output only. The approved spending limit in micros. One million is equivalent to
  127. // one unit.
  128. int64 approved_spending_limit_micros = 34 [(google.api.field_behavior) = OUTPUT_ONLY];
  129. // Output only. The approved spending limit as a well-defined type, for example,
  130. // INFINITE.
  131. google.ads.googleads.v11.enums.SpendingLimitTypeEnum.SpendingLimitType approved_spending_limit_type = 24 [(google.api.field_behavior) = OUTPUT_ONLY];
  132. }
  133. }