diff --git a/google/ads/googleads/v3/resources/account_budget.proto b/google/ads/googleads/v3/resources/account_budget.proto index 11707e86..1b12d891 100644 --- a/google/ads/googleads/v3/resources/account_budget.proto +++ b/google/ads/googleads/v3/resources/account_budget.proto @@ -20,6 +20,7 @@ import "google/ads/googleads/v3/enums/account_budget_proposal_type.proto"; import "google/ads/googleads/v3/enums/account_budget_status.proto"; import "google/ads/googleads/v3/enums/spending_limit_type.proto"; import "google/ads/googleads/v3/enums/time_type.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -60,114 +61,129 @@ message AccountBudget { // A pending proposal associated with the enclosing account-level budget, // if applicable. message PendingAccountBudgetProposal { - // The resource name of the proposal. + // Output only. The resource name of the proposal. // AccountBudgetProposal resource names have the form: // // `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}` - google.protobuf.StringValue account_budget_proposal = 1; + google.protobuf.StringValue account_budget_proposal = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AccountBudgetProposal" + } + ]; - // The type of this proposal, e.g. END to end the budget associated + // Output only. The type of this proposal, e.g. END to end the budget associated // with this proposal. - google.ads.googleads.v3.enums.AccountBudgetProposalTypeEnum.AccountBudgetProposalType proposal_type = 2; + google.ads.googleads.v3.enums.AccountBudgetProposalTypeEnum.AccountBudgetProposalType proposal_type = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The name to assign to the account-level budget. - google.protobuf.StringValue name = 3; + // Output only. The name to assign to the account-level budget. + google.protobuf.StringValue name = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The start time in yyyy-MM-dd HH:mm:ss format. - google.protobuf.StringValue start_date_time = 4; + // Output only. The start time in yyyy-MM-dd HH:mm:ss format. + google.protobuf.StringValue start_date_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; - // A purchase order number is a value that helps users reference this budget + // Output only. A purchase order number is a value that helps users reference this budget // in their monthly invoices. - google.protobuf.StringValue purchase_order_number = 9; + google.protobuf.StringValue purchase_order_number = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Notes associated with this budget. - google.protobuf.StringValue notes = 10; + // Output only. Notes associated with this budget. + google.protobuf.StringValue notes = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The time when this account-level budget proposal was created. + // Output only. The time when this account-level budget proposal was created. // Formatted as yyyy-MM-dd HH:mm:ss. - google.protobuf.StringValue creation_date_time = 11; + google.protobuf.StringValue creation_date_time = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; // The end time of the account-level budget. oneof end_time { - // The end time in yyyy-MM-dd HH:mm:ss format. - google.protobuf.StringValue end_date_time = 5; + // Output only. The end time in yyyy-MM-dd HH:mm:ss format. + google.protobuf.StringValue end_date_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The end time as a well-defined type, e.g. FOREVER. - google.ads.googleads.v3.enums.TimeTypeEnum.TimeType end_time_type = 6; + // Output only. The end time as a well-defined type, e.g. FOREVER. + google.ads.googleads.v3.enums.TimeTypeEnum.TimeType end_time_type = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; } // The spending limit. oneof spending_limit { - // The spending limit in micros. One million is equivalent to + // Output only. The spending limit in micros. One million is equivalent to // one unit. - google.protobuf.Int64Value spending_limit_micros = 7; + google.protobuf.Int64Value spending_limit_micros = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The spending limit as a well-defined type, e.g. INFINITE. - google.ads.googleads.v3.enums.SpendingLimitTypeEnum.SpendingLimitType spending_limit_type = 8; + // Output only. The spending limit as a well-defined type, e.g. INFINITE. + google.ads.googleads.v3.enums.SpendingLimitTypeEnum.SpendingLimitType spending_limit_type = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; } } - // The resource name of the account-level budget. + // Output only. The resource name of the account-level budget. // AccountBudget resource names have the form: // // `customers/{customer_id}/accountBudgets/{account_budget_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AccountBudget" + } + ]; - // The ID of the account-level budget. - google.protobuf.Int64Value id = 2; + // Output only. The ID of the account-level budget. + google.protobuf.Int64Value id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The resource name of the billing setup associated with this account-level + // Output only. The resource name of the billing setup associated with this account-level // budget. BillingSetup resource names have the form: // // `customers/{customer_id}/billingSetups/{billing_setup_id}` - google.protobuf.StringValue billing_setup = 3; + google.protobuf.StringValue billing_setup = 3 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BillingSetup" + } + ]; - // The status of this account-level budget. - google.ads.googleads.v3.enums.AccountBudgetStatusEnum.AccountBudgetStatus status = 4; + // Output only. The status of this account-level budget. + google.ads.googleads.v3.enums.AccountBudgetStatusEnum.AccountBudgetStatus status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The name of the account-level budget. - google.protobuf.StringValue name = 5; + // Output only. The name of the account-level budget. + google.protobuf.StringValue name = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The proposed start time of the account-level budget in + // Output only. The proposed start time of the account-level budget in // yyyy-MM-dd HH:mm:ss format. If a start time type of NOW was proposed, // this is the time of request. - google.protobuf.StringValue proposed_start_date_time = 6; + google.protobuf.StringValue proposed_start_date_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The approved start time of the account-level budget in yyyy-MM-dd HH:mm:ss + // Output only. The approved start time of the account-level budget in yyyy-MM-dd HH:mm:ss // format. // // For example, if a new budget is approved after the proposed start time, // the approved start time is the time of approval. - google.protobuf.StringValue approved_start_date_time = 7; + google.protobuf.StringValue approved_start_date_time = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The total adjustments amount. + // Output only. The total adjustments amount. // // An example of an adjustment is courtesy credits. - google.protobuf.Int64Value total_adjustments_micros = 18; + google.protobuf.Int64Value total_adjustments_micros = 18 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The value of Ads that have been served, in micros. + // Output only. The value of Ads that have been served, in micros. // // This includes overdelivery costs, in which case a credit might be // automatically applied to the budget (see total_adjustments_micros). - google.protobuf.Int64Value amount_served_micros = 19; + google.protobuf.Int64Value amount_served_micros = 19 [(google.api.field_behavior) = OUTPUT_ONLY]; - // A purchase order number is a value that helps users reference this budget + // Output only. A purchase order number is a value that helps users reference this budget // in their monthly invoices. - google.protobuf.StringValue purchase_order_number = 20; + google.protobuf.StringValue purchase_order_number = 20 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Notes associated with the budget. - google.protobuf.StringValue notes = 21; + // Output only. Notes associated with the budget. + google.protobuf.StringValue notes = 21 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The pending proposal to modify this budget, if applicable. - PendingAccountBudgetProposal pending_proposal = 22; + // Output only. The pending proposal to modify this budget, if applicable. + PendingAccountBudgetProposal pending_proposal = 22 [(google.api.field_behavior) = OUTPUT_ONLY]; // The proposed end time of the account-level budget. oneof proposed_end_time { - // The proposed end time in yyyy-MM-dd HH:mm:ss format. - google.protobuf.StringValue proposed_end_date_time = 8; + // Output only. The proposed end time in yyyy-MM-dd HH:mm:ss format. + google.protobuf.StringValue proposed_end_date_time = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The proposed end time as a well-defined type, e.g. FOREVER. - google.ads.googleads.v3.enums.TimeTypeEnum.TimeType proposed_end_time_type = 9; + // Output only. The proposed end time as a well-defined type, e.g. FOREVER. + google.ads.googleads.v3.enums.TimeTypeEnum.TimeType proposed_end_time_type = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; } // The approved end time of the account-level budget. @@ -175,21 +191,21 @@ message AccountBudget { // For example, if a budget's end time is updated and the proposal is approved // after the proposed end time, the approved end time is the time of approval. oneof approved_end_time { - // The approved end time in yyyy-MM-dd HH:mm:ss format. - google.protobuf.StringValue approved_end_date_time = 10; + // Output only. The approved end time in yyyy-MM-dd HH:mm:ss format. + google.protobuf.StringValue approved_end_date_time = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The approved end time as a well-defined type, e.g. FOREVER. - google.ads.googleads.v3.enums.TimeTypeEnum.TimeType approved_end_time_type = 11; + // Output only. The approved end time as a well-defined type, e.g. FOREVER. + google.ads.googleads.v3.enums.TimeTypeEnum.TimeType approved_end_time_type = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; } // The proposed spending limit. oneof proposed_spending_limit { - // The proposed spending limit in micros. One million is equivalent to + // Output only. The proposed spending limit in micros. One million is equivalent to // one unit. - google.protobuf.Int64Value proposed_spending_limit_micros = 12; + google.protobuf.Int64Value proposed_spending_limit_micros = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The proposed spending limit as a well-defined type, e.g. INFINITE. - google.ads.googleads.v3.enums.SpendingLimitTypeEnum.SpendingLimitType proposed_spending_limit_type = 13; + // Output only. The proposed spending limit as a well-defined type, e.g. INFINITE. + google.ads.googleads.v3.enums.SpendingLimitTypeEnum.SpendingLimitType proposed_spending_limit_type = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; } // The approved spending limit. @@ -198,15 +214,15 @@ message AccountBudget { // proposed spending limit at the time the proposal is approved, the approved // spending limit is set to the amount already spent. oneof approved_spending_limit { - // The approved spending limit in micros. One million is equivalent to + // Output only. The approved spending limit in micros. One million is equivalent to // one unit. This will only be populated if the proposed spending limit // is finite, and will always be greater than or equal to the // proposed spending limit. - google.protobuf.Int64Value approved_spending_limit_micros = 14; + google.protobuf.Int64Value approved_spending_limit_micros = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The approved spending limit as a well-defined type, e.g. INFINITE. This + // Output only. The approved spending limit as a well-defined type, e.g. INFINITE. This // will only be populated if the approved spending limit is INFINITE. - google.ads.googleads.v3.enums.SpendingLimitTypeEnum.SpendingLimitType approved_spending_limit_type = 15; + google.ads.googleads.v3.enums.SpendingLimitTypeEnum.SpendingLimitType approved_spending_limit_type = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; } // The spending limit after adjustments have been applied. Adjustments are @@ -214,7 +230,7 @@ message AccountBudget { // // This value has the final say on how much the account is allowed to spend. oneof adjusted_spending_limit { - // The adjusted spending limit in micros. One million is equivalent to + // Output only. The adjusted spending limit in micros. One million is equivalent to // one unit. // // If the approved spending limit is finite, the adjusted @@ -226,12 +242,12 @@ message AccountBudget { // // For example, a debit adjustment reduces how much the account is // allowed to spend. - google.protobuf.Int64Value adjusted_spending_limit_micros = 16; + google.protobuf.Int64Value adjusted_spending_limit_micros = 16 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The adjusted spending limit as a well-defined type, e.g. INFINITE. + // Output only. The adjusted spending limit as a well-defined type, e.g. INFINITE. // This will only be populated if the adjusted spending limit is INFINITE, // which is guaranteed to be true if the approved spending limit is // INFINITE. - google.ads.googleads.v3.enums.SpendingLimitTypeEnum.SpendingLimitType adjusted_spending_limit_type = 17; + google.ads.googleads.v3.enums.SpendingLimitTypeEnum.SpendingLimitType adjusted_spending_limit_type = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; } } diff --git a/google/ads/googleads/v3/resources/account_budget_proposal.proto b/google/ads/googleads/v3/resources/account_budget_proposal.proto index ac376377..5c0c635d 100644 --- a/google/ads/googleads/v3/resources/account_budget_proposal.proto +++ b/google/ads/googleads/v3/resources/account_budget_proposal.proto @@ -20,6 +20,7 @@ import "google/ads/googleads/v3/enums/account_budget_proposal_status.proto"; import "google/ads/googleads/v3/enums/account_budget_proposal_type.proto"; import "google/ads/googleads/v3/enums/spending_limit_type.proto"; import "google/ads/googleads/v3/enums/time_type.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -50,96 +51,111 @@ message AccountBudgetProposal { pattern: "customers/{customer}/accountBudgetProposals/{account_budget_proposal}" }; - // The resource name of the proposal. + // Immutable. The resource name of the proposal. // AccountBudgetProposal resource names have the form: // // `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AccountBudgetProposal" + } + ]; - // The ID of the proposal. - google.protobuf.Int64Value id = 14; + // Output only. The ID of the proposal. + google.protobuf.Int64Value id = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The resource name of the billing setup associated with this proposal. - google.protobuf.StringValue billing_setup = 2; + // Immutable. The resource name of the billing setup associated with this proposal. + google.protobuf.StringValue billing_setup = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BillingSetup" + } + ]; - // The resource name of the account-level budget associated with this + // Immutable. The resource name of the account-level budget associated with this // proposal. - google.protobuf.StringValue account_budget = 3; + google.protobuf.StringValue account_budget = 3 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AccountBudget" + } + ]; - // The type of this proposal, e.g. END to end the budget associated with this + // Immutable. The type of this proposal, e.g. END to end the budget associated with this // proposal. - google.ads.googleads.v3.enums.AccountBudgetProposalTypeEnum.AccountBudgetProposalType proposal_type = 4; + google.ads.googleads.v3.enums.AccountBudgetProposalTypeEnum.AccountBudgetProposalType proposal_type = 4 [(google.api.field_behavior) = IMMUTABLE]; - // The status of this proposal. + // Output only. The status of this proposal. // When a new proposal is created, the status defaults to PENDING. - google.ads.googleads.v3.enums.AccountBudgetProposalStatusEnum.AccountBudgetProposalStatus status = 15; + google.ads.googleads.v3.enums.AccountBudgetProposalStatusEnum.AccountBudgetProposalStatus status = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The name to assign to the account-level budget. - google.protobuf.StringValue proposed_name = 5; + // Immutable. The name to assign to the account-level budget. + google.protobuf.StringValue proposed_name = 5 [(google.api.field_behavior) = IMMUTABLE]; - // The approved start date time in yyyy-mm-dd hh:mm:ss format. - google.protobuf.StringValue approved_start_date_time = 20; + // Output only. The approved start date time in yyyy-mm-dd hh:mm:ss format. + google.protobuf.StringValue approved_start_date_time = 20 [(google.api.field_behavior) = OUTPUT_ONLY]; - // A purchase order number is a value that enables the user to help them + // Immutable. A purchase order number is a value that enables the user to help them // reference this budget in their monthly invoices. - google.protobuf.StringValue proposed_purchase_order_number = 12; + google.protobuf.StringValue proposed_purchase_order_number = 12 [(google.api.field_behavior) = IMMUTABLE]; - // Notes associated with this budget. - google.protobuf.StringValue proposed_notes = 13; + // Immutable. Notes associated with this budget. + google.protobuf.StringValue proposed_notes = 13 [(google.api.field_behavior) = IMMUTABLE]; - // The date time when this account-level budget proposal was created, which is + // Output only. The date time when this account-level budget proposal was created, which is // not the same as its approval date time, if applicable. - google.protobuf.StringValue creation_date_time = 16; + google.protobuf.StringValue creation_date_time = 16 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The date time when this account-level budget was approved, if applicable. - google.protobuf.StringValue approval_date_time = 17; + // Output only. The date time when this account-level budget was approved, if applicable. + google.protobuf.StringValue approval_date_time = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; // The proposed start date time of the account-level budget, which cannot be // in the past. oneof proposed_start_time { - // The proposed start date time in yyyy-mm-dd hh:mm:ss format. - google.protobuf.StringValue proposed_start_date_time = 18; + // Immutable. The proposed start date time in yyyy-mm-dd hh:mm:ss format. + google.protobuf.StringValue proposed_start_date_time = 18 [(google.api.field_behavior) = IMMUTABLE]; - // The proposed start date time as a well-defined type, e.g. NOW. - google.ads.googleads.v3.enums.TimeTypeEnum.TimeType proposed_start_time_type = 7; + // Immutable. The proposed start date time as a well-defined type, e.g. NOW. + google.ads.googleads.v3.enums.TimeTypeEnum.TimeType proposed_start_time_type = 7 [(google.api.field_behavior) = IMMUTABLE]; } // The proposed end date time of the account-level budget, which cannot be in // the past. oneof proposed_end_time { - // The proposed end date time in yyyy-mm-dd hh:mm:ss format. - google.protobuf.StringValue proposed_end_date_time = 19; + // Immutable. The proposed end date time in yyyy-mm-dd hh:mm:ss format. + google.protobuf.StringValue proposed_end_date_time = 19 [(google.api.field_behavior) = IMMUTABLE]; - // The proposed end date time as a well-defined type, e.g. FOREVER. - google.ads.googleads.v3.enums.TimeTypeEnum.TimeType proposed_end_time_type = 9; + // Immutable. The proposed end date time as a well-defined type, e.g. FOREVER. + google.ads.googleads.v3.enums.TimeTypeEnum.TimeType proposed_end_time_type = 9 [(google.api.field_behavior) = IMMUTABLE]; } // The approved end date time of the account-level budget. oneof approved_end_time { - // The approved end date time in yyyy-mm-dd hh:mm:ss format. - google.protobuf.StringValue approved_end_date_time = 21; + // Output only. The approved end date time in yyyy-mm-dd hh:mm:ss format. + google.protobuf.StringValue approved_end_date_time = 21 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The approved end date time as a well-defined type, e.g. FOREVER. - google.ads.googleads.v3.enums.TimeTypeEnum.TimeType approved_end_time_type = 22; + // Output only. The approved end date time as a well-defined type, e.g. FOREVER. + google.ads.googleads.v3.enums.TimeTypeEnum.TimeType approved_end_time_type = 22 [(google.api.field_behavior) = OUTPUT_ONLY]; } // The proposed spending limit. oneof proposed_spending_limit { - // The proposed spending limit in micros. One million is equivalent to + // Immutable. The proposed spending limit in micros. One million is equivalent to // one unit. - google.protobuf.Int64Value proposed_spending_limit_micros = 10; + google.protobuf.Int64Value proposed_spending_limit_micros = 10 [(google.api.field_behavior) = IMMUTABLE]; - // The proposed spending limit as a well-defined type, e.g. INFINITE. - google.ads.googleads.v3.enums.SpendingLimitTypeEnum.SpendingLimitType proposed_spending_limit_type = 11; + // Immutable. The proposed spending limit as a well-defined type, e.g. INFINITE. + google.ads.googleads.v3.enums.SpendingLimitTypeEnum.SpendingLimitType proposed_spending_limit_type = 11 [(google.api.field_behavior) = IMMUTABLE]; } // The approved spending limit. oneof approved_spending_limit { - // The approved spending limit in micros. One million is equivalent to + // Output only. The approved spending limit in micros. One million is equivalent to // one unit. - google.protobuf.Int64Value approved_spending_limit_micros = 23; + google.protobuf.Int64Value approved_spending_limit_micros = 23 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The approved spending limit as a well-defined type, e.g. INFINITE. - google.ads.googleads.v3.enums.SpendingLimitTypeEnum.SpendingLimitType approved_spending_limit_type = 24; + // Output only. The approved spending limit as a well-defined type, e.g. INFINITE. + google.ads.googleads.v3.enums.SpendingLimitTypeEnum.SpendingLimitType approved_spending_limit_type = 24 [(google.api.field_behavior) = OUTPUT_ONLY]; } } diff --git a/google/ads/googleads/v3/resources/ad.proto b/google/ads/googleads/v3/resources/ad.proto index 3c5e3aac..04705eef 100644 --- a/google/ads/googleads/v3/resources/ad.proto +++ b/google/ads/googleads/v3/resources/ad.proto @@ -23,6 +23,7 @@ import "google/ads/googleads/v3/common/url_collection.proto"; import "google/ads/googleads/v3/enums/ad_type.proto"; import "google/ads/googleads/v3/enums/device.proto"; import "google/ads/googleads/v3/enums/system_managed_entity_source.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -45,14 +46,19 @@ message Ad { pattern: "customers/{customer}/ads/{ad}" }; - // The resource name of the ad. + // Immutable. The resource name of the ad. // Ad resource names have the form: // // `customers/{customer_id}/ads/{ad_id}` - string resource_name = 37; + string resource_name = 37 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Ad" + } + ]; - // The ID of the ad. - google.protobuf.Int64Value id = 1; + // Output only. The ID of the ad. + google.protobuf.Int64Value id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; // The list of possible final URLs after all cross-domain redirects for the // ad. @@ -79,14 +85,14 @@ message Ad { // The URL that appears in the ad description for some ad formats. google.protobuf.StringValue display_url = 4; - // The type of ad. - google.ads.googleads.v3.enums.AdTypeEnum.AdType type = 5; + // Output only. The type of ad. + google.ads.googleads.v3.enums.AdTypeEnum.AdType type = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Indicates if this ad was automatically added by Google Ads and not by a + // Output only. Indicates if this ad was automatically added by Google Ads and not by a // user. For example, this could happen when ads are automatically created as // suggestions for new ads based on knowledge of how existing ads are // performing. - google.protobuf.BoolValue added_by_google_ads = 19; + google.protobuf.BoolValue added_by_google_ads = 19 [(google.api.field_behavior) = OUTPUT_ONLY]; // The device preference for the ad. You can only specify a preference for // mobile devices. When this preference is set the ad will be preferred over @@ -100,13 +106,13 @@ message Ad { // can be referenced from other fields in the ad. repeated google.ads.googleads.v3.common.UrlCollection url_collections = 26; - // The name of the ad. This is only used to be able to identify the ad. It + // Immutable. The name of the ad. This is only used to be able to identify the ad. It // does not need to be unique and does not affect the served ad. - google.protobuf.StringValue name = 23; + google.protobuf.StringValue name = 23 [(google.api.field_behavior) = IMMUTABLE]; - // If this ad is system managed, then this field will indicate the source. + // Output only. If this ad is system managed, then this field will indicate the source. // This field is read-only. - google.ads.googleads.v3.enums.SystemManagedResourceSourceEnum.SystemManagedResourceSource system_managed_resource_source = 27; + google.ads.googleads.v3.enums.SystemManagedResourceSourceEnum.SystemManagedResourceSource system_managed_resource_source = 27 [(google.api.field_behavior) = OUTPUT_ONLY]; // Details pertinent to the ad type. Exactly one value must be set. oneof ad_data { @@ -153,8 +159,8 @@ message Ad { // Details pertaining to an app ad. google.ads.googleads.v3.common.AppAdInfo app_ad = 29; - // Details pertaining to a legacy app install ad. - google.ads.googleads.v3.common.LegacyAppInstallAdInfo legacy_app_install_ad = 30; + // Immutable. Details pertaining to a legacy app install ad. + google.ads.googleads.v3.common.LegacyAppInstallAdInfo legacy_app_install_ad = 30 [(google.api.field_behavior) = IMMUTABLE]; // Details pertaining to a responsive display ad. google.ads.googleads.v3.common.ResponsiveDisplayAdInfo responsive_display_ad = 31; diff --git a/google/ads/googleads/v3/resources/ad_group.proto b/google/ads/googleads/v3/resources/ad_group.proto index 8af2829c..271f2954 100644 --- a/google/ads/googleads/v3/resources/ad_group.proto +++ b/google/ads/googleads/v3/resources/ad_group.proto @@ -24,6 +24,7 @@ import "google/ads/googleads/v3/enums/ad_group_status.proto"; import "google/ads/googleads/v3/enums/ad_group_type.proto"; import "google/ads/googleads/v3/enums/bidding_source.proto"; import "google/ads/googleads/v3/enums/targeting_dimension.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -46,14 +47,19 @@ message AdGroup { pattern: "customers/{customer}/adGroups/{ad_group}" }; - // The resource name of the ad group. + // Immutable. The resource name of the ad group. // Ad group resource names have the form: // // `customers/{customer_id}/adGroups/{ad_group_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; - // The ID of the ad group. - google.protobuf.Int64Value id = 3; + // Output only. The ID of the ad group. + google.protobuf.Int64Value id = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; // The name of the ad group. // @@ -69,20 +75,25 @@ message AdGroup { // The status of the ad group. google.ads.googleads.v3.enums.AdGroupStatusEnum.AdGroupStatus status = 5; - // The type of the ad group. - google.ads.googleads.v3.enums.AdGroupTypeEnum.AdGroupType type = 12; + // Immutable. The type of the ad group. + google.ads.googleads.v3.enums.AdGroupTypeEnum.AdGroupType type = 12 [(google.api.field_behavior) = IMMUTABLE]; // The ad rotation mode of the ad group. google.ads.googleads.v3.enums.AdGroupAdRotationModeEnum.AdGroupAdRotationMode ad_rotation_mode = 22; - // For draft or experiment ad groups, this field is the resource name of the + // Output only. For draft or experiment ad groups, this field is the resource name of the // base ad group from which this ad group was created. If a draft or // experiment ad group does not have a base ad group, then this field is null. // // For base ad groups, this field equals the ad group resource name. // // This field is read-only. - google.protobuf.StringValue base_ad_group = 18; + google.protobuf.StringValue base_ad_group = 18 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; // The URL template for constructing a tracking URL. google.protobuf.StringValue tracking_url_template = 13; @@ -91,8 +102,13 @@ message AdGroup { // `tracking_url_template`, `final_urls`, or `mobile_final_urls`. repeated google.ads.googleads.v3.common.CustomParameter url_custom_parameters = 6; - // The campaign to which the ad group belongs. - google.protobuf.StringValue campaign = 10; + // Immutable. The campaign to which the ad group belongs. + google.protobuf.StringValue campaign = 10 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; // The maximum CPC (cost-per-click) bid. google.protobuf.Int64Value cpc_bid_micros = 14; @@ -103,8 +119,8 @@ message AdGroup { // The target CPA (cost-per-acquisition). google.protobuf.Int64Value target_cpa_micros = 27; - // The CPV (cost-per-view) bid. - google.protobuf.Int64Value cpv_bid_micros = 17; + // Output only. The CPV (cost-per-view) bid. + google.protobuf.Int64Value cpv_bid_micros = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; // Average amount in micros that the advertiser is willing to pay for every // thousand times the ad is shown. @@ -135,22 +151,27 @@ message AdGroup { // Setting for targeting related features. google.ads.googleads.v3.common.TargetingSetting targeting_setting = 25; - // The effective target CPA (cost-per-acquisition). + // Output only. The effective target CPA (cost-per-acquisition). // This field is read-only. - google.protobuf.Int64Value effective_target_cpa_micros = 28; + google.protobuf.Int64Value effective_target_cpa_micros = 28 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Source of the effective target CPA. + // Output only. Source of the effective target CPA. // This field is read-only. - google.ads.googleads.v3.enums.BiddingSourceEnum.BiddingSource effective_target_cpa_source = 29; + google.ads.googleads.v3.enums.BiddingSourceEnum.BiddingSource effective_target_cpa_source = 29 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The effective target ROAS (return-on-ad-spend). + // Output only. The effective target ROAS (return-on-ad-spend). // This field is read-only. - google.protobuf.DoubleValue effective_target_roas = 31; + google.protobuf.DoubleValue effective_target_roas = 31 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Source of the effective target ROAS. + // Output only. Source of the effective target ROAS. // This field is read-only. - google.ads.googleads.v3.enums.BiddingSourceEnum.BiddingSource effective_target_roas_source = 32; + google.ads.googleads.v3.enums.BiddingSourceEnum.BiddingSource effective_target_roas_source = 32 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The resource names of labels attached to this ad group. - repeated google.protobuf.StringValue labels = 33; + // Output only. The resource names of labels attached to this ad group. + repeated google.protobuf.StringValue labels = 33 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupLabel" + } + ]; } diff --git a/google/ads/googleads/v3/resources/ad_group_ad.proto b/google/ads/googleads/v3/resources/ad_group_ad.proto index d1432dae..3210f075 100644 --- a/google/ads/googleads/v3/resources/ad_group_ad.proto +++ b/google/ads/googleads/v3/resources/ad_group_ad.proto @@ -22,6 +22,7 @@ import "google/ads/googleads/v3/enums/ad_strength.proto"; import "google/ads/googleads/v3/enums/policy_approval_status.proto"; import "google/ads/googleads/v3/enums/policy_review_status.proto"; import "google/ads/googleads/v3/resources/ad.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -44,37 +45,47 @@ message AdGroupAd { pattern: "customers/{customer}/adGroupAds/{ad_group_ad}" }; - // The resource name of the ad. + // Immutable. The resource name of the ad. // Ad group ad resource names have the form: // // `customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAd" + } + ]; // The status of the ad. google.ads.googleads.v3.enums.AdGroupAdStatusEnum.AdGroupAdStatus status = 3; - // The ad group to which the ad belongs. - google.protobuf.StringValue ad_group = 4; + // Immutable. The ad group to which the ad belongs. + google.protobuf.StringValue ad_group = 4 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; - // The ad. - Ad ad = 5; + // Immutable. The ad. + Ad ad = 5 [(google.api.field_behavior) = IMMUTABLE]; - // Policy information for the ad. - AdGroupAdPolicySummary policy_summary = 6; + // Output only. Policy information for the ad. + AdGroupAdPolicySummary policy_summary = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Overall ad strength for this ad group ad. - google.ads.googleads.v3.enums.AdStrengthEnum.AdStrength ad_strength = 7; + // Output only. Overall ad strength for this ad group ad. + google.ads.googleads.v3.enums.AdStrengthEnum.AdStrength ad_strength = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; } // Contains policy information for an ad. message AdGroupAdPolicySummary { - // The list of policy findings for this ad. - repeated google.ads.googleads.v3.common.PolicyTopicEntry policy_topic_entries = 1; + // Output only. The list of policy findings for this ad. + repeated google.ads.googleads.v3.common.PolicyTopicEntry policy_topic_entries = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Where in the review process this ad is. - google.ads.googleads.v3.enums.PolicyReviewStatusEnum.PolicyReviewStatus review_status = 2; + // Output only. Where in the review process this ad is. + google.ads.googleads.v3.enums.PolicyReviewStatusEnum.PolicyReviewStatus review_status = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The overall approval status of this ad, calculated based on the status of + // Output only. The overall approval status of this ad, calculated based on the status of // its individual policy topic entries. - google.ads.googleads.v3.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus approval_status = 3; + google.ads.googleads.v3.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus approval_status = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; } diff --git a/google/ads/googleads/v3/resources/ad_group_ad_asset_view.proto b/google/ads/googleads/v3/resources/ad_group_ad_asset_view.proto index 5ab7f378..624228af 100644 --- a/google/ads/googleads/v3/resources/ad_group_ad_asset_view.proto +++ b/google/ads/googleads/v3/resources/ad_group_ad_asset_view.proto @@ -21,6 +21,7 @@ import "google/ads/googleads/v3/enums/asset_field_type.proto"; import "google/ads/googleads/v3/enums/asset_performance_label.proto"; import "google/ads/googleads/v3/enums/policy_approval_status.proto"; import "google/ads/googleads/v3/enums/policy_review_status.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -43,37 +44,52 @@ message AdGroupAdAssetView { pattern: "customers/{customer}/adGroupAdAssets/{ad_group_ad_asset_view}" }; - // The resource name of the ad group ad asset view. + // Output only. The resource name of the ad group ad asset view. // Ad group ad asset view resource names have the form: // // `customers/{customer_id}/adGroupAdAssets/{AdGroupAdAsset.ad_group_id}~{AdGroupAdAsset.ad.ad_id}~{AdGroupAdAsset.asset_id}~{AdGroupAdAsset.asset_field_type}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAdAssetView" + } + ]; - // The ad group ad to which the asset is linked. - google.protobuf.StringValue ad_group_ad = 5; + // Output only. The ad group ad to which the asset is linked. + google.protobuf.StringValue ad_group_ad = 5 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAd" + } + ]; - // The asset which is linked to the ad group ad. - google.protobuf.StringValue asset = 6; + // Output only. The asset which is linked to the ad group ad. + google.protobuf.StringValue asset = 6 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Asset" + } + ]; - // Role that the asset takes in the ad. - google.ads.googleads.v3.enums.AssetFieldTypeEnum.AssetFieldType field_type = 2; + // Output only. Role that the asset takes in the ad. + google.ads.googleads.v3.enums.AssetFieldTypeEnum.AssetFieldType field_type = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Policy information for the ad group ad asset. - AdGroupAdAssetPolicySummary policy_summary = 3; + // Output only. Policy information for the ad group ad asset. + AdGroupAdAssetPolicySummary policy_summary = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Performance of an asset linkage. - google.ads.googleads.v3.enums.AssetPerformanceLabelEnum.AssetPerformanceLabel performance_label = 4; + // Output only. Performance of an asset linkage. + google.ads.googleads.v3.enums.AssetPerformanceLabelEnum.AssetPerformanceLabel performance_label = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; } // Contains policy information for an ad group ad asset. message AdGroupAdAssetPolicySummary { - // The list of policy findings for the ad group ad asset. - repeated google.ads.googleads.v3.common.PolicyTopicEntry policy_topic_entries = 1; + // Output only. The list of policy findings for the ad group ad asset. + repeated google.ads.googleads.v3.common.PolicyTopicEntry policy_topic_entries = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Where in the review process this ad group ad asset is. - google.ads.googleads.v3.enums.PolicyReviewStatusEnum.PolicyReviewStatus review_status = 2; + // Output only. Where in the review process this ad group ad asset is. + google.ads.googleads.v3.enums.PolicyReviewStatusEnum.PolicyReviewStatus review_status = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The overall approval status of this ad group ad asset, calculated based on + // Output only. The overall approval status of this ad group ad asset, calculated based on // the status of its individual policy topic entries. - google.ads.googleads.v3.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus approval_status = 3; + google.ads.googleads.v3.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus approval_status = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; } diff --git a/google/ads/googleads/v3/resources/ad_group_ad_label.proto b/google/ads/googleads/v3/resources/ad_group_ad_label.proto index 8a027220..21e1f671 100644 --- a/google/ads/googleads/v3/resources/ad_group_ad_label.proto +++ b/google/ads/googleads/v3/resources/ad_group_ad_label.proto @@ -16,6 +16,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -38,14 +39,29 @@ message AdGroupAdLabel { pattern: "customers/{customer}/adGroupAdLabels/{ad_group_ad_label}" }; - // The resource name of the ad group ad label. + // Immutable. The resource name of the ad group ad label. // Ad group ad label resource names have the form: // `customers/{customer_id}/adGroupAdLabels/{ad_group_id}~{ad_id}~{label_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAdLabel" + } + ]; - // The ad group ad to which the label is attached. - google.protobuf.StringValue ad_group_ad = 2; + // Immutable. The ad group ad to which the label is attached. + google.protobuf.StringValue ad_group_ad = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAd" + } + ]; - // The label assigned to the ad group ad. - google.protobuf.StringValue label = 3; + // Immutable. The label assigned to the ad group ad. + google.protobuf.StringValue label = 3 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Label" + } + ]; } diff --git a/google/ads/googleads/v3/resources/ad_group_audience_view.proto b/google/ads/googleads/v3/resources/ad_group_audience_view.proto index 0c1f96a1..db25b812 100644 --- a/google/ads/googleads/v3/resources/ad_group_audience_view.proto +++ b/google/ads/googleads/v3/resources/ad_group_audience_view.proto @@ -16,6 +16,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/api/annotations.proto"; @@ -40,9 +41,14 @@ message AdGroupAudienceView { pattern: "customers/{customer}/adGroupAudienceViews/{ad_group_audience_view}" }; - // The resource name of the ad group audience view. + // Output only. The resource name of the ad group audience view. // Ad group audience view resource names have the form: // // `customers/{customer_id}/adGroupAudienceViews/{ad_group_id}~{criterion_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAudienceView" + } + ]; } diff --git a/google/ads/googleads/v3/resources/ad_group_bid_modifier.proto b/google/ads/googleads/v3/resources/ad_group_bid_modifier.proto index 17ac4e1a..0590f64f 100644 --- a/google/ads/googleads/v3/resources/ad_group_bid_modifier.proto +++ b/google/ads/googleads/v3/resources/ad_group_bid_modifier.proto @@ -18,6 +18,7 @@ package google.ads.googleads.v3.resources; import "google/ads/googleads/v3/common/criteria.proto"; import "google/ads/googleads/v3/enums/bid_modifier_source.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -40,53 +41,68 @@ message AdGroupBidModifier { pattern: "customers/{customer}/adGroupBidModifiers/{ad_group_bid_modifier}" }; - // The resource name of the ad group bid modifier. + // Immutable. The resource name of the ad group bid modifier. // Ad group bid modifier resource names have the form: // // `customers/{customer_id}/adGroupBidModifiers/{ad_group_id}~{criterion_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupBidModifier" + } + ]; - // The ad group to which this criterion belongs. - google.protobuf.StringValue ad_group = 2; + // Immutable. The ad group to which this criterion belongs. + google.protobuf.StringValue ad_group = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; - // The ID of the criterion to bid modify. + // Output only. The ID of the criterion to bid modify. // // This field is ignored for mutates. - google.protobuf.Int64Value criterion_id = 3; + google.protobuf.Int64Value criterion_id = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; // The modifier for the bid when the criterion matches. The modifier must be // in the range: 0.1 - 10.0. The range is 1.0 - 6.0 for PreferredContent. // Use 0 to opt out of a Device type. google.protobuf.DoubleValue bid_modifier = 4; - // The base ad group from which this draft/trial adgroup bid modifier was + // Output only. The base ad group from which this draft/trial adgroup bid modifier was // created. If ad_group is a base ad group then this field will be equal to // ad_group. If the ad group was created in the draft or trial and has no // corresponding base ad group, then this field will be null. // This field is readonly. - google.protobuf.StringValue base_ad_group = 9; + google.protobuf.StringValue base_ad_group = 9 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; - // Bid modifier source. - google.ads.googleads.v3.enums.BidModifierSourceEnum.BidModifierSource bid_modifier_source = 10; + // Output only. Bid modifier source. + google.ads.googleads.v3.enums.BidModifierSourceEnum.BidModifierSource bid_modifier_source = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; // The criterion of this ad group bid modifier. oneof criterion { - // Criterion for hotel date selection (default dates vs. user selected). - google.ads.googleads.v3.common.HotelDateSelectionTypeInfo hotel_date_selection_type = 5; + // Immutable. Criterion for hotel date selection (default dates vs. user selected). + google.ads.googleads.v3.common.HotelDateSelectionTypeInfo hotel_date_selection_type = 5 [(google.api.field_behavior) = IMMUTABLE]; - // Criterion for number of days prior to the stay the booking is being made. - google.ads.googleads.v3.common.HotelAdvanceBookingWindowInfo hotel_advance_booking_window = 6; + // Immutable. Criterion for number of days prior to the stay the booking is being made. + google.ads.googleads.v3.common.HotelAdvanceBookingWindowInfo hotel_advance_booking_window = 6 [(google.api.field_behavior) = IMMUTABLE]; - // Criterion for length of hotel stay in nights. - google.ads.googleads.v3.common.HotelLengthOfStayInfo hotel_length_of_stay = 7; + // Immutable. Criterion for length of hotel stay in nights. + google.ads.googleads.v3.common.HotelLengthOfStayInfo hotel_length_of_stay = 7 [(google.api.field_behavior) = IMMUTABLE]; - // Criterion for day of the week the booking is for. - google.ads.googleads.v3.common.HotelCheckInDayInfo hotel_check_in_day = 8; + // Immutable. Criterion for day of the week the booking is for. + google.ads.googleads.v3.common.HotelCheckInDayInfo hotel_check_in_day = 8 [(google.api.field_behavior) = IMMUTABLE]; - // A device criterion. - google.ads.googleads.v3.common.DeviceInfo device = 11; + // Immutable. A device criterion. + google.ads.googleads.v3.common.DeviceInfo device = 11 [(google.api.field_behavior) = IMMUTABLE]; - // A preferred content criterion. - google.ads.googleads.v3.common.PreferredContentInfo preferred_content = 12; + // Immutable. A preferred content criterion. + google.ads.googleads.v3.common.PreferredContentInfo preferred_content = 12 [(google.api.field_behavior) = IMMUTABLE]; } } diff --git a/google/ads/googleads/v3/resources/ad_group_criterion.proto b/google/ads/googleads/v3/resources/ad_group_criterion.proto index 799fe4dd..c992cf2d 100644 --- a/google/ads/googleads/v3/resources/ad_group_criterion.proto +++ b/google/ads/googleads/v3/resources/ad_group_criterion.proto @@ -24,6 +24,7 @@ import "google/ads/googleads/v3/enums/bidding_source.proto"; import "google/ads/googleads/v3/enums/criterion_system_serving_status.proto"; import "google/ads/googleads/v3/enums/criterion_type.proto"; import "google/ads/googleads/v3/enums/quality_score_bucket.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -48,79 +49,89 @@ message AdGroupCriterion { // A container for ad group criterion quality information. message QualityInfo { - // The quality score. + // Output only. The quality score. // // This field may not be populated if Google does not have enough // information to determine a value. - google.protobuf.Int32Value quality_score = 1; + google.protobuf.Int32Value quality_score = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The performance of the ad compared to other advertisers. - google.ads.googleads.v3.enums.QualityScoreBucketEnum.QualityScoreBucket creative_quality_score = 2; + // Output only. The performance of the ad compared to other advertisers. + google.ads.googleads.v3.enums.QualityScoreBucketEnum.QualityScoreBucket creative_quality_score = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The quality score of the landing page. - google.ads.googleads.v3.enums.QualityScoreBucketEnum.QualityScoreBucket post_click_quality_score = 3; + // Output only. The quality score of the landing page. + google.ads.googleads.v3.enums.QualityScoreBucketEnum.QualityScoreBucket post_click_quality_score = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The click-through rate compared to that of other advertisers. - google.ads.googleads.v3.enums.QualityScoreBucketEnum.QualityScoreBucket search_predicted_ctr = 4; + // Output only. The click-through rate compared to that of other advertisers. + google.ads.googleads.v3.enums.QualityScoreBucketEnum.QualityScoreBucket search_predicted_ctr = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; } // Estimates for criterion bids at various positions. message PositionEstimates { - // The estimate of the CPC bid required for ad to be shown on first + // Output only. The estimate of the CPC bid required for ad to be shown on first // page of search results. - google.protobuf.Int64Value first_page_cpc_micros = 1; + google.protobuf.Int64Value first_page_cpc_micros = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The estimate of the CPC bid required for ad to be displayed in first + // Output only. The estimate of the CPC bid required for ad to be displayed in first // position, at the top of the first page of search results. - google.protobuf.Int64Value first_position_cpc_micros = 2; + google.protobuf.Int64Value first_position_cpc_micros = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The estimate of the CPC bid required for ad to be displayed at the top + // Output only. The estimate of the CPC bid required for ad to be displayed at the top // of the first page of search results. - google.protobuf.Int64Value top_of_page_cpc_micros = 3; + google.protobuf.Int64Value top_of_page_cpc_micros = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Estimate of how many clicks per week you might get by changing your + // Output only. Estimate of how many clicks per week you might get by changing your // keyword bid to the value in first_position_cpc_micros. - google.protobuf.Int64Value estimated_add_clicks_at_first_position_cpc = 4; + google.protobuf.Int64Value estimated_add_clicks_at_first_position_cpc = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Estimate of how your cost per week might change when changing your + // Output only. Estimate of how your cost per week might change when changing your // keyword bid to the value in first_position_cpc_micros. - google.protobuf.Int64Value estimated_add_cost_at_first_position_cpc = 5; + google.protobuf.Int64Value estimated_add_cost_at_first_position_cpc = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; } - // The resource name of the ad group criterion. + // Immutable. The resource name of the ad group criterion. // Ad group criterion resource names have the form: // // `customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterion" + } + ]; - // The ID of the criterion. + // Output only. The ID of the criterion. // // This field is ignored for mutates. - google.protobuf.Int64Value criterion_id = 26; + google.protobuf.Int64Value criterion_id = 26 [(google.api.field_behavior) = OUTPUT_ONLY]; // The status of the criterion. google.ads.googleads.v3.enums.AdGroupCriterionStatusEnum.AdGroupCriterionStatus status = 3; - // Information regarding the quality of the criterion. - QualityInfo quality_info = 4; + // Output only. Information regarding the quality of the criterion. + QualityInfo quality_info = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The ad group to which the criterion belongs. - google.protobuf.StringValue ad_group = 5; + // Immutable. The ad group to which the criterion belongs. + google.protobuf.StringValue ad_group = 5 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; - // The type of the criterion. - google.ads.googleads.v3.enums.CriterionTypeEnum.CriterionType type = 25; + // Output only. The type of the criterion. + google.ads.googleads.v3.enums.CriterionTypeEnum.CriterionType type = 25 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Whether to target (`false`) or exclude (`true`) the criterion. + // Immutable. Whether to target (`false`) or exclude (`true`) the criterion. // // This field is immutable. To switch a criterion from positive to negative, // remove then re-add it. - google.protobuf.BoolValue negative = 31; + google.protobuf.BoolValue negative = 31 [(google.api.field_behavior) = IMMUTABLE]; - // Serving status of the criterion. - google.ads.googleads.v3.enums.CriterionSystemServingStatusEnum.CriterionSystemServingStatus system_serving_status = 52; + // Output only. Serving status of the criterion. + google.ads.googleads.v3.enums.CriterionSystemServingStatusEnum.CriterionSystemServingStatus system_serving_status = 52 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Approval status of the criterion. - google.ads.googleads.v3.enums.AdGroupCriterionApprovalStatusEnum.AdGroupCriterionApprovalStatus approval_status = 53; + // Output only. Approval status of the criterion. + google.ads.googleads.v3.enums.AdGroupCriterionApprovalStatusEnum.AdGroupCriterionApprovalStatus approval_status = 53 [(google.api.field_behavior) = OUTPUT_ONLY]; // The modifier for the bid when the criterion matches. The modifier must be // in the range: 0.1 - 10.0. Most targetable criteria types support modifiers. @@ -140,32 +151,32 @@ message AdGroupCriterion { // value stored here is 1,000,000 * [fraction]. google.protobuf.Int64Value percent_cpc_bid_micros = 33; - // The effective CPC (cost-per-click) bid. - google.protobuf.Int64Value effective_cpc_bid_micros = 18; + // Output only. The effective CPC (cost-per-click) bid. + google.protobuf.Int64Value effective_cpc_bid_micros = 18 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The effective CPM (cost-per-thousand viewable impressions) bid. - google.protobuf.Int64Value effective_cpm_bid_micros = 19; + // Output only. The effective CPM (cost-per-thousand viewable impressions) bid. + google.protobuf.Int64Value effective_cpm_bid_micros = 19 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The effective CPV (cost-per-view) bid. - google.protobuf.Int64Value effective_cpv_bid_micros = 20; + // Output only. The effective CPV (cost-per-view) bid. + google.protobuf.Int64Value effective_cpv_bid_micros = 20 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The effective Percent CPC bid amount. - google.protobuf.Int64Value effective_percent_cpc_bid_micros = 34; + // Output only. The effective Percent CPC bid amount. + google.protobuf.Int64Value effective_percent_cpc_bid_micros = 34 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Source of the effective CPC bid. - google.ads.googleads.v3.enums.BiddingSourceEnum.BiddingSource effective_cpc_bid_source = 21; + // Output only. Source of the effective CPC bid. + google.ads.googleads.v3.enums.BiddingSourceEnum.BiddingSource effective_cpc_bid_source = 21 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Source of the effective CPM bid. - google.ads.googleads.v3.enums.BiddingSourceEnum.BiddingSource effective_cpm_bid_source = 22; + // Output only. Source of the effective CPM bid. + google.ads.googleads.v3.enums.BiddingSourceEnum.BiddingSource effective_cpm_bid_source = 22 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Source of the effective CPV bid. - google.ads.googleads.v3.enums.BiddingSourceEnum.BiddingSource effective_cpv_bid_source = 23; + // Output only. Source of the effective CPV bid. + google.ads.googleads.v3.enums.BiddingSourceEnum.BiddingSource effective_cpv_bid_source = 23 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Source of the effective Percent CPC bid. - google.ads.googleads.v3.enums.BiddingSourceEnum.BiddingSource effective_percent_cpc_bid_source = 35; + // Output only. Source of the effective Percent CPC bid. + google.ads.googleads.v3.enums.BiddingSourceEnum.BiddingSource effective_percent_cpc_bid_source = 35 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Estimates for criterion bids at various positions. - PositionEstimates position_estimates = 10; + // Output only. Estimates for criterion bids at various positions. + PositionEstimates position_estimates = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; // The list of possible final URLs after all cross-domain redirects for the // ad. @@ -188,58 +199,58 @@ message AdGroupCriterion { // // Exactly one must be set. oneof criterion { - // Keyword. - google.ads.googleads.v3.common.KeywordInfo keyword = 27; + // Immutable. Keyword. + google.ads.googleads.v3.common.KeywordInfo keyword = 27 [(google.api.field_behavior) = IMMUTABLE]; - // Placement. - google.ads.googleads.v3.common.PlacementInfo placement = 28; + // Immutable. Placement. + google.ads.googleads.v3.common.PlacementInfo placement = 28 [(google.api.field_behavior) = IMMUTABLE]; - // Mobile app category. - google.ads.googleads.v3.common.MobileAppCategoryInfo mobile_app_category = 29; + // Immutable. Mobile app category. + google.ads.googleads.v3.common.MobileAppCategoryInfo mobile_app_category = 29 [(google.api.field_behavior) = IMMUTABLE]; - // Mobile application. - google.ads.googleads.v3.common.MobileApplicationInfo mobile_application = 30; + // Immutable. Mobile application. + google.ads.googleads.v3.common.MobileApplicationInfo mobile_application = 30 [(google.api.field_behavior) = IMMUTABLE]; - // Listing group. - google.ads.googleads.v3.common.ListingGroupInfo listing_group = 32; + // Immutable. Listing group. + google.ads.googleads.v3.common.ListingGroupInfo listing_group = 32 [(google.api.field_behavior) = IMMUTABLE]; - // Age range. - google.ads.googleads.v3.common.AgeRangeInfo age_range = 36; + // Immutable. Age range. + google.ads.googleads.v3.common.AgeRangeInfo age_range = 36 [(google.api.field_behavior) = IMMUTABLE]; - // Gender. - google.ads.googleads.v3.common.GenderInfo gender = 37; + // Immutable. Gender. + google.ads.googleads.v3.common.GenderInfo gender = 37 [(google.api.field_behavior) = IMMUTABLE]; - // Income range. - google.ads.googleads.v3.common.IncomeRangeInfo income_range = 38; + // Immutable. Income range. + google.ads.googleads.v3.common.IncomeRangeInfo income_range = 38 [(google.api.field_behavior) = IMMUTABLE]; - // Parental status. - google.ads.googleads.v3.common.ParentalStatusInfo parental_status = 39; + // Immutable. Parental status. + google.ads.googleads.v3.common.ParentalStatusInfo parental_status = 39 [(google.api.field_behavior) = IMMUTABLE]; - // User List. - google.ads.googleads.v3.common.UserListInfo user_list = 42; + // Immutable. User List. + google.ads.googleads.v3.common.UserListInfo user_list = 42 [(google.api.field_behavior) = IMMUTABLE]; - // YouTube Video. - google.ads.googleads.v3.common.YouTubeVideoInfo youtube_video = 40; + // Immutable. YouTube Video. + google.ads.googleads.v3.common.YouTubeVideoInfo youtube_video = 40 [(google.api.field_behavior) = IMMUTABLE]; - // YouTube Channel. - google.ads.googleads.v3.common.YouTubeChannelInfo youtube_channel = 41; + // Immutable. YouTube Channel. + google.ads.googleads.v3.common.YouTubeChannelInfo youtube_channel = 41 [(google.api.field_behavior) = IMMUTABLE]; - // Topic. - google.ads.googleads.v3.common.TopicInfo topic = 43; + // Immutable. Topic. + google.ads.googleads.v3.common.TopicInfo topic = 43 [(google.api.field_behavior) = IMMUTABLE]; - // User Interest. - google.ads.googleads.v3.common.UserInterestInfo user_interest = 45; + // Immutable. User Interest. + google.ads.googleads.v3.common.UserInterestInfo user_interest = 45 [(google.api.field_behavior) = IMMUTABLE]; - // Webpage - google.ads.googleads.v3.common.WebpageInfo webpage = 46; + // Immutable. Webpage + google.ads.googleads.v3.common.WebpageInfo webpage = 46 [(google.api.field_behavior) = IMMUTABLE]; - // App Payment Model. - google.ads.googleads.v3.common.AppPaymentModelInfo app_payment_model = 47; + // Immutable. App Payment Model. + google.ads.googleads.v3.common.AppPaymentModelInfo app_payment_model = 47 [(google.api.field_behavior) = IMMUTABLE]; - // Custom Affinity. - google.ads.googleads.v3.common.CustomAffinityInfo custom_affinity = 48; + // Immutable. Custom Affinity. + google.ads.googleads.v3.common.CustomAffinityInfo custom_affinity = 48 [(google.api.field_behavior) = IMMUTABLE]; - // Custom Intent. - google.ads.googleads.v3.common.CustomIntentInfo custom_intent = 49; + // Immutable. Custom Intent. + google.ads.googleads.v3.common.CustomIntentInfo custom_intent = 49 [(google.api.field_behavior) = IMMUTABLE]; } } diff --git a/google/ads/googleads/v3/resources/ad_group_criterion_label.proto b/google/ads/googleads/v3/resources/ad_group_criterion_label.proto index 8c34c5d7..54b13167 100644 --- a/google/ads/googleads/v3/resources/ad_group_criterion_label.proto +++ b/google/ads/googleads/v3/resources/ad_group_criterion_label.proto @@ -16,6 +16,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -38,14 +39,29 @@ message AdGroupCriterionLabel { pattern: "customers/{customer}/adGroupCriterionLabels/{ad_group_criterion_label}" }; - // The resource name of the ad group criterion label. + // Immutable. The resource name of the ad group criterion label. // Ad group criterion label resource names have the form: // `customers/{customer_id}/adGroupCriterionLabels/{ad_group_id}~{criterion_id}~{label_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterionLabel" + } + ]; - // The ad group criterion to which the label is attached. - google.protobuf.StringValue ad_group_criterion = 2; + // Immutable. The ad group criterion to which the label is attached. + google.protobuf.StringValue ad_group_criterion = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterion" + } + ]; - // The label assigned to the ad group criterion. - google.protobuf.StringValue label = 3; + // Immutable. The label assigned to the ad group criterion. + google.protobuf.StringValue label = 3 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Label" + } + ]; } diff --git a/google/ads/googleads/v3/resources/ad_group_criterion_simulation.proto b/google/ads/googleads/v3/resources/ad_group_criterion_simulation.proto index 70cf0c73..4b5e7315 100644 --- a/google/ads/googleads/v3/resources/ad_group_criterion_simulation.proto +++ b/google/ads/googleads/v3/resources/ad_group_criterion_simulation.proto @@ -19,6 +19,7 @@ package google.ads.googleads.v3.resources; import "google/ads/googleads/v3/common/simulation.proto"; import "google/ads/googleads/v3/enums/simulation_modification_method.proto"; import "google/ads/googleads/v3/enums/simulation_type.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -47,33 +48,38 @@ message AdGroupCriterionSimulation { pattern: "customers/{customer}/adGroupCriterionSimulations/{ad_group_criterion_simulation}" }; - // The resource name of the ad group criterion simulation. + // Output only. The resource name of the ad group criterion simulation. // Ad group criterion simulation resource names have the form: // // `customers/{customer_id}/adGroupCriterionSimulations/{ad_group_id}~{criterion_id}~{type}~{modification_method}~{start_date}~{end_date}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterionSimulation" + } + ]; - // AdGroup ID of the simulation. - google.protobuf.Int64Value ad_group_id = 2; + // Output only. AdGroup ID of the simulation. + google.protobuf.Int64Value ad_group_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Criterion ID of the simulation. - google.protobuf.Int64Value criterion_id = 3; + // Output only. Criterion ID of the simulation. + google.protobuf.Int64Value criterion_id = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The field that the simulation modifies. - google.ads.googleads.v3.enums.SimulationTypeEnum.SimulationType type = 4; + // Output only. The field that the simulation modifies. + google.ads.googleads.v3.enums.SimulationTypeEnum.SimulationType type = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; - // How the simulation modifies the field. - google.ads.googleads.v3.enums.SimulationModificationMethodEnum.SimulationModificationMethod modification_method = 5; + // Output only. How the simulation modifies the field. + google.ads.googleads.v3.enums.SimulationModificationMethodEnum.SimulationModificationMethod modification_method = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; - // First day on which the simulation is based, in YYYY-MM-DD format. - google.protobuf.StringValue start_date = 6; + // Output only. First day on which the simulation is based, in YYYY-MM-DD format. + google.protobuf.StringValue start_date = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Last day on which the simulation is based, in YYYY-MM-DD format. - google.protobuf.StringValue end_date = 7; + // Output only. Last day on which the simulation is based, in YYYY-MM-DD format. + google.protobuf.StringValue end_date = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; // List of simulation points. oneof point_list { - // Simulation points if the simulation type is CPC_BID. - google.ads.googleads.v3.common.CpcBidSimulationPointList cpc_bid_point_list = 8; + // Output only. Simulation points if the simulation type is CPC_BID. + google.ads.googleads.v3.common.CpcBidSimulationPointList cpc_bid_point_list = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; } } diff --git a/google/ads/googleads/v3/resources/ad_group_extension_setting.proto b/google/ads/googleads/v3/resources/ad_group_extension_setting.proto index e1fa2388..5dabbcf4 100644 --- a/google/ads/googleads/v3/resources/ad_group_extension_setting.proto +++ b/google/ads/googleads/v3/resources/ad_group_extension_setting.proto @@ -18,6 +18,7 @@ package google.ads.googleads.v3.resources; import "google/ads/googleads/v3/enums/extension_setting_device.proto"; import "google/ads/googleads/v3/enums/extension_type.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -40,27 +41,39 @@ message AdGroupExtensionSetting { pattern: "customers/{customer}/adGroupExtensionSettings/{ad_group_extension_setting}" }; - // The resource name of the ad group extension setting. + // Immutable. The resource name of the ad group extension setting. // AdGroupExtensionSetting resource names have the form: // // `customers/{customer_id}/adGroupExtensionSettings/{ad_group_id}~{extension_type}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupExtensionSetting" + } + ]; - // The extension type of the ad group extension setting. - google.ads.googleads.v3.enums.ExtensionTypeEnum.ExtensionType extension_type = 2; + // Immutable. The extension type of the ad group extension setting. + google.ads.googleads.v3.enums.ExtensionTypeEnum.ExtensionType extension_type = 2 [(google.api.field_behavior) = IMMUTABLE]; - // The resource name of the ad group. The linked extension feed items will + // Immutable. The resource name of the ad group. The linked extension feed items will // serve under this ad group. // AdGroup resource names have the form: // // `customers/{customer_id}/adGroups/{ad_group_id}` - google.protobuf.StringValue ad_group = 3; + google.protobuf.StringValue ad_group = 3 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; // The resource names of the extension feed items to serve under the ad group. // ExtensionFeedItem resource names have the form: // // `customers/{customer_id}/extensionFeedItems/{feed_item_id}` - repeated google.protobuf.StringValue extension_feed_items = 4; + repeated google.protobuf.StringValue extension_feed_items = 4 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ExtensionFeedItem" + }]; // The device for which the extensions will serve. Optional. google.ads.googleads.v3.enums.ExtensionSettingDeviceEnum.ExtensionSettingDevice device = 5; diff --git a/google/ads/googleads/v3/resources/ad_group_feed.proto b/google/ads/googleads/v3/resources/ad_group_feed.proto index d2770e82..f3ed3fca 100644 --- a/google/ads/googleads/v3/resources/ad_group_feed.proto +++ b/google/ads/googleads/v3/resources/ad_group_feed.proto @@ -19,6 +19,7 @@ package google.ads.googleads.v3.resources; import "google/ads/googleads/v3/common/matching_function.proto"; import "google/ads/googleads/v3/enums/feed_link_status.proto"; import "google/ads/googleads/v3/enums/placeholder_type.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -41,17 +42,32 @@ message AdGroupFeed { pattern: "customers/{customer}/adGroupFeeds/{ad_group_feed}" }; - // The resource name of the ad group feed. + // Immutable. The resource name of the ad group feed. // Ad group feed resource names have the form: // // `customers/{customer_id}/adGroupFeeds/{ad_group_id}~{feed_id} - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupFeed" + } + ]; - // The feed being linked to the ad group. - google.protobuf.StringValue feed = 2; + // Immutable. The feed being linked to the ad group. + google.protobuf.StringValue feed = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Feed" + } + ]; - // The ad group being linked to the feed. - google.protobuf.StringValue ad_group = 3; + // Immutable. The ad group being linked to the feed. + google.protobuf.StringValue ad_group = 3 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; // Indicates which placeholder types the feed may populate under the connected // ad group. Required. @@ -62,7 +78,7 @@ message AdGroupFeed { // Required. google.ads.googleads.v3.common.MatchingFunction matching_function = 5; - // Status of the ad group feed. + // Output only. Status of the ad group feed. // This field is read-only. - google.ads.googleads.v3.enums.FeedLinkStatusEnum.FeedLinkStatus status = 6; + google.ads.googleads.v3.enums.FeedLinkStatusEnum.FeedLinkStatus status = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; } diff --git a/google/ads/googleads/v3/resources/ad_group_label.proto b/google/ads/googleads/v3/resources/ad_group_label.proto index 36661ecf..e6213c35 100644 --- a/google/ads/googleads/v3/resources/ad_group_label.proto +++ b/google/ads/googleads/v3/resources/ad_group_label.proto @@ -16,6 +16,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -38,14 +39,29 @@ message AdGroupLabel { pattern: "customers/{customer}/adGroupLabels/{ad_group_label}" }; - // The resource name of the ad group label. + // Immutable. The resource name of the ad group label. // Ad group label resource names have the form: // `customers/{customer_id}/adGroupLabels/{ad_group_id}~{label_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupLabel" + } + ]; - // The ad group to which the label is attached. - google.protobuf.StringValue ad_group = 2; + // Immutable. The ad group to which the label is attached. + google.protobuf.StringValue ad_group = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; - // The label assigned to the ad group. - google.protobuf.StringValue label = 3; + // Immutable. The label assigned to the ad group. + google.protobuf.StringValue label = 3 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Label" + } + ]; } diff --git a/google/ads/googleads/v3/resources/ad_group_simulation.proto b/google/ads/googleads/v3/resources/ad_group_simulation.proto index 1596afab..d0503799 100644 --- a/google/ads/googleads/v3/resources/ad_group_simulation.proto +++ b/google/ads/googleads/v3/resources/ad_group_simulation.proto @@ -19,6 +19,7 @@ package google.ads.googleads.v3.resources; import "google/ads/googleads/v3/common/simulation.proto"; import "google/ads/googleads/v3/enums/simulation_modification_method.proto"; import "google/ads/googleads/v3/enums/simulation_type.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -52,36 +53,41 @@ message AdGroupSimulation { pattern: "customers/{customer}/adGroupSimulations/{ad_group_simulation}" }; - // The resource name of the ad group simulation. + // Output only. The resource name of the ad group simulation. // Ad group simulation resource names have the form: // // `customers/{customer_id}/adGroupSimulations/{ad_group_id}~{type}~{modification_method}~{start_date}~{end_date}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupSimulation" + } + ]; - // Ad group id of the simulation. - google.protobuf.Int64Value ad_group_id = 2; + // Output only. Ad group id of the simulation. + google.protobuf.Int64Value ad_group_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The field that the simulation modifies. - google.ads.googleads.v3.enums.SimulationTypeEnum.SimulationType type = 3; + // Output only. The field that the simulation modifies. + google.ads.googleads.v3.enums.SimulationTypeEnum.SimulationType type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - // How the simulation modifies the field. - google.ads.googleads.v3.enums.SimulationModificationMethodEnum.SimulationModificationMethod modification_method = 4; + // Output only. How the simulation modifies the field. + google.ads.googleads.v3.enums.SimulationModificationMethodEnum.SimulationModificationMethod modification_method = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; - // First day on which the simulation is based, in YYYY-MM-DD format. - google.protobuf.StringValue start_date = 5; + // Output only. First day on which the simulation is based, in YYYY-MM-DD format. + google.protobuf.StringValue start_date = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Last day on which the simulation is based, in YYYY-MM-DD format - google.protobuf.StringValue end_date = 6; + // Output only. Last day on which the simulation is based, in YYYY-MM-DD format + google.protobuf.StringValue end_date = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; // List of simulation points. oneof point_list { - // Simulation points if the simulation type is CPC_BID. - google.ads.googleads.v3.common.CpcBidSimulationPointList cpc_bid_point_list = 8; + // Output only. Simulation points if the simulation type is CPC_BID. + google.ads.googleads.v3.common.CpcBidSimulationPointList cpc_bid_point_list = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Simulation points if the simulation type is CPV_BID. - google.ads.googleads.v3.common.CpvBidSimulationPointList cpv_bid_point_list = 10; + // Output only. Simulation points if the simulation type is CPV_BID. + google.ads.googleads.v3.common.CpvBidSimulationPointList cpv_bid_point_list = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Simulation points if the simulation type is TARGET_CPA. - google.ads.googleads.v3.common.TargetCpaSimulationPointList target_cpa_point_list = 9; + // Output only. Simulation points if the simulation type is TARGET_CPA. + google.ads.googleads.v3.common.TargetCpaSimulationPointList target_cpa_point_list = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; } } diff --git a/google/ads/googleads/v3/resources/ad_parameter.proto b/google/ads/googleads/v3/resources/ad_parameter.proto index 3763578a..d19383e3 100644 --- a/google/ads/googleads/v3/resources/ad_parameter.proto +++ b/google/ads/googleads/v3/resources/ad_parameter.proto @@ -16,6 +16,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -43,17 +44,27 @@ message AdParameter { pattern: "customers/{customer}/adParameters/{ad_parameter}" }; - // The resource name of the ad parameter. + // Immutable. The resource name of the ad parameter. // Ad parameter resource names have the form: // // `customers/{customer_id}/adParameters/{ad_group_id}~{criterion_id}~{parameter_index}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdParameter" + } + ]; - // The ad group criterion that this ad parameter belongs to. - google.protobuf.StringValue ad_group_criterion = 2; + // Immutable. The ad group criterion that this ad parameter belongs to. + google.protobuf.StringValue ad_group_criterion = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterion" + } + ]; - // The unique index of this ad parameter. Must be either 1 or 2. - google.protobuf.Int64Value parameter_index = 3; + // Immutable. The unique index of this ad parameter. Must be either 1 or 2. + google.protobuf.Int64Value parameter_index = 3 [(google.api.field_behavior) = IMMUTABLE]; // Numeric value to insert into the ad text. The following restrictions // apply: diff --git a/google/ads/googleads/v3/resources/ad_schedule_view.proto b/google/ads/googleads/v3/resources/ad_schedule_view.proto index 4dd9378f..3e667ac0 100644 --- a/google/ads/googleads/v3/resources/ad_schedule_view.proto +++ b/google/ads/googleads/v3/resources/ad_schedule_view.proto @@ -16,6 +16,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/api/annotations.proto"; @@ -38,9 +39,14 @@ message AdScheduleView { pattern: "customers/{customer}/adScheduleViews/{ad_schedule_view}" }; - // The resource name of the ad schedule view. + // Output only. The resource name of the ad schedule view. // AdSchedule view resource names have the form: // // `customers/{customer_id}/adScheduleViews/{campaign_id}~{criterion_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdScheduleView" + } + ]; } diff --git a/google/ads/googleads/v3/resources/age_range_view.proto b/google/ads/googleads/v3/resources/age_range_view.proto index 6175f550..83b9450f 100644 --- a/google/ads/googleads/v3/resources/age_range_view.proto +++ b/google/ads/googleads/v3/resources/age_range_view.proto @@ -16,6 +16,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/api/annotations.proto"; @@ -37,9 +38,14 @@ message AgeRangeView { pattern: "customers/{customer}/ageRangeViews/{age_range_view}" }; - // The resource name of the age range view. + // Output only. The resource name of the age range view. // Age range view resource names have the form: // // `customers/{customer_id}/ageRangeViews/{ad_group_id}~{criterion_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AgeRangeView" + } + ]; } diff --git a/google/ads/googleads/v3/resources/asset.proto b/google/ads/googleads/v3/resources/asset.proto index a9aa6d5d..556d6328 100644 --- a/google/ads/googleads/v3/resources/asset.proto +++ b/google/ads/googleads/v3/resources/asset.proto @@ -18,6 +18,7 @@ package google.ads.googleads.v3.resources; import "google/ads/googleads/v3/common/asset_types.proto"; import "google/ads/googleads/v3/enums/asset_type.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -41,33 +42,38 @@ message Asset { pattern: "customers/{customer}/assets/{asset}" }; - // The resource name of the asset. + // Immutable. The resource name of the asset. // Asset resource names have the form: // // `customers/{customer_id}/assets/{asset_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Asset" + } + ]; - // The ID of the asset. - google.protobuf.Int64Value id = 2; + // Output only. The ID of the asset. + google.protobuf.Int64Value id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Optional name of the asset. - google.protobuf.StringValue name = 3; + // Immutable. Optional name of the asset. + google.protobuf.StringValue name = 3 [(google.api.field_behavior) = IMMUTABLE]; - // Type of the asset. - google.ads.googleads.v3.enums.AssetTypeEnum.AssetType type = 4; + // Output only. Type of the asset. + google.ads.googleads.v3.enums.AssetTypeEnum.AssetType type = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; // The specific type of the asset. oneof asset_data { - // A YouTube video asset. - google.ads.googleads.v3.common.YoutubeVideoAsset youtube_video_asset = 5; + // Immutable. A YouTube video asset. + google.ads.googleads.v3.common.YoutubeVideoAsset youtube_video_asset = 5 [(google.api.field_behavior) = IMMUTABLE]; - // A media bundle asset. - google.ads.googleads.v3.common.MediaBundleAsset media_bundle_asset = 6; + // Immutable. A media bundle asset. + google.ads.googleads.v3.common.MediaBundleAsset media_bundle_asset = 6 [(google.api.field_behavior) = IMMUTABLE]; - // An image asset. - google.ads.googleads.v3.common.ImageAsset image_asset = 7; + // Output only. An image asset. + google.ads.googleads.v3.common.ImageAsset image_asset = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; - // A text asset. - google.ads.googleads.v3.common.TextAsset text_asset = 8; + // Output only. A text asset. + google.ads.googleads.v3.common.TextAsset text_asset = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; } } diff --git a/google/ads/googleads/v3/resources/bidding_strategy.proto b/google/ads/googleads/v3/resources/bidding_strategy.proto index 74ed29f9..5a45e755 100644 --- a/google/ads/googleads/v3/resources/bidding_strategy.proto +++ b/google/ads/googleads/v3/resources/bidding_strategy.proto @@ -19,6 +19,7 @@ package google.ads.googleads.v3.resources; import "google/ads/googleads/v3/common/bidding.proto"; import "google/ads/googleads/v3/enums/bidding_strategy_status.proto"; import "google/ads/googleads/v3/enums/bidding_strategy_type.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -41,14 +42,19 @@ message BiddingStrategy { pattern: "customers/{customer}/biddingStrategies/{bidding_strategy}" }; - // The resource name of the bidding strategy. + // Immutable. The resource name of the bidding strategy. // Bidding strategy resource names have the form: // // `customers/{customer_id}/biddingStrategies/{bidding_strategy_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BiddingStrategy" + } + ]; - // The ID of the bidding strategy. - google.protobuf.Int64Value id = 3; + // Output only. The ID of the bidding strategy. + google.protobuf.Int64Value id = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; // The name of the bidding strategy. // All bidding strategies within an account must be named distinctly. @@ -57,26 +63,26 @@ message BiddingStrategy { // in UTF-8 bytes, (trimmed). google.protobuf.StringValue name = 4; - // The status of the bidding strategy. + // Output only. The status of the bidding strategy. // // This field is read-only. - google.ads.googleads.v3.enums.BiddingStrategyStatusEnum.BiddingStrategyStatus status = 15; + google.ads.googleads.v3.enums.BiddingStrategyStatusEnum.BiddingStrategyStatus status = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The type of the bidding strategy. + // Output only. The type of the bidding strategy. // Create a bidding strategy by setting the bidding scheme. // // This field is read-only. - google.ads.googleads.v3.enums.BiddingStrategyTypeEnum.BiddingStrategyType type = 5; + google.ads.googleads.v3.enums.BiddingStrategyTypeEnum.BiddingStrategyType type = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The number of campaigns attached to this bidding strategy. + // Output only. The number of campaigns attached to this bidding strategy. // // This field is read-only. - google.protobuf.Int64Value campaign_count = 13; + google.protobuf.Int64Value campaign_count = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The number of non-removed campaigns attached to this bidding strategy. + // Output only. The number of non-removed campaigns attached to this bidding strategy. // // This field is read-only. - google.protobuf.Int64Value non_removed_campaign_count = 14; + google.protobuf.Int64Value non_removed_campaign_count = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; // The bidding scheme. // diff --git a/google/ads/googleads/v3/resources/billing_setup.proto b/google/ads/googleads/v3/resources/billing_setup.proto index 0a794c6d..f37f5917 100644 --- a/google/ads/googleads/v3/resources/billing_setup.proto +++ b/google/ads/googleads/v3/resources/billing_setup.proto @@ -18,6 +18,7 @@ package google.ads.googleads.v3.resources; import "google/ads/googleads/v3/enums/billing_setup_status.proto"; import "google/ads/googleads/v3/enums/time_type.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -43,47 +44,52 @@ message BillingSetup { // Container of payments account information for this billing. message PaymentsAccountInfo { - // A 16 digit id used to identify the payments account associated with the + // Output only. A 16 digit id used to identify the payments account associated with the // billing setup. // // This must be passed as a string with dashes, e.g. "1234-5678-9012-3456". - google.protobuf.StringValue payments_account_id = 1; + google.protobuf.StringValue payments_account_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The name of the payments account associated with the billing setup. + // Immutable. The name of the payments account associated with the billing setup. // // This enables the user to specify a meaningful name for a payments account // to aid in reconciling monthly invoices. // // This name will be printed in the monthly invoices. - google.protobuf.StringValue payments_account_name = 2; + google.protobuf.StringValue payments_account_name = 2 [(google.api.field_behavior) = IMMUTABLE]; - // A 12 digit id used to identify the payments profile associated with the + // Immutable. A 12 digit id used to identify the payments profile associated with the // billing setup. // // This must be passed in as a string with dashes, e.g. "1234-5678-9012". - google.protobuf.StringValue payments_profile_id = 3; + google.protobuf.StringValue payments_profile_id = 3 [(google.api.field_behavior) = IMMUTABLE]; - // The name of the payments profile associated with the billing setup. - google.protobuf.StringValue payments_profile_name = 4; + // Output only. The name of the payments profile associated with the billing setup. + google.protobuf.StringValue payments_profile_name = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; - // A secondary payments profile id present in uncommon situations, e.g. + // Output only. A secondary payments profile id present in uncommon situations, e.g. // when a sequential liability agreement has been arranged. - google.protobuf.StringValue secondary_payments_profile_id = 5; + google.protobuf.StringValue secondary_payments_profile_id = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; } - // The resource name of the billing setup. + // Immutable. The resource name of the billing setup. // BillingSetup resource names have the form: // // `customers/{customer_id}/billingSetups/{billing_setup_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BillingSetup" + } + ]; - // The ID of the billing setup. - google.protobuf.Int64Value id = 2; + // Output only. The ID of the billing setup. + google.protobuf.Int64Value id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The status of the billing setup. - google.ads.googleads.v3.enums.BillingSetupStatusEnum.BillingSetupStatus status = 3; + // Output only. The status of the billing setup. + google.ads.googleads.v3.enums.BillingSetupStatusEnum.BillingSetupStatus status = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The resource name of the payments account associated with this billing + // Immutable. The resource name of the payments account associated with this billing // setup. Payments resource names have the form: // // `customers/{customer_id}/paymentsAccounts/{payments_account_id}` @@ -91,14 +97,19 @@ message BillingSetup { // account (and then payments_account_info should not be set). // When getting a billing setup, this and payments_account_info will be // populated. - google.protobuf.StringValue payments_account = 11; + google.protobuf.StringValue payments_account = 11 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/PaymentsAccount" + } + ]; - // The payments account information associated with this billing setup. + // Immutable. The payments account information associated with this billing setup. // When setting up billing, this is used to signup with a new payments account // (and then payments_account should not be set). // When getting a billing setup, this and payments_account will be // populated. - PaymentsAccountInfo payments_account_info = 12; + PaymentsAccountInfo payments_account_info = 12 [(google.api.field_behavior) = IMMUTABLE]; // When creating a new billing setup, this is when the setup should take // effect. NOW is the only acceptable start time if the customer doesn't have @@ -108,21 +119,21 @@ message BillingSetup { // However, if the setup was approved (see status) after the requested start // time, then this is the approval time. oneof start_time { - // The start date time in yyyy-MM-dd or yyyy-MM-dd HH:mm:ss format. Only a + // Immutable. The start date time in yyyy-MM-dd or yyyy-MM-dd HH:mm:ss format. Only a // future time is allowed. - google.protobuf.StringValue start_date_time = 9; + google.protobuf.StringValue start_date_time = 9 [(google.api.field_behavior) = IMMUTABLE]; - // The start time as a type. Only NOW is allowed. - google.ads.googleads.v3.enums.TimeTypeEnum.TimeType start_time_type = 10; + // Immutable. The start time as a type. Only NOW is allowed. + google.ads.googleads.v3.enums.TimeTypeEnum.TimeType start_time_type = 10 [(google.api.field_behavior) = IMMUTABLE]; } // When the billing setup ends / ended. This is either FOREVER or the start // time of the next scheduled billing setup. oneof end_time { - // The end date time in yyyy-MM-dd or yyyy-MM-dd HH:mm:ss format. - google.protobuf.StringValue end_date_time = 13; + // Output only. The end date time in yyyy-MM-dd or yyyy-MM-dd HH:mm:ss format. + google.protobuf.StringValue end_date_time = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The end time as a type. The only possible value is FOREVER. - google.ads.googleads.v3.enums.TimeTypeEnum.TimeType end_time_type = 14; + // Output only. The end time as a type. The only possible value is FOREVER. + google.ads.googleads.v3.enums.TimeTypeEnum.TimeType end_time_type = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; } } diff --git a/google/ads/googleads/v3/resources/campaign.proto b/google/ads/googleads/v3/resources/campaign.proto index 1b3cd476..edc2ca64 100644 --- a/google/ads/googleads/v3/resources/campaign.proto +++ b/google/ads/googleads/v3/resources/campaign.proto @@ -36,6 +36,7 @@ import "google/ads/googleads/v3/enums/payment_mode.proto"; import "google/ads/googleads/v3/enums/positive_geo_target_type.proto"; import "google/ads/googleads/v3/enums/vanity_pharma_display_url_mode.proto"; import "google/ads/googleads/v3/enums/vanity_pharma_text.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -78,8 +79,8 @@ message Campaign { // Campaign-level settings for hotel ads. message HotelSettingInfo { - // The linked Hotel Center account. - google.protobuf.Int64Value hotel_center_id = 1; + // Immutable. The linked Hotel Center account. + google.protobuf.Int64Value hotel_center_id = 1 [(google.api.field_behavior) = IMMUTABLE]; } // Campaign-level settings for App Campaigns. @@ -88,11 +89,20 @@ message Campaign { // should optimize towards. google.ads.googleads.v3.enums.AppCampaignBiddingStrategyGoalTypeEnum.AppCampaignBiddingStrategyGoalType bidding_strategy_goal_type = 1; - // A string that uniquely identifies a mobile application. - google.protobuf.StringValue app_id = 2; + // Immutable. A string that uniquely identifies a mobile application. + google.protobuf.StringValue app_id = 2 [(google.api.field_behavior) = IMMUTABLE]; - // The application store that distributes this specific app. - google.ads.googleads.v3.enums.AppCampaignAppStoreEnum.AppCampaignAppStore app_store = 3; + // Immutable. The application store that distributes this specific app. + google.ads.googleads.v3.enums.AppCampaignAppStoreEnum.AppCampaignAppStore app_store = 3 [(google.api.field_behavior) = IMMUTABLE]; + } + + // Selective optimization setting for this campaign, which includes a set of + // conversion actions to optimize this campaign towards. + message SelectiveOptimization { + // The selected set of conversion actions for optimizing this campaign. + repeated google.protobuf.StringValue conversion_actions = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionAction" + }]; } // The setting for controlling Dynamic Search Ads (DSA). @@ -107,24 +117,39 @@ message Campaign { // Whether the campaign uses advertiser supplied URLs exclusively. google.protobuf.BoolValue use_supplied_urls_only = 3; - // The list of page feeds associated with the campaign. - repeated google.protobuf.StringValue feeds = 5; + // Output only. The list of page feeds associated with the campaign. + repeated google.protobuf.StringValue feeds = 5 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Feed" + } + ]; + } + + // Describes how unbranded pharma ads will be displayed. + message VanityPharma { + // The display mode for vanity pharma URLs. + google.ads.googleads.v3.enums.VanityPharmaDisplayUrlModeEnum.VanityPharmaDisplayUrlMode vanity_pharma_display_url_mode = 1; + + // The text that will be displayed in display URL of the text ad when + // website description is the selected display mode for vanity pharma URLs. + google.ads.googleads.v3.enums.VanityPharmaTextEnum.VanityPharmaText vanity_pharma_text = 2; } // The setting for Shopping campaigns. Defines the universe of products that // can be advertised by the campaign, and how this campaign interacts with // other Shopping campaigns. message ShoppingSetting { - // ID of the Merchant Center account. + // Immutable. ID of the Merchant Center account. // This field is required for create operations. This field is immutable for // Shopping campaigns. - google.protobuf.Int64Value merchant_id = 1; + google.protobuf.Int64Value merchant_id = 1 [(google.api.field_behavior) = IMMUTABLE]; - // Sales country of products to include in the campaign. + // Immutable. Sales country of products to include in the campaign. // This field is required for Shopping campaigns. This field is immutable. // This field is optional for non-Shopping campaigns, but it must be equal // to 'ZZ' if set. - google.protobuf.StringValue sales_country = 2; + google.protobuf.StringValue sales_country = 2 [(google.api.field_behavior) = IMMUTABLE]; // Priority of the campaign. Campaigns with numerically higher priorities // take precedence over those with lower priorities. @@ -138,21 +163,10 @@ message Campaign { google.protobuf.BoolValue enable_local = 4; } - // Describes how unbranded pharma ads will be displayed. - message VanityPharma { - // The display mode for vanity pharma URLs. - google.ads.googleads.v3.enums.VanityPharmaDisplayUrlModeEnum.VanityPharmaDisplayUrlMode vanity_pharma_display_url_mode = 1; - - // The text that will be displayed in display URL of the text ad when - // website description is the selected display mode for vanity pharma URLs. - google.ads.googleads.v3.enums.VanityPharmaTextEnum.VanityPharmaText vanity_pharma_text = 2; - } - - // Selective optimization setting for this campaign, which includes a set of - // conversion actions to optimize this campaign towards. - message SelectiveOptimization { - // The selected set of conversion actions for optimizing this campaign. - repeated google.protobuf.StringValue conversion_actions = 1; + // Campaign-level settings for tracking information. + message TrackingSetting { + // Output only. The url used for dynamic tracking. + google.protobuf.StringValue tracking_url = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; } // Represents a collection of settings related to ads geotargeting. @@ -164,20 +178,19 @@ message Campaign { google.ads.googleads.v3.enums.NegativeGeoTargetTypeEnum.NegativeGeoTargetType negative_geo_target_type = 2; } - // Campaign-level settings for tracking information. - message TrackingSetting { - // The url used for dynamic tracking. - google.protobuf.StringValue tracking_url = 1; - } - - // The resource name of the campaign. + // Immutable. The resource name of the campaign. // Campaign resource names have the form: // // `customers/{customer_id}/campaigns/{campaign_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; - // The ID of the campaign. - google.protobuf.Int64Value id = 3; + // Output only. The ID of the campaign. + google.protobuf.Int64Value id = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; // The name of the campaign. // @@ -193,13 +206,13 @@ message Campaign { // When a new campaign is added, the status defaults to ENABLED. google.ads.googleads.v3.enums.CampaignStatusEnum.CampaignStatus status = 5; - // The ad serving status of the campaign. - google.ads.googleads.v3.enums.CampaignServingStatusEnum.CampaignServingStatus serving_status = 21; + // Output only. The ad serving status of the campaign. + google.ads.googleads.v3.enums.CampaignServingStatusEnum.CampaignServingStatus serving_status = 21 [(google.api.field_behavior) = OUTPUT_ONLY]; // The ad serving optimization status of the campaign. google.ads.googleads.v3.enums.AdServingOptimizationStatusEnum.AdServingOptimizationStatus ad_serving_optimization_status = 8; - // The primary serving target for ads within the campaign. + // Immutable. The primary serving target for ads within the campaign. // The targeting options can be refined in `network_settings`. // // This field is required and should not be empty when creating new @@ -207,14 +220,14 @@ message Campaign { // // Can be set only when creating campaigns. // After the campaign is created, the field can not be changed. - google.ads.googleads.v3.enums.AdvertisingChannelTypeEnum.AdvertisingChannelType advertising_channel_type = 9; + google.ads.googleads.v3.enums.AdvertisingChannelTypeEnum.AdvertisingChannelType advertising_channel_type = 9 [(google.api.field_behavior) = IMMUTABLE]; - // Optional refinement to `advertising_channel_type`. + // Immutable. Optional refinement to `advertising_channel_type`. // Must be a valid sub-type of the parent channel type. // // Can be set only when creating campaigns. // After campaign is created, the field can not be changed. - google.ads.googleads.v3.enums.AdvertisingChannelSubTypeEnum.AdvertisingChannelSubType advertising_channel_sub_type = 10; + google.ads.googleads.v3.enums.AdvertisingChannelSubTypeEnum.AdvertisingChannelSubType advertising_channel_sub_type = 10 [(google.api.field_behavior) = IMMUTABLE]; // The URL template for constructing a tracking URL. google.protobuf.StringValue tracking_url_template = 11; @@ -230,8 +243,8 @@ message Campaign { // The network settings for the campaign. NetworkSettings network_settings = 14; - // The hotel setting for the campaign. - HotelSettingInfo hotel_setting = 32; + // Immutable. The hotel setting for the campaign. + HotelSettingInfo hotel_setting = 32 [(google.api.field_behavior) = IMMUTABLE]; // The setting for controlling Dynamic Search Ads (DSA). DynamicSearchAdsSetting dynamic_search_ads_setting = 33; @@ -248,29 +261,41 @@ message Campaign { // The setting related to App Campaign. AppCampaignSetting app_campaign_setting = 51; - // The resource names of labels attached to this campaign. - repeated google.protobuf.StringValue labels = 53; + // Output only. The resource names of labels attached to this campaign. + repeated google.protobuf.StringValue labels = 53 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignLabel" + } + ]; - // The type of campaign: normal, draft, or experiment. - google.ads.googleads.v3.enums.CampaignExperimentTypeEnum.CampaignExperimentType experiment_type = 17; + // Output only. The type of campaign: normal, draft, or experiment. + google.ads.googleads.v3.enums.CampaignExperimentTypeEnum.CampaignExperimentType experiment_type = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The resource name of the base campaign of a draft or experiment campaign. + // Output only. The resource name of the base campaign of a draft or experiment campaign. // For base campaigns, this is equal to `resource_name`. // // This field is read-only. - google.protobuf.StringValue base_campaign = 28; + google.protobuf.StringValue base_campaign = 28 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; // The budget of the campaign. - google.protobuf.StringValue campaign_budget = 6; + google.protobuf.StringValue campaign_budget = 6 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignBudget" + }]; - // The type of bidding strategy. + // Output only. The type of bidding strategy. // // A bidding strategy can be created by setting either the bidding scheme to // create a standard bidding strategy or the `bidding_strategy` field to // create a portfolio bidding strategy. // // This field is read-only. - google.ads.googleads.v3.enums.BiddingStrategyTypeEnum.BiddingStrategyType bidding_strategy_type = 22; + google.ads.googleads.v3.enums.BiddingStrategyTypeEnum.BiddingStrategyType bidding_strategy_type = 22 [(google.api.field_behavior) = OUTPUT_ONLY]; // The date when campaign started. // @@ -289,8 +314,8 @@ message Campaign { // A list that limits how often each user will see this campaign's ads. repeated google.ads.googleads.v3.common.FrequencyCapEntry frequency_caps = 40; - // 3-Tier Brand Safety setting for the campaign. - google.ads.googleads.v3.enums.BrandSafetySuitabilityEnum.BrandSafetySuitability video_brand_safety_suitability = 42; + // Output only. 3-Tier Brand Safety setting for the campaign. + google.ads.googleads.v3.enums.BrandSafetySuitabilityEnum.BrandSafetySuitability video_brand_safety_suitability = 42 [(google.api.field_behavior) = OUTPUT_ONLY]; // Describes how unbranded pharma ads will be displayed. VanityPharma vanity_pharma = 44; @@ -299,8 +324,8 @@ message Campaign { // conversion actions to optimize this campaign towards. SelectiveOptimization selective_optimization = 45; - // Campaign-level settings for tracking information. - TrackingSetting tracking_setting = 46; + // Output only. Campaign-level settings for tracking information. + TrackingSetting tracking_setting = 46 [(google.api.field_behavior) = OUTPUT_ONLY]; // Payment mode for the campaign. google.ads.googleads.v3.enums.PaymentModeEnum.PaymentMode payment_mode = 52; @@ -311,7 +336,9 @@ message Campaign { // standard, that is embedded into the campaign. oneof campaign_bidding_strategy { // Portfolio bidding strategy used by campaign. - google.protobuf.StringValue bidding_strategy = 23; + google.protobuf.StringValue bidding_strategy = 23 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/BiddingStrategy" + }]; // Commission is an automatic bidding strategy in which the advertiser pays // a certain portion of the conversion value. @@ -326,8 +353,8 @@ message Campaign { // impressions. google.ads.googleads.v3.common.ManualCpm manual_cpm = 25; - // A bidding strategy that pays a configurable amount per video view. - google.ads.googleads.v3.common.ManualCpv manual_cpv = 37; + // Output only. A bidding strategy that pays a configurable amount per video view. + google.ads.googleads.v3.common.ManualCpv manual_cpv = 37 [(google.api.field_behavior) = OUTPUT_ONLY]; // Standard Maximize Conversions bidding strategy that automatically // maximizes number of conversions given a daily budget. diff --git a/google/ads/googleads/v3/resources/campaign_audience_view.proto b/google/ads/googleads/v3/resources/campaign_audience_view.proto index 3cd43012..a6896869 100644 --- a/google/ads/googleads/v3/resources/campaign_audience_view.proto +++ b/google/ads/googleads/v3/resources/campaign_audience_view.proto @@ -16,6 +16,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/api/annotations.proto"; @@ -41,9 +42,14 @@ message CampaignAudienceView { pattern: "customers/{customer}/campaignAudienceViews/{campaign_audience_view}" }; - // The resource name of the campaign audience view. + // Output only. The resource name of the campaign audience view. // Campaign audience view resource names have the form: // // `customers/{customer_id}/campaignAudienceViews/{campaign_id}~{criterion_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignAudienceView" + } + ]; } diff --git a/google/ads/googleads/v3/resources/campaign_bid_modifier.proto b/google/ads/googleads/v3/resources/campaign_bid_modifier.proto index 6c2d82f6..0a5ce82f 100644 --- a/google/ads/googleads/v3/resources/campaign_bid_modifier.proto +++ b/google/ads/googleads/v3/resources/campaign_bid_modifier.proto @@ -17,6 +17,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; import "google/ads/googleads/v3/common/criteria.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -39,26 +40,36 @@ message CampaignBidModifier { pattern: "customers/{customer}/campaignBidModifiers/{campaign_bid_modifier}" }; - // The resource name of the campaign bid modifier. + // Immutable. The resource name of the campaign bid modifier. // Campaign bid modifier resource names have the form: // // `customers/{customer_id}/campaignBidModifiers/{campaign_id}~{criterion_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignBidModifier" + } + ]; - // The campaign to which this criterion belongs. - google.protobuf.StringValue campaign = 2; + // Output only. The campaign to which this criterion belongs. + google.protobuf.StringValue campaign = 2 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; - // The ID of the criterion to bid modify. + // Output only. The ID of the criterion to bid modify. // // This field is ignored for mutates. - google.protobuf.Int64Value criterion_id = 3; + google.protobuf.Int64Value criterion_id = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; // The modifier for the bid when the criterion matches. google.protobuf.DoubleValue bid_modifier = 4; // The criterion of this campaign bid modifier. oneof criterion { - // Criterion for interaction type. Only supported for search campaigns. - google.ads.googleads.v3.common.InteractionTypeInfo interaction_type = 5; + // Immutable. Criterion for interaction type. Only supported for search campaigns. + google.ads.googleads.v3.common.InteractionTypeInfo interaction_type = 5 [(google.api.field_behavior) = IMMUTABLE]; } } diff --git a/google/ads/googleads/v3/resources/campaign_budget.proto b/google/ads/googleads/v3/resources/campaign_budget.proto index 4d8f11db..46b1a7a3 100644 --- a/google/ads/googleads/v3/resources/campaign_budget.proto +++ b/google/ads/googleads/v3/resources/campaign_budget.proto @@ -20,6 +20,7 @@ import "google/ads/googleads/v3/enums/budget_delivery_method.proto"; import "google/ads/googleads/v3/enums/budget_period.proto"; import "google/ads/googleads/v3/enums/budget_status.proto"; import "google/ads/googleads/v3/enums/budget_type.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -42,19 +43,24 @@ message CampaignBudget { pattern: "customers/{customer}/campaignBudgets/{campaign_budget}" }; - // The resource name of the campaign budget. + // Immutable. The resource name of the campaign budget. // Campaign budget resource names have the form: // // `customers/{customer_id}/campaignBudgets/{budget_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignBudget" + } + ]; - // The ID of the campaign budget. + // Output only. The ID of the campaign budget. // // A campaign budget is created using the CampaignBudgetService create // operation and is assigned a budget ID. A budget ID can be shared across // different campaigns; the system will then allocate the campaign budget // among different campaigns to get optimum results. - google.protobuf.Int64Value id = 3; + google.protobuf.Int64Value id = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; // The name of the campaign budget. // @@ -77,8 +83,8 @@ message CampaignBudget { // currency unit. google.protobuf.Int64Value total_amount_micros = 10; - // The status of this campaign budget. This field is read-only. - google.ads.googleads.v3.enums.BudgetStatusEnum.BudgetStatus status = 6; + // Output only. The status of this campaign budget. This field is read-only. + google.ads.googleads.v3.enums.BudgetStatusEnum.BudgetStatus status = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; // The delivery method that determines the rate at which the campaign budget // is spent. @@ -103,49 +109,49 @@ message CampaignBudget { // A shared campaign budget can never become non-shared. google.protobuf.BoolValue explicitly_shared = 8; - // The number of campaigns actively using the budget. + // Output only. The number of campaigns actively using the budget. // // This field is read-only. - google.protobuf.Int64Value reference_count = 9; + google.protobuf.Int64Value reference_count = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Indicates whether there is a recommended budget for this campaign budget. + // Output only. Indicates whether there is a recommended budget for this campaign budget. // // This field is read-only. - google.protobuf.BoolValue has_recommended_budget = 11; + google.protobuf.BoolValue has_recommended_budget = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The recommended budget amount. If no recommendation is available, this will + // Output only. The recommended budget amount. If no recommendation is available, this will // be set to the budget amount. // Amount is specified in micros, where one million is equivalent to one // currency unit. // // This field is read-only. - google.protobuf.Int64Value recommended_budget_amount_micros = 12; + google.protobuf.Int64Value recommended_budget_amount_micros = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Period over which to spend the budget. Defaults to DAILY if not specified. - google.ads.googleads.v3.enums.BudgetPeriodEnum.BudgetPeriod period = 13; + // Immutable. Period over which to spend the budget. Defaults to DAILY if not specified. + google.ads.googleads.v3.enums.BudgetPeriodEnum.BudgetPeriod period = 13 [(google.api.field_behavior) = IMMUTABLE]; - // The estimated change in weekly clicks if the recommended budget is applied. + // Output only. The estimated change in weekly clicks if the recommended budget is applied. // // This field is read-only. - google.protobuf.Int64Value recommended_budget_estimated_change_weekly_clicks = 14; + google.protobuf.Int64Value recommended_budget_estimated_change_weekly_clicks = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The estimated change in weekly cost in micros if the recommended budget is + // Output only. The estimated change in weekly cost in micros if the recommended budget is // applied. One million is equivalent to one currency unit. // // This field is read-only. - google.protobuf.Int64Value recommended_budget_estimated_change_weekly_cost_micros = 15; + google.protobuf.Int64Value recommended_budget_estimated_change_weekly_cost_micros = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The estimated change in weekly interactions if the recommended budget is + // Output only. The estimated change in weekly interactions if the recommended budget is // applied. // // This field is read-only. - google.protobuf.Int64Value recommended_budget_estimated_change_weekly_interactions = 16; + google.protobuf.Int64Value recommended_budget_estimated_change_weekly_interactions = 16 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The estimated change in weekly views if the recommended budget is applied. + // Output only. The estimated change in weekly views if the recommended budget is applied. // // This field is read-only. - google.protobuf.Int64Value recommended_budget_estimated_change_weekly_views = 17; + google.protobuf.Int64Value recommended_budget_estimated_change_weekly_views = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The type of the campaign budget. - google.ads.googleads.v3.enums.BudgetTypeEnum.BudgetType type = 18; + // Immutable. The type of the campaign budget. + google.ads.googleads.v3.enums.BudgetTypeEnum.BudgetType type = 18 [(google.api.field_behavior) = IMMUTABLE]; } diff --git a/google/ads/googleads/v3/resources/campaign_criterion.proto b/google/ads/googleads/v3/resources/campaign_criterion.proto index 8a64a344..3a84f0b3 100644 --- a/google/ads/googleads/v3/resources/campaign_criterion.proto +++ b/google/ads/googleads/v3/resources/campaign_criterion.proto @@ -19,6 +19,7 @@ package google.ads.googleads.v3.resources; import "google/ads/googleads/v3/common/criteria.proto"; import "google/ads/googleads/v3/enums/campaign_criterion_status.proto"; import "google/ads/googleads/v3/enums/criterion_type.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -41,30 +42,40 @@ message CampaignCriterion { pattern: "customers/{customer}/campaignCriteria/{campaign_criterion}" }; - // The resource name of the campaign criterion. + // Immutable. The resource name of the campaign criterion. // Campaign criterion resource names have the form: // // `customers/{customer_id}/campaignCriteria/{campaign_id}~{criterion_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignCriterion" + } + ]; - // The campaign to which the criterion belongs. - google.protobuf.StringValue campaign = 4; + // Immutable. The campaign to which the criterion belongs. + google.protobuf.StringValue campaign = 4 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; - // The ID of the criterion. + // Output only. The ID of the criterion. // // This field is ignored during mutate. - google.protobuf.Int64Value criterion_id = 5; + google.protobuf.Int64Value criterion_id = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; // The modifier for the bids when the criterion matches. The modifier must be // in the range: 0.1 - 10.0. Most targetable criteria types support modifiers. // Use 0 to opt out of a Device type. google.protobuf.FloatValue bid_modifier = 14; - // Whether to target (`false`) or exclude (`true`) the criterion. - google.protobuf.BoolValue negative = 7; + // Immutable. Whether to target (`false`) or exclude (`true`) the criterion. + google.protobuf.BoolValue negative = 7 [(google.api.field_behavior) = IMMUTABLE]; - // The type of the criterion. - google.ads.googleads.v3.enums.CriterionTypeEnum.CriterionType type = 6; + // Output only. The type of the criterion. + google.ads.googleads.v3.enums.CriterionTypeEnum.CriterionType type = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; // The status of the criterion. google.ads.googleads.v3.enums.CampaignCriterionStatusEnum.CampaignCriterionStatus status = 35; @@ -73,85 +84,85 @@ message CampaignCriterion { // // Exactly one must be set. oneof criterion { - // Keyword. - google.ads.googleads.v3.common.KeywordInfo keyword = 8; + // Immutable. Keyword. + google.ads.googleads.v3.common.KeywordInfo keyword = 8 [(google.api.field_behavior) = IMMUTABLE]; - // Placement. - google.ads.googleads.v3.common.PlacementInfo placement = 9; + // Immutable. Placement. + google.ads.googleads.v3.common.PlacementInfo placement = 9 [(google.api.field_behavior) = IMMUTABLE]; - // Mobile app category. - google.ads.googleads.v3.common.MobileAppCategoryInfo mobile_app_category = 10; + // Immutable. Mobile app category. + google.ads.googleads.v3.common.MobileAppCategoryInfo mobile_app_category = 10 [(google.api.field_behavior) = IMMUTABLE]; - // Mobile application. - google.ads.googleads.v3.common.MobileApplicationInfo mobile_application = 11; + // Immutable. Mobile application. + google.ads.googleads.v3.common.MobileApplicationInfo mobile_application = 11 [(google.api.field_behavior) = IMMUTABLE]; - // Location. - google.ads.googleads.v3.common.LocationInfo location = 12; + // Immutable. Location. + google.ads.googleads.v3.common.LocationInfo location = 12 [(google.api.field_behavior) = IMMUTABLE]; - // Device. - google.ads.googleads.v3.common.DeviceInfo device = 13; + // Immutable. Device. + google.ads.googleads.v3.common.DeviceInfo device = 13 [(google.api.field_behavior) = IMMUTABLE]; - // Ad Schedule. - google.ads.googleads.v3.common.AdScheduleInfo ad_schedule = 15; + // Immutable. Ad Schedule. + google.ads.googleads.v3.common.AdScheduleInfo ad_schedule = 15 [(google.api.field_behavior) = IMMUTABLE]; - // Age range. - google.ads.googleads.v3.common.AgeRangeInfo age_range = 16; + // Immutable. Age range. + google.ads.googleads.v3.common.AgeRangeInfo age_range = 16 [(google.api.field_behavior) = IMMUTABLE]; - // Gender. - google.ads.googleads.v3.common.GenderInfo gender = 17; + // Immutable. Gender. + google.ads.googleads.v3.common.GenderInfo gender = 17 [(google.api.field_behavior) = IMMUTABLE]; - // Income range. - google.ads.googleads.v3.common.IncomeRangeInfo income_range = 18; + // Immutable. Income range. + google.ads.googleads.v3.common.IncomeRangeInfo income_range = 18 [(google.api.field_behavior) = IMMUTABLE]; - // Parental status. - google.ads.googleads.v3.common.ParentalStatusInfo parental_status = 19; + // Immutable. Parental status. + google.ads.googleads.v3.common.ParentalStatusInfo parental_status = 19 [(google.api.field_behavior) = IMMUTABLE]; - // User List. - google.ads.googleads.v3.common.UserListInfo user_list = 22; + // Immutable. User List. + google.ads.googleads.v3.common.UserListInfo user_list = 22 [(google.api.field_behavior) = IMMUTABLE]; - // YouTube Video. - google.ads.googleads.v3.common.YouTubeVideoInfo youtube_video = 20; + // Immutable. YouTube Video. + google.ads.googleads.v3.common.YouTubeVideoInfo youtube_video = 20 [(google.api.field_behavior) = IMMUTABLE]; - // YouTube Channel. - google.ads.googleads.v3.common.YouTubeChannelInfo youtube_channel = 21; + // Immutable. YouTube Channel. + google.ads.googleads.v3.common.YouTubeChannelInfo youtube_channel = 21 [(google.api.field_behavior) = IMMUTABLE]; - // Proximity. - google.ads.googleads.v3.common.ProximityInfo proximity = 23; + // Immutable. Proximity. + google.ads.googleads.v3.common.ProximityInfo proximity = 23 [(google.api.field_behavior) = IMMUTABLE]; - // Topic. - google.ads.googleads.v3.common.TopicInfo topic = 24; + // Immutable. Topic. + google.ads.googleads.v3.common.TopicInfo topic = 24 [(google.api.field_behavior) = IMMUTABLE]; - // Listing scope. - google.ads.googleads.v3.common.ListingScopeInfo listing_scope = 25; + // Immutable. Listing scope. + google.ads.googleads.v3.common.ListingScopeInfo listing_scope = 25 [(google.api.field_behavior) = IMMUTABLE]; - // Language. - google.ads.googleads.v3.common.LanguageInfo language = 26; + // Immutable. Language. + google.ads.googleads.v3.common.LanguageInfo language = 26 [(google.api.field_behavior) = IMMUTABLE]; - // IpBlock. - google.ads.googleads.v3.common.IpBlockInfo ip_block = 27; + // Immutable. IpBlock. + google.ads.googleads.v3.common.IpBlockInfo ip_block = 27 [(google.api.field_behavior) = IMMUTABLE]; - // ContentLabel. - google.ads.googleads.v3.common.ContentLabelInfo content_label = 28; + // Immutable. ContentLabel. + google.ads.googleads.v3.common.ContentLabelInfo content_label = 28 [(google.api.field_behavior) = IMMUTABLE]; - // Carrier. - google.ads.googleads.v3.common.CarrierInfo carrier = 29; + // Immutable. Carrier. + google.ads.googleads.v3.common.CarrierInfo carrier = 29 [(google.api.field_behavior) = IMMUTABLE]; - // User Interest. - google.ads.googleads.v3.common.UserInterestInfo user_interest = 30; + // Immutable. User Interest. + google.ads.googleads.v3.common.UserInterestInfo user_interest = 30 [(google.api.field_behavior) = IMMUTABLE]; - // Webpage. - google.ads.googleads.v3.common.WebpageInfo webpage = 31; + // Immutable. Webpage. + google.ads.googleads.v3.common.WebpageInfo webpage = 31 [(google.api.field_behavior) = IMMUTABLE]; - // Operating system version. - google.ads.googleads.v3.common.OperatingSystemVersionInfo operating_system_version = 32; + // Immutable. Operating system version. + google.ads.googleads.v3.common.OperatingSystemVersionInfo operating_system_version = 32 [(google.api.field_behavior) = IMMUTABLE]; - // Mobile Device. - google.ads.googleads.v3.common.MobileDeviceInfo mobile_device = 33; + // Immutable. Mobile Device. + google.ads.googleads.v3.common.MobileDeviceInfo mobile_device = 33 [(google.api.field_behavior) = IMMUTABLE]; - // Location Group - google.ads.googleads.v3.common.LocationGroupInfo location_group = 34; + // Immutable. Location Group + google.ads.googleads.v3.common.LocationGroupInfo location_group = 34 [(google.api.field_behavior) = IMMUTABLE]; - // Custom Affinity. - google.ads.googleads.v3.common.CustomAffinityInfo custom_affinity = 36; + // Immutable. Custom Affinity. + google.ads.googleads.v3.common.CustomAffinityInfo custom_affinity = 36 [(google.api.field_behavior) = IMMUTABLE]; } } diff --git a/google/ads/googleads/v3/resources/campaign_criterion_simulation.proto b/google/ads/googleads/v3/resources/campaign_criterion_simulation.proto index e5ff3473..f57a3ba7 100644 --- a/google/ads/googleads/v3/resources/campaign_criterion_simulation.proto +++ b/google/ads/googleads/v3/resources/campaign_criterion_simulation.proto @@ -19,6 +19,7 @@ package google.ads.googleads.v3.resources; import "google/ads/googleads/v3/common/simulation.proto"; import "google/ads/googleads/v3/enums/simulation_modification_method.proto"; import "google/ads/googleads/v3/enums/simulation_type.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -47,33 +48,38 @@ message CampaignCriterionSimulation { pattern: "customers/{customer}/campaignCriterionSimulations/{campaign_criterion_simulation}" }; - // The resource name of the campaign criterion simulation. + // Output only. The resource name of the campaign criterion simulation. // Campaign criterion simulation resource names have the form: // // `customers/{customer_id}/campaignCriterionSimulations/{campaign_id}~{criterion_id}~{type}~{modification_method}~{start_date}~{end_date}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignCriterionSimulation" + } + ]; - // Campaign ID of the simulation. - google.protobuf.Int64Value campaign_id = 2; + // Output only. Campaign ID of the simulation. + google.protobuf.Int64Value campaign_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Criterion ID of the simulation. - google.protobuf.Int64Value criterion_id = 3; + // Output only. Criterion ID of the simulation. + google.protobuf.Int64Value criterion_id = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The field that the simulation modifies. - google.ads.googleads.v3.enums.SimulationTypeEnum.SimulationType type = 4; + // Output only. The field that the simulation modifies. + google.ads.googleads.v3.enums.SimulationTypeEnum.SimulationType type = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; - // How the simulation modifies the field. - google.ads.googleads.v3.enums.SimulationModificationMethodEnum.SimulationModificationMethod modification_method = 5; + // Output only. How the simulation modifies the field. + google.ads.googleads.v3.enums.SimulationModificationMethodEnum.SimulationModificationMethod modification_method = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; - // First day on which the simulation is based, in YYYY-MM-DD format. - google.protobuf.StringValue start_date = 6; + // Output only. First day on which the simulation is based, in YYYY-MM-DD format. + google.protobuf.StringValue start_date = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Last day on which the simulation is based, in YYYY-MM-DD format. - google.protobuf.StringValue end_date = 7; + // Output only. Last day on which the simulation is based, in YYYY-MM-DD format. + google.protobuf.StringValue end_date = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; // List of simulation points. oneof point_list { - // Simulation points if the simulation type is BID_MODIFIER. - google.ads.googleads.v3.common.BidModifierSimulationPointList bid_modifier_point_list = 8; + // Output only. Simulation points if the simulation type is BID_MODIFIER. + google.ads.googleads.v3.common.BidModifierSimulationPointList bid_modifier_point_list = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; } } diff --git a/google/ads/googleads/v3/resources/campaign_draft.proto b/google/ads/googleads/v3/resources/campaign_draft.proto index 582faa1c..6e3601b6 100644 --- a/google/ads/googleads/v3/resources/campaign_draft.proto +++ b/google/ads/googleads/v3/resources/campaign_draft.proto @@ -17,6 +17,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; import "google/ads/googleads/v3/enums/campaign_draft_status.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -39,19 +40,29 @@ message CampaignDraft { pattern: "customers/{customer}/campaignDrafts/{campaign_draft}" }; - // The resource name of the campaign draft. + // Immutable. The resource name of the campaign draft. // Campaign draft resource names have the form: // // `customers/{customer_id}/campaignDrafts/{base_campaign_id}~{draft_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignDraft" + } + ]; - // The ID of the draft. + // Output only. The ID of the draft. // // This field is read-only. - google.protobuf.Int64Value draft_id = 2; + google.protobuf.Int64Value draft_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The base campaign to which the draft belongs. - google.protobuf.StringValue base_campaign = 3; + // Immutable. The base campaign to which the draft belongs. + google.protobuf.StringValue base_campaign = 3 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; // The name of the campaign draft. // @@ -62,22 +73,27 @@ message CampaignDraft { // (code point 0xA) or carriage return (code point 0xD) characters. google.protobuf.StringValue name = 4; - // Resource name of the Campaign that results from overlaying the draft + // Output only. Resource name of the Campaign that results from overlaying the draft // changes onto the base campaign. // // This field is read-only. - google.protobuf.StringValue draft_campaign = 5; + google.protobuf.StringValue draft_campaign = 5 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; - // The status of the campaign draft. This field is read-only. + // Output only. The status of the campaign draft. This field is read-only. // // When a new campaign draft is added, the status defaults to PROPOSED. - google.ads.googleads.v3.enums.CampaignDraftStatusEnum.CampaignDraftStatus status = 6; + google.ads.googleads.v3.enums.CampaignDraftStatusEnum.CampaignDraftStatus status = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Whether there is an experiment based on this draft currently serving. - google.protobuf.BoolValue has_experiment_running = 7; + // Output only. Whether there is an experiment based on this draft currently serving. + google.protobuf.BoolValue has_experiment_running = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The resource name of the long-running operation that can be used to poll + // Output only. The resource name of the long-running operation that can be used to poll // for completion of draft promotion. This is only set if the draft promotion // is in progress or finished. - google.protobuf.StringValue long_running_operation = 8; + google.protobuf.StringValue long_running_operation = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; } diff --git a/google/ads/googleads/v3/resources/campaign_experiment.proto b/google/ads/googleads/v3/resources/campaign_experiment.proto index 92379600..a02838ba 100644 --- a/google/ads/googleads/v3/resources/campaign_experiment.proto +++ b/google/ads/googleads/v3/resources/campaign_experiment.proto @@ -18,6 +18,7 @@ package google.ads.googleads.v3.resources; import "google/ads/googleads/v3/enums/campaign_experiment_status.proto"; import "google/ads/googleads/v3/enums/campaign_experiment_traffic_split_type.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -41,19 +42,29 @@ message CampaignExperiment { pattern: "customers/{customer}/campaignExperiments/{campaign_experiment}" }; - // The resource name of the campaign experiment. + // Immutable. The resource name of the campaign experiment. // Campaign experiment resource names have the form: // // `customers/{customer_id}/campaignExperiments/{campaign_experiment_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignExperiment" + } + ]; - // The ID of the campaign experiment. + // Output only. The ID of the campaign experiment. // // This field is read-only. - google.protobuf.Int64Value id = 2; + google.protobuf.Int64Value id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The campaign draft with staged changes to the base campaign. - google.protobuf.StringValue campaign_draft = 3; + // Immutable. The campaign draft with staged changes to the base campaign. + google.protobuf.StringValue campaign_draft = 3 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignDraft" + } + ]; // The name of the campaign experiment. // @@ -68,24 +79,29 @@ message CampaignExperiment { // The description of the experiment. google.protobuf.StringValue description = 5; - // Share of traffic directed to experiment as a percent (must be between 1 and + // Immutable. Share of traffic directed to experiment as a percent (must be between 1 and // 99 inclusive. Base campaign receives the remainder of the traffic // (100 - traffic_split_percent). Required for create. - google.protobuf.Int64Value traffic_split_percent = 6; + google.protobuf.Int64Value traffic_split_percent = 6 [(google.api.field_behavior) = IMMUTABLE]; - // Determines the behavior of the traffic split. - google.ads.googleads.v3.enums.CampaignExperimentTrafficSplitTypeEnum.CampaignExperimentTrafficSplitType traffic_split_type = 7; + // Immutable. Determines the behavior of the traffic split. + google.ads.googleads.v3.enums.CampaignExperimentTrafficSplitTypeEnum.CampaignExperimentTrafficSplitType traffic_split_type = 7 [(google.api.field_behavior) = IMMUTABLE]; - // The experiment campaign, as opposed to the base campaign. - google.protobuf.StringValue experiment_campaign = 8; + // Output only. The experiment campaign, as opposed to the base campaign. + google.protobuf.StringValue experiment_campaign = 8 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; - // The status of the campaign experiment. This field is read-only. - google.ads.googleads.v3.enums.CampaignExperimentStatusEnum.CampaignExperimentStatus status = 9; + // Output only. The status of the campaign experiment. This field is read-only. + google.ads.googleads.v3.enums.CampaignExperimentStatusEnum.CampaignExperimentStatus status = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The resource name of the long-running operation that can be used to poll + // Output only. The resource name of the long-running operation that can be used to poll // for completion of experiment create or promote. The most recent long // running operation is returned. - google.protobuf.StringValue long_running_operation = 10; + google.protobuf.StringValue long_running_operation = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; // Date when the campaign experiment starts. By default, the experiment starts // now or on the campaign's start date, whichever is later. If this field is diff --git a/google/ads/googleads/v3/resources/campaign_extension_setting.proto b/google/ads/googleads/v3/resources/campaign_extension_setting.proto index 8fc2c5d6..32758f7e 100644 --- a/google/ads/googleads/v3/resources/campaign_extension_setting.proto +++ b/google/ads/googleads/v3/resources/campaign_extension_setting.proto @@ -18,6 +18,7 @@ package google.ads.googleads.v3.resources; import "google/ads/googleads/v3/enums/extension_setting_device.proto"; import "google/ads/googleads/v3/enums/extension_type.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -40,27 +41,39 @@ message CampaignExtensionSetting { pattern: "customers/{customer}/campaignExtensionSettings/{campaign_extension_setting}" }; - // The resource name of the campaign extension setting. + // Immutable. The resource name of the campaign extension setting. // CampaignExtensionSetting resource names have the form: // // `customers/{customer_id}/campaignExtensionSettings/{campaign_id}~{extension_type}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignExtensionSetting" + } + ]; - // The extension type of the customer extension setting. - google.ads.googleads.v3.enums.ExtensionTypeEnum.ExtensionType extension_type = 2; + // Immutable. The extension type of the customer extension setting. + google.ads.googleads.v3.enums.ExtensionTypeEnum.ExtensionType extension_type = 2 [(google.api.field_behavior) = IMMUTABLE]; - // The resource name of the campaign. The linked extension feed items will + // Immutable. The resource name of the campaign. The linked extension feed items will // serve under this campaign. // Campaign resource names have the form: // // `customers/{customer_id}/campaigns/{campaign_id}` - google.protobuf.StringValue campaign = 3; + google.protobuf.StringValue campaign = 3 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; // The resource names of the extension feed items to serve under the campaign. // ExtensionFeedItem resource names have the form: // // `customers/{customer_id}/extensionFeedItems/{feed_item_id}` - repeated google.protobuf.StringValue extension_feed_items = 4; + repeated google.protobuf.StringValue extension_feed_items = 4 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ExtensionFeedItem" + }]; // The device for which the extensions will serve. Optional. google.ads.googleads.v3.enums.ExtensionSettingDeviceEnum.ExtensionSettingDevice device = 5; diff --git a/google/ads/googleads/v3/resources/campaign_feed.proto b/google/ads/googleads/v3/resources/campaign_feed.proto index e61c0eab..7836d161 100644 --- a/google/ads/googleads/v3/resources/campaign_feed.proto +++ b/google/ads/googleads/v3/resources/campaign_feed.proto @@ -19,6 +19,7 @@ package google.ads.googleads.v3.resources; import "google/ads/googleads/v3/common/matching_function.proto"; import "google/ads/googleads/v3/enums/feed_link_status.proto"; import "google/ads/googleads/v3/enums/placeholder_type.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -41,17 +42,32 @@ message CampaignFeed { pattern: "customers/{customer}/campaignFeeds/{campaign_feed}" }; - // The resource name of the campaign feed. + // Immutable. The resource name of the campaign feed. // Campaign feed resource names have the form: // // `customers/{customer_id}/campaignFeeds/{campaign_id}~{feed_id} - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignFeed" + } + ]; - // The feed to which the CampaignFeed belongs. - google.protobuf.StringValue feed = 2; + // Immutable. The feed to which the CampaignFeed belongs. + google.protobuf.StringValue feed = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Feed" + } + ]; - // The campaign to which the CampaignFeed belongs. - google.protobuf.StringValue campaign = 3; + // Immutable. The campaign to which the CampaignFeed belongs. + google.protobuf.StringValue campaign = 3 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; // Indicates which placeholder types the feed may populate under the connected // campaign. Required. @@ -62,7 +78,7 @@ message CampaignFeed { // Required. google.ads.googleads.v3.common.MatchingFunction matching_function = 5; - // Status of the campaign feed. + // Output only. Status of the campaign feed. // This field is read-only. - google.ads.googleads.v3.enums.FeedLinkStatusEnum.FeedLinkStatus status = 6; + google.ads.googleads.v3.enums.FeedLinkStatusEnum.FeedLinkStatus status = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; } diff --git a/google/ads/googleads/v3/resources/campaign_label.proto b/google/ads/googleads/v3/resources/campaign_label.proto index f29ae1e3..8a92f5fa 100644 --- a/google/ads/googleads/v3/resources/campaign_label.proto +++ b/google/ads/googleads/v3/resources/campaign_label.proto @@ -16,6 +16,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -38,14 +39,29 @@ message CampaignLabel { pattern: "customers/{customer}/campaignLabels/{campaign_label}" }; - // Name of the resource. + // Immutable. Name of the resource. // Campaign label resource names have the form: // `customers/{customer_id}/campaignLabels/{campaign_id}~{label_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignLabel" + } + ]; - // The campaign to which the label is attached. - google.protobuf.StringValue campaign = 2; + // Immutable. The campaign to which the label is attached. + google.protobuf.StringValue campaign = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; - // The label assigned to the campaign. - google.protobuf.StringValue label = 3; + // Immutable. The label assigned to the campaign. + google.protobuf.StringValue label = 3 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Label" + } + ]; } diff --git a/google/ads/googleads/v3/resources/campaign_shared_set.proto b/google/ads/googleads/v3/resources/campaign_shared_set.proto index deb133cc..2dab3234 100644 --- a/google/ads/googleads/v3/resources/campaign_shared_set.proto +++ b/google/ads/googleads/v3/resources/campaign_shared_set.proto @@ -17,6 +17,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; import "google/ads/googleads/v3/enums/campaign_shared_set_status.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -40,23 +41,38 @@ message CampaignSharedSet { pattern: "customers/{customer}/campaignSharedSets/{campaign_shared_set}" }; - // The resource name of the campaign shared set. + // Immutable. The resource name of the campaign shared set. // Campaign shared set resource names have the form: // // `customers/{customer_id}/campaignSharedSets/{campaign_id}~{shared_set_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignSharedSet" + } + ]; - // The campaign to which the campaign shared set belongs. - google.protobuf.StringValue campaign = 3; + // Immutable. The campaign to which the campaign shared set belongs. + google.protobuf.StringValue campaign = 3 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; - // The shared set associated with the campaign. This may be a negative keyword + // Immutable. The shared set associated with the campaign. This may be a negative keyword // shared set of another customer. This customer should be a manager of the // other customer, otherwise the campaign shared set will exist but have no // serving effect. Only negative keyword shared sets can be associated with // Shopping campaigns. Only negative placement shared sets can be associated // with Display mobile app campaigns. - google.protobuf.StringValue shared_set = 4; + google.protobuf.StringValue shared_set = 4 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/SharedSet" + } + ]; - // The status of this campaign shared set. Read only. - google.ads.googleads.v3.enums.CampaignSharedSetStatusEnum.CampaignSharedSetStatus status = 2; + // Output only. The status of this campaign shared set. Read only. + google.ads.googleads.v3.enums.CampaignSharedSetStatusEnum.CampaignSharedSetStatus status = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; } diff --git a/google/ads/googleads/v3/resources/carrier_constant.proto b/google/ads/googleads/v3/resources/carrier_constant.proto index 0f350f3a..b892f3e4 100644 --- a/google/ads/googleads/v3/resources/carrier_constant.proto +++ b/google/ads/googleads/v3/resources/carrier_constant.proto @@ -16,6 +16,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -38,19 +39,24 @@ message CarrierConstant { pattern: "carrierConstants/{carrier_constant}" }; - // The resource name of the carrier criterion. + // Output only. The resource name of the carrier criterion. // Carrier criterion resource names have the form: // // `carrierConstants/{criterion_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CarrierConstant" + } + ]; - // The ID of the carrier criterion. - google.protobuf.Int64Value id = 2; + // Output only. The ID of the carrier criterion. + google.protobuf.Int64Value id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The full name of the carrier in English. - google.protobuf.StringValue name = 3; + // Output only. The full name of the carrier in English. + google.protobuf.StringValue name = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The country code of the country where the carrier is located, e.g., "AR", + // Output only. The country code of the country where the carrier is located, e.g., "AR", // "FR", etc. - google.protobuf.StringValue country_code = 4; + google.protobuf.StringValue country_code = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; } diff --git a/google/ads/googleads/v3/resources/change_status.proto b/google/ads/googleads/v3/resources/change_status.proto index 77d81ea0..9c54a236 100644 --- a/google/ads/googleads/v3/resources/change_status.proto +++ b/google/ads/googleads/v3/resources/change_status.proto @@ -18,6 +18,7 @@ package google.ads.googleads.v3.resources; import "google/ads/googleads/v3/enums/change_status_operation.proto"; import "google/ads/googleads/v3/enums/change_status_resource_type.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -40,50 +41,105 @@ message ChangeStatus { pattern: "customers/{customer}/changeStatus/{change_status}" }; - // The resource name of the change status. + // Output only. The resource name of the change status. // Change status resource names have the form: // // `customers/{customer_id}/changeStatus/{change_status_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ChangeStatus" + } + ]; - // Time at which the most recent change has occurred on this resource. - google.protobuf.StringValue last_change_date_time = 3; + // Output only. Time at which the most recent change has occurred on this resource. + google.protobuf.StringValue last_change_date_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Represents the type of the changed resource. This dictates what fields + // Output only. Represents the type of the changed resource. This dictates what fields // will be set. For example, for AD_GROUP, campaign and ad_group fields will // be set. - google.ads.googleads.v3.enums.ChangeStatusResourceTypeEnum.ChangeStatusResourceType resource_type = 4; + google.ads.googleads.v3.enums.ChangeStatusResourceTypeEnum.ChangeStatusResourceType resource_type = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The Campaign affected by this change. - google.protobuf.StringValue campaign = 5; + // Output only. The Campaign affected by this change. + google.protobuf.StringValue campaign = 5 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; - // The AdGroup affected by this change. - google.protobuf.StringValue ad_group = 6; + // Output only. The AdGroup affected by this change. + google.protobuf.StringValue ad_group = 6 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; - // Represents the status of the changed resource. - google.ads.googleads.v3.enums.ChangeStatusOperationEnum.ChangeStatusOperation resource_status = 8; + // Output only. Represents the status of the changed resource. + google.ads.googleads.v3.enums.ChangeStatusOperationEnum.ChangeStatusOperation resource_status = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The AdGroupAd affected by this change. - google.protobuf.StringValue ad_group_ad = 9; + // Output only. The AdGroupAd affected by this change. + google.protobuf.StringValue ad_group_ad = 9 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAd" + } + ]; - // The AdGroupCriterion affected by this change. - google.protobuf.StringValue ad_group_criterion = 10; + // Output only. The AdGroupCriterion affected by this change. + google.protobuf.StringValue ad_group_criterion = 10 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterion" + } + ]; - // The CampaignCriterion affected by this change. - google.protobuf.StringValue campaign_criterion = 11; + // Output only. The CampaignCriterion affected by this change. + google.protobuf.StringValue campaign_criterion = 11 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignCriterion" + } + ]; - // The Feed affected by this change. - google.protobuf.StringValue feed = 12; + // Output only. The Feed affected by this change. + google.protobuf.StringValue feed = 12 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Feed" + } + ]; - // The FeedItem affected by this change. - google.protobuf.StringValue feed_item = 13; + // Output only. The FeedItem affected by this change. + google.protobuf.StringValue feed_item = 13 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItem" + } + ]; - // The AdGroupFeed affected by this change. - google.protobuf.StringValue ad_group_feed = 14; + // Output only. The AdGroupFeed affected by this change. + google.protobuf.StringValue ad_group_feed = 14 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupFeed" + } + ]; - // The CampaignFeed affected by this change. - google.protobuf.StringValue campaign_feed = 15; + // Output only. The CampaignFeed affected by this change. + google.protobuf.StringValue campaign_feed = 15 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignFeed" + } + ]; - // The AdGroupBidModifier affected by this change. - google.protobuf.StringValue ad_group_bid_modifier = 16; + // Output only. The AdGroupBidModifier affected by this change. + google.protobuf.StringValue ad_group_bid_modifier = 16 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupBidModifier" + } + ]; } diff --git a/google/ads/googleads/v3/resources/click_view.proto b/google/ads/googleads/v3/resources/click_view.proto index de6548f3..216e207e 100644 --- a/google/ads/googleads/v3/resources/click_view.proto +++ b/google/ads/googleads/v3/resources/click_view.proto @@ -17,6 +17,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; import "google/ads/googleads/v3/common/click_location.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -44,26 +45,36 @@ message ClickView { pattern: "customers/{customer}/clickViews/{click_view}" }; - // The resource name of the click view. + // Output only. The resource name of the click view. // Click view resource names have the form: // // `customers/{customer_id}/clickViews/{date (yyyy-MM-dd)}~{gclid}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ClickView" + } + ]; - // The Google Click ID. - google.protobuf.StringValue gclid = 2; + // Output only. The Google Click ID. + google.protobuf.StringValue gclid = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The location criteria matching the area of interest associated with the + // Output only. The location criteria matching the area of interest associated with the // impression. - google.ads.googleads.v3.common.ClickLocation area_of_interest = 3; + google.ads.googleads.v3.common.ClickLocation area_of_interest = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The location criteria matching the location of presence associated with the + // Output only. The location criteria matching the location of presence associated with the // impression. - google.ads.googleads.v3.common.ClickLocation location_of_presence = 4; + google.ads.googleads.v3.common.ClickLocation location_of_presence = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Page number in search results where the ad was shown. - google.protobuf.Int64Value page_number = 5; + // Output only. Page number in search results where the ad was shown. + google.protobuf.Int64Value page_number = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The associated ad. - google.protobuf.StringValue ad_group_ad = 7; + // Output only. The associated ad. + google.protobuf.StringValue ad_group_ad = 7 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAd" + } + ]; } diff --git a/google/ads/googleads/v3/resources/conversion_action.proto b/google/ads/googleads/v3/resources/conversion_action.proto index 1aa33fcf..b5a33d3c 100644 --- a/google/ads/googleads/v3/resources/conversion_action.proto +++ b/google/ads/googleads/v3/resources/conversion_action.proto @@ -23,6 +23,7 @@ import "google/ads/googleads/v3/enums/conversion_action_counting_type.proto"; import "google/ads/googleads/v3/enums/conversion_action_status.proto"; import "google/ads/googleads/v3/enums/conversion_action_type.proto"; import "google/ads/googleads/v3/enums/data_driven_model_status.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -50,9 +51,9 @@ message ConversionAction { // The attribution model type of this conversion action. google.ads.googleads.v3.enums.AttributionModelEnum.AttributionModel attribution_model = 1; - // The status of the data-driven attribution model for the conversion + // Output only. The status of the data-driven attribution model for the conversion // action. - google.ads.googleads.v3.enums.DataDrivenModelStatusEnum.DataDrivenModelStatus data_driven_model_status = 2; + google.ads.googleads.v3.enums.DataDrivenModelStatusEnum.DataDrivenModelStatus data_driven_model_status = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; } // Settings related to the value for conversion events associated with this @@ -74,14 +75,19 @@ message ConversionAction { google.protobuf.BoolValue always_use_default_value = 3; } - // The resource name of the conversion action. + // Immutable. The resource name of the conversion action. // Conversion action resource names have the form: // // `customers/{customer_id}/conversionActions/{conversion_action_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionAction" + } + ]; - // The ID of the conversion action. - google.protobuf.Int64Value id = 2; + // Output only. The ID of the conversion action. + google.protobuf.Int64Value id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; // The name of the conversion action. // @@ -92,15 +98,15 @@ message ConversionAction { // The status of this conversion action for conversion event accrual. google.ads.googleads.v3.enums.ConversionActionStatusEnum.ConversionActionStatus status = 4; - // The type of this conversion action. - google.ads.googleads.v3.enums.ConversionActionTypeEnum.ConversionActionType type = 5; + // Immutable. The type of this conversion action. + google.ads.googleads.v3.enums.ConversionActionTypeEnum.ConversionActionType type = 5 [(google.api.field_behavior) = IMMUTABLE]; // The category of conversions reported for this conversion action. google.ads.googleads.v3.enums.ConversionActionCategoryEnum.ConversionActionCategory category = 6; - // The resource name of the conversion action owner customer, or null if this + // Output only. The resource name of the conversion action owner customer, or null if this // is a system-defined conversion action. - google.protobuf.StringValue owner_customer = 7; + google.protobuf.StringValue owner_customer = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; // Whether this conversion action should be included in the "conversions" // metric. @@ -124,8 +130,8 @@ message ConversionAction { // Settings related to this conversion action's attribution model. AttributionModelSettings attribution_model_settings = 13; - // The snippets used for tracking conversions. - repeated google.ads.googleads.v3.common.TagSnippet tag_snippets = 14; + // Output only. The snippets used for tracking conversions. + repeated google.ads.googleads.v3.common.TagSnippet tag_snippets = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; // The phone call duration in seconds after which a conversion should be // reported for this conversion action. diff --git a/google/ads/googleads/v3/resources/currency_constant.proto b/google/ads/googleads/v3/resources/currency_constant.proto index 270c6083..69be8065 100644 --- a/google/ads/googleads/v3/resources/currency_constant.proto +++ b/google/ads/googleads/v3/resources/currency_constant.proto @@ -16,6 +16,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -38,22 +39,27 @@ message CurrencyConstant { pattern: "currencyConstants/{currency_constant}" }; - // The resource name of the currency constant. + // Output only. The resource name of the currency constant. // Currency constant resource names have the form: // // `currencyConstants/{currency_code}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CurrencyConstant" + } + ]; - // ISO 4217 three-letter currency code, e.g. "USD" - google.protobuf.StringValue code = 2; + // Output only. ISO 4217 three-letter currency code, e.g. "USD" + google.protobuf.StringValue code = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Full English name of the currency. - google.protobuf.StringValue name = 3; + // Output only. Full English name of the currency. + google.protobuf.StringValue name = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Standard symbol for describing this currency, e.g. '$' for US Dollars. - google.protobuf.StringValue symbol = 4; + // Output only. Standard symbol for describing this currency, e.g. '$' for US Dollars. + google.protobuf.StringValue symbol = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The billable unit for this currency. Billed amounts should be multiples of + // Output only. The billable unit for this currency. Billed amounts should be multiples of // this value. - google.protobuf.Int64Value billable_unit_micros = 5; + google.protobuf.Int64Value billable_unit_micros = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; } diff --git a/google/ads/googleads/v3/resources/custom_interest.proto b/google/ads/googleads/v3/resources/custom_interest.proto index bfe3f051..c2824dec 100644 --- a/google/ads/googleads/v3/resources/custom_interest.proto +++ b/google/ads/googleads/v3/resources/custom_interest.proto @@ -19,6 +19,7 @@ package google.ads.googleads.v3.resources; import "google/ads/googleads/v3/enums/custom_interest_member_type.proto"; import "google/ads/googleads/v3/enums/custom_interest_status.proto"; import "google/ads/googleads/v3/enums/custom_interest_type.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -41,14 +42,19 @@ message CustomInterest { pattern: "customers/{customer}/customInterests/{custom_interest}" }; - // The resource name of the custom interest. + // Immutable. The resource name of the custom interest. // Custom interest resource names have the form: // // `customers/{customer_id}/customInterests/{custom_interest_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomInterest" + } + ]; - // Id of the custom interest. - google.protobuf.Int64Value id = 2; + // Output only. Id of the custom interest. + google.protobuf.Int64Value id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; // Status of this custom interest. Indicates whether the custom interest is // enabled or removed. diff --git a/google/ads/googleads/v3/resources/customer.proto b/google/ads/googleads/v3/resources/customer.proto index 89d074be..7e4d3af1 100644 --- a/google/ads/googleads/v3/resources/customer.proto +++ b/google/ads/googleads/v3/resources/customer.proto @@ -17,6 +17,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; import "google/ads/googleads/v3/enums/customer_pay_per_conversion_eligibility_failure_reason.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -39,25 +40,30 @@ message Customer { pattern: "customers/{customer}" }; - // The resource name of the customer. + // Immutable. The resource name of the customer. // Customer resource names have the form: // // `customers/{customer_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + } + ]; - // The ID of the customer. - google.protobuf.Int64Value id = 3; + // Output only. The ID of the customer. + google.protobuf.Int64Value id = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; // Optional, non-unique descriptive name of the customer. google.protobuf.StringValue descriptive_name = 4; - // The currency in which the account operates. + // Immutable. The currency in which the account operates. // A subset of the currency codes from the ISO 4217 standard is // supported. - google.protobuf.StringValue currency_code = 5; + google.protobuf.StringValue currency_code = 5 [(google.api.field_behavior) = IMMUTABLE]; - // The local timezone ID of the customer. - google.protobuf.StringValue time_zone = 6; + // Immutable. The local timezone ID of the customer. + google.protobuf.StringValue time_zone = 6 [(google.api.field_behavior) = IMMUTABLE]; // The URL template for constructing a tracking URL out of parameters. google.protobuf.StringValue tracking_url_template = 7; @@ -68,29 +74,29 @@ message Customer { // Whether auto-tagging is enabled for the customer. google.protobuf.BoolValue auto_tagging_enabled = 8; - // Whether the Customer has a Partners program badge. If the Customer is not + // Output only. Whether the Customer has a Partners program badge. If the Customer is not // associated with the Partners program, this will be false. For more // information, see https://support.google.com/partners/answer/3125774. - google.protobuf.BoolValue has_partners_badge = 9; + google.protobuf.BoolValue has_partners_badge = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Whether the customer is a manager. - google.protobuf.BoolValue manager = 12; + // Output only. Whether the customer is a manager. + google.protobuf.BoolValue manager = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Whether the customer is a test account. - google.protobuf.BoolValue test_account = 13; + // Output only. Whether the customer is a test account. + google.protobuf.BoolValue test_account = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; // Call reporting setting for a customer. CallReportingSetting call_reporting_setting = 10; - // Conversion tracking setting for a customer. - ConversionTrackingSetting conversion_tracking_setting = 14; + // Output only. Conversion tracking setting for a customer. + ConversionTrackingSetting conversion_tracking_setting = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Remarketing setting for a customer. - RemarketingSetting remarketing_setting = 15; + // Output only. Remarketing setting for a customer. + RemarketingSetting remarketing_setting = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Reasons why the customer is not eligible to use PaymentMode.CONVERSIONS. If + // Output only. Reasons why the customer is not eligible to use PaymentMode.CONVERSIONS. If // the list is empty, the customer is eligible. This field is read-only. - repeated google.ads.googleads.v3.enums.CustomerPayPerConversionEligibilityFailureReasonEnum.CustomerPayPerConversionEligibilityFailureReason pay_per_conversion_eligibility_failure_reasons = 16; + repeated google.ads.googleads.v3.enums.CustomerPayPerConversionEligibilityFailureReasonEnum.CustomerPayPerConversionEligibilityFailureReason pay_per_conversion_eligibility_failure_reasons = 16 [(google.api.field_behavior) = OUTPUT_ONLY]; } // Call reporting setting for a customer. @@ -105,26 +111,28 @@ message CallReportingSetting { // Customer-level call conversion action to attribute a call conversion to. // If not set a default conversion action is used. Only in effect when // call_conversion_reporting_enabled is set to true. - google.protobuf.StringValue call_conversion_action = 9; + google.protobuf.StringValue call_conversion_action = 9 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionAction" + }]; } // A collection of customer-wide settings related to Google Ads Conversion // Tracking. message ConversionTrackingSetting { - // The conversion tracking id used for this account. This id is automatically + // Output only. The conversion tracking id used for this account. This id is automatically // assigned after any conversion tracking feature is used. If the customer // doesn't use conversion tracking, this is 0. This field is read-only. - google.protobuf.Int64Value conversion_tracking_id = 1; + google.protobuf.Int64Value conversion_tracking_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The conversion tracking id of the customer's manager. This is set when the + // Output only. The conversion tracking id of the customer's manager. This is set when the // customer is opted into cross account conversion tracking, and it overrides // conversion_tracking_id. This field can only be managed through the Google // Ads UI. This field is read-only. - google.protobuf.Int64Value cross_account_conversion_tracking_id = 2; + google.protobuf.Int64Value cross_account_conversion_tracking_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; } // Remarketing setting for a customer. message RemarketingSetting { - // The Google global site tag. - google.protobuf.StringValue google_global_site_tag = 1; + // Output only. The Google global site tag. + google.protobuf.StringValue google_global_site_tag = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; } diff --git a/google/ads/googleads/v3/resources/customer_client.proto b/google/ads/googleads/v3/resources/customer_client.proto index 23dd9912..d04d4cad 100644 --- a/google/ads/googleads/v3/resources/customer_client.proto +++ b/google/ads/googleads/v3/resources/customer_client.proto @@ -16,6 +16,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -40,40 +41,45 @@ message CustomerClient { pattern: "customers/{customer}/customerClients/{customer_client}" }; - // The resource name of the customer client. + // Output only. The resource name of the customer client. // CustomerClient resource names have the form: // `customers/{customer_id}/customerClients/{client_customer_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerClient" + } + ]; - // The resource name of the client-customer which is linked to + // Output only. The resource name of the client-customer which is linked to // the given customer. Read only. - google.protobuf.StringValue client_customer = 3; + google.protobuf.StringValue client_customer = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Specifies whether this is a + // Output only. Specifies whether this is a // [hidden account](https://support.google.com/google-ads/answer/7519830). // Read only. - google.protobuf.BoolValue hidden = 4; + google.protobuf.BoolValue hidden = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Distance between given customer and client. For self link, the level value + // Output only. Distance between given customer and client. For self link, the level value // will be 0. Read only. - google.protobuf.Int64Value level = 5; + google.protobuf.Int64Value level = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Common Locale Data Repository (CLDR) string representation of the + // Output only. Common Locale Data Repository (CLDR) string representation of the // time zone of the client, e.g. America/Los_Angeles. Read only. - google.protobuf.StringValue time_zone = 6; + google.protobuf.StringValue time_zone = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Identifies if the client is a test account. Read only. - google.protobuf.BoolValue test_account = 7; + // Output only. Identifies if the client is a test account. Read only. + google.protobuf.BoolValue test_account = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Identifies if the client is a manager. Read only. - google.protobuf.BoolValue manager = 8; + // Output only. Identifies if the client is a manager. Read only. + google.protobuf.BoolValue manager = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Descriptive name for the client. Read only. - google.protobuf.StringValue descriptive_name = 9; + // Output only. Descriptive name for the client. Read only. + google.protobuf.StringValue descriptive_name = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Currency code (e.g. 'USD', 'EUR') for the client. Read only. - google.protobuf.StringValue currency_code = 10; + // Output only. Currency code (e.g. 'USD', 'EUR') for the client. Read only. + google.protobuf.StringValue currency_code = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The ID of the client customer. Read only. - google.protobuf.Int64Value id = 11; + // Output only. The ID of the client customer. Read only. + google.protobuf.Int64Value id = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; } diff --git a/google/ads/googleads/v3/resources/customer_client_link.proto b/google/ads/googleads/v3/resources/customer_client_link.proto index 28c93e05..c0c8dd66 100644 --- a/google/ads/googleads/v3/resources/customer_client_link.proto +++ b/google/ads/googleads/v3/resources/customer_client_link.proto @@ -17,6 +17,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; import "google/ads/googleads/v3/enums/manager_link_status.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -39,16 +40,21 @@ message CustomerClientLink { pattern: "customers/{customer}/customerClientLinks/{customer_client_link}" }; - // Name of the resource. + // Immutable. Name of the resource. // CustomerClientLink resource names have the form: // `customers/{customer_id}/customerClientLinks/{client_customer_id}~{manager_link_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerClientLink" + } + ]; - // The client customer linked to this customer. - google.protobuf.StringValue client_customer = 3; + // Immutable. The client customer linked to this customer. + google.protobuf.StringValue client_customer = 3 [(google.api.field_behavior) = IMMUTABLE]; - // This is uniquely identifies a customer client link. Read only. - google.protobuf.Int64Value manager_link_id = 4; + // Output only. This is uniquely identifies a customer client link. Read only. + google.protobuf.Int64Value manager_link_id = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; // This is the status of the link between client and manager. google.ads.googleads.v3.enums.ManagerLinkStatusEnum.ManagerLinkStatus status = 5; diff --git a/google/ads/googleads/v3/resources/customer_extension_setting.proto b/google/ads/googleads/v3/resources/customer_extension_setting.proto index 557a856a..c4c1ef8b 100644 --- a/google/ads/googleads/v3/resources/customer_extension_setting.proto +++ b/google/ads/googleads/v3/resources/customer_extension_setting.proto @@ -18,6 +18,7 @@ package google.ads.googleads.v3.resources; import "google/ads/googleads/v3/enums/extension_setting_device.proto"; import "google/ads/googleads/v3/enums/extension_type.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -40,20 +41,27 @@ message CustomerExtensionSetting { pattern: "customers/{customer}/customerExtensionSettings/{customer_extension_setting}" }; - // The resource name of the customer extension setting. + // Immutable. The resource name of the customer extension setting. // CustomerExtensionSetting resource names have the form: // // `customers/{customer_id}/customerExtensionSettings/{extension_type}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerExtensionSetting" + } + ]; - // The extension type of the customer extension setting. - google.ads.googleads.v3.enums.ExtensionTypeEnum.ExtensionType extension_type = 2; + // Immutable. The extension type of the customer extension setting. + google.ads.googleads.v3.enums.ExtensionTypeEnum.ExtensionType extension_type = 2 [(google.api.field_behavior) = IMMUTABLE]; // The resource names of the extension feed items to serve under the customer. // ExtensionFeedItem resource names have the form: // // `customers/{customer_id}/extensionFeedItems/{feed_item_id}` - repeated google.protobuf.StringValue extension_feed_items = 3; + repeated google.protobuf.StringValue extension_feed_items = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ExtensionFeedItem" + }]; // The device for which the extensions will serve. Optional. google.ads.googleads.v3.enums.ExtensionSettingDeviceEnum.ExtensionSettingDevice device = 4; diff --git a/google/ads/googleads/v3/resources/customer_feed.proto b/google/ads/googleads/v3/resources/customer_feed.proto index 5246c004..aacc6938 100644 --- a/google/ads/googleads/v3/resources/customer_feed.proto +++ b/google/ads/googleads/v3/resources/customer_feed.proto @@ -19,6 +19,7 @@ package google.ads.googleads.v3.resources; import "google/ads/googleads/v3/common/matching_function.proto"; import "google/ads/googleads/v3/enums/feed_link_status.proto"; import "google/ads/googleads/v3/enums/placeholder_type.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -41,14 +42,24 @@ message CustomerFeed { pattern: "customers/{customer}/customerFeeds/{customer_feed}" }; - // The resource name of the customer feed. + // Immutable. The resource name of the customer feed. // Customer feed resource names have the form: // // `customers/{customer_id}/customerFeeds/{feed_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerFeed" + } + ]; - // The feed being linked to the customer. - google.protobuf.StringValue feed = 2; + // Immutable. The feed being linked to the customer. + google.protobuf.StringValue feed = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Feed" + } + ]; // Indicates which placeholder types the feed may populate under the connected // customer. Required. @@ -59,7 +70,7 @@ message CustomerFeed { // Required. google.ads.googleads.v3.common.MatchingFunction matching_function = 4; - // Status of the customer feed. + // Output only. Status of the customer feed. // This field is read-only. - google.ads.googleads.v3.enums.FeedLinkStatusEnum.FeedLinkStatus status = 5; + google.ads.googleads.v3.enums.FeedLinkStatusEnum.FeedLinkStatus status = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; } diff --git a/google/ads/googleads/v3/resources/customer_label.proto b/google/ads/googleads/v3/resources/customer_label.proto index 7da08d8d..c36f4c38 100644 --- a/google/ads/googleads/v3/resources/customer_label.proto +++ b/google/ads/googleads/v3/resources/customer_label.proto @@ -16,6 +16,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -40,18 +41,23 @@ message CustomerLabel { pattern: "customers/{customer}/customerLabels/{customer_label}" }; - // Name of the resource. + // Immutable. Name of the resource. // Customer label resource names have the form: // `customers/{customer_id}/customerLabels/{label_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerLabel" + } + ]; - // The resource name of the customer to which the label is attached. + // Output only. The resource name of the customer to which the label is attached. // Read only. - google.protobuf.StringValue customer = 2; + google.protobuf.StringValue customer = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The resource name of the label assigned to the customer. + // Output only. The resource name of the label assigned to the customer. // // Note: the Customer ID portion of the label resource name is not // validated when creating a new CustomerLabel. - google.protobuf.StringValue label = 3; + google.protobuf.StringValue label = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; } diff --git a/google/ads/googleads/v3/resources/customer_manager_link.proto b/google/ads/googleads/v3/resources/customer_manager_link.proto index f684662e..9843d9d3 100644 --- a/google/ads/googleads/v3/resources/customer_manager_link.proto +++ b/google/ads/googleads/v3/resources/customer_manager_link.proto @@ -17,6 +17,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; import "google/ads/googleads/v3/enums/manager_link_status.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -39,16 +40,21 @@ message CustomerManagerLink { pattern: "customers/{customer}/customerManagerLinks/{customer_manager_link}" }; - // Name of the resource. + // Immutable. Name of the resource. // CustomerManagerLink resource names have the form: // `customers/{customer_id}/customerManagerLinks/{manager_customer_id}~{manager_link_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerManagerLink" + } + ]; - // The manager customer linked to the customer. - google.protobuf.StringValue manager_customer = 3; + // Output only. The manager customer linked to the customer. + google.protobuf.StringValue manager_customer = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - // ID of the customer-manager link. This field is read only. - google.protobuf.Int64Value manager_link_id = 4; + // Output only. ID of the customer-manager link. This field is read only. + google.protobuf.Int64Value manager_link_id = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; // Status of the link between the customer and the manager. google.ads.googleads.v3.enums.ManagerLinkStatusEnum.ManagerLinkStatus status = 5; diff --git a/google/ads/googleads/v3/resources/customer_negative_criterion.proto b/google/ads/googleads/v3/resources/customer_negative_criterion.proto index e989bd51..521aabcd 100644 --- a/google/ads/googleads/v3/resources/customer_negative_criterion.proto +++ b/google/ads/googleads/v3/resources/customer_negative_criterion.proto @@ -18,6 +18,7 @@ package google.ads.googleads.v3.resources; import "google/ads/googleads/v3/common/criteria.proto"; import "google/ads/googleads/v3/enums/criterion_type.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -40,38 +41,43 @@ message CustomerNegativeCriterion { pattern: "customers/{customer}/customerNegativeCriteria/{customer_negative_criterion}" }; - // The resource name of the customer negative criterion. + // Immutable. The resource name of the customer negative criterion. // Customer negative criterion resource names have the form: // // `customers/{customer_id}/customerNegativeCriteria/{criterion_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerNegativeCriterion" + } + ]; - // The ID of the criterion. - google.protobuf.Int64Value id = 2; + // Output only. The ID of the criterion. + google.protobuf.Int64Value id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The type of the criterion. - google.ads.googleads.v3.enums.CriterionTypeEnum.CriterionType type = 3; + // Output only. The type of the criterion. + google.ads.googleads.v3.enums.CriterionTypeEnum.CriterionType type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; // The customer negative criterion. // // Exactly one must be set. oneof criterion { - // ContentLabel. - google.ads.googleads.v3.common.ContentLabelInfo content_label = 4; + // Immutable. ContentLabel. + google.ads.googleads.v3.common.ContentLabelInfo content_label = 4 [(google.api.field_behavior) = IMMUTABLE]; - // MobileApplication. - google.ads.googleads.v3.common.MobileApplicationInfo mobile_application = 5; + // Immutable. MobileApplication. + google.ads.googleads.v3.common.MobileApplicationInfo mobile_application = 5 [(google.api.field_behavior) = IMMUTABLE]; - // MobileAppCategory. - google.ads.googleads.v3.common.MobileAppCategoryInfo mobile_app_category = 6; + // Immutable. MobileAppCategory. + google.ads.googleads.v3.common.MobileAppCategoryInfo mobile_app_category = 6 [(google.api.field_behavior) = IMMUTABLE]; - // Placement. - google.ads.googleads.v3.common.PlacementInfo placement = 7; + // Immutable. Placement. + google.ads.googleads.v3.common.PlacementInfo placement = 7 [(google.api.field_behavior) = IMMUTABLE]; - // YouTube Video. - google.ads.googleads.v3.common.YouTubeVideoInfo youtube_video = 8; + // Immutable. YouTube Video. + google.ads.googleads.v3.common.YouTubeVideoInfo youtube_video = 8 [(google.api.field_behavior) = IMMUTABLE]; - // YouTube Channel. - google.ads.googleads.v3.common.YouTubeChannelInfo youtube_channel = 9; + // Immutable. YouTube Channel. + google.ads.googleads.v3.common.YouTubeChannelInfo youtube_channel = 9 [(google.api.field_behavior) = IMMUTABLE]; } } diff --git a/google/ads/googleads/v3/resources/detail_placement_view.proto b/google/ads/googleads/v3/resources/detail_placement_view.proto index 6ca6f5c8..b34526ab 100644 --- a/google/ads/googleads/v3/resources/detail_placement_view.proto +++ b/google/ads/googleads/v3/resources/detail_placement_view.proto @@ -17,6 +17,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; import "google/ads/googleads/v3/enums/placement_type.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -39,28 +40,33 @@ message DetailPlacementView { pattern: "customers/{customer}/detailPlacementViews/{detail_placement_view}" }; - // The resource name of the detail placement view. + // Output only. The resource name of the detail placement view. // Detail placement view resource names have the form: // // `customers/{customer_id}/detailPlacementViews/{ad_group_id}~{base64_placement}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/DetailPlacementView" + } + ]; - // The automatic placement string at detail level, e. g. website URL, mobile + // Output only. The automatic placement string at detail level, e. g. website URL, mobile // application ID, or a YouTube video ID. - google.protobuf.StringValue placement = 2; + google.protobuf.StringValue placement = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The display name is URL name for websites, YouTube video name for YouTube + // Output only. The display name is URL name for websites, YouTube video name for YouTube // videos, and translated mobile app name for mobile apps. - google.protobuf.StringValue display_name = 3; + google.protobuf.StringValue display_name = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - // URL of the group placement, e.g. domain, link to the mobile application in + // Output only. URL of the group placement, e.g. domain, link to the mobile application in // app store, or a YouTube channel URL. - google.protobuf.StringValue group_placement_target_url = 4; + google.protobuf.StringValue group_placement_target_url = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; - // URL of the placement, e.g. website, link to the mobile application in app + // Output only. URL of the placement, e.g. website, link to the mobile application in app // store, or a YouTube video URL. - google.protobuf.StringValue target_url = 5; + google.protobuf.StringValue target_url = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Type of the placement, e.g. Website, YouTube Video, and Mobile Application. - google.ads.googleads.v3.enums.PlacementTypeEnum.PlacementType placement_type = 6; + // Output only. Type of the placement, e.g. Website, YouTube Video, and Mobile Application. + google.ads.googleads.v3.enums.PlacementTypeEnum.PlacementType placement_type = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; } diff --git a/google/ads/googleads/v3/resources/display_keyword_view.proto b/google/ads/googleads/v3/resources/display_keyword_view.proto index 633f39df..ef6a16f7 100644 --- a/google/ads/googleads/v3/resources/display_keyword_view.proto +++ b/google/ads/googleads/v3/resources/display_keyword_view.proto @@ -16,6 +16,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/api/annotations.proto"; @@ -37,9 +38,14 @@ message DisplayKeywordView { pattern: "customers/{customer}/displayKeywordViews/{display_keyword_view}" }; - // The resource name of the display keyword view. + // Output only. The resource name of the display keyword view. // Display Keyword view resource names have the form: // // `customers/{customer_id}/displayKeywordViews/{ad_group_id}~{criterion_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/DisplayKeywordView" + } + ]; } diff --git a/google/ads/googleads/v3/resources/distance_view.proto b/google/ads/googleads/v3/resources/distance_view.proto index 83636856..d334934b 100644 --- a/google/ads/googleads/v3/resources/distance_view.proto +++ b/google/ads/googleads/v3/resources/distance_view.proto @@ -17,6 +17,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; import "google/ads/googleads/v3/enums/distance_bucket.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -43,15 +44,20 @@ message DistanceView { pattern: "customers/{customer}/distanceViews/{distance_view}" }; - // The resource name of the distance view. + // Output only. The resource name of the distance view. // Distance view resource names have the form: // // `customers/{customer_id}/distanceViews/1~{distance_bucket}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/DistanceView" + } + ]; - // Grouping of user distance from location extensions. - google.ads.googleads.v3.enums.DistanceBucketEnum.DistanceBucket distance_bucket = 2; + // Output only. Grouping of user distance from location extensions. + google.ads.googleads.v3.enums.DistanceBucketEnum.DistanceBucket distance_bucket = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // True if the DistanceBucket is using the metric system, false otherwise. - google.protobuf.BoolValue metric_system = 3; + // Output only. True if the DistanceBucket is using the metric system, false otherwise. + google.protobuf.BoolValue metric_system = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; } diff --git a/google/ads/googleads/v3/resources/domain_category.proto b/google/ads/googleads/v3/resources/domain_category.proto index eac1845b..95faa4dc 100644 --- a/google/ads/googleads/v3/resources/domain_category.proto +++ b/google/ads/googleads/v3/resources/domain_category.proto @@ -16,6 +16,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -41,40 +42,50 @@ message DomainCategory { pattern: "customers/{customer}/domainCategories/{domain_category}" }; - // The resource name of the domain category. + // Output only. The resource name of the domain category. // Domain category resource names have the form: // // `customers/{customer_id}/domainCategories/{campaign_id}~{category_base64}~{language_code}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/DomainCategory" + } + ]; - // The campaign this category is recommended for. - google.protobuf.StringValue campaign = 2; + // Output only. The campaign this category is recommended for. + google.protobuf.StringValue campaign = 2 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; - // Recommended category for the website domain. e.g. if you have a website + // Output only. Recommended category for the website domain. e.g. if you have a website // about electronics, the categories could be "cameras", "televisions", etc. - google.protobuf.StringValue category = 3; + google.protobuf.StringValue category = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The language code specifying the language of the website. e.g. "en" for + // Output only. The language code specifying the language of the website. e.g. "en" for // English. The language can be specified in the DynamicSearchAdsSetting // required for dynamic search ads. This is the language of the pages from // your website that you want Google Ads to find, create ads for, // and match searches with. - google.protobuf.StringValue language_code = 4; + google.protobuf.StringValue language_code = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The domain for the website. The domain can be specified in the + // Output only. The domain for the website. The domain can be specified in the // DynamicSearchAdsSetting required for dynamic search ads. - google.protobuf.StringValue domain = 5; + google.protobuf.StringValue domain = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Fraction of pages on your site that this category matches. - google.protobuf.DoubleValue coverage_fraction = 6; + // Output only. Fraction of pages on your site that this category matches. + google.protobuf.DoubleValue coverage_fraction = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The position of this category in the set of categories. Lower numbers + // Output only. The position of this category in the set of categories. Lower numbers // indicate a better match for the domain. null indicates not recommended. - google.protobuf.Int64Value category_rank = 7; + google.protobuf.Int64Value category_rank = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Indicates whether this category has sub-categories. - google.protobuf.BoolValue has_children = 8; + // Output only. Indicates whether this category has sub-categories. + google.protobuf.BoolValue has_children = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The recommended cost per click for the category. - google.protobuf.Int64Value recommended_cpc_bid_micros = 9; + // Output only. The recommended cost per click for the category. + google.protobuf.Int64Value recommended_cpc_bid_micros = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; } diff --git a/google/ads/googleads/v3/resources/dynamic_search_ads_search_term_view.proto b/google/ads/googleads/v3/resources/dynamic_search_ads_search_term_view.proto index 46ba0f71..688d4af4 100644 --- a/google/ads/googleads/v3/resources/dynamic_search_ads_search_term_view.proto +++ b/google/ads/googleads/v3/resources/dynamic_search_ads_search_term_view.proto @@ -16,6 +16,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -38,44 +39,49 @@ message DynamicSearchAdsSearchTermView { pattern: "customers/{customer}/dynamicSearchAdsSearchTermViews/{dynamic_search_ads_search_term_view}" }; - // The resource name of the dynamic search ads search term view. + // Output only. The resource name of the dynamic search ads search term view. // Dynamic search ads search term view resource names have the form: // // `customers/{customer_id}/dynamicSearchAdsSearchTermViews/{ad_group_id}~{search_term_fp}~{headline_fp}~{landing_page_fp}~{page_url_fp}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/DynamicSearchAdsSearchTermView" + } + ]; - // Search term + // Output only. Search term // // This field is read-only. - google.protobuf.StringValue search_term = 2; + google.protobuf.StringValue search_term = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The dynamically generated headline of the Dynamic Search Ad. + // Output only. The dynamically generated headline of the Dynamic Search Ad. // // This field is read-only. - google.protobuf.StringValue headline = 3; + google.protobuf.StringValue headline = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The dynamically selected landing page URL of the impression. + // Output only. The dynamically selected landing page URL of the impression. // // This field is read-only. - google.protobuf.StringValue landing_page = 4; + google.protobuf.StringValue landing_page = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The URL of page feed item served for the impression. + // Output only. The URL of page feed item served for the impression. // // This field is read-only. - google.protobuf.StringValue page_url = 5; + google.protobuf.StringValue page_url = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; - // True if query matches a negative keyword. + // Output only. True if query matches a negative keyword. // // This field is read-only. - google.protobuf.BoolValue has_negative_keyword = 6; + google.protobuf.BoolValue has_negative_keyword = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; - // True if query is added to targeted keywords. + // Output only. True if query is added to targeted keywords. // // This field is read-only. - google.protobuf.BoolValue has_matching_keyword = 7; + google.protobuf.BoolValue has_matching_keyword = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; - // True if query matches a negative url. + // Output only. True if query matches a negative url. // // This field is read-only. - google.protobuf.BoolValue has_negative_url = 8; + google.protobuf.BoolValue has_negative_url = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; } diff --git a/google/ads/googleads/v3/resources/expanded_landing_page_view.proto b/google/ads/googleads/v3/resources/expanded_landing_page_view.proto index f8b2e4ff..c6402b15 100644 --- a/google/ads/googleads/v3/resources/expanded_landing_page_view.proto +++ b/google/ads/googleads/v3/resources/expanded_landing_page_view.proto @@ -16,6 +16,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -39,12 +40,17 @@ message ExpandedLandingPageView { pattern: "customers/{customer}/expandedLandingPageViews/{expanded_landing_page_view}" }; - // The resource name of the expanded landing page view. + // Output only. The resource name of the expanded landing page view. // Expanded landing page view resource names have the form: // // `customers/{customer_id}/expandedLandingPageViews/{expanded_final_url_fingerprint}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ExpandedLandingPageView" + } + ]; - // The final URL that clicks are directed to. - google.protobuf.StringValue expanded_final_url = 2; + // Output only. The final URL that clicks are directed to. + google.protobuf.StringValue expanded_final_url = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; } diff --git a/google/ads/googleads/v3/resources/extension_feed_item.proto b/google/ads/googleads/v3/resources/extension_feed_item.proto index 3fa28177..5f834868 100644 --- a/google/ads/googleads/v3/resources/extension_feed_item.proto +++ b/google/ads/googleads/v3/resources/extension_feed_item.proto @@ -21,6 +21,7 @@ import "google/ads/googleads/v3/common/extensions.proto"; import "google/ads/googleads/v3/enums/extension_type.proto"; import "google/ads/googleads/v3/enums/feed_item_status.proto"; import "google/ads/googleads/v3/enums/feed_item_target_device.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -43,18 +44,23 @@ message ExtensionFeedItem { pattern: "customers/{customer}/extensionFeedItems/{extension_feed_item}" }; - // The resource name of the extension feed item. + // Immutable. The resource name of the extension feed item. // Extension feed item resource names have the form: // // `customers/{customer_id}/extensionFeedItems/{feed_item_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ExtensionFeedItem" + } + ]; - // The ID of this feed item. Read-only. - google.protobuf.Int64Value id = 24; + // Output only. The ID of this feed item. Read-only. + google.protobuf.Int64Value id = 24 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The extension type of the extension feed item. + // Output only. The extension type of the extension feed item. // This field is read-only. - google.ads.googleads.v3.enums.ExtensionTypeEnum.ExtensionType extension_type = 13; + google.ads.googleads.v3.enums.ExtensionTypeEnum.ExtensionType extension_type = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; // Start time in which this feed item is effective and can begin serving. The // time is in the customer's time zone. @@ -77,14 +83,16 @@ message ExtensionFeedItem { google.ads.googleads.v3.enums.FeedItemTargetDeviceEnum.FeedItemTargetDevice device = 17; // The targeted geo target constant. - google.protobuf.StringValue targeted_geo_target_constant = 20; + google.protobuf.StringValue targeted_geo_target_constant = 20 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/GeoTargetConstant" + }]; // The targeted keyword. google.ads.googleads.v3.common.KeywordInfo targeted_keyword = 22; - // Status of the feed item. + // Output only. Status of the feed item. // This field is read-only. - google.ads.googleads.v3.enums.FeedItemStatusEnum.FeedItemStatus status = 4; + google.ads.googleads.v3.enums.FeedItemStatusEnum.FeedItemStatus status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; // Extension type. oneof extension { @@ -112,14 +120,14 @@ message ExtensionFeedItem { // Promotion extension. google.ads.googleads.v3.common.PromotionFeedItem promotion_feed_item = 12; - // Location extension. Locations are synced from a GMB account into a feed. + // Output only. Location extension. Locations are synced from a GMB account into a feed. // This field is read-only. - google.ads.googleads.v3.common.LocationFeedItem location_feed_item = 14; + google.ads.googleads.v3.common.LocationFeedItem location_feed_item = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Affiliate location extension. Feed locations are populated by Google Ads + // Output only. Affiliate location extension. Feed locations are populated by Google Ads // based on a chain ID. // This field is read-only. - google.ads.googleads.v3.common.AffiliateLocationFeedItem affiliate_location_feed_item = 15; + google.ads.googleads.v3.common.AffiliateLocationFeedItem affiliate_location_feed_item = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; // Hotel Callout extension. google.ads.googleads.v3.common.HotelCalloutFeedItem hotel_callout_feed_item = 23; @@ -129,9 +137,13 @@ message ExtensionFeedItem { // a campaign or ad group will only serve with that resource. oneof serving_resource_targeting { // The targeted campaign. - google.protobuf.StringValue targeted_campaign = 18; + google.protobuf.StringValue targeted_campaign = 18 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + }]; // The targeted ad group. - google.protobuf.StringValue targeted_ad_group = 19; + google.protobuf.StringValue targeted_ad_group = 19 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + }]; } } diff --git a/google/ads/googleads/v3/resources/feed.proto b/google/ads/googleads/v3/resources/feed.proto index d99ecd66..98c58d33 100644 --- a/google/ads/googleads/v3/resources/feed.proto +++ b/google/ads/googleads/v3/resources/feed.proto @@ -20,6 +20,7 @@ import "google/ads/googleads/v3/enums/affiliate_location_feed_relationship_type. import "google/ads/googleads/v3/enums/feed_attribute_type.proto"; import "google/ads/googleads/v3/enums/feed_origin.proto"; import "google/ads/googleads/v3/enums/feed_status.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -57,10 +58,10 @@ message Feed { google.protobuf.StringValue http_authorization_header = 3; } - // Required authentication token (from OAuth API) for the email. + // Immutable. Required authentication token (from OAuth API) for the email. // This field can only be specified in a create request. All its subfields // are not selectable. - OAuthInfo oauth_info = 1; + OAuthInfo oauth_info = 1 [(google.api.field_behavior) = IMMUTABLE]; // Email address of a Google My Business account or email address of a // manager of the Google My Business account. Required. @@ -101,18 +102,23 @@ message Feed { google.ads.googleads.v3.enums.AffiliateLocationFeedRelationshipTypeEnum.AffiliateLocationFeedRelationshipType relationship_type = 2; } - // The resource name of the feed. + // Immutable. The resource name of the feed. // Feed resource names have the form: // // `customers/{customer_id}/feeds/{feed_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Feed" + } + ]; - // The ID of the feed. + // Output only. The ID of the feed. // This field is read-only. - google.protobuf.Int64Value id = 2; + google.protobuf.Int64Value id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Name of the feed. Required. - google.protobuf.StringValue name = 3; + // Immutable. Name of the feed. Required. + google.protobuf.StringValue name = 3 [(google.api.field_behavior) = IMMUTABLE]; // The Feed's attributes. Required on CREATE, unless // system_feed_generation_data is provided, in which case Google Ads will @@ -124,12 +130,12 @@ message Feed { // be added, not removed. repeated FeedAttributeOperation attribute_operations = 9; - // Specifies who manages the FeedAttributes for the Feed. - google.ads.googleads.v3.enums.FeedOriginEnum.FeedOrigin origin = 5; + // Immutable. Specifies who manages the FeedAttributes for the Feed. + google.ads.googleads.v3.enums.FeedOriginEnum.FeedOrigin origin = 5 [(google.api.field_behavior) = IMMUTABLE]; - // Status of the feed. + // Output only. Status of the feed. // This field is read-only. - google.ads.googleads.v3.enums.FeedStatusEnum.FeedStatus status = 8; + google.ads.googleads.v3.enums.FeedStatusEnum.FeedStatus status = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; // The system data for the Feed. This data specifies information for // generating the feed items of the system generated feed. @@ -179,9 +185,9 @@ message FeedAttributeOperation { ADD = 2; } - // Type of list operation to perform. - Operator operator = 1; + // Output only. Type of list operation to perform. + Operator operator = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The feed attribute being added to the list. - FeedAttribute value = 2; + // Output only. The feed attribute being added to the list. + FeedAttribute value = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; } diff --git a/google/ads/googleads/v3/resources/feed_item.proto b/google/ads/googleads/v3/resources/feed_item.proto index 87bf3059..e683626f 100644 --- a/google/ads/googleads/v3/resources/feed_item.proto +++ b/google/ads/googleads/v3/resources/feed_item.proto @@ -28,6 +28,7 @@ import "google/ads/googleads/v3/enums/placeholder_type.proto"; import "google/ads/googleads/v3/enums/policy_approval_status.proto"; import "google/ads/googleads/v3/enums/policy_review_status.proto"; import "google/ads/googleads/v3/errors/feed_item_validation_error.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -50,17 +51,27 @@ message FeedItem { pattern: "customers/{customer}/feedItems/{feed_item}" }; - // The resource name of the feed item. + // Immutable. The resource name of the feed item. // Feed item resource names have the form: // // `customers/{customer_id}/feedItems/{feed_id}~{feed_item_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItem" + } + ]; - // The feed to which this feed item belongs. - google.protobuf.StringValue feed = 2; + // Immutable. The feed to which this feed item belongs. + google.protobuf.StringValue feed = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Feed" + } + ]; - // The ID of this feed item. - google.protobuf.Int64Value id = 3; + // Output only. The ID of this feed item. + google.protobuf.Int64Value id = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; // Start time in which this feed item is effective and can begin serving. The // time is in the customer's time zone. @@ -85,17 +96,17 @@ message FeedItem { // `tracking_url_template`, `final_urls`, or `mobile_final_urls`. repeated google.ads.googleads.v3.common.CustomParameter url_custom_parameters = 8; - // Status of the feed item. + // Output only. Status of the feed item. // This field is read-only. - google.ads.googleads.v3.enums.FeedItemStatusEnum.FeedItemStatus status = 9; + google.ads.googleads.v3.enums.FeedItemStatusEnum.FeedItemStatus status = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; - // List of info about a feed item's validation and approval state for active + // Output only. List of info about a feed item's validation and approval state for active // feed mappings. There will be an entry in the list for each type of feed // mapping associated with the feed, e.g. a feed with a sitelink and a call // feed mapping would cause every feed item associated with that feed to have // an entry in this list for both sitelink and call. // This field is read-only. - repeated FeedItemPlaceholderPolicyInfo policy_infos = 10; + repeated FeedItemPlaceholderPolicyInfo policy_infos = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; } // A feed item attribute value. @@ -153,52 +164,52 @@ message FeedItemAttributeValue { // Policy, validation, and quality approval info for a feed item for the // specified placeholder type. message FeedItemPlaceholderPolicyInfo { - // The placeholder type. - google.ads.googleads.v3.enums.PlaceholderTypeEnum.PlaceholderType placeholder_type_enum = 10; + // Output only. The placeholder type. + google.ads.googleads.v3.enums.PlaceholderTypeEnum.PlaceholderType placeholder_type_enum = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The FeedMapping that contains the placeholder type. - google.protobuf.StringValue feed_mapping_resource_name = 2; + // Output only. The FeedMapping that contains the placeholder type. + google.protobuf.StringValue feed_mapping_resource_name = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Where the placeholder type is in the review process. - google.ads.googleads.v3.enums.PolicyReviewStatusEnum.PolicyReviewStatus review_status = 3; + // Output only. Where the placeholder type is in the review process. + google.ads.googleads.v3.enums.PolicyReviewStatusEnum.PolicyReviewStatus review_status = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The overall approval status of the placeholder type, calculated based on + // Output only. The overall approval status of the placeholder type, calculated based on // the status of its individual policy topic entries. - google.ads.googleads.v3.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus approval_status = 4; + google.ads.googleads.v3.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus approval_status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The list of policy findings for the placeholder type. - repeated google.ads.googleads.v3.common.PolicyTopicEntry policy_topic_entries = 5; + // Output only. The list of policy findings for the placeholder type. + repeated google.ads.googleads.v3.common.PolicyTopicEntry policy_topic_entries = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The validation status of the palceholder type. - google.ads.googleads.v3.enums.FeedItemValidationStatusEnum.FeedItemValidationStatus validation_status = 6; + // Output only. The validation status of the palceholder type. + google.ads.googleads.v3.enums.FeedItemValidationStatusEnum.FeedItemValidationStatus validation_status = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; - // List of placeholder type validation errors. - repeated FeedItemValidationError validation_errors = 7; + // Output only. List of placeholder type validation errors. + repeated FeedItemValidationError validation_errors = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Placeholder type quality evaluation approval status. - google.ads.googleads.v3.enums.FeedItemQualityApprovalStatusEnum.FeedItemQualityApprovalStatus quality_approval_status = 8; + // Output only. Placeholder type quality evaluation approval status. + google.ads.googleads.v3.enums.FeedItemQualityApprovalStatusEnum.FeedItemQualityApprovalStatus quality_approval_status = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; - // List of placeholder type quality evaluation disapproval reasons. - repeated google.ads.googleads.v3.enums.FeedItemQualityDisapprovalReasonEnum.FeedItemQualityDisapprovalReason quality_disapproval_reasons = 9; + // Output only. List of placeholder type quality evaluation disapproval reasons. + repeated google.ads.googleads.v3.enums.FeedItemQualityDisapprovalReasonEnum.FeedItemQualityDisapprovalReason quality_disapproval_reasons = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; } // Stores a validation error and the set of offending feed attributes which // together are responsible for causing a feed item validation error. message FeedItemValidationError { - // Error code indicating what validation error was triggered. The description + // Output only. Error code indicating what validation error was triggered. The description // of the error can be found in the 'description' field. - google.ads.googleads.v3.errors.FeedItemValidationErrorEnum.FeedItemValidationError validation_error = 1; + google.ads.googleads.v3.errors.FeedItemValidationErrorEnum.FeedItemValidationError validation_error = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The description of the validation error. - google.protobuf.StringValue description = 2; + // Output only. The description of the validation error. + google.protobuf.StringValue description = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Set of feed attributes in the feed item flagged during validation. If + // Output only. Set of feed attributes in the feed item flagged during validation. If // empty, no specific feed attributes can be associated with the error // (e.g. error across the entire feed item). - repeated google.protobuf.Int64Value feed_attribute_ids = 3; + repeated google.protobuf.Int64Value feed_attribute_ids = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Any extra information related to this error which is not captured by + // Output only. Any extra information related to this error which is not captured by // validation_error and feed_attribute_id (e.g. placeholder field IDs when // feed_attribute_id is not mapped). Note that extra_info is not localized. - google.protobuf.StringValue extra_info = 5; + google.protobuf.StringValue extra_info = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; } diff --git a/google/ads/googleads/v3/resources/feed_item_target.proto b/google/ads/googleads/v3/resources/feed_item_target.proto index 078419c3..d5ca398d 100644 --- a/google/ads/googleads/v3/resources/feed_item_target.proto +++ b/google/ads/googleads/v3/resources/feed_item_target.proto @@ -20,6 +20,7 @@ import "google/ads/googleads/v3/common/criteria.proto"; import "google/ads/googleads/v3/enums/feed_item_target_device.proto"; import "google/ads/googleads/v3/enums/feed_item_target_status.proto"; import "google/ads/googleads/v3/enums/feed_item_target_type.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -42,42 +43,67 @@ message FeedItemTarget { pattern: "customers/{customer}/feedItemTargets/{feed_item_target}" }; - // The resource name of the feed item target. + // Immutable. The resource name of the feed item target. // Feed item target resource names have the form: // `customers/{customer_id}/feedItemTargets/{feed_id}~{feed_item_id}~{feed_item_target_type}~{feed_item_target_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItemTarget" + } + ]; - // The feed item to which this feed item target belongs. - google.protobuf.StringValue feed_item = 2; + // Immutable. The feed item to which this feed item target belongs. + google.protobuf.StringValue feed_item = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItem" + } + ]; - // The target type of this feed item target. This field is read-only. - google.ads.googleads.v3.enums.FeedItemTargetTypeEnum.FeedItemTargetType feed_item_target_type = 3; + // Output only. The target type of this feed item target. This field is read-only. + google.ads.googleads.v3.enums.FeedItemTargetTypeEnum.FeedItemTargetType feed_item_target_type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The ID of the targeted resource. This field is read-only. - google.protobuf.Int64Value feed_item_target_id = 6; + // Output only. The ID of the targeted resource. This field is read-only. + google.protobuf.Int64Value feed_item_target_id = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Status of the feed item target. + // Output only. Status of the feed item target. // This field is read-only. - google.ads.googleads.v3.enums.FeedItemTargetStatusEnum.FeedItemTargetStatus status = 11; + google.ads.googleads.v3.enums.FeedItemTargetStatusEnum.FeedItemTargetStatus status = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; // The targeted resource. oneof target { - // The targeted campaign. - google.protobuf.StringValue campaign = 4; + // Immutable. The targeted campaign. + google.protobuf.StringValue campaign = 4 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; - // The targeted ad group. - google.protobuf.StringValue ad_group = 5; + // Immutable. The targeted ad group. + google.protobuf.StringValue ad_group = 5 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; - // The targeted keyword. - google.ads.googleads.v3.common.KeywordInfo keyword = 7; + // Immutable. The targeted keyword. + google.ads.googleads.v3.common.KeywordInfo keyword = 7 [(google.api.field_behavior) = IMMUTABLE]; - // The targeted geo target constant resource name. - google.protobuf.StringValue geo_target_constant = 8; + // Immutable. The targeted geo target constant resource name. + google.protobuf.StringValue geo_target_constant = 8 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GeoTargetConstant" + } + ]; - // The targeted device. - google.ads.googleads.v3.enums.FeedItemTargetDeviceEnum.FeedItemTargetDevice device = 9; + // Immutable. The targeted device. + google.ads.googleads.v3.enums.FeedItemTargetDeviceEnum.FeedItemTargetDevice device = 9 [(google.api.field_behavior) = IMMUTABLE]; - // The targeted schedule. - google.ads.googleads.v3.common.AdScheduleInfo ad_schedule = 10; + // Immutable. The targeted schedule. + google.ads.googleads.v3.common.AdScheduleInfo ad_schedule = 10 [(google.api.field_behavior) = IMMUTABLE]; } } diff --git a/google/ads/googleads/v3/resources/feed_mapping.proto b/google/ads/googleads/v3/resources/feed_mapping.proto index bf54b944..b0a0d51b 100644 --- a/google/ads/googleads/v3/resources/feed_mapping.proto +++ b/google/ads/googleads/v3/resources/feed_mapping.proto @@ -40,6 +40,7 @@ import "google/ads/googleads/v3/enums/real_estate_placeholder_field.proto"; import "google/ads/googleads/v3/enums/sitelink_placeholder_field.proto"; import "google/ads/googleads/v3/enums/structured_snippet_placeholder_field.proto"; import "google/ads/googleads/v3/enums/travel_placeholder_field.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -62,114 +63,124 @@ message FeedMapping { pattern: "customers/{customer}/feedMappings/{feed_mapping}" }; - // The resource name of the feed mapping. + // Immutable. The resource name of the feed mapping. // Feed mapping resource names have the form: // // `customers/{customer_id}/feedMappings/{feed_id}~{feed_mapping_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedMapping" + } + ]; - // The feed of this feed mapping. - google.protobuf.StringValue feed = 2; + // Immutable. The feed of this feed mapping. + google.protobuf.StringValue feed = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Feed" + } + ]; - // Feed attributes to field mappings. These mappings are a one-to-many + // Immutable. Feed attributes to field mappings. These mappings are a one-to-many // relationship meaning that 1 feed attribute can be used to populate // multiple placeholder fields, but 1 placeholder field can only draw // data from 1 feed attribute. Ad Customizer is an exception, 1 placeholder // field can be mapped to multiple feed attributes. Required. - repeated AttributeFieldMapping attribute_field_mappings = 5; + repeated AttributeFieldMapping attribute_field_mappings = 5 [(google.api.field_behavior) = IMMUTABLE]; - // Status of the feed mapping. + // Output only. Status of the feed mapping. // This field is read-only. - google.ads.googleads.v3.enums.FeedMappingStatusEnum.FeedMappingStatus status = 6; + google.ads.googleads.v3.enums.FeedMappingStatusEnum.FeedMappingStatus status = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; // Feed mapping target. Can be either a placeholder or a criterion. For a // given feed, the active FeedMappings must have unique targets. Required. oneof target { - // The placeholder type of this mapping (i.e., if the mapping maps feed + // Immutable. The placeholder type of this mapping (i.e., if the mapping maps feed // attributes to placeholder fields). - google.ads.googleads.v3.enums.PlaceholderTypeEnum.PlaceholderType placeholder_type = 3; + google.ads.googleads.v3.enums.PlaceholderTypeEnum.PlaceholderType placeholder_type = 3 [(google.api.field_behavior) = IMMUTABLE]; - // The criterion type of this mapping (i.e., if the mapping maps feed + // Immutable. The criterion type of this mapping (i.e., if the mapping maps feed // attributes to criterion fields). - google.ads.googleads.v3.enums.FeedMappingCriterionTypeEnum.FeedMappingCriterionType criterion_type = 4; + google.ads.googleads.v3.enums.FeedMappingCriterionTypeEnum.FeedMappingCriterionType criterion_type = 4 [(google.api.field_behavior) = IMMUTABLE]; } } // Maps from feed attribute id to a placeholder or criterion field id. message AttributeFieldMapping { - // Feed attribute from which to map. - google.protobuf.Int64Value feed_attribute_id = 1; + // Immutable. Feed attribute from which to map. + google.protobuf.Int64Value feed_attribute_id = 1 [(google.api.field_behavior) = IMMUTABLE]; - // The placeholder field ID. If a placeholder field enum is not published in + // Output only. The placeholder field ID. If a placeholder field enum is not published in // the current API version, then this field will be populated and the field // oneof will be empty. // This field is read-only. - google.protobuf.Int64Value field_id = 2; + google.protobuf.Int64Value field_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; // Placeholder or criterion field to be populated using data from // the above feed attribute. Required. oneof field { - // Sitelink Placeholder Fields. - google.ads.googleads.v3.enums.SitelinkPlaceholderFieldEnum.SitelinkPlaceholderField sitelink_field = 3; + // Immutable. Sitelink Placeholder Fields. + google.ads.googleads.v3.enums.SitelinkPlaceholderFieldEnum.SitelinkPlaceholderField sitelink_field = 3 [(google.api.field_behavior) = IMMUTABLE]; - // Call Placeholder Fields. - google.ads.googleads.v3.enums.CallPlaceholderFieldEnum.CallPlaceholderField call_field = 4; + // Immutable. Call Placeholder Fields. + google.ads.googleads.v3.enums.CallPlaceholderFieldEnum.CallPlaceholderField call_field = 4 [(google.api.field_behavior) = IMMUTABLE]; - // App Placeholder Fields. - google.ads.googleads.v3.enums.AppPlaceholderFieldEnum.AppPlaceholderField app_field = 5; + // Immutable. App Placeholder Fields. + google.ads.googleads.v3.enums.AppPlaceholderFieldEnum.AppPlaceholderField app_field = 5 [(google.api.field_behavior) = IMMUTABLE]; - // Location Placeholder Fields. This field is read-only. - google.ads.googleads.v3.enums.LocationPlaceholderFieldEnum.LocationPlaceholderField location_field = 6; + // Output only. Location Placeholder Fields. This field is read-only. + google.ads.googleads.v3.enums.LocationPlaceholderFieldEnum.LocationPlaceholderField location_field = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Affiliate Location Placeholder Fields. This field is read-only. - google.ads.googleads.v3.enums.AffiliateLocationPlaceholderFieldEnum.AffiliateLocationPlaceholderField affiliate_location_field = 7; + // Output only. Affiliate Location Placeholder Fields. This field is read-only. + google.ads.googleads.v3.enums.AffiliateLocationPlaceholderFieldEnum.AffiliateLocationPlaceholderField affiliate_location_field = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Callout Placeholder Fields. - google.ads.googleads.v3.enums.CalloutPlaceholderFieldEnum.CalloutPlaceholderField callout_field = 8; + // Immutable. Callout Placeholder Fields. + google.ads.googleads.v3.enums.CalloutPlaceholderFieldEnum.CalloutPlaceholderField callout_field = 8 [(google.api.field_behavior) = IMMUTABLE]; - // Structured Snippet Placeholder Fields. - google.ads.googleads.v3.enums.StructuredSnippetPlaceholderFieldEnum.StructuredSnippetPlaceholderField structured_snippet_field = 9; + // Immutable. Structured Snippet Placeholder Fields. + google.ads.googleads.v3.enums.StructuredSnippetPlaceholderFieldEnum.StructuredSnippetPlaceholderField structured_snippet_field = 9 [(google.api.field_behavior) = IMMUTABLE]; - // Message Placeholder Fields. - google.ads.googleads.v3.enums.MessagePlaceholderFieldEnum.MessagePlaceholderField message_field = 10; + // Immutable. Message Placeholder Fields. + google.ads.googleads.v3.enums.MessagePlaceholderFieldEnum.MessagePlaceholderField message_field = 10 [(google.api.field_behavior) = IMMUTABLE]; - // Price Placeholder Fields. - google.ads.googleads.v3.enums.PricePlaceholderFieldEnum.PricePlaceholderField price_field = 11; + // Immutable. Price Placeholder Fields. + google.ads.googleads.v3.enums.PricePlaceholderFieldEnum.PricePlaceholderField price_field = 11 [(google.api.field_behavior) = IMMUTABLE]; - // Promotion Placeholder Fields. - google.ads.googleads.v3.enums.PromotionPlaceholderFieldEnum.PromotionPlaceholderField promotion_field = 12; + // Immutable. Promotion Placeholder Fields. + google.ads.googleads.v3.enums.PromotionPlaceholderFieldEnum.PromotionPlaceholderField promotion_field = 12 [(google.api.field_behavior) = IMMUTABLE]; - // Ad Customizer Placeholder Fields - google.ads.googleads.v3.enums.AdCustomizerPlaceholderFieldEnum.AdCustomizerPlaceholderField ad_customizer_field = 13; + // Immutable. Ad Customizer Placeholder Fields + google.ads.googleads.v3.enums.AdCustomizerPlaceholderFieldEnum.AdCustomizerPlaceholderField ad_customizer_field = 13 [(google.api.field_behavior) = IMMUTABLE]; - // Dynamic Search Ad Page Feed Fields. - google.ads.googleads.v3.enums.DsaPageFeedCriterionFieldEnum.DsaPageFeedCriterionField dsa_page_feed_field = 14; + // Immutable. Dynamic Search Ad Page Feed Fields. + google.ads.googleads.v3.enums.DsaPageFeedCriterionFieldEnum.DsaPageFeedCriterionField dsa_page_feed_field = 14 [(google.api.field_behavior) = IMMUTABLE]; - // Location Target Fields. - google.ads.googleads.v3.enums.LocationExtensionTargetingCriterionFieldEnum.LocationExtensionTargetingCriterionField location_extension_targeting_field = 15; + // Immutable. Location Target Fields. + google.ads.googleads.v3.enums.LocationExtensionTargetingCriterionFieldEnum.LocationExtensionTargetingCriterionField location_extension_targeting_field = 15 [(google.api.field_behavior) = IMMUTABLE]; - // Education Placeholder Fields - google.ads.googleads.v3.enums.EducationPlaceholderFieldEnum.EducationPlaceholderField education_field = 16; + // Immutable. Education Placeholder Fields + google.ads.googleads.v3.enums.EducationPlaceholderFieldEnum.EducationPlaceholderField education_field = 16 [(google.api.field_behavior) = IMMUTABLE]; - // Flight Placeholder Fields - google.ads.googleads.v3.enums.FlightPlaceholderFieldEnum.FlightPlaceholderField flight_field = 17; + // Immutable. Flight Placeholder Fields + google.ads.googleads.v3.enums.FlightPlaceholderFieldEnum.FlightPlaceholderField flight_field = 17 [(google.api.field_behavior) = IMMUTABLE]; - // Custom Placeholder Fields - google.ads.googleads.v3.enums.CustomPlaceholderFieldEnum.CustomPlaceholderField custom_field = 18; + // Immutable. Custom Placeholder Fields + google.ads.googleads.v3.enums.CustomPlaceholderFieldEnum.CustomPlaceholderField custom_field = 18 [(google.api.field_behavior) = IMMUTABLE]; - // Hotel Placeholder Fields - google.ads.googleads.v3.enums.HotelPlaceholderFieldEnum.HotelPlaceholderField hotel_field = 19; + // Immutable. Hotel Placeholder Fields + google.ads.googleads.v3.enums.HotelPlaceholderFieldEnum.HotelPlaceholderField hotel_field = 19 [(google.api.field_behavior) = IMMUTABLE]; - // Real Estate Placeholder Fields - google.ads.googleads.v3.enums.RealEstatePlaceholderFieldEnum.RealEstatePlaceholderField real_estate_field = 20; + // Immutable. Real Estate Placeholder Fields + google.ads.googleads.v3.enums.RealEstatePlaceholderFieldEnum.RealEstatePlaceholderField real_estate_field = 20 [(google.api.field_behavior) = IMMUTABLE]; - // Travel Placeholder Fields - google.ads.googleads.v3.enums.TravelPlaceholderFieldEnum.TravelPlaceholderField travel_field = 21; + // Immutable. Travel Placeholder Fields + google.ads.googleads.v3.enums.TravelPlaceholderFieldEnum.TravelPlaceholderField travel_field = 21 [(google.api.field_behavior) = IMMUTABLE]; - // Local Placeholder Fields - google.ads.googleads.v3.enums.LocalPlaceholderFieldEnum.LocalPlaceholderField local_field = 22; + // Immutable. Local Placeholder Fields + google.ads.googleads.v3.enums.LocalPlaceholderFieldEnum.LocalPlaceholderField local_field = 22 [(google.api.field_behavior) = IMMUTABLE]; - // Job Placeholder Fields - google.ads.googleads.v3.enums.JobPlaceholderFieldEnum.JobPlaceholderField job_field = 23; + // Immutable. Job Placeholder Fields + google.ads.googleads.v3.enums.JobPlaceholderFieldEnum.JobPlaceholderField job_field = 23 [(google.api.field_behavior) = IMMUTABLE]; } } diff --git a/google/ads/googleads/v3/resources/feed_placeholder_view.proto b/google/ads/googleads/v3/resources/feed_placeholder_view.proto index 9cbe553e..1857fb14 100644 --- a/google/ads/googleads/v3/resources/feed_placeholder_view.proto +++ b/google/ads/googleads/v3/resources/feed_placeholder_view.proto @@ -17,6 +17,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; import "google/ads/googleads/v3/enums/placeholder_type.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/api/annotations.proto"; @@ -38,12 +39,17 @@ message FeedPlaceholderView { pattern: "customers/{customer}/feedPlaceholderViews/{feed_placeholder_view}" }; - // The resource name of the feed placeholder view. + // Output only. The resource name of the feed placeholder view. // Feed placeholder view resource names have the form: // // `customers/{customer_id}/feedPlaceholderViews/{placeholder_type}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedPlaceholderView" + } + ]; - // The placeholder type of the feed placeholder view. - google.ads.googleads.v3.enums.PlaceholderTypeEnum.PlaceholderType placeholder_type = 2; + // Output only. The placeholder type of the feed placeholder view. + google.ads.googleads.v3.enums.PlaceholderTypeEnum.PlaceholderType placeholder_type = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; } diff --git a/google/ads/googleads/v3/resources/gender_view.proto b/google/ads/googleads/v3/resources/gender_view.proto index 473a5342..ab28a236 100644 --- a/google/ads/googleads/v3/resources/gender_view.proto +++ b/google/ads/googleads/v3/resources/gender_view.proto @@ -16,6 +16,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/api/annotations.proto"; @@ -37,9 +38,14 @@ message GenderView { pattern: "customers/{customer}/genderViews/{gender_view}" }; - // The resource name of the gender view. + // Output only. The resource name of the gender view. // Gender view resource names have the form: // // `customers/{customer_id}/genderViews/{ad_group_id}~{criterion_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GenderView" + } + ]; } diff --git a/google/ads/googleads/v3/resources/geo_target_constant.proto b/google/ads/googleads/v3/resources/geo_target_constant.proto index 47806522..ca8e916f 100644 --- a/google/ads/googleads/v3/resources/geo_target_constant.proto +++ b/google/ads/googleads/v3/resources/geo_target_constant.proto @@ -17,6 +17,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; import "google/ads/googleads/v3/enums/geo_target_constant_status.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -39,28 +40,33 @@ message GeoTargetConstant { pattern: "geoTargetConstants/{geo_target_constant}" }; - // The resource name of the geo target constant. + // Output only. The resource name of the geo target constant. // Geo target constant resource names have the form: // // `geoTargetConstants/{geo_target_constant_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GeoTargetConstant" + } + ]; - // The ID of the geo target constant. - google.protobuf.Int64Value id = 3; + // Output only. The ID of the geo target constant. + google.protobuf.Int64Value id = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Geo target constant English name. - google.protobuf.StringValue name = 4; + // Output only. Geo target constant English name. + google.protobuf.StringValue name = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The ISO-3166-1 alpha-2 country code that is associated with the target. - google.protobuf.StringValue country_code = 5; + // Output only. The ISO-3166-1 alpha-2 country code that is associated with the target. + google.protobuf.StringValue country_code = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Geo target constant target type. - google.protobuf.StringValue target_type = 6; + // Output only. Geo target constant target type. + google.protobuf.StringValue target_type = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Geo target constant status. - google.ads.googleads.v3.enums.GeoTargetConstantStatusEnum.GeoTargetConstantStatus status = 7; + // Output only. Geo target constant status. + google.ads.googleads.v3.enums.GeoTargetConstantStatusEnum.GeoTargetConstantStatus status = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The fully qualified English name, consisting of the target's name and that + // Output only. The fully qualified English name, consisting of the target's name and that // of its parent and country. - google.protobuf.StringValue canonical_name = 8; + google.protobuf.StringValue canonical_name = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; } diff --git a/google/ads/googleads/v3/resources/geographic_view.proto b/google/ads/googleads/v3/resources/geographic_view.proto index 01621405..39b36371 100644 --- a/google/ads/googleads/v3/resources/geographic_view.proto +++ b/google/ads/googleads/v3/resources/geographic_view.proto @@ -17,6 +17,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; import "google/ads/googleads/v3/enums/geo_targeting_type.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -44,15 +45,20 @@ message GeographicView { pattern: "customers/{customer}/geographicViews/{geographic_view}" }; - // The resource name of the geographic view. + // Output only. The resource name of the geographic view. // Geographic view resource names have the form: // // `customers/{customer_id}/geographicViews/{country_criterion_id}~{location_type}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GeographicView" + } + ]; - // Type of the geo targeting of the campaign. - google.ads.googleads.v3.enums.GeoTargetingTypeEnum.GeoTargetingType location_type = 3; + // Output only. Type of the geo targeting of the campaign. + google.ads.googleads.v3.enums.GeoTargetingTypeEnum.GeoTargetingType location_type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Criterion Id for the country. - google.protobuf.Int64Value country_criterion_id = 4; + // Output only. Criterion Id for the country. + google.protobuf.Int64Value country_criterion_id = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; } diff --git a/google/ads/googleads/v3/resources/google_ads_field.proto b/google/ads/googleads/v3/resources/google_ads_field.proto index 02f8d45a..3dc08c1f 100644 --- a/google/ads/googleads/v3/resources/google_ads_field.proto +++ b/google/ads/googleads/v3/resources/google_ads_field.proto @@ -18,6 +18,7 @@ package google.ads.googleads.v3.resources; import "google/ads/googleads/v3/enums/google_ads_field_category.proto"; import "google/ads/googleads/v3/enums/google_ads_field_data_type.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -40,51 +41,56 @@ message GoogleAdsField { pattern: "googleAdsFields/{google_ads_field}" }; - // The resource name of the artifact. + // Output only. The resource name of the artifact. // Artifact resource names have the form: // // `googleAdsFields/{name}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GoogleAdsField" + } + ]; - // The name of the artifact. - google.protobuf.StringValue name = 2; + // Output only. The name of the artifact. + google.protobuf.StringValue name = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The category of the artifact. - google.ads.googleads.v3.enums.GoogleAdsFieldCategoryEnum.GoogleAdsFieldCategory category = 3; + // Output only. The category of the artifact. + google.ads.googleads.v3.enums.GoogleAdsFieldCategoryEnum.GoogleAdsFieldCategory category = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Whether the artifact can be used in a SELECT clause in search + // Output only. Whether the artifact can be used in a SELECT clause in search // queries. - google.protobuf.BoolValue selectable = 4; + google.protobuf.BoolValue selectable = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Whether the artifact can be used in a WHERE clause in search + // Output only. Whether the artifact can be used in a WHERE clause in search // queries. - google.protobuf.BoolValue filterable = 5; + google.protobuf.BoolValue filterable = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Whether the artifact can be used in a ORDER BY clause in search + // Output only. Whether the artifact can be used in a ORDER BY clause in search // queries. - google.protobuf.BoolValue sortable = 6; + google.protobuf.BoolValue sortable = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The names of all resources, segments, and metrics that are selectable with + // Output only. The names of all resources, segments, and metrics that are selectable with // the described artifact. - repeated google.protobuf.StringValue selectable_with = 7; + repeated google.protobuf.StringValue selectable_with = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The names of all resources that are selectable with the described + // Output only. The names of all resources that are selectable with the described // artifact. Fields from these resources do not segment metrics when included // in search queries. // // This field is only set for artifacts whose category is RESOURCE. - repeated google.protobuf.StringValue attribute_resources = 8; + repeated google.protobuf.StringValue attribute_resources = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; - // At and beyond version V1 this field lists the names of all metrics that are + // Output only. At and beyond version V1 this field lists the names of all metrics that are // selectable with the described artifact when it is used in the FROM clause. // It is only set for artifacts whose category is RESOURCE. // // Before version V1 this field lists the names of all metrics that are // selectable with the described artifact. It is only set for artifacts whose // category is either RESOURCE or SEGMENT - repeated google.protobuf.StringValue metrics = 9; + repeated google.protobuf.StringValue metrics = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; - // At and beyond version V1 this field lists the names of all artifacts, + // Output only. At and beyond version V1 this field lists the names of all artifacts, // whether a segment or another resource, that segment metrics when included // in search queries and when the described artifact is used in the FROM // clause. It is only set for artifacts whose category is RESOURCE. @@ -93,20 +99,20 @@ message GoogleAdsField { // segment or another resource, that segment metrics when included in search // queries. It is only set for artifacts of category RESOURCE, SEGMENT or // METRIC. - repeated google.protobuf.StringValue segments = 10; + repeated google.protobuf.StringValue segments = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Values the artifact can assume if it is a field of type ENUM. + // Output only. Values the artifact can assume if it is a field of type ENUM. // // This field is only set for artifacts of category SEGMENT or ATTRIBUTE. - repeated google.protobuf.StringValue enum_values = 11; + repeated google.protobuf.StringValue enum_values = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; - // This field determines the operators that can be used with the artifact + // Output only. This field determines the operators that can be used with the artifact // in WHERE clauses. - google.ads.googleads.v3.enums.GoogleAdsFieldDataTypeEnum.GoogleAdsFieldDataType data_type = 12; + google.ads.googleads.v3.enums.GoogleAdsFieldDataTypeEnum.GoogleAdsFieldDataType data_type = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The URL of proto describing the artifact's data type. - google.protobuf.StringValue type_url = 13; + // Output only. The URL of proto describing the artifact's data type. + google.protobuf.StringValue type_url = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Whether the field artifact is repeated. - google.protobuf.BoolValue is_repeated = 14; + // Output only. Whether the field artifact is repeated. + google.protobuf.BoolValue is_repeated = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; } diff --git a/google/ads/googleads/v3/resources/group_placement_view.proto b/google/ads/googleads/v3/resources/group_placement_view.proto index d1d1c9c5..78e5152e 100644 --- a/google/ads/googleads/v3/resources/group_placement_view.proto +++ b/google/ads/googleads/v3/resources/group_placement_view.proto @@ -17,6 +17,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; import "google/ads/googleads/v3/enums/placement_type.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -39,23 +40,28 @@ message GroupPlacementView { pattern: "customers/{customer}/groupPlacementViews/{group_placement_view}" }; - // The resource name of the group placement view. + // Output only. The resource name of the group placement view. // Group placement view resource names have the form: // // `customers/{customer_id}/groupPlacementViews/{ad_group_id}~{base64_placement}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GroupPlacementView" + } + ]; - // The automatic placement string at group level, e. g. web domain, mobile + // Output only. The automatic placement string at group level, e. g. web domain, mobile // app ID, or a YouTube channel ID. - google.protobuf.StringValue placement = 2; + google.protobuf.StringValue placement = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Domain name for websites and YouTube channel name for YouTube channels. - google.protobuf.StringValue display_name = 3; + // Output only. Domain name for websites and YouTube channel name for YouTube channels. + google.protobuf.StringValue display_name = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - // URL of the group placement, e.g. domain, link to the mobile application in + // Output only. URL of the group placement, e.g. domain, link to the mobile application in // app store, or a YouTube channel URL. - google.protobuf.StringValue target_url = 4; + google.protobuf.StringValue target_url = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Type of the placement, e.g. Website, YouTube Channel, Mobile Application. - google.ads.googleads.v3.enums.PlacementTypeEnum.PlacementType placement_type = 5; + // Output only. Type of the placement, e.g. Website, YouTube Channel, Mobile Application. + google.ads.googleads.v3.enums.PlacementTypeEnum.PlacementType placement_type = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; } diff --git a/google/ads/googleads/v3/resources/hotel_group_view.proto b/google/ads/googleads/v3/resources/hotel_group_view.proto index e082f72e..5eaf7a22 100644 --- a/google/ads/googleads/v3/resources/hotel_group_view.proto +++ b/google/ads/googleads/v3/resources/hotel_group_view.proto @@ -16,6 +16,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/api/annotations.proto"; @@ -37,9 +38,14 @@ message HotelGroupView { pattern: "customers/{customer}/hotelGroupViews/{hotel_group_view}" }; - // The resource name of the hotel group view. + // Output only. The resource name of the hotel group view. // Hotel Group view resource names have the form: // // `customers/{customer_id}/hotelGroupViews/{ad_group_id}~{criterion_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/HotelGroupView" + } + ]; } diff --git a/google/ads/googleads/v3/resources/hotel_performance_view.proto b/google/ads/googleads/v3/resources/hotel_performance_view.proto index cadbdd9e..8af34991 100644 --- a/google/ads/googleads/v3/resources/hotel_performance_view.proto +++ b/google/ads/googleads/v3/resources/hotel_performance_view.proto @@ -16,6 +16,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/api/annotations.proto"; @@ -37,9 +38,14 @@ message HotelPerformanceView { pattern: "customers/{customer}/hotelPerformanceView" }; - // The resource name of the hotel performance view. + // Output only. The resource name of the hotel performance view. // Hotel performance view resource names have the form: // // `customers/{customer_id}/hotelPerformanceView` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/HotelPerformanceView" + } + ]; } diff --git a/google/ads/googleads/v3/resources/invoice.proto b/google/ads/googleads/v3/resources/invoice.proto index c43a7775..1e86c822 100644 --- a/google/ads/googleads/v3/resources/invoice.proto +++ b/google/ads/googleads/v3/resources/invoice.proto @@ -18,6 +18,7 @@ package google.ads.googleads.v3.resources; import "google/ads/googleads/v3/common/dates.proto"; import "google/ads/googleads/v3/enums/invoice_type.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -44,121 +45,126 @@ message Invoice { // Represents a summarized account budget billable cost. message AccountBudgetSummary { - // The resource name of the customer associated with this account budget. + // Output only. The resource name of the customer associated with this account budget. // This contains the customer ID, which appears on the invoice PDF as // "Account ID". // Customer resource names have the form: // // `customers/{customer_id}` - google.protobuf.StringValue customer = 1; + google.protobuf.StringValue customer = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The descriptive name of the account budget’s customer. It appears on the + // Output only. The descriptive name of the account budget’s customer. It appears on the // invoice PDF as "Account". - google.protobuf.StringValue customer_descriptive_name = 2; + google.protobuf.StringValue customer_descriptive_name = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The resource name of the account budget associated with this summarized + // Output only. The resource name of the account budget associated with this summarized // billable cost. // AccountBudget resource names have the form: // // `customers/{customer_id}/accountBudgets/{account_budget_id}` - google.protobuf.StringValue account_budget = 3; + google.protobuf.StringValue account_budget = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The name of the account budget. It appears on the invoice PDF as "Account + // Output only. The name of the account budget. It appears on the invoice PDF as "Account // budget". - google.protobuf.StringValue account_budget_name = 4; + google.protobuf.StringValue account_budget_name = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The purchase order number of the account budget. It appears on the + // Output only. The purchase order number of the account budget. It appears on the // invoice PDF as "Purchase order". - google.protobuf.StringValue purchase_order_number = 5; + google.protobuf.StringValue purchase_order_number = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The pretax subtotal amount attributable to this budget during the service + // Output only. The pretax subtotal amount attributable to this budget during the service // period, in micros. - google.protobuf.Int64Value subtotal_amount_micros = 6; + google.protobuf.Int64Value subtotal_amount_micros = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The tax amount attributable to this budget during the service period, in + // Output only. The tax amount attributable to this budget during the service period, in // micros. - google.protobuf.Int64Value tax_amount_micros = 7; + google.protobuf.Int64Value tax_amount_micros = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The total amount attributable to this budget during the service period, + // Output only. The total amount attributable to this budget during the service period, // in micros. This equals the sum of the account budget subtotal amount and // the account budget tax amount. - google.protobuf.Int64Value total_amount_micros = 8; + google.protobuf.Int64Value total_amount_micros = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The billable activity date range of the account budget, within the + // Output only. The billable activity date range of the account budget, within the // service date range of this invoice. The end date is inclusive. This can // be different from the account budget's start and end time. - google.ads.googleads.v3.common.DateRange billable_activity_date_range = 9; + google.ads.googleads.v3.common.DateRange billable_activity_date_range = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; } - // The resource name of the invoice. Multiple customers can share a given + // Output only. The resource name of the invoice. Multiple customers can share a given // invoice, so multiple resource names may point to the same invoice. // Invoice resource names have the form: // // `customers/{customer_id}/invoices/{invoice_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Invoice" + } + ]; - // The ID of the invoice. It appears on the invoice PDF as "Invoice number". - google.protobuf.StringValue id = 2; + // Output only. The ID of the invoice. It appears on the invoice PDF as "Invoice number". + google.protobuf.StringValue id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The type of invoice. - google.ads.googleads.v3.enums.InvoiceTypeEnum.InvoiceType type = 3; + // Output only. The type of invoice. + google.ads.googleads.v3.enums.InvoiceTypeEnum.InvoiceType type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The resource name of this invoice’s billing setup. + // Output only. The resource name of this invoice’s billing setup. // // `customers/{customer_id}/billingSetups/{billing_setup_id}` - google.protobuf.StringValue billing_setup = 4; + google.protobuf.StringValue billing_setup = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; - // A 16 digit ID used to identify the payments account associated with the + // Output only. A 16 digit ID used to identify the payments account associated with the // billing setup, e.g. "1234-5678-9012-3456". It appears on the invoice PDF as // "Billing Account Number". - google.protobuf.StringValue payments_account_id = 5; + google.protobuf.StringValue payments_account_id = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; - // A 12 digit ID used to identify the payments profile associated with the + // Output only. A 12 digit ID used to identify the payments profile associated with the // billing setup, e.g. "1234-5678-9012". It appears on the invoice PDF as // "Billing ID". - google.protobuf.StringValue payments_profile_id = 6; + google.protobuf.StringValue payments_profile_id = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The issue date in yyyy-mm-dd format. It appears on the invoice PDF as + // Output only. The issue date in yyyy-mm-dd format. It appears on the invoice PDF as // either "Issue date" or "Invoice date". - google.protobuf.StringValue issue_date = 7; + google.protobuf.StringValue issue_date = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The due date in yyyy-mm-dd format. - google.protobuf.StringValue due_date = 8; + // Output only. The due date in yyyy-mm-dd format. + google.protobuf.StringValue due_date = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The service period date range of this invoice. The end date is inclusive. - google.ads.googleads.v3.common.DateRange service_date_range = 9; + // Output only. The service period date range of this invoice. The end date is inclusive. + google.ads.googleads.v3.common.DateRange service_date_range = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The currency code. All costs are returned in this currency. A subset of the + // Output only. The currency code. All costs are returned in this currency. A subset of the // currency codes derived from the ISO 4217 standard is supported. - google.protobuf.StringValue currency_code = 10; + google.protobuf.StringValue currency_code = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The total amount of invoice level adjustments. These adjustments are made + // Output only. The total amount of invoice level adjustments. These adjustments are made // on the invoice, not on a specific account budget. - google.protobuf.Int64Value invoice_level_adjustments_micros = 11; + google.protobuf.Int64Value invoice_level_adjustments_micros = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The pretax subtotal amount, in micros. This equals the sum of the + // Output only. The pretax subtotal amount, in micros. This equals the sum of the // AccountBudgetSummary subtotal amounts, plus the invoice level adjustments. - google.protobuf.Int64Value subtotal_amount_micros = 12; + google.protobuf.Int64Value subtotal_amount_micros = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The sum of all taxes on the invoice, in micros. This equals the sum of the + // Output only. The sum of all taxes on the invoice, in micros. This equals the sum of the // AccountBudgetSummary tax amounts, plus taxes not associated with a specific // account budget. - google.protobuf.Int64Value tax_amount_micros = 13; + google.protobuf.Int64Value tax_amount_micros = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The total amount, in micros. This equals the sum of the invoice subtotal + // Output only. The total amount, in micros. This equals the sum of the invoice subtotal // amount and the invoice tax amount. - google.protobuf.Int64Value total_amount_micros = 14; + google.protobuf.Int64Value total_amount_micros = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The resource name of the original invoice corrected, wrote off, or canceled + // Output only. The resource name of the original invoice corrected, wrote off, or canceled // by this invoice, if applicable. If `corrected_invoice` is set, // `replaced_invoices` will not be set. // // Invoice resource names have the form: // // `customers/{customer_id}/invoices/{invoice_id}` - google.protobuf.StringValue corrected_invoice = 15; + google.protobuf.StringValue corrected_invoice = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The resource name of the original invoice(s) being rebilled or replaced by + // Output only. The resource name of the original invoice(s) being rebilled or replaced by // this invoice, if applicable. There might be multiple replaced invoices due // to invoice consolidation. The replaced invoices may not belong to the same // payments account. If `replaced_invoices` is set, `corrected_invoice` will @@ -166,13 +172,13 @@ message Invoice { // Invoice resource names have the form: // // `customers/{customer_id}/invoices/{invoice_id}` - repeated google.protobuf.StringValue replaced_invoices = 16; + repeated google.protobuf.StringValue replaced_invoices = 16 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The URL to a PDF copy of the invoice. Users need to pass in their OAuth + // Output only. The URL to a PDF copy of the invoice. Users need to pass in their OAuth // token to request the PDF with this URL. - google.protobuf.StringValue pdf_url = 17; + google.protobuf.StringValue pdf_url = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The list of summarized account budget information associated with this + // Output only. The list of summarized account budget information associated with this // invoice. - repeated AccountBudgetSummary account_budget_summaries = 18; + repeated AccountBudgetSummary account_budget_summaries = 18 [(google.api.field_behavior) = OUTPUT_ONLY]; } diff --git a/google/ads/googleads/v3/resources/keyword_plan.proto b/google/ads/googleads/v3/resources/keyword_plan.proto index 6cfc59f0..58e8b8c8 100644 --- a/google/ads/googleads/v3/resources/keyword_plan.proto +++ b/google/ads/googleads/v3/resources/keyword_plan.proto @@ -18,6 +18,7 @@ package google.ads.googleads.v3.resources; import "google/ads/googleads/v3/common/dates.proto"; import "google/ads/googleads/v3/enums/keyword_plan_forecast_interval.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -42,14 +43,19 @@ message KeywordPlan { pattern: "customers/{customer}/keywordPlans/{keyword_plan}" }; - // The resource name of the Keyword Planner plan. + // Immutable. The resource name of the Keyword Planner plan. // KeywordPlan resource names have the form: // // `customers/{customer_id}/keywordPlans/{kp_plan_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlan" + } + ]; - // The ID of the keyword plan. - google.protobuf.Int64Value id = 2; + // Output only. The ID of the keyword plan. + google.protobuf.Int64Value id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; // The name of the keyword plan. // diff --git a/google/ads/googleads/v3/resources/keyword_plan_ad_group.proto b/google/ads/googleads/v3/resources/keyword_plan_ad_group.proto index 9db5b425..e0fc2799 100644 --- a/google/ads/googleads/v3/resources/keyword_plan_ad_group.proto +++ b/google/ads/googleads/v3/resources/keyword_plan_ad_group.proto @@ -16,6 +16,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -39,17 +40,24 @@ message KeywordPlanAdGroup { pattern: "customers/{customer}/keywordPlanAdGroups/{keyword_plan_ad_group}" }; - // The resource name of the Keyword Planner ad group. + // Immutable. The resource name of the Keyword Planner ad group. // KeywordPlanAdGroup resource names have the form: // // `customers/{customer_id}/keywordPlanAdGroups/{kp_ad_group_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanAdGroup" + } + ]; // The keyword plan campaign to which this ad group belongs. - google.protobuf.StringValue keyword_plan_campaign = 2; + google.protobuf.StringValue keyword_plan_campaign = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanCampaign" + }]; - // The ID of the keyword plan ad group. - google.protobuf.Int64Value id = 3; + // Output only. The ID of the keyword plan ad group. + google.protobuf.Int64Value id = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; // The name of the keyword plan ad group. // diff --git a/google/ads/googleads/v3/resources/keyword_plan_campaign.proto b/google/ads/googleads/v3/resources/keyword_plan_campaign.proto index 19ddc15c..b6f93448 100644 --- a/google/ads/googleads/v3/resources/keyword_plan_campaign.proto +++ b/google/ads/googleads/v3/resources/keyword_plan_campaign.proto @@ -17,6 +17,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; import "google/ads/googleads/v3/enums/keyword_plan_network.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -40,17 +41,24 @@ message KeywordPlanCampaign { pattern: "customers/{customer}/keywordPlanCampaigns/{keyword_plan_campaign}" }; - // The resource name of the Keyword Plan campaign. + // Immutable. The resource name of the Keyword Plan campaign. // KeywordPlanCampaign resource names have the form: // // `customers/{customer_id}/keywordPlanCampaigns/{kp_campaign_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanCampaign" + } + ]; // The keyword plan this campaign belongs to. - google.protobuf.StringValue keyword_plan = 2; + google.protobuf.StringValue keyword_plan = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlan" + }]; - // The ID of the Keyword Plan campaign. - google.protobuf.Int64Value id = 3; + // Output only. The ID of the Keyword Plan campaign. + google.protobuf.Int64Value id = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; // The name of the Keyword Plan campaign. // @@ -60,7 +68,9 @@ message KeywordPlanCampaign { // The languages targeted for the Keyword Plan campaign. // Max allowed: 1. - repeated google.protobuf.StringValue language_constants = 5; + repeated google.protobuf.StringValue language_constants = 5 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/LanguageConstant" + }]; // Targeting network. // @@ -84,5 +94,7 @@ message KeywordPlanCampaign { // Next ID: 3 message KeywordPlanGeoTarget { // Required. The resource name of the geo target. - google.protobuf.StringValue geo_target_constant = 1; + google.protobuf.StringValue geo_target_constant = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/GeoTargetConstant" + }]; } diff --git a/google/ads/googleads/v3/resources/keyword_plan_keyword.proto b/google/ads/googleads/v3/resources/keyword_plan_keyword.proto index c3b54e6b..ae4ca903 100644 --- a/google/ads/googleads/v3/resources/keyword_plan_keyword.proto +++ b/google/ads/googleads/v3/resources/keyword_plan_keyword.proto @@ -17,6 +17,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; import "google/ads/googleads/v3/enums/keyword_match_type.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -40,17 +41,24 @@ message KeywordPlanKeyword { pattern: "customers/{customer}/keywordPlanKeywords/{keyword_plan_keyword}" }; - // The resource name of the Keyword Plan ad group keyword. + // Immutable. The resource name of the Keyword Plan ad group keyword. // KeywordPlanKeyword resource names have the form: // // `customers/{customer_id}/keywordPlanKeywords/{kp_ad_group_keyword_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanKeyword" + } + ]; // The Keyword Plan ad group to which this keyword belongs. - google.protobuf.StringValue keyword_plan_ad_group = 2; + google.protobuf.StringValue keyword_plan_ad_group = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanAdGroup" + }]; - // The ID of the Keyword Plan keyword. - google.protobuf.Int64Value id = 3; + // Output only. The ID of the Keyword Plan keyword. + google.protobuf.Int64Value id = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; // The keyword text. google.protobuf.StringValue text = 4; diff --git a/google/ads/googleads/v3/resources/keyword_plan_negative_keyword.proto b/google/ads/googleads/v3/resources/keyword_plan_negative_keyword.proto index 22229f00..8c691bd5 100644 --- a/google/ads/googleads/v3/resources/keyword_plan_negative_keyword.proto +++ b/google/ads/googleads/v3/resources/keyword_plan_negative_keyword.proto @@ -17,6 +17,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; import "google/ads/googleads/v3/enums/keyword_match_type.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -40,17 +41,24 @@ message KeywordPlanNegativeKeyword { pattern: "customers/{customer}/keywordPlanNegativeKeywords/{keyword_plan_negative_keyword}" }; - // The resource name of the Keyword Plan negative keyword. + // Immutable. The resource name of the Keyword Plan negative keyword. // KeywordPlanNegativeKeyword resource names have the form: // // `customers/{customer_id}/keywordPlanNegativeKeywords/{kp_negative_keyword_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanNegativeKeyword" + } + ]; // The Keyword Plan campaign to which this negative keyword belongs. - google.protobuf.StringValue keyword_plan_campaign = 2; + google.protobuf.StringValue keyword_plan_campaign = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanCampaign" + }]; - // The ID of the Keyword Plan negative keyword. - google.protobuf.Int64Value id = 3; + // Output only. The ID of the Keyword Plan negative keyword. + google.protobuf.Int64Value id = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; // The keyword text. google.protobuf.StringValue text = 4; diff --git a/google/ads/googleads/v3/resources/keyword_view.proto b/google/ads/googleads/v3/resources/keyword_view.proto index aceb31c4..36701ce0 100644 --- a/google/ads/googleads/v3/resources/keyword_view.proto +++ b/google/ads/googleads/v3/resources/keyword_view.proto @@ -16,6 +16,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/api/annotations.proto"; @@ -37,9 +38,14 @@ message KeywordView { pattern: "customers/{customer}/keywordViews/{keyword_view}" }; - // The resource name of the keyword view. + // Output only. The resource name of the keyword view. // Keyword view resource names have the form: // // `customers/{customer_id}/keywordViews/{ad_group_id}~{criterion_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordView" + } + ]; } diff --git a/google/ads/googleads/v3/resources/label.proto b/google/ads/googleads/v3/resources/label.proto index ae7058a5..a75871e9 100644 --- a/google/ads/googleads/v3/resources/label.proto +++ b/google/ads/googleads/v3/resources/label.proto @@ -18,6 +18,7 @@ package google.ads.googleads.v3.resources; import "google/ads/googleads/v3/common/text_label.proto"; import "google/ads/googleads/v3/enums/label_status.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -38,13 +39,18 @@ message Label { pattern: "customers/{customer}/labels/{label}" }; - // Name of the resource. + // Immutable. Name of the resource. // Label resource names have the form: // `customers/{customer_id}/labels/{label_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Label" + } + ]; - // Id of the label. Read only. - google.protobuf.Int64Value id = 2; + // Output only. Id of the label. Read only. + google.protobuf.Int64Value id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; // The name of the label. // @@ -53,8 +59,8 @@ message Label { // The length of this string should be between 1 and 80, inclusive. google.protobuf.StringValue name = 3; - // Status of the label. Read only. - google.ads.googleads.v3.enums.LabelStatusEnum.LabelStatus status = 4; + // Output only. Status of the label. Read only. + google.ads.googleads.v3.enums.LabelStatusEnum.LabelStatus status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; // A type of label displaying text on a colored background. google.ads.googleads.v3.common.TextLabel text_label = 5; diff --git a/google/ads/googleads/v3/resources/landing_page_view.proto b/google/ads/googleads/v3/resources/landing_page_view.proto index c562e160..fda51342 100644 --- a/google/ads/googleads/v3/resources/landing_page_view.proto +++ b/google/ads/googleads/v3/resources/landing_page_view.proto @@ -16,6 +16,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -39,12 +40,17 @@ message LandingPageView { pattern: "customers/{customer}/landingPageViews/{landing_page_view}" }; - // The resource name of the landing page view. + // Output only. The resource name of the landing page view. // Landing page view resource names have the form: // // `customers/{customer_id}/landingPageViews/{unexpanded_final_url_fingerprint}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/LandingPageView" + } + ]; - // The advertiser-specified final URL. - google.protobuf.StringValue unexpanded_final_url = 2; + // Output only. The advertiser-specified final URL. + google.protobuf.StringValue unexpanded_final_url = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; } diff --git a/google/ads/googleads/v3/resources/language_constant.proto b/google/ads/googleads/v3/resources/language_constant.proto index 99700b6d..54eabdbb 100644 --- a/google/ads/googleads/v3/resources/language_constant.proto +++ b/google/ads/googleads/v3/resources/language_constant.proto @@ -16,6 +16,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -38,22 +39,27 @@ message LanguageConstant { pattern: "languageConstants/{language_constant}" }; - // The resource name of the language constant. + // Output only. The resource name of the language constant. // Language constant resource names have the form: // // `languageConstants/{criterion_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/LanguageConstant" + } + ]; - // The ID of the language constant. - google.protobuf.Int64Value id = 2; + // Output only. The ID of the language constant. + google.protobuf.Int64Value id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The language code, e.g. "en_US", "en_AU", "es", "fr", etc. - google.protobuf.StringValue code = 3; + // Output only. The language code, e.g. "en_US", "en_AU", "es", "fr", etc. + google.protobuf.StringValue code = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The full name of the language in English, e.g., "English (US)", "Spanish", + // Output only. The full name of the language in English, e.g., "English (US)", "Spanish", // etc. - google.protobuf.StringValue name = 4; + google.protobuf.StringValue name = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Whether the language is targetable. - google.protobuf.BoolValue targetable = 5; + // Output only. Whether the language is targetable. + google.protobuf.BoolValue targetable = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; } diff --git a/google/ads/googleads/v3/resources/location_view.proto b/google/ads/googleads/v3/resources/location_view.proto index 593c40f4..1405e57c 100644 --- a/google/ads/googleads/v3/resources/location_view.proto +++ b/google/ads/googleads/v3/resources/location_view.proto @@ -16,6 +16,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/api/annotations.proto"; @@ -38,9 +39,14 @@ message LocationView { pattern: "customers/{customer}/locationViews/{location_view}" }; - // The resource name of the location view. + // Output only. The resource name of the location view. // Location view resource names have the form: // // `customers/{customer_id}/locationViews/{campaign_id}~{criterion_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/LocationView" + } + ]; } diff --git a/google/ads/googleads/v3/resources/managed_placement_view.proto b/google/ads/googleads/v3/resources/managed_placement_view.proto index cda98c6b..2175df46 100644 --- a/google/ads/googleads/v3/resources/managed_placement_view.proto +++ b/google/ads/googleads/v3/resources/managed_placement_view.proto @@ -16,6 +16,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/api/annotations.proto"; @@ -37,9 +38,14 @@ message ManagedPlacementView { pattern: "customers/{customer}/managedPlacementViews/{managed_placement_view}" }; - // The resource name of the Managed Placement view. + // Output only. The resource name of the Managed Placement view. // Managed placement view resource names have the form: // // `customers/{customer_id}/managedPlacementViews/{ad_group_id}~{criterion_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ManagedPlacementView" + } + ]; } diff --git a/google/ads/googleads/v3/resources/media_file.proto b/google/ads/googleads/v3/resources/media_file.proto index 13628f66..4068912a 100644 --- a/google/ads/googleads/v3/resources/media_file.proto +++ b/google/ads/googleads/v3/resources/media_file.proto @@ -18,6 +18,7 @@ package google.ads.googleads.v3.resources; import "google/ads/googleads/v3/enums/media_type.proto"; import "google/ads/googleads/v3/enums/mime_type.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -40,80 +41,85 @@ message MediaFile { pattern: "customers/{customer}/mediaFiles/{media_file}" }; - // The resource name of the media file. + // Immutable. The resource name of the media file. // Media file resource names have the form: // // `customers/{customer_id}/mediaFiles/{media_file_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/MediaFile" + } + ]; - // The ID of the media file. - google.protobuf.Int64Value id = 2; + // Output only. The ID of the media file. + google.protobuf.Int64Value id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Type of the media file. - google.ads.googleads.v3.enums.MediaTypeEnum.MediaType type = 5; + // Immutable. Type of the media file. + google.ads.googleads.v3.enums.MediaTypeEnum.MediaType type = 5 [(google.api.field_behavior) = IMMUTABLE]; - // The mime type of the media file. - google.ads.googleads.v3.enums.MimeTypeEnum.MimeType mime_type = 6; + // Output only. The mime type of the media file. + google.ads.googleads.v3.enums.MimeTypeEnum.MimeType mime_type = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The URL of where the original media file was downloaded from (or a file + // Immutable. The URL of where the original media file was downloaded from (or a file // name). Only used for media of type AUDIO and IMAGE. - google.protobuf.StringValue source_url = 7; + google.protobuf.StringValue source_url = 7 [(google.api.field_behavior) = IMMUTABLE]; - // The name of the media file. The name can be used by clients to help + // Immutable. The name of the media file. The name can be used by clients to help // identify previously uploaded media. - google.protobuf.StringValue name = 8; + google.protobuf.StringValue name = 8 [(google.api.field_behavior) = IMMUTABLE]; - // The size of the media file in bytes. - google.protobuf.Int64Value file_size = 9; + // Output only. The size of the media file in bytes. + google.protobuf.Int64Value file_size = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; // The specific type of the media file. oneof mediatype { - // Encapsulates an Image. - MediaImage image = 3; + // Immutable. Encapsulates an Image. + MediaImage image = 3 [(google.api.field_behavior) = IMMUTABLE]; - // A ZIP archive media the content of which contains HTML5 assets. - MediaBundle media_bundle = 4; + // Immutable. A ZIP archive media the content of which contains HTML5 assets. + MediaBundle media_bundle = 4 [(google.api.field_behavior) = IMMUTABLE]; - // Encapsulates an Audio. - MediaAudio audio = 10; + // Output only. Encapsulates an Audio. + MediaAudio audio = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Encapsulates a Video. - MediaVideo video = 11; + // Immutable. Encapsulates a Video. + MediaVideo video = 11 [(google.api.field_behavior) = IMMUTABLE]; } } // Encapsulates an Image. message MediaImage { - // Raw image data. - google.protobuf.BytesValue data = 1; + // Immutable. Raw image data. + google.protobuf.BytesValue data = 1 [(google.api.field_behavior) = IMMUTABLE]; } // Represents a ZIP archive media the content of which contains HTML5 assets. message MediaBundle { - // Raw zipped data. - google.protobuf.BytesValue data = 1; + // Immutable. Raw zipped data. + google.protobuf.BytesValue data = 1 [(google.api.field_behavior) = IMMUTABLE]; } // Encapsulates an Audio. message MediaAudio { - // The duration of the Audio in milliseconds. - google.protobuf.Int64Value ad_duration_millis = 1; + // Output only. The duration of the Audio in milliseconds. + google.protobuf.Int64Value ad_duration_millis = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; } // Encapsulates a Video. message MediaVideo { - // The duration of the Video in milliseconds. - google.protobuf.Int64Value ad_duration_millis = 1; + // Output only. The duration of the Video in milliseconds. + google.protobuf.Int64Value ad_duration_millis = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The YouTube video ID (as seen in YouTube URLs). - google.protobuf.StringValue youtube_video_id = 2; + // Immutable. The YouTube video ID (as seen in YouTube URLs). + google.protobuf.StringValue youtube_video_id = 2 [(google.api.field_behavior) = IMMUTABLE]; - // The Advertising Digital Identification code for this video, as defined by + // Output only. The Advertising Digital Identification code for this video, as defined by // the American Association of Advertising Agencies, used mainly for // television commercials. - google.protobuf.StringValue advertising_id_code = 3; + google.protobuf.StringValue advertising_id_code = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The Industry Standard Commercial Identifier code for this video, used + // Output only. The Industry Standard Commercial Identifier code for this video, used // mainly for television commercials. - google.protobuf.StringValue isci_code = 4; + google.protobuf.StringValue isci_code = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; } diff --git a/google/ads/googleads/v3/resources/merchant_center_link.proto b/google/ads/googleads/v3/resources/merchant_center_link.proto index 3b5ceaad..a5a8d021 100644 --- a/google/ads/googleads/v3/resources/merchant_center_link.proto +++ b/google/ads/googleads/v3/resources/merchant_center_link.proto @@ -17,6 +17,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; import "google/ads/googleads/v3/enums/merchant_center_link_status.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -40,19 +41,24 @@ message MerchantCenterLink { pattern: "customers/{customer}/merchantCenterLinks/{merchant_center_link}" }; - // The resource name of the merchant center link. + // Immutable. The resource name of the merchant center link. // Merchant center link resource names have the form: // // `customers/{customer_id}/merchantCenterLinks/{merchant_center_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/MerchantCenterLink" + } + ]; - // The ID of the Merchant Center account. + // Output only. The ID of the Merchant Center account. // This field is readonly. - google.protobuf.Int64Value id = 3; + google.protobuf.Int64Value id = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The name of the Merchant Center account. + // Output only. The name of the Merchant Center account. // This field is readonly. - google.protobuf.StringValue merchant_center_account_name = 4; + google.protobuf.StringValue merchant_center_account_name = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; // The status of the link. google.ads.googleads.v3.enums.MerchantCenterLinkStatusEnum.MerchantCenterLinkStatus status = 5; diff --git a/google/ads/googleads/v3/resources/mobile_app_category_constant.proto b/google/ads/googleads/v3/resources/mobile_app_category_constant.proto index e763be1d..7ae25c91 100644 --- a/google/ads/googleads/v3/resources/mobile_app_category_constant.proto +++ b/google/ads/googleads/v3/resources/mobile_app_category_constant.proto @@ -16,6 +16,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -38,15 +39,20 @@ message MobileAppCategoryConstant { pattern: "mobileAppCategoryConstants/{mobile_app_category_constant}" }; - // The resource name of the mobile app category constant. + // Output only. The resource name of the mobile app category constant. // Mobile app category constant resource names have the form: // // `mobileAppCategoryConstants/{mobile_app_category_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/MobileAppCategoryConstant" + } + ]; - // The ID of the mobile app category constant. - google.protobuf.Int32Value id = 2; + // Output only. The ID of the mobile app category constant. + google.protobuf.Int32Value id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Mobile app category name. - google.protobuf.StringValue name = 3; + // Output only. Mobile app category name. + google.protobuf.StringValue name = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; } diff --git a/google/ads/googleads/v3/resources/mobile_device_constant.proto b/google/ads/googleads/v3/resources/mobile_device_constant.proto index 9ece0b3b..71190425 100644 --- a/google/ads/googleads/v3/resources/mobile_device_constant.proto +++ b/google/ads/googleads/v3/resources/mobile_device_constant.proto @@ -17,6 +17,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; import "google/ads/googleads/v3/enums/mobile_device_type.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -39,24 +40,29 @@ message MobileDeviceConstant { pattern: "mobileDeviceConstants/{mobile_device_constant}" }; - // The resource name of the mobile device constant. + // Output only. The resource name of the mobile device constant. // Mobile device constant resource names have the form: // // `mobileDeviceConstants/{criterion_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/MobileDeviceConstant" + } + ]; - // The ID of the mobile device constant. - google.protobuf.Int64Value id = 2; + // Output only. The ID of the mobile device constant. + google.protobuf.Int64Value id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The name of the mobile device. - google.protobuf.StringValue name = 3; + // Output only. The name of the mobile device. + google.protobuf.StringValue name = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The manufacturer of the mobile device. - google.protobuf.StringValue manufacturer_name = 4; + // Output only. The manufacturer of the mobile device. + google.protobuf.StringValue manufacturer_name = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The operating system of the mobile device. - google.protobuf.StringValue operating_system_name = 5; + // Output only. The operating system of the mobile device. + google.protobuf.StringValue operating_system_name = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The type of mobile device. - google.ads.googleads.v3.enums.MobileDeviceTypeEnum.MobileDeviceType type = 6; + // Output only. The type of mobile device. + google.ads.googleads.v3.enums.MobileDeviceTypeEnum.MobileDeviceType type = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; } diff --git a/google/ads/googleads/v3/resources/mutate_job.proto b/google/ads/googleads/v3/resources/mutate_job.proto index 953eb83b..61a72ca0 100644 --- a/google/ads/googleads/v3/resources/mutate_job.proto +++ b/google/ads/googleads/v3/resources/mutate_job.proto @@ -17,6 +17,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; import "google/ads/googleads/v3/enums/mutate_job_status.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -44,46 +45,51 @@ message MutateJob { // Additional information about the mutate job. This message is also used as // metadata returned in mutate job Long Running Operations. message MutateJobMetadata { - // The time when this mutate job was created. + // Output only. The time when this mutate job was created. // Formatted as yyyy-mm-dd hh:mm:ss. Example: "2018-03-05 09:15:00" - google.protobuf.StringValue creation_date_time = 1; + google.protobuf.StringValue creation_date_time = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The time when this mutate job was completed. + // Output only. The time when this mutate job was completed. // Formatted as yyyy-MM-dd HH:mm:ss. Example: "2018-03-05 09:16:00" - google.protobuf.StringValue completion_date_time = 2; + google.protobuf.StringValue completion_date_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The fraction (between 0.0 and 1.0) of mutates that have been processed. + // Output only. The fraction (between 0.0 and 1.0) of mutates that have been processed. // This is empty if the job hasn't started running yet. - google.protobuf.DoubleValue estimated_completion_ratio = 3; + google.protobuf.DoubleValue estimated_completion_ratio = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The number of mutate operations in the mutate job. - google.protobuf.Int64Value operation_count = 4; + // Output only. The number of mutate operations in the mutate job. + google.protobuf.Int64Value operation_count = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The number of mutate operations executed by the mutate job. + // Output only. The number of mutate operations executed by the mutate job. // Present only if the job has started running. - google.protobuf.Int64Value executed_operation_count = 5; + google.protobuf.Int64Value executed_operation_count = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; } - // The resource name of the mutate job. + // Immutable. The resource name of the mutate job. // Mutate job resource names have the form: // // `customers/{customer_id}/mutateJobs/{mutate_job_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/MutateJob" + } + ]; - // ID of this mutate job. - google.protobuf.Int64Value id = 2; + // Output only. ID of this mutate job. + google.protobuf.Int64Value id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The next sequence token to use when adding operations. Only set when the + // Output only. The next sequence token to use when adding operations. Only set when the // mutate job status is PENDING. - google.protobuf.StringValue next_add_sequence_token = 3; + google.protobuf.StringValue next_add_sequence_token = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Contains additional information about this mutate job. - MutateJobMetadata metadata = 4; + // Output only. Contains additional information about this mutate job. + MutateJobMetadata metadata = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Status of this mutate job. - google.ads.googleads.v3.enums.MutateJobStatusEnum.MutateJobStatus status = 5; + // Output only. Status of this mutate job. + google.ads.googleads.v3.enums.MutateJobStatusEnum.MutateJobStatus status = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The resource name of the long-running operation that can be used to poll + // Output only. The resource name of the long-running operation that can be used to poll // for completion. Only set when the mutate job status is RUNNING or DONE. - google.protobuf.StringValue long_running_operation = 6; + google.protobuf.StringValue long_running_operation = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; } diff --git a/google/ads/googleads/v3/resources/operating_system_version_constant.proto b/google/ads/googleads/v3/resources/operating_system_version_constant.proto index e863b46f..cb9ed40b 100644 --- a/google/ads/googleads/v3/resources/operating_system_version_constant.proto +++ b/google/ads/googleads/v3/resources/operating_system_version_constant.proto @@ -17,6 +17,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; import "google/ads/googleads/v3/enums/operating_system_version_operator_type.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -41,25 +42,30 @@ message OperatingSystemVersionConstant { pattern: "operatingSystemVersionConstants/{operating_system_version_constant}" }; - // The resource name of the operating system version constant. + // Output only. The resource name of the operating system version constant. // Operating system version constant resource names have the form: // // `operatingSystemVersionConstants/{criterion_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/OperatingSystemVersionConstant" + } + ]; - // The ID of the operating system version. - google.protobuf.Int64Value id = 2; + // Output only. The ID of the operating system version. + google.protobuf.Int64Value id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Name of the operating system. - google.protobuf.StringValue name = 3; + // Output only. Name of the operating system. + google.protobuf.StringValue name = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The OS Major Version number. - google.protobuf.Int32Value os_major_version = 4; + // Output only. The OS Major Version number. + google.protobuf.Int32Value os_major_version = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The OS Minor Version number. - google.protobuf.Int32Value os_minor_version = 5; + // Output only. The OS Minor Version number. + google.protobuf.Int32Value os_minor_version = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Determines whether this constant represents a single version or a range of + // Output only. Determines whether this constant represents a single version or a range of // versions. - google.ads.googleads.v3.enums.OperatingSystemVersionOperatorTypeEnum.OperatingSystemVersionOperatorType operator_type = 6; + google.ads.googleads.v3.enums.OperatingSystemVersionOperatorTypeEnum.OperatingSystemVersionOperatorType operator_type = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; } diff --git a/google/ads/googleads/v3/resources/paid_organic_search_term_view.proto b/google/ads/googleads/v3/resources/paid_organic_search_term_view.proto index fa5e0d1b..0bb04738 100644 --- a/google/ads/googleads/v3/resources/paid_organic_search_term_view.proto +++ b/google/ads/googleads/v3/resources/paid_organic_search_term_view.proto @@ -16,6 +16,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -39,13 +40,18 @@ message PaidOrganicSearchTermView { pattern: "customers/{customer}/paidOrganicSearchTermViews/{paid_organic_search_term_view}" }; - // The resource name of the search term view. + // Output only. The resource name of the search term view. // Search term view resource names have the form: // // `customers/{customer_id}/paidOrganicSearchTermViews/{campaign_id}~ // {ad_group_id}~{URL-base64 search term}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/PaidOrganicSearchTermView" + } + ]; - // The search term. - google.protobuf.StringValue search_term = 2; + // Output only. The search term. + google.protobuf.StringValue search_term = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; } diff --git a/google/ads/googleads/v3/resources/parental_status_view.proto b/google/ads/googleads/v3/resources/parental_status_view.proto index c3b58860..8aae34db 100644 --- a/google/ads/googleads/v3/resources/parental_status_view.proto +++ b/google/ads/googleads/v3/resources/parental_status_view.proto @@ -16,6 +16,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/api/annotations.proto"; @@ -37,9 +38,14 @@ message ParentalStatusView { pattern: "customers/{customer}/parentalStatusViews/{parental_status_view}" }; - // The resource name of the parental status view. + // Output only. The resource name of the parental status view. // Parental Status view resource names have the form: // // `customers/{customer_id}/parentalStatusViews/{ad_group_id}~{criterion_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ParentalStatusView" + } + ]; } diff --git a/google/ads/googleads/v3/resources/payments_account.proto b/google/ads/googleads/v3/resources/payments_account.proto index 18b8550a..6cbf58ae 100644 --- a/google/ads/googleads/v3/resources/payments_account.proto +++ b/google/ads/googleads/v3/resources/payments_account.proto @@ -16,6 +16,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -38,28 +39,33 @@ message PaymentsAccount { pattern: "customers/{customer}/paymentsAccounts/{payments_account}" }; - // The resource name of the payments account. + // Output only. The resource name of the payments account. // PaymentsAccount resource names have the form: // // `customers/{customer_id}/paymentsAccounts/{payments_account_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/PaymentsAccount" + } + ]; - // A 16 digit ID used to identify a payments account. - google.protobuf.StringValue payments_account_id = 2; + // Output only. A 16 digit ID used to identify a payments account. + google.protobuf.StringValue payments_account_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The name of the payments account. - google.protobuf.StringValue name = 3; + // Output only. The name of the payments account. + google.protobuf.StringValue name = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The currency code of the payments account. + // Output only. The currency code of the payments account. // A subset of the currency codes derived from the ISO 4217 standard is // supported. - google.protobuf.StringValue currency_code = 4; + google.protobuf.StringValue currency_code = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; - // A 12 digit ID used to identify the payments profile associated with the + // Output only. A 12 digit ID used to identify the payments profile associated with the // payments account. - google.protobuf.StringValue payments_profile_id = 5; + google.protobuf.StringValue payments_profile_id = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; - // A secondary payments profile ID present in uncommon situations, e.g. + // Output only. A secondary payments profile ID present in uncommon situations, e.g. // when a sequential liability agreement has been arranged. - google.protobuf.StringValue secondary_payments_profile_id = 6; + google.protobuf.StringValue secondary_payments_profile_id = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; } diff --git a/google/ads/googleads/v3/resources/product_bidding_category_constant.proto b/google/ads/googleads/v3/resources/product_bidding_category_constant.proto index 7bc3e8b4..149fb016 100644 --- a/google/ads/googleads/v3/resources/product_bidding_category_constant.proto +++ b/google/ads/googleads/v3/resources/product_bidding_category_constant.proto @@ -18,6 +18,7 @@ package google.ads.googleads.v3.resources; import "google/ads/googleads/v3/enums/product_bidding_category_level.proto"; import "google/ads/googleads/v3/enums/product_bidding_category_status.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -40,34 +41,44 @@ message ProductBiddingCategoryConstant { pattern: "productBiddingCategoryConstants/{product_bidding_category_constant}" }; - // The resource name of the product bidding category. + // Output only. The resource name of the product bidding category. // Product bidding category resource names have the form: // // `productBiddingCategoryConstants/{country_code}~{level}~{id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ProductBiddingCategoryConstant" + } + ]; - // ID of the product bidding category. + // Output only. ID of the product bidding category. // // This ID is equivalent to the google_product_category ID as described in // this article: https://support.google.com/merchants/answer/6324436. - google.protobuf.Int64Value id = 2; + google.protobuf.Int64Value id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Two-letter upper-case country code of the product bidding category. - google.protobuf.StringValue country_code = 3; + // Output only. Two-letter upper-case country code of the product bidding category. + google.protobuf.StringValue country_code = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Resource name of the parent product bidding category. - google.protobuf.StringValue product_bidding_category_constant_parent = 4; + // Output only. Resource name of the parent product bidding category. + google.protobuf.StringValue product_bidding_category_constant_parent = 4 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ProductBiddingCategoryConstant" + } + ]; - // Level of the product bidding category. - google.ads.googleads.v3.enums.ProductBiddingCategoryLevelEnum.ProductBiddingCategoryLevel level = 5; + // Output only. Level of the product bidding category. + google.ads.googleads.v3.enums.ProductBiddingCategoryLevelEnum.ProductBiddingCategoryLevel level = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Status of the product bidding category. - google.ads.googleads.v3.enums.ProductBiddingCategoryStatusEnum.ProductBiddingCategoryStatus status = 6; + // Output only. Status of the product bidding category. + google.ads.googleads.v3.enums.ProductBiddingCategoryStatusEnum.ProductBiddingCategoryStatus status = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Language code of the product bidding category. - google.protobuf.StringValue language_code = 7; + // Output only. Language code of the product bidding category. + google.protobuf.StringValue language_code = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Display value of the product bidding category localized according to + // Output only. Display value of the product bidding category localized according to // language_code. - google.protobuf.StringValue localized_name = 8; + google.protobuf.StringValue localized_name = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; } diff --git a/google/ads/googleads/v3/resources/product_group_view.proto b/google/ads/googleads/v3/resources/product_group_view.proto index c5afc82e..2572a3fb 100644 --- a/google/ads/googleads/v3/resources/product_group_view.proto +++ b/google/ads/googleads/v3/resources/product_group_view.proto @@ -16,6 +16,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/api/annotations.proto"; @@ -37,9 +38,14 @@ message ProductGroupView { pattern: "customers/{customer}/productGroupViews/{product_group_view}" }; - // The resource name of the product group view. + // Output only. The resource name of the product group view. // Product group view resource names have the form: // // `customers/{customer_id}/productGroupViews/{ad_group_id}~{criterion_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ProductGroupView" + } + ]; } diff --git a/google/ads/googleads/v3/resources/recommendation.proto b/google/ads/googleads/v3/resources/recommendation.proto index fa6fb560..13cfb04e 100644 --- a/google/ads/googleads/v3/resources/recommendation.proto +++ b/google/ads/googleads/v3/resources/recommendation.proto @@ -22,6 +22,7 @@ import "google/ads/googleads/v3/enums/keyword_match_type.proto"; import "google/ads/googleads/v3/enums/recommendation_type.proto"; import "google/ads/googleads/v3/enums/target_cpa_opt_in_recommendation_goal.proto"; import "google/ads/googleads/v3/resources/ad.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -47,133 +48,114 @@ message Recommendation { // The impact of making the change as described in the recommendation. // Some types of recommendations may not have impact information. message RecommendationImpact { - // Base metrics at the time the recommendation was generated. - RecommendationMetrics base_metrics = 1; + // Output only. Base metrics at the time the recommendation was generated. + RecommendationMetrics base_metrics = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Estimated metrics if the recommendation is applied. - RecommendationMetrics potential_metrics = 2; + // Output only. Estimated metrics if the recommendation is applied. + RecommendationMetrics potential_metrics = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; } // Weekly account performance metrics. For some recommendation types, these // are averaged over the past 90-day period and hence can be fractional. message RecommendationMetrics { - // Number of ad impressions. - google.protobuf.DoubleValue impressions = 1; + // Output only. Number of ad impressions. + google.protobuf.DoubleValue impressions = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Number of ad clicks. - google.protobuf.DoubleValue clicks = 2; + // Output only. Number of ad clicks. + google.protobuf.DoubleValue clicks = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Cost (in micros) for advertising, in the local currency for the account. - google.protobuf.Int64Value cost_micros = 3; + // Output only. Cost (in micros) for advertising, in the local currency for the account. + google.protobuf.Int64Value cost_micros = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Number of conversions. - google.protobuf.DoubleValue conversions = 4; + // Output only. Number of conversions. + google.protobuf.DoubleValue conversions = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Number of video views for a video ad campaign. - google.protobuf.DoubleValue video_views = 5; + // Output only. Number of video views for a video ad campaign. + google.protobuf.DoubleValue video_views = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; } // The budget recommendation for budget constrained campaigns. message CampaignBudgetRecommendation { // The impact estimates for a given budget amount. message CampaignBudgetRecommendationOption { - // The budget amount for this option. - google.protobuf.Int64Value budget_amount_micros = 1; + // Output only. The budget amount for this option. + google.protobuf.Int64Value budget_amount_micros = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The impact estimate if budget is changed to amount specified in this + // Output only. The impact estimate if budget is changed to amount specified in this // option. - RecommendationImpact impact = 2; + RecommendationImpact impact = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; } - // The current budget amount in micros. - google.protobuf.Int64Value current_budget_amount_micros = 1; + // Output only. The current budget amount in micros. + google.protobuf.Int64Value current_budget_amount_micros = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The recommended budget amount in micros. - google.protobuf.Int64Value recommended_budget_amount_micros = 2; + // Output only. The recommended budget amount in micros. + google.protobuf.Int64Value recommended_budget_amount_micros = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The budget amounts and associated impact estimates for some values of + // Output only. The budget amounts and associated impact estimates for some values of // possible budget amounts. - repeated CampaignBudgetRecommendationOption budget_options = 3; + repeated CampaignBudgetRecommendationOption budget_options = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; } // The keyword recommendation. message KeywordRecommendation { - // The recommended keyword. - google.ads.googleads.v3.common.KeywordInfo keyword = 1; + // Output only. The recommended keyword. + google.ads.googleads.v3.common.KeywordInfo keyword = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The recommended CPC (cost-per-click) bid. - google.protobuf.Int64Value recommended_cpc_bid_micros = 2; + // Output only. The recommended CPC (cost-per-click) bid. + google.protobuf.Int64Value recommended_cpc_bid_micros = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; } - // The Maximize Clicks opt-in recommendation. - message MaximizeClicksOptInRecommendation { - // The recommended new budget amount. - // Only set if the current budget is too high. - google.protobuf.Int64Value recommended_budget_amount_micros = 1; + // The keyword match type recommendation. + message KeywordMatchTypeRecommendation { + // Output only. The existing keyword where the match type should be more broad. + google.ads.googleads.v3.common.KeywordInfo keyword = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The recommended new match type. + google.ads.googleads.v3.enums.KeywordMatchTypeEnum.KeywordMatchType recommended_match_type = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; } // The text ad recommendation. message TextAdRecommendation { - // Recommended ad. - Ad ad = 1; + // Output only. Recommended ad. + Ad ad = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Creation date of the recommended ad. + // Output only. Creation date of the recommended ad. // YYYY-MM-DD format, e.g., 2018-04-17. - google.protobuf.StringValue creation_date = 2; + google.protobuf.StringValue creation_date = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Date, if present, is the earliest when the recommendation will be auto + // Output only. Date, if present, is the earliest when the recommendation will be auto // applied. // YYYY-MM-DD format, e.g., 2018-04-17. - google.protobuf.StringValue auto_apply_date = 3; - } - - // The move unused budget recommendation. - message MoveUnusedBudgetRecommendation { - // The excess budget's resource_name. - google.protobuf.StringValue excess_campaign_budget = 1; - - // The recommendation for the constrained budget to increase. - CampaignBudgetRecommendation budget_recommendation = 2; + google.protobuf.StringValue auto_apply_date = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; } // The Target CPA opt-in recommendation. message TargetCpaOptInRecommendation { // The Target CPA opt-in option with impact estimate. message TargetCpaOptInRecommendationOption { - // The goal achieved by this option. - google.ads.googleads.v3.enums.TargetCpaOptInRecommendationGoalEnum.TargetCpaOptInRecommendationGoal goal = 1; + // Output only. The goal achieved by this option. + google.ads.googleads.v3.enums.TargetCpaOptInRecommendationGoalEnum.TargetCpaOptInRecommendationGoal goal = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Average CPA target. - google.protobuf.Int64Value target_cpa_micros = 2; + // Output only. Average CPA target. + google.protobuf.Int64Value target_cpa_micros = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The minimum campaign budget, in local currency for the account, + // Output only. The minimum campaign budget, in local currency for the account, // required to achieve the target CPA. // Amount is specified in micros, where one million is equivalent to one // currency unit. - google.protobuf.Int64Value required_campaign_budget_amount_micros = 3; + google.protobuf.Int64Value required_campaign_budget_amount_micros = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The impact estimate if this option is selected. - RecommendationImpact impact = 4; + // Output only. The impact estimate if this option is selected. + RecommendationImpact impact = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; } - // The available goals and corresponding options for Target CPA strategy. - repeated TargetCpaOptInRecommendationOption options = 1; + // Output only. The available goals and corresponding options for Target CPA strategy. + repeated TargetCpaOptInRecommendationOption options = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The recommended average CPA target. See required budget amount and impact + // Output only. The recommended average CPA target. See required budget amount and impact // of using this recommendation in options list. - google.protobuf.Int64Value recommended_target_cpa_micros = 2; - } - - // The Callout extension recommendation. - message CalloutExtensionRecommendation { - // Callout extensions recommended to be added. - repeated google.ads.googleads.v3.common.CalloutFeedItem recommended_extensions = 1; - } - - // The Maximize Conversions Opt-In recommendation. - message MaximizeConversionsOptInRecommendation { - // The recommended new budget amount. - google.protobuf.Int64Value recommended_budget_amount_micros = 1; + google.protobuf.Int64Value recommended_target_cpa_micros = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; } // The Enhanced Cost-Per-Click Opt-In recommendation. @@ -181,18 +163,19 @@ message Recommendation { } - // The keyword match type recommendation. - message KeywordMatchTypeRecommendation { - // The existing keyword where the match type should be more broad. - google.ads.googleads.v3.common.KeywordInfo keyword = 1; - - // The recommended new match type. - google.ads.googleads.v3.enums.KeywordMatchTypeEnum.KeywordMatchType recommended_match_type = 2; + // The Maximize Conversions Opt-In recommendation. + message MaximizeConversionsOptInRecommendation { + // Output only. The recommended new budget amount. + google.protobuf.Int64Value recommended_budget_amount_micros = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; } - // The Search Partners Opt-In recommendation. - message SearchPartnersOptInRecommendation { + // The move unused budget recommendation. + message MoveUnusedBudgetRecommendation { + // Output only. The excess budget's resource_name. + google.protobuf.StringValue excess_campaign_budget = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + // Output only. The recommendation for the constrained budget to increase. + CampaignBudgetRecommendation budget_recommendation = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; } // The Optimize Ad Rotation recommendation. @@ -200,38 +183,66 @@ message Recommendation { } + // The Search Partners Opt-In recommendation. + message SearchPartnersOptInRecommendation { + + } + + // The Maximize Clicks opt-in recommendation. + message MaximizeClicksOptInRecommendation { + // Output only. The recommended new budget amount. + // Only set if the current budget is too high. + google.protobuf.Int64Value recommended_budget_amount_micros = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The Callout extension recommendation. + message CalloutExtensionRecommendation { + // Output only. Callout extensions recommended to be added. + repeated google.ads.googleads.v3.common.CalloutFeedItem recommended_extensions = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + // The Sitelink extension recommendation. message SitelinkExtensionRecommendation { - // Sitelink extensions recommended to be added. - repeated google.ads.googleads.v3.common.SitelinkFeedItem recommended_extensions = 1; + // Output only. Sitelink extensions recommended to be added. + repeated google.ads.googleads.v3.common.SitelinkFeedItem recommended_extensions = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; } // The Call extension recommendation. message CallExtensionRecommendation { - // Call extensions recommended to be added. - repeated google.ads.googleads.v3.common.CallFeedItem recommended_extensions = 1; + // Output only. Call extensions recommended to be added. + repeated google.ads.googleads.v3.common.CallFeedItem recommended_extensions = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; } - // The resource name of the recommendation. + // Immutable. The resource name of the recommendation. // // `customers/{customer_id}/recommendations/{recommendation_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Recommendation" + } + ]; - // The type of recommendation. - google.ads.googleads.v3.enums.RecommendationTypeEnum.RecommendationType type = 2; + // Output only. The type of recommendation. + google.ads.googleads.v3.enums.RecommendationTypeEnum.RecommendationType type = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The impact on account performance as a result of applying the + // Output only. The impact on account performance as a result of applying the // recommendation. - RecommendationImpact impact = 3; + RecommendationImpact impact = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The budget targeted by this recommendation. This will be set only when + // Output only. The budget targeted by this recommendation. This will be set only when // the recommendation affects a single campaign budget. // // This field will be set for the following recommendation types: // CAMPAIGN_BUDGET, MOVE_UNUSED_BUDGET - google.protobuf.StringValue campaign_budget = 5; + google.protobuf.StringValue campaign_budget = 5 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignBudget" + } + ]; - // The campaign targeted by this recommendation. This will be set only when + // Output only. The campaign targeted by this recommendation. This will be set only when // the recommendation affects a single campaign. // // This field will be set for the following recommendation types: @@ -239,60 +250,70 @@ message Recommendation { // KEYWORD_MATCH_TYPE, MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN, // OPTIMIZE_AD_ROTATION, SEARCH_PARTNERS_OPT_IN, SITELINK_EXTENSION, // TARGET_CPA_OPT_IN, TEXT_AD - google.protobuf.StringValue campaign = 6; + google.protobuf.StringValue campaign = 6 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; - // The ad group targeted by this recommendation. This will be set only when + // Output only. The ad group targeted by this recommendation. This will be set only when // the recommendation affects a single ad group. // // This field will be set for the following recommendation types: // KEYWORD, OPTIMIZE_AD_ROTATION, TEXT_AD - google.protobuf.StringValue ad_group = 7; + google.protobuf.StringValue ad_group = 7 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; - // Whether the recommendation is dismissed or not. - google.protobuf.BoolValue dismissed = 13; + // Output only. Whether the recommendation is dismissed or not. + google.protobuf.BoolValue dismissed = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; // The details of recommendation. oneof recommendation { - // The campaign budget recommendation. - CampaignBudgetRecommendation campaign_budget_recommendation = 4; + // Output only. The campaign budget recommendation. + CampaignBudgetRecommendation campaign_budget_recommendation = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The keyword recommendation. - KeywordRecommendation keyword_recommendation = 8; + // Output only. The keyword recommendation. + KeywordRecommendation keyword_recommendation = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Add expanded text ad recommendation. - TextAdRecommendation text_ad_recommendation = 9; + // Output only. Add expanded text ad recommendation. + TextAdRecommendation text_ad_recommendation = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The TargetCPA opt-in recommendation. - TargetCpaOptInRecommendation target_cpa_opt_in_recommendation = 10; + // Output only. The TargetCPA opt-in recommendation. + TargetCpaOptInRecommendation target_cpa_opt_in_recommendation = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The MaximizeConversions Opt-In recommendation. - MaximizeConversionsOptInRecommendation maximize_conversions_opt_in_recommendation = 11; + // Output only. The MaximizeConversions Opt-In recommendation. + MaximizeConversionsOptInRecommendation maximize_conversions_opt_in_recommendation = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The Enhanced Cost-Per-Click Opt-In recommendation. - EnhancedCpcOptInRecommendation enhanced_cpc_opt_in_recommendation = 12; + // Output only. The Enhanced Cost-Per-Click Opt-In recommendation. + EnhancedCpcOptInRecommendation enhanced_cpc_opt_in_recommendation = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The Search Partners Opt-In recommendation. - SearchPartnersOptInRecommendation search_partners_opt_in_recommendation = 14; + // Output only. The Search Partners Opt-In recommendation. + SearchPartnersOptInRecommendation search_partners_opt_in_recommendation = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The MaximizeClicks Opt-In recommendation. - MaximizeClicksOptInRecommendation maximize_clicks_opt_in_recommendation = 15; + // Output only. The MaximizeClicks Opt-In recommendation. + MaximizeClicksOptInRecommendation maximize_clicks_opt_in_recommendation = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The Optimize Ad Rotation recommendation. - OptimizeAdRotationRecommendation optimize_ad_rotation_recommendation = 16; + // Output only. The Optimize Ad Rotation recommendation. + OptimizeAdRotationRecommendation optimize_ad_rotation_recommendation = 16 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The Callout extension recommendation. - CalloutExtensionRecommendation callout_extension_recommendation = 17; + // Output only. The Callout extension recommendation. + CalloutExtensionRecommendation callout_extension_recommendation = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The Sitelink extension recommendation. - SitelinkExtensionRecommendation sitelink_extension_recommendation = 18; + // Output only. The Sitelink extension recommendation. + SitelinkExtensionRecommendation sitelink_extension_recommendation = 18 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The Call extension recommendation. - CallExtensionRecommendation call_extension_recommendation = 19; + // Output only. The Call extension recommendation. + CallExtensionRecommendation call_extension_recommendation = 19 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The keyword match type recommendation. - KeywordMatchTypeRecommendation keyword_match_type_recommendation = 20; + // Output only. The keyword match type recommendation. + KeywordMatchTypeRecommendation keyword_match_type_recommendation = 20 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The move unused budget recommendation. - MoveUnusedBudgetRecommendation move_unused_budget_recommendation = 21; + // Output only. The move unused budget recommendation. + MoveUnusedBudgetRecommendation move_unused_budget_recommendation = 21 [(google.api.field_behavior) = OUTPUT_ONLY]; } } diff --git a/google/ads/googleads/v3/resources/remarketing_action.proto b/google/ads/googleads/v3/resources/remarketing_action.proto index 7981e2ce..e1aff0a8 100644 --- a/google/ads/googleads/v3/resources/remarketing_action.proto +++ b/google/ads/googleads/v3/resources/remarketing_action.proto @@ -17,6 +17,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; import "google/ads/googleads/v3/common/tag_snippet.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -41,14 +42,19 @@ message RemarketingAction { pattern: "customers/{customer}/remarketingActions/{remarketing_action}" }; - // The resource name of the remarketing action. + // Immutable. The resource name of the remarketing action. // Remarketing action resource names have the form: // // `customers/{customer_id}/remarketingActions/{remarketing_action_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/RemarketingAction" + } + ]; - // Id of the remarketing action. - google.protobuf.Int64Value id = 2; + // Output only. Id of the remarketing action. + google.protobuf.Int64Value id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; // The name of the remarketing action. // @@ -56,6 +62,6 @@ message RemarketingAction { // remarketing actions. google.protobuf.StringValue name = 3; - // The snippets used for tracking remarketing actions. - repeated google.ads.googleads.v3.common.TagSnippet tag_snippets = 4; + // Output only. The snippets used for tracking remarketing actions. + repeated google.ads.googleads.v3.common.TagSnippet tag_snippets = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; } diff --git a/google/ads/googleads/v3/resources/search_term_view.proto b/google/ads/googleads/v3/resources/search_term_view.proto index 02668a9f..11125bc9 100644 --- a/google/ads/googleads/v3/resources/search_term_view.proto +++ b/google/ads/googleads/v3/resources/search_term_view.proto @@ -17,6 +17,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; import "google/ads/googleads/v3/enums/search_term_targeting_status.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -40,19 +41,29 @@ message SearchTermView { pattern: "customers/{customer}/searchTermViews/{search_term_view}" }; - // The resource name of the search term view. + // Output only. The resource name of the search term view. // Search term view resource names have the form: // // `customers/{customer_id}/searchTermViews/{campaign_id}~{ad_group_id}~{URL-base64_search_term}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/SearchTermView" + } + ]; - // The search term. - google.protobuf.StringValue search_term = 2; + // Output only. The search term. + google.protobuf.StringValue search_term = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The ad group the search term served in. - google.protobuf.StringValue ad_group = 3; + // Output only. The ad group the search term served in. + google.protobuf.StringValue ad_group = 3 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; - // Indicates whether the search term is currently one of your + // Output only. Indicates whether the search term is currently one of your // targeted or excluded keywords. - google.ads.googleads.v3.enums.SearchTermTargetingStatusEnum.SearchTermTargetingStatus status = 4; + google.ads.googleads.v3.enums.SearchTermTargetingStatusEnum.SearchTermTargetingStatus status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; } diff --git a/google/ads/googleads/v3/resources/shared_criterion.proto b/google/ads/googleads/v3/resources/shared_criterion.proto index 5d0474db..25baf4a4 100644 --- a/google/ads/googleads/v3/resources/shared_criterion.proto +++ b/google/ads/googleads/v3/resources/shared_criterion.proto @@ -18,6 +18,7 @@ package google.ads.googleads.v3.resources; import "google/ads/googleads/v3/common/criteria.proto"; import "google/ads/googleads/v3/enums/criterion_type.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -40,43 +41,53 @@ message SharedCriterion { pattern: "customers/{customer}/sharedCriteria/{shared_criterion}" }; - // The resource name of the shared criterion. + // Immutable. The resource name of the shared criterion. // Shared set resource names have the form: // // `customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/SharedCriterion" + } + ]; - // The shared set to which the shared criterion belongs. - google.protobuf.StringValue shared_set = 2; + // Immutable. The shared set to which the shared criterion belongs. + google.protobuf.StringValue shared_set = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/SharedSet" + } + ]; - // The ID of the criterion. + // Output only. The ID of the criterion. // // This field is ignored for mutates. - google.protobuf.Int64Value criterion_id = 26; + google.protobuf.Int64Value criterion_id = 26 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The type of the criterion. - google.ads.googleads.v3.enums.CriterionTypeEnum.CriterionType type = 4; + // Output only. The type of the criterion. + google.ads.googleads.v3.enums.CriterionTypeEnum.CriterionType type = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; // The criterion. // // Exactly one must be set. oneof criterion { - // Keyword. - google.ads.googleads.v3.common.KeywordInfo keyword = 3; + // Immutable. Keyword. + google.ads.googleads.v3.common.KeywordInfo keyword = 3 [(google.api.field_behavior) = IMMUTABLE]; - // YouTube Video. - google.ads.googleads.v3.common.YouTubeVideoInfo youtube_video = 5; + // Immutable. YouTube Video. + google.ads.googleads.v3.common.YouTubeVideoInfo youtube_video = 5 [(google.api.field_behavior) = IMMUTABLE]; - // YouTube Channel. - google.ads.googleads.v3.common.YouTubeChannelInfo youtube_channel = 6; + // Immutable. YouTube Channel. + google.ads.googleads.v3.common.YouTubeChannelInfo youtube_channel = 6 [(google.api.field_behavior) = IMMUTABLE]; - // Placement. - google.ads.googleads.v3.common.PlacementInfo placement = 7; + // Immutable. Placement. + google.ads.googleads.v3.common.PlacementInfo placement = 7 [(google.api.field_behavior) = IMMUTABLE]; - // Mobile App Category. - google.ads.googleads.v3.common.MobileAppCategoryInfo mobile_app_category = 8; + // Immutable. Mobile App Category. + google.ads.googleads.v3.common.MobileAppCategoryInfo mobile_app_category = 8 [(google.api.field_behavior) = IMMUTABLE]; - // Mobile application. - google.ads.googleads.v3.common.MobileApplicationInfo mobile_application = 9; + // Immutable. Mobile application. + google.ads.googleads.v3.common.MobileApplicationInfo mobile_application = 9 [(google.api.field_behavior) = IMMUTABLE]; } } diff --git a/google/ads/googleads/v3/resources/shared_set.proto b/google/ads/googleads/v3/resources/shared_set.proto index f1a8bfc3..0ec8bc63 100644 --- a/google/ads/googleads/v3/resources/shared_set.proto +++ b/google/ads/googleads/v3/resources/shared_set.proto @@ -18,6 +18,7 @@ package google.ads.googleads.v3.resources; import "google/ads/googleads/v3/enums/shared_set_status.proto"; import "google/ads/googleads/v3/enums/shared_set_type.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -41,18 +42,23 @@ message SharedSet { pattern: "customers/{customer}/sharedSets/{shared_set}" }; - // The resource name of the shared set. + // Immutable. The resource name of the shared set. // Shared set resource names have the form: // // `customers/{customer_id}/sharedSets/{shared_set_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/SharedSet" + } + ]; - // The ID of this shared set. Read only. - google.protobuf.Int64Value id = 2; + // Output only. The ID of this shared set. Read only. + google.protobuf.Int64Value id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The type of this shared set: each shared set holds only a single kind + // Immutable. The type of this shared set: each shared set holds only a single kind // of resource. Required. Immutable. - google.ads.googleads.v3.enums.SharedSetTypeEnum.SharedSetType type = 3; + google.ads.googleads.v3.enums.SharedSetTypeEnum.SharedSetType type = 3 [(google.api.field_behavior) = IMMUTABLE]; // The name of this shared set. Required. // Shared Sets must have names that are unique among active shared sets of @@ -61,12 +67,12 @@ message SharedSet { // inclusive. google.protobuf.StringValue name = 4; - // The status of this shared set. Read only. - google.ads.googleads.v3.enums.SharedSetStatusEnum.SharedSetStatus status = 5; + // Output only. The status of this shared set. Read only. + google.ads.googleads.v3.enums.SharedSetStatusEnum.SharedSetStatus status = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The number of shared criteria within this shared set. Read only. - google.protobuf.Int64Value member_count = 6; + // Output only. The number of shared criteria within this shared set. Read only. + google.protobuf.Int64Value member_count = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The number of campaigns associated with this shared set. Read only. - google.protobuf.Int64Value reference_count = 7; + // Output only. The number of campaigns associated with this shared set. Read only. + google.protobuf.Int64Value reference_count = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; } diff --git a/google/ads/googleads/v3/resources/shopping_performance_view.proto b/google/ads/googleads/v3/resources/shopping_performance_view.proto index 6926548d..e794512d 100644 --- a/google/ads/googleads/v3/resources/shopping_performance_view.proto +++ b/google/ads/googleads/v3/resources/shopping_performance_view.proto @@ -16,6 +16,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/api/annotations.proto"; @@ -42,8 +43,13 @@ message ShoppingPerformanceView { pattern: "customers/{customer}/shoppingPerformanceView" }; - // The resource name of the Shopping performance view. + // Output only. The resource name of the Shopping performance view. // Shopping performance view resource names have the form: // `customers/{customer_id}/shoppingPerformanceView` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ShoppingPerformanceView" + } + ]; } diff --git a/google/ads/googleads/v3/resources/topic_constant.proto b/google/ads/googleads/v3/resources/topic_constant.proto index 1d805756..a20f7706 100644 --- a/google/ads/googleads/v3/resources/topic_constant.proto +++ b/google/ads/googleads/v3/resources/topic_constant.proto @@ -16,6 +16,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -40,22 +41,32 @@ message TopicConstant { pattern: "topicConstants/{topic_constant}" }; - // The resource name of the topic constant. + // Output only. The resource name of the topic constant. // topic constant resource names have the form: // // `topicConstants/{topic_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/TopicConstant" + } + ]; - // The ID of the topic. - google.protobuf.Int64Value id = 2; + // Output only. The ID of the topic. + google.protobuf.Int64Value id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Resource name of parent of the topic constant. - google.protobuf.StringValue topic_constant_parent = 3; + // Output only. Resource name of parent of the topic constant. + google.protobuf.StringValue topic_constant_parent = 3 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/TopicConstant" + } + ]; - // The category to target or exclude. Each subsequent element in the array + // Output only. The category to target or exclude. Each subsequent element in the array // describes a more specific sub-category. For example, // {"Pets & Animals", "Pets", "Dogs"} represents the // "Pets & Animals/Pets/Dogs" category. List of available topic categories at // https://developers.google.com/adwords/api/docs/appendix/verticals - repeated google.protobuf.StringValue path = 4; + repeated google.protobuf.StringValue path = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; } diff --git a/google/ads/googleads/v3/resources/topic_view.proto b/google/ads/googleads/v3/resources/topic_view.proto index a6903c1b..8f573119 100644 --- a/google/ads/googleads/v3/resources/topic_view.proto +++ b/google/ads/googleads/v3/resources/topic_view.proto @@ -16,6 +16,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/api/annotations.proto"; @@ -37,9 +38,14 @@ message TopicView { pattern: "customers/{customer}/topicViews/{topic_view}" }; - // The resource name of the topic view. + // Output only. The resource name of the topic view. // Topic view resource names have the form: // // `customers/{customer_id}/topicViews/{ad_group_id}~{criterion_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/TopicView" + } + ]; } diff --git a/google/ads/googleads/v3/resources/user_interest.proto b/google/ads/googleads/v3/resources/user_interest.proto index cf3e8075..8ab8e5e5 100644 --- a/google/ads/googleads/v3/resources/user_interest.proto +++ b/google/ads/googleads/v3/resources/user_interest.proto @@ -18,6 +18,7 @@ package google.ads.googleads.v3.resources; import "google/ads/googleads/v3/common/criterion_category_availability.proto"; import "google/ads/googleads/v3/enums/user_interest_taxonomy_type.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -40,27 +41,37 @@ message UserInterest { pattern: "customers/{customer}/userInterests/{user_interest}" }; - // The resource name of the user interest. + // Output only. The resource name of the user interest. // User interest resource names have the form: // // `customers/{customer_id}/userInterests/{user_interest_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/UserInterest" + } + ]; - // Taxonomy type of the user interest. - google.ads.googleads.v3.enums.UserInterestTaxonomyTypeEnum.UserInterestTaxonomyType taxonomy_type = 2; + // Output only. Taxonomy type of the user interest. + google.ads.googleads.v3.enums.UserInterestTaxonomyTypeEnum.UserInterestTaxonomyType taxonomy_type = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The ID of the user interest. - google.protobuf.Int64Value user_interest_id = 3; + // Output only. The ID of the user interest. + google.protobuf.Int64Value user_interest_id = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The name of the user interest. - google.protobuf.StringValue name = 4; + // Output only. The name of the user interest. + google.protobuf.StringValue name = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The parent of the user interest. - google.protobuf.StringValue user_interest_parent = 5; + // Output only. The parent of the user interest. + google.protobuf.StringValue user_interest_parent = 5 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/UserInterest" + } + ]; - // True if the user interest is launched to all channels and locales. - google.protobuf.BoolValue launched_to_all = 6; + // Output only. True if the user interest is launched to all channels and locales. + google.protobuf.BoolValue launched_to_all = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Availability information of the user interest. - repeated google.ads.googleads.v3.common.CriterionCategoryAvailability availabilities = 7; + // Output only. Availability information of the user interest. + repeated google.ads.googleads.v3.common.CriterionCategoryAvailability availabilities = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; } diff --git a/google/ads/googleads/v3/resources/user_list.proto b/google/ads/googleads/v3/resources/user_list.proto index 935881f7..c62da5dc 100644 --- a/google/ads/googleads/v3/resources/user_list.proto +++ b/google/ads/googleads/v3/resources/user_list.proto @@ -23,6 +23,7 @@ import "google/ads/googleads/v3/enums/user_list_closing_reason.proto"; import "google/ads/googleads/v3/enums/user_list_membership_status.proto"; import "google/ads/googleads/v3/enums/user_list_size_range.proto"; import "google/ads/googleads/v3/enums/user_list_type.proto"; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -45,21 +46,26 @@ message UserList { pattern: "customers/{customer}/userLists/{user_list}" }; - // The resource name of the user list. + // Immutable. The resource name of the user list. // User list resource names have the form: // // `customers/{customer_id}/userLists/{user_list_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/UserList" + } + ]; - // Id of the user list. - google.protobuf.Int64Value id = 2; + // Output only. Id of the user list. + google.protobuf.Int64Value id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // A flag that indicates if a user may edit a list. Depends on the list + // Output only. A flag that indicates if a user may edit a list. Depends on the list // ownership and list type. For example, external remarketing user lists are // not editable. // // This field is read-only. - google.protobuf.BoolValue read_only = 3; + google.protobuf.BoolValue read_only = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; // Name of this user list. Depending on its access_reason, the user list name // may not be unique (e.g. if access_reason=SHARED) @@ -85,45 +91,45 @@ message UserList { // It'll be ignored for logical_user_list. google.protobuf.Int64Value membership_life_span = 8; - // Estimated number of users in this user list, on the Google Display Network. + // Output only. Estimated number of users in this user list, on the Google Display Network. // This value is null if the number of users has not yet been determined. // // This field is read-only. - google.protobuf.Int64Value size_for_display = 9; + google.protobuf.Int64Value size_for_display = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Size range in terms of number of users of the UserList, on the Google + // Output only. Size range in terms of number of users of the UserList, on the Google // Display Network. // // This field is read-only. - google.ads.googleads.v3.enums.UserListSizeRangeEnum.UserListSizeRange size_range_for_display = 10; + google.ads.googleads.v3.enums.UserListSizeRangeEnum.UserListSizeRange size_range_for_display = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Estimated number of users in this user list in the google.com domain. + // Output only. Estimated number of users in this user list in the google.com domain. // These are the users available for targeting in Search campaigns. // This value is null if the number of users has not yet been determined. // // This field is read-only. - google.protobuf.Int64Value size_for_search = 11; + google.protobuf.Int64Value size_for_search = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Size range in terms of number of users of the UserList, for Search ads. + // Output only. Size range in terms of number of users of the UserList, for Search ads. // // This field is read-only. - google.ads.googleads.v3.enums.UserListSizeRangeEnum.UserListSizeRange size_range_for_search = 12; + google.ads.googleads.v3.enums.UserListSizeRangeEnum.UserListSizeRange size_range_for_search = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Type of this list. + // Output only. Type of this list. // // This field is read-only. - google.ads.googleads.v3.enums.UserListTypeEnum.UserListType type = 13; + google.ads.googleads.v3.enums.UserListTypeEnum.UserListType type = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; // Indicating the reason why this user list membership status is closed. It is // only populated on lists that were automatically closed due to inactivity, // and will be cleared once the list membership status becomes open. google.ads.googleads.v3.enums.UserListClosingReasonEnum.UserListClosingReason closing_reason = 14; - // Indicates the reason this account has been granted access to the list. + // Output only. Indicates the reason this account has been granted access to the list. // The reason can be SHARED, OWNED, LICENSED or SUBSCRIBED. // // This field is read-only. - google.ads.googleads.v3.enums.AccessReasonEnum.AccessReason access_reason = 15; + google.ads.googleads.v3.enums.AccessReasonEnum.AccessReason access_reason = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; // Indicates if this share is still enabled. When a UserList is shared with // the user this field is set to ENABLED. Later the userList owner can decide @@ -134,10 +140,10 @@ message UserList { // Indicates if this user list is eligible for Google Search Network. google.protobuf.BoolValue eligible_for_search = 17; - // Indicates this user list is eligible for Google Display Network. + // Output only. Indicates this user list is eligible for Google Display Network. // // This field is read-only. - google.protobuf.BoolValue eligible_for_display = 18; + google.protobuf.BoolValue eligible_for_display = 18 [(google.api.field_behavior) = OUTPUT_ONLY]; // The user list. // @@ -146,9 +152,9 @@ message UserList { // User list of CRM users provided by the advertiser. google.ads.googleads.v3.common.CrmBasedUserListInfo crm_based_user_list = 19; - // User list which are similar to users from another UserList. + // Output only. User list which are similar to users from another UserList. // These lists are readonly and automatically created by google. - google.ads.googleads.v3.common.SimilarUserListInfo similar_user_list = 20; + google.ads.googleads.v3.common.SimilarUserListInfo similar_user_list = 20 [(google.api.field_behavior) = OUTPUT_ONLY]; // User list generated by a rule. google.ads.googleads.v3.common.RuleBasedUserListInfo rule_based_user_list = 21; diff --git a/google/ads/googleads/v3/resources/user_location_view.proto b/google/ads/googleads/v3/resources/user_location_view.proto index 2bf39a67..11519671 100644 --- a/google/ads/googleads/v3/resources/user_location_view.proto +++ b/google/ads/googleads/v3/resources/user_location_view.proto @@ -16,6 +16,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -43,15 +44,20 @@ message UserLocationView { pattern: "customers/{customer}/userLocationViews/{user_location_view}" }; - // The resource name of the user location view. + // Output only. The resource name of the user location view. // UserLocation view resource names have the form: // // `customers/{customer_id}/userLocationViews/{country_criterion_id}~{targeting_location}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/UserLocationView" + } + ]; - // Criterion Id for the country. - google.protobuf.Int64Value country_criterion_id = 2; + // Output only. Criterion Id for the country. + google.protobuf.Int64Value country_criterion_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Indicates whether location was targeted or not. - google.protobuf.BoolValue targeting_location = 3; + // Output only. Indicates whether location was targeted or not. + google.protobuf.BoolValue targeting_location = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; } diff --git a/google/ads/googleads/v3/resources/video.proto b/google/ads/googleads/v3/resources/video.proto index 9fe906c7..5b984c85 100644 --- a/google/ads/googleads/v3/resources/video.proto +++ b/google/ads/googleads/v3/resources/video.proto @@ -16,6 +16,7 @@ syntax = "proto3"; package google.ads.googleads.v3.resources; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; @@ -38,21 +39,26 @@ message Video { pattern: "customers/{customer}/videos/{video}" }; - // The resource name of the video. + // Output only. The resource name of the video. // Video resource names have the form: // // `customers/{customer_id}/videos/{video_id}` - string resource_name = 1; + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Video" + } + ]; - // The ID of the video. - google.protobuf.StringValue id = 2; + // Output only. The ID of the video. + google.protobuf.StringValue id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The owner channel id of the video. - google.protobuf.StringValue channel_id = 3; + // Output only. The owner channel id of the video. + google.protobuf.StringValue channel_id = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The duration of the video in milliseconds. - google.protobuf.Int64Value duration_millis = 4; + // Output only. The duration of the video in milliseconds. + google.protobuf.Int64Value duration_millis = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; - // The title of the video. - google.protobuf.StringValue title = 5; + // Output only. The title of the video. + google.protobuf.StringValue title = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; } diff --git a/google/ads/googleads/v3/services/campaign_draft_service.proto b/google/ads/googleads/v3/services/campaign_draft_service.proto index ea7c7b62..24238dd7 100644 --- a/google/ads/googleads/v3/services/campaign_draft_service.proto +++ b/google/ads/googleads/v3/services/campaign_draft_service.proto @@ -74,6 +74,7 @@ service CampaignDraftService { option (google.api.method_signature) = "campaign_draft"; option (google.longrunning.operation_info) = { response_type: "google.protobuf.Empty" + metadata_type: "google.protobuf.Empty" }; } diff --git a/google/ads/googleads/v3/services/campaign_experiment_service.proto b/google/ads/googleads/v3/services/campaign_experiment_service.proto index c0aac59b..ba345ae3 100644 --- a/google/ads/googleads/v3/services/campaign_experiment_service.proto +++ b/google/ads/googleads/v3/services/campaign_experiment_service.proto @@ -112,6 +112,7 @@ service CampaignExperimentService { option (google.api.method_signature) = "campaign_experiment"; option (google.longrunning.operation_info) = { response_type: "google.protobuf.Empty" + metadata_type: "google.protobuf.Empty" }; } diff --git a/google/ads/googleads/v3/services/keyword_plan_idea_service.proto b/google/ads/googleads/v3/services/keyword_plan_idea_service.proto index b2d7dfb5..b14ebdc4 100644 --- a/google/ads/googleads/v3/services/keyword_plan_idea_service.proto +++ b/google/ads/googleads/v3/services/keyword_plan_idea_service.proto @@ -19,6 +19,7 @@ package google.ads.googleads.v3.services; import "google/ads/googleads/v3/common/keyword_plan_common.proto"; import "google/ads/googleads/v3/enums/keyword_plan_network.proto"; import "google/api/annotations.proto"; +import "google/api/field_behavior.proto"; import "google/protobuf/wrappers.proto"; import "google/api/client.proto"; @@ -51,9 +52,9 @@ message GenerateKeywordIdeasRequest { // The ID of the customer with the recommendation. string customer_id = 1; - // The resource name of the language to target. + // Required. The resource name of the language to target. // Required - google.protobuf.StringValue language = 7; + google.protobuf.StringValue language = 7 [(google.api.field_behavior) = REQUIRED]; // The resource names of the location to target. // Max 10