# frozen_string_literal: true

# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Auto-generated by gapic-generator-ruby. DO NOT EDIT!


module Google
  module Ads
    module GoogleAds
      module V20
        module Services
          module BatchJobService
            # Path helper methods for the BatchJobService API.
            module Paths
              ##
              # Create a fully-qualified AccessibleBiddingStrategy resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/accessibleBiddingStrategies/{bidding_strategy_id}`
              #
              # @param customer_id [String]
              # @param bidding_strategy_id [String]
              #
              # @return [::String]
              def accessible_bidding_strategy_path customer_id:, bidding_strategy_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"

                "customers/#{customer_id}/accessibleBiddingStrategies/#{bidding_strategy_id}"
              end

              ##
              # Create a fully-qualified Ad resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/ads/{ad_id}`
              #
              # @param customer_id [String]
              # @param ad_id [String]
              #
              # @return [::String]
              def ad_path customer_id:, ad_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"

                "customers/#{customer_id}/ads/#{ad_id}"
              end

              ##
              # Create a fully-qualified AdGroup resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/adGroups/{ad_group_id}`
              #
              # @param customer_id [String]
              # @param ad_group_id [String]
              #
              # @return [::String]
              def ad_group_path customer_id:, ad_group_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"

                "customers/#{customer_id}/adGroups/#{ad_group_id}"
              end

              ##
              # Create a fully-qualified AdGroupAd resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}`
              #
              # @param customer_id [String]
              # @param ad_group_id [String]
              # @param ad_id [String]
              #
              # @return [::String]
              def ad_group_ad_path customer_id:, ad_group_id:, ad_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"
                raise ::ArgumentError, "ad_group_id cannot contain /" if ad_group_id.to_s.include? "/"

                "customers/#{customer_id}/adGroupAds/#{ad_group_id}~#{ad_id}"
              end

              ##
              # Create a fully-qualified AdGroupAdLabel resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/adGroupAdLabels/{ad_group_id}~{ad_id}~{label_id}`
              #
              # @param customer_id [String]
              # @param ad_group_id [String]
              # @param ad_id [String]
              # @param label_id [String]
              #
              # @return [::String]
              def ad_group_ad_label_path customer_id:, ad_group_id:, ad_id:, label_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"
                raise ::ArgumentError, "ad_group_id cannot contain /" if ad_group_id.to_s.include? "/"
                raise ::ArgumentError, "ad_id cannot contain /" if ad_id.to_s.include? "/"

                "customers/#{customer_id}/adGroupAdLabels/#{ad_group_id}~#{ad_id}~#{label_id}"
              end

              ##
              # Create a fully-qualified AdGroupAsset resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/adGroupAssets/{ad_group_id}~{asset_id}~{field_type}`
              #
              # @param customer_id [String]
              # @param ad_group_id [String]
              # @param asset_id [String]
              # @param field_type [String]
              #
              # @return [::String]
              def ad_group_asset_path customer_id:, ad_group_id:, asset_id:, field_type:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"
                raise ::ArgumentError, "ad_group_id cannot contain /" if ad_group_id.to_s.include? "/"
                raise ::ArgumentError, "asset_id cannot contain /" if asset_id.to_s.include? "/"

                "customers/#{customer_id}/adGroupAssets/#{ad_group_id}~#{asset_id}~#{field_type}"
              end

              ##
              # Create a fully-qualified AdGroupBidModifier resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/adGroupBidModifiers/{ad_group_id}~{criterion_id}`
              #
              # @param customer_id [String]
              # @param ad_group_id [String]
              # @param criterion_id [String]
              #
              # @return [::String]
              def ad_group_bid_modifier_path customer_id:, ad_group_id:, criterion_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"
                raise ::ArgumentError, "ad_group_id cannot contain /" if ad_group_id.to_s.include? "/"

                "customers/#{customer_id}/adGroupBidModifiers/#{ad_group_id}~#{criterion_id}"
              end

              ##
              # Create a fully-qualified AdGroupCriterion resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}`
              #
              # @param customer_id [String]
              # @param ad_group_id [String]
              # @param criterion_id [String]
              #
              # @return [::String]
              def ad_group_criterion_path customer_id:, ad_group_id:, criterion_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"
                raise ::ArgumentError, "ad_group_id cannot contain /" if ad_group_id.to_s.include? "/"

                "customers/#{customer_id}/adGroupCriteria/#{ad_group_id}~#{criterion_id}"
              end

              ##
              # Create a fully-qualified AdGroupCriterionCustomizer resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/adGroupCriterionCustomizers/{ad_group_id}~{criterion_id}~{customizer_attribute_id}`
              #
              # @param customer_id [String]
              # @param ad_group_id [String]
              # @param criterion_id [String]
              # @param customizer_attribute_id [String]
              #
              # @return [::String]
              def ad_group_criterion_customizer_path customer_id:, ad_group_id:, criterion_id:, customizer_attribute_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"
                raise ::ArgumentError, "ad_group_id cannot contain /" if ad_group_id.to_s.include? "/"
                raise ::ArgumentError, "criterion_id cannot contain /" if criterion_id.to_s.include? "/"

                "customers/#{customer_id}/adGroupCriterionCustomizers/#{ad_group_id}~#{criterion_id}~#{customizer_attribute_id}"
              end

              ##
              # Create a fully-qualified AdGroupCriterionLabel resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/adGroupCriterionLabels/{ad_group_id}~{criterion_id}~{label_id}`
              #
              # @param customer_id [String]
              # @param ad_group_id [String]
              # @param criterion_id [String]
              # @param label_id [String]
              #
              # @return [::String]
              def ad_group_criterion_label_path customer_id:, ad_group_id:, criterion_id:, label_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"
                raise ::ArgumentError, "ad_group_id cannot contain /" if ad_group_id.to_s.include? "/"
                raise ::ArgumentError, "criterion_id cannot contain /" if criterion_id.to_s.include? "/"

                "customers/#{customer_id}/adGroupCriterionLabels/#{ad_group_id}~#{criterion_id}~#{label_id}"
              end

              ##
              # Create a fully-qualified AdGroupCustomizer resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/adGroupCustomizers/{ad_group_id}~{customizer_attribute_id}`
              #
              # @param customer_id [String]
              # @param ad_group_id [String]
              # @param customizer_attribute_id [String]
              #
              # @return [::String]
              def ad_group_customizer_path customer_id:, ad_group_id:, customizer_attribute_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"
                raise ::ArgumentError, "ad_group_id cannot contain /" if ad_group_id.to_s.include? "/"

                "customers/#{customer_id}/adGroupCustomizers/#{ad_group_id}~#{customizer_attribute_id}"
              end

              ##
              # Create a fully-qualified AdGroupLabel resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/adGroupLabels/{ad_group_id}~{label_id}`
              #
              # @param customer_id [String]
              # @param ad_group_id [String]
              # @param label_id [String]
              #
              # @return [::String]
              def ad_group_label_path customer_id:, ad_group_id:, label_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"
                raise ::ArgumentError, "ad_group_id cannot contain /" if ad_group_id.to_s.include? "/"

                "customers/#{customer_id}/adGroupLabels/#{ad_group_id}~#{label_id}"
              end

              ##
              # Create a fully-qualified AdParameter resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/adParameters/{ad_group_id}~{criterion_id}~{parameter_index}`
              #
              # @param customer_id [String]
              # @param ad_group_id [String]
              # @param criterion_id [String]
              # @param parameter_index [String]
              #
              # @return [::String]
              def ad_parameter_path customer_id:, ad_group_id:, criterion_id:, parameter_index:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"
                raise ::ArgumentError, "ad_group_id cannot contain /" if ad_group_id.to_s.include? "/"
                raise ::ArgumentError, "criterion_id cannot contain /" if criterion_id.to_s.include? "/"

                "customers/#{customer_id}/adParameters/#{ad_group_id}~#{criterion_id}~#{parameter_index}"
              end

              ##
              # Create a fully-qualified Asset resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/assets/{asset_id}`
              #
              # @param customer_id [String]
              # @param asset_id [String]
              #
              # @return [::String]
              def asset_path customer_id:, asset_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"

                "customers/#{customer_id}/assets/#{asset_id}"
              end

              ##
              # Create a fully-qualified AssetGroup resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/assetGroups/{asset_group_id}`
              #
              # @param customer_id [String]
              # @param asset_group_id [String]
              #
              # @return [::String]
              def asset_group_path customer_id:, asset_group_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"

                "customers/#{customer_id}/assetGroups/#{asset_group_id}"
              end

              ##
              # Create a fully-qualified AssetGroupAsset resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/assetGroupAssets/{asset_group_id}~{asset_id}~{field_type}`
              #
              # @param customer_id [String]
              # @param asset_group_id [String]
              # @param asset_id [String]
              # @param field_type [String]
              #
              # @return [::String]
              def asset_group_asset_path customer_id:, asset_group_id:, asset_id:, field_type:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"
                raise ::ArgumentError, "asset_group_id cannot contain /" if asset_group_id.to_s.include? "/"
                raise ::ArgumentError, "asset_id cannot contain /" if asset_id.to_s.include? "/"

                "customers/#{customer_id}/assetGroupAssets/#{asset_group_id}~#{asset_id}~#{field_type}"
              end

              ##
              # Create a fully-qualified AssetGroupListingGroupFilter resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/assetGroupListingGroupFilters/{asset_group_id}~{listing_group_filter_id}`
              #
              # @param customer_id [String]
              # @param asset_group_id [String]
              # @param listing_group_filter_id [String]
              #
              # @return [::String]
              def asset_group_listing_group_filter_path customer_id:, asset_group_id:, listing_group_filter_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"
                raise ::ArgumentError, "asset_group_id cannot contain /" if asset_group_id.to_s.include? "/"

                "customers/#{customer_id}/assetGroupListingGroupFilters/#{asset_group_id}~#{listing_group_filter_id}"
              end

              ##
              # Create a fully-qualified AssetGroupSignal resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/assetGroupSignals/{asset_group_id}~{criterion_id}`
              #
              # @param customer_id [String]
              # @param asset_group_id [String]
              # @param criterion_id [String]
              #
              # @return [::String]
              def asset_group_signal_path customer_id:, asset_group_id:, criterion_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"
                raise ::ArgumentError, "asset_group_id cannot contain /" if asset_group_id.to_s.include? "/"

                "customers/#{customer_id}/assetGroupSignals/#{asset_group_id}~#{criterion_id}"
              end

              ##
              # Create a fully-qualified AssetSet resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/assetSets/{asset_set_id}`
              #
              # @param customer_id [String]
              # @param asset_set_id [String]
              #
              # @return [::String]
              def asset_set_path customer_id:, asset_set_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"

                "customers/#{customer_id}/assetSets/#{asset_set_id}"
              end

              ##
              # Create a fully-qualified AssetSetAsset resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/assetSetAssets/{asset_set_id}~{asset_id}`
              #
              # @param customer_id [String]
              # @param asset_set_id [String]
              # @param asset_id [String]
              #
              # @return [::String]
              def asset_set_asset_path customer_id:, asset_set_id:, asset_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"
                raise ::ArgumentError, "asset_set_id cannot contain /" if asset_set_id.to_s.include? "/"

                "customers/#{customer_id}/assetSetAssets/#{asset_set_id}~#{asset_id}"
              end

              ##
              # Create a fully-qualified Audience resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/audiences/{audience_id}`
              #
              # @param customer_id [String]
              # @param audience_id [String]
              #
              # @return [::String]
              def audience_path customer_id:, audience_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"

                "customers/#{customer_id}/audiences/#{audience_id}"
              end

              ##
              # Create a fully-qualified BatchJob resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/batchJobs/{batch_job_id}`
              #
              # @param customer_id [String]
              # @param batch_job_id [String]
              #
              # @return [::String]
              def batch_job_path customer_id:, batch_job_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"

                "customers/#{customer_id}/batchJobs/#{batch_job_id}"
              end

              ##
              # Create a fully-qualified BiddingDataExclusion resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/biddingDataExclusions/{seasonality_event_id}`
              #
              # @param customer_id [String]
              # @param seasonality_event_id [String]
              #
              # @return [::String]
              def bidding_data_exclusion_path customer_id:, seasonality_event_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"

                "customers/#{customer_id}/biddingDataExclusions/#{seasonality_event_id}"
              end

              ##
              # Create a fully-qualified BiddingSeasonalityAdjustment resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/biddingSeasonalityAdjustments/{seasonality_event_id}`
              #
              # @param customer_id [String]
              # @param seasonality_event_id [String]
              #
              # @return [::String]
              def bidding_seasonality_adjustment_path customer_id:, seasonality_event_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"

                "customers/#{customer_id}/biddingSeasonalityAdjustments/#{seasonality_event_id}"
              end

              ##
              # Create a fully-qualified BiddingStrategy resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/biddingStrategies/{bidding_strategy_id}`
              #
              # @param customer_id [String]
              # @param bidding_strategy_id [String]
              #
              # @return [::String]
              def bidding_strategy_path customer_id:, bidding_strategy_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"

                "customers/#{customer_id}/biddingStrategies/#{bidding_strategy_id}"
              end

              ##
              # Create a fully-qualified Campaign resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/campaigns/{campaign_id}`
              #
              # @param customer_id [String]
              # @param campaign_id [String]
              #
              # @return [::String]
              def campaign_path customer_id:, campaign_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"

                "customers/#{customer_id}/campaigns/#{campaign_id}"
              end

              ##
              # Create a fully-qualified CampaignAsset resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/campaignAssets/{campaign_id}~{asset_id}~{field_type}`
              #
              # @param customer_id [String]
              # @param campaign_id [String]
              # @param asset_id [String]
              # @param field_type [String]
              #
              # @return [::String]
              def campaign_asset_path customer_id:, campaign_id:, asset_id:, field_type:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"
                raise ::ArgumentError, "campaign_id cannot contain /" if campaign_id.to_s.include? "/"
                raise ::ArgumentError, "asset_id cannot contain /" if asset_id.to_s.include? "/"

                "customers/#{customer_id}/campaignAssets/#{campaign_id}~#{asset_id}~#{field_type}"
              end

              ##
              # Create a fully-qualified CampaignAssetSet resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/campaignAssetSets/{campaign_id}~{asset_set_id}`
              #
              # @param customer_id [String]
              # @param campaign_id [String]
              # @param asset_set_id [String]
              #
              # @return [::String]
              def campaign_asset_set_path customer_id:, campaign_id:, asset_set_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"
                raise ::ArgumentError, "campaign_id cannot contain /" if campaign_id.to_s.include? "/"

                "customers/#{customer_id}/campaignAssetSets/#{campaign_id}~#{asset_set_id}"
              end

              ##
              # Create a fully-qualified CampaignBidModifier resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/campaignBidModifiers/{campaign_id}~{criterion_id}`
              #
              # @param customer_id [String]
              # @param campaign_id [String]
              # @param criterion_id [String]
              #
              # @return [::String]
              def campaign_bid_modifier_path customer_id:, campaign_id:, criterion_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"
                raise ::ArgumentError, "campaign_id cannot contain /" if campaign_id.to_s.include? "/"

                "customers/#{customer_id}/campaignBidModifiers/#{campaign_id}~#{criterion_id}"
              end

              ##
              # Create a fully-qualified CampaignBudget resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/campaignBudgets/{campaign_budget_id}`
              #
              # @param customer_id [String]
              # @param campaign_budget_id [String]
              #
              # @return [::String]
              def campaign_budget_path customer_id:, campaign_budget_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"

                "customers/#{customer_id}/campaignBudgets/#{campaign_budget_id}"
              end

              ##
              # Create a fully-qualified CampaignConversionGoal resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/campaignConversionGoals/{campaign_id}~{category}~{source}`
              #
              # @param customer_id [String]
              # @param campaign_id [String]
              # @param category [String]
              # @param source [String]
              #
              # @return [::String]
              def campaign_conversion_goal_path customer_id:, campaign_id:, category:, source:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"
                raise ::ArgumentError, "campaign_id cannot contain /" if campaign_id.to_s.include? "/"
                raise ::ArgumentError, "category cannot contain /" if category.to_s.include? "/"

                "customers/#{customer_id}/campaignConversionGoals/#{campaign_id}~#{category}~#{source}"
              end

              ##
              # Create a fully-qualified CampaignCriterion resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/campaignCriteria/{campaign_id}~{criterion_id}`
              #
              # @param customer_id [String]
              # @param campaign_id [String]
              # @param criterion_id [String]
              #
              # @return [::String]
              def campaign_criterion_path customer_id:, campaign_id:, criterion_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"
                raise ::ArgumentError, "campaign_id cannot contain /" if campaign_id.to_s.include? "/"

                "customers/#{customer_id}/campaignCriteria/#{campaign_id}~#{criterion_id}"
              end

              ##
              # Create a fully-qualified CampaignCustomizer resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/campaignCustomizers/{campaign_id}~{customizer_attribute_id}`
              #
              # @param customer_id [String]
              # @param campaign_id [String]
              # @param customizer_attribute_id [String]
              #
              # @return [::String]
              def campaign_customizer_path customer_id:, campaign_id:, customizer_attribute_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"
                raise ::ArgumentError, "campaign_id cannot contain /" if campaign_id.to_s.include? "/"

                "customers/#{customer_id}/campaignCustomizers/#{campaign_id}~#{customizer_attribute_id}"
              end

              ##
              # Create a fully-qualified CampaignDraft resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/campaignDrafts/{base_campaign_id}~{draft_id}`
              #
              # @param customer_id [String]
              # @param base_campaign_id [String]
              # @param draft_id [String]
              #
              # @return [::String]
              def campaign_draft_path customer_id:, base_campaign_id:, draft_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"
                raise ::ArgumentError, "base_campaign_id cannot contain /" if base_campaign_id.to_s.include? "/"

                "customers/#{customer_id}/campaignDrafts/#{base_campaign_id}~#{draft_id}"
              end

              ##
              # Create a fully-qualified CampaignGroup resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/campaignGroups/{campaign_group_id}`
              #
              # @param customer_id [String]
              # @param campaign_group_id [String]
              #
              # @return [::String]
              def campaign_group_path customer_id:, campaign_group_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"

                "customers/#{customer_id}/campaignGroups/#{campaign_group_id}"
              end

              ##
              # Create a fully-qualified CampaignLabel resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/campaignLabels/{campaign_id}~{label_id}`
              #
              # @param customer_id [String]
              # @param campaign_id [String]
              # @param label_id [String]
              #
              # @return [::String]
              def campaign_label_path customer_id:, campaign_id:, label_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"
                raise ::ArgumentError, "campaign_id cannot contain /" if campaign_id.to_s.include? "/"

                "customers/#{customer_id}/campaignLabels/#{campaign_id}~#{label_id}"
              end

              ##
              # Create a fully-qualified CampaignSharedSet resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/campaignSharedSets/{campaign_id}~{shared_set_id}`
              #
              # @param customer_id [String]
              # @param campaign_id [String]
              # @param shared_set_id [String]
              #
              # @return [::String]
              def campaign_shared_set_path customer_id:, campaign_id:, shared_set_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"
                raise ::ArgumentError, "campaign_id cannot contain /" if campaign_id.to_s.include? "/"

                "customers/#{customer_id}/campaignSharedSets/#{campaign_id}~#{shared_set_id}"
              end

              ##
              # Create a fully-qualified CarrierConstant resource string.
              #
              # The resource will be in the following format:
              #
              # `carrierConstants/{criterion_id}`
              #
              # @param criterion_id [String]
              #
              # @return [::String]
              def carrier_constant_path criterion_id:
                "carrierConstants/#{criterion_id}"
              end

              ##
              # Create a fully-qualified CombinedAudience resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/combinedAudiences/{combined_audience_id}`
              #
              # @param customer_id [String]
              # @param combined_audience_id [String]
              #
              # @return [::String]
              def combined_audience_path customer_id:, combined_audience_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"

                "customers/#{customer_id}/combinedAudiences/#{combined_audience_id}"
              end

              ##
              # Create a fully-qualified ConversionAction resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/conversionActions/{conversion_action_id}`
              #
              # @param customer_id [String]
              # @param conversion_action_id [String]
              #
              # @return [::String]
              def conversion_action_path customer_id:, conversion_action_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"

                "customers/#{customer_id}/conversionActions/#{conversion_action_id}"
              end

              ##
              # Create a fully-qualified ConversionCustomVariable resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/conversionCustomVariables/{conversion_custom_variable_id}`
              #
              # @param customer_id [String]
              # @param conversion_custom_variable_id [String]
              #
              # @return [::String]
              def conversion_custom_variable_path customer_id:, conversion_custom_variable_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"

                "customers/#{customer_id}/conversionCustomVariables/#{conversion_custom_variable_id}"
              end

              ##
              # Create a fully-qualified ConversionGoalCampaignConfig resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/conversionGoalCampaignConfigs/{campaign_id}`
              #
              # @param customer_id [String]
              # @param campaign_id [String]
              #
              # @return [::String]
              def conversion_goal_campaign_config_path customer_id:, campaign_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"

                "customers/#{customer_id}/conversionGoalCampaignConfigs/#{campaign_id}"
              end

              ##
              # Create a fully-qualified ConversionValueRule resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/conversionValueRules/{conversion_value_rule_id}`
              #
              # @param customer_id [String]
              # @param conversion_value_rule_id [String]
              #
              # @return [::String]
              def conversion_value_rule_path customer_id:, conversion_value_rule_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"

                "customers/#{customer_id}/conversionValueRules/#{conversion_value_rule_id}"
              end

              ##
              # Create a fully-qualified ConversionValueRuleSet resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/conversionValueRuleSets/{conversion_value_rule_set_id}`
              #
              # @param customer_id [String]
              # @param conversion_value_rule_set_id [String]
              #
              # @return [::String]
              def conversion_value_rule_set_path customer_id:, conversion_value_rule_set_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"

                "customers/#{customer_id}/conversionValueRuleSets/#{conversion_value_rule_set_id}"
              end

              ##
              # Create a fully-qualified CustomConversionGoal resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/customConversionGoals/{goal_id}`
              #
              # @param customer_id [String]
              # @param goal_id [String]
              #
              # @return [::String]
              def custom_conversion_goal_path customer_id:, goal_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"

                "customers/#{customer_id}/customConversionGoals/#{goal_id}"
              end

              ##
              # Create a fully-qualified Customer resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}`
              #
              # @param customer_id [String]
              #
              # @return [::String]
              def customer_path customer_id:
                "customers/#{customer_id}"
              end

              ##
              # Create a fully-qualified CustomerAsset resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/customerAssets/{asset_id}~{field_type}`
              #
              # @param customer_id [String]
              # @param asset_id [String]
              # @param field_type [String]
              #
              # @return [::String]
              def customer_asset_path customer_id:, asset_id:, field_type:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"
                raise ::ArgumentError, "asset_id cannot contain /" if asset_id.to_s.include? "/"

                "customers/#{customer_id}/customerAssets/#{asset_id}~#{field_type}"
              end

              ##
              # Create a fully-qualified CustomerConversionGoal resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/customerConversionGoals/{category}~{source}`
              #
              # @param customer_id [String]
              # @param category [String]
              # @param source [String]
              #
              # @return [::String]
              def customer_conversion_goal_path customer_id:, category:, source:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"
                raise ::ArgumentError, "category cannot contain /" if category.to_s.include? "/"

                "customers/#{customer_id}/customerConversionGoals/#{category}~#{source}"
              end

              ##
              # Create a fully-qualified CustomerCustomizer resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/customerCustomizers/{customizer_attribute_id}`
              #
              # @param customer_id [String]
              # @param customizer_attribute_id [String]
              #
              # @return [::String]
              def customer_customizer_path customer_id:, customizer_attribute_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"

                "customers/#{customer_id}/customerCustomizers/#{customizer_attribute_id}"
              end

              ##
              # Create a fully-qualified CustomerLabel resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/customerLabels/{label_id}`
              #
              # @param customer_id [String]
              # @param label_id [String]
              #
              # @return [::String]
              def customer_label_path customer_id:, label_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"

                "customers/#{customer_id}/customerLabels/#{label_id}"
              end

              ##
              # Create a fully-qualified CustomerNegativeCriterion resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/customerNegativeCriteria/{criterion_id}`
              #
              # @param customer_id [String]
              # @param criterion_id [String]
              #
              # @return [::String]
              def customer_negative_criterion_path customer_id:, criterion_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"

                "customers/#{customer_id}/customerNegativeCriteria/#{criterion_id}"
              end

              ##
              # Create a fully-qualified CustomizerAttribute resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/customizerAttributes/{customizer_attribute_id}`
              #
              # @param customer_id [String]
              # @param customizer_attribute_id [String]
              #
              # @return [::String]
              def customizer_attribute_path customer_id:, customizer_attribute_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"

                "customers/#{customer_id}/customizerAttributes/#{customizer_attribute_id}"
              end

              ##
              # Create a fully-qualified DetailedDemographic resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/detailedDemographics/{detailed_demographic_id}`
              #
              # @param customer_id [String]
              # @param detailed_demographic_id [String]
              #
              # @return [::String]
              def detailed_demographic_path customer_id:, detailed_demographic_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"

                "customers/#{customer_id}/detailedDemographics/#{detailed_demographic_id}"
              end

              ##
              # Create a fully-qualified Experiment resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/experiments/{trial_id}`
              #
              # @param customer_id [String]
              # @param trial_id [String]
              #
              # @return [::String]
              def experiment_path customer_id:, trial_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"

                "customers/#{customer_id}/experiments/#{trial_id}"
              end

              ##
              # Create a fully-qualified ExperimentArm resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/experimentArms/{trial_id}~{trial_arm_id}`
              #
              # @param customer_id [String]
              # @param trial_id [String]
              # @param trial_arm_id [String]
              #
              # @return [::String]
              def experiment_arm_path customer_id:, trial_id:, trial_arm_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"
                raise ::ArgumentError, "trial_id cannot contain /" if trial_id.to_s.include? "/"

                "customers/#{customer_id}/experimentArms/#{trial_id}~#{trial_arm_id}"
              end

              ##
              # Create a fully-qualified GeoTargetConstant resource string.
              #
              # The resource will be in the following format:
              #
              # `geoTargetConstants/{criterion_id}`
              #
              # @param criterion_id [String]
              #
              # @return [::String]
              def geo_target_constant_path criterion_id:
                "geoTargetConstants/#{criterion_id}"
              end

              ##
              # Create a fully-qualified KeywordPlan resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/keywordPlans/{keyword_plan_id}`
              #
              # @param customer_id [String]
              # @param keyword_plan_id [String]
              #
              # @return [::String]
              def keyword_plan_path customer_id:, keyword_plan_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"

                "customers/#{customer_id}/keywordPlans/#{keyword_plan_id}"
              end

              ##
              # Create a fully-qualified KeywordPlanAdGroup resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/keywordPlanAdGroups/{keyword_plan_ad_group_id}`
              #
              # @param customer_id [String]
              # @param keyword_plan_ad_group_id [String]
              #
              # @return [::String]
              def keyword_plan_ad_group_path customer_id:, keyword_plan_ad_group_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"

                "customers/#{customer_id}/keywordPlanAdGroups/#{keyword_plan_ad_group_id}"
              end

              ##
              # Create a fully-qualified KeywordPlanAdGroupKeyword resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/keywordPlanAdGroupKeywords/{keyword_plan_ad_group_keyword_id}`
              #
              # @param customer_id [String]
              # @param keyword_plan_ad_group_keyword_id [String]
              #
              # @return [::String]
              def keyword_plan_ad_group_keyword_path customer_id:, keyword_plan_ad_group_keyword_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"

                "customers/#{customer_id}/keywordPlanAdGroupKeywords/#{keyword_plan_ad_group_keyword_id}"
              end

              ##
              # Create a fully-qualified KeywordPlanCampaign resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/keywordPlanCampaigns/{keyword_plan_campaign_id}`
              #
              # @param customer_id [String]
              # @param keyword_plan_campaign_id [String]
              #
              # @return [::String]
              def keyword_plan_campaign_path customer_id:, keyword_plan_campaign_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"

                "customers/#{customer_id}/keywordPlanCampaigns/#{keyword_plan_campaign_id}"
              end

              ##
              # Create a fully-qualified KeywordPlanCampaignKeyword resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/keywordPlanCampaignKeywords/{keyword_plan_campaign_keyword_id}`
              #
              # @param customer_id [String]
              # @param keyword_plan_campaign_keyword_id [String]
              #
              # @return [::String]
              def keyword_plan_campaign_keyword_path customer_id:, keyword_plan_campaign_keyword_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"

                "customers/#{customer_id}/keywordPlanCampaignKeywords/#{keyword_plan_campaign_keyword_id}"
              end

              ##
              # Create a fully-qualified KeywordThemeConstant resource string.
              #
              # The resource will be in the following format:
              #
              # `keywordThemeConstants/{express_category_id}~{express_sub_category_id}`
              #
              # @param express_category_id [String]
              # @param express_sub_category_id [String]
              #
              # @return [::String]
              def keyword_theme_constant_path express_category_id:, express_sub_category_id:
                raise ::ArgumentError, "express_category_id cannot contain /" if express_category_id.to_s.include? "/"

                "keywordThemeConstants/#{express_category_id}~#{express_sub_category_id}"
              end

              ##
              # Create a fully-qualified Label resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/labels/{label_id}`
              #
              # @param customer_id [String]
              # @param label_id [String]
              #
              # @return [::String]
              def label_path customer_id:, label_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"

                "customers/#{customer_id}/labels/#{label_id}"
              end

              ##
              # Create a fully-qualified LanguageConstant resource string.
              #
              # The resource will be in the following format:
              #
              # `languageConstants/{criterion_id}`
              #
              # @param criterion_id [String]
              #
              # @return [::String]
              def language_constant_path criterion_id:
                "languageConstants/#{criterion_id}"
              end

              ##
              # Create a fully-qualified LifeEvent resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/lifeEvents/{life_event_id}`
              #
              # @param customer_id [String]
              # @param life_event_id [String]
              #
              # @return [::String]
              def life_event_path customer_id:, life_event_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"

                "customers/#{customer_id}/lifeEvents/#{life_event_id}"
              end

              ##
              # Create a fully-qualified MobileAppCategoryConstant resource string.
              #
              # The resource will be in the following format:
              #
              # `mobileAppCategoryConstants/{mobile_app_category_id}`
              #
              # @param mobile_app_category_id [String]
              #
              # @return [::String]
              def mobile_app_category_constant_path mobile_app_category_id:
                "mobileAppCategoryConstants/#{mobile_app_category_id}"
              end

              ##
              # Create a fully-qualified MobileDeviceConstant resource string.
              #
              # The resource will be in the following format:
              #
              # `mobileDeviceConstants/{criterion_id}`
              #
              # @param criterion_id [String]
              #
              # @return [::String]
              def mobile_device_constant_path criterion_id:
                "mobileDeviceConstants/#{criterion_id}"
              end

              ##
              # Create a fully-qualified OperatingSystemVersionConstant resource string.
              #
              # The resource will be in the following format:
              #
              # `operatingSystemVersionConstants/{criterion_id}`
              #
              # @param criterion_id [String]
              #
              # @return [::String]
              def operating_system_version_constant_path criterion_id:
                "operatingSystemVersionConstants/#{criterion_id}"
              end

              ##
              # Create a fully-qualified RecommendationSubscription resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/recommendationSubscriptions/{recommendation_type}`
              #
              # @param customer_id [String]
              # @param recommendation_type [String]
              #
              # @return [::String]
              def recommendation_subscription_path customer_id:, recommendation_type:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"

                "customers/#{customer_id}/recommendationSubscriptions/#{recommendation_type}"
              end

              ##
              # Create a fully-qualified RemarketingAction resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/remarketingActions/{remarketing_action_id}`
              #
              # @param customer_id [String]
              # @param remarketing_action_id [String]
              #
              # @return [::String]
              def remarketing_action_path customer_id:, remarketing_action_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"

                "customers/#{customer_id}/remarketingActions/#{remarketing_action_id}"
              end

              ##
              # Create a fully-qualified SharedCriterion resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}`
              #
              # @param customer_id [String]
              # @param shared_set_id [String]
              # @param criterion_id [String]
              #
              # @return [::String]
              def shared_criterion_path customer_id:, shared_set_id:, criterion_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"
                raise ::ArgumentError, "shared_set_id cannot contain /" if shared_set_id.to_s.include? "/"

                "customers/#{customer_id}/sharedCriteria/#{shared_set_id}~#{criterion_id}"
              end

              ##
              # Create a fully-qualified SharedSet resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/sharedSets/{shared_set_id}`
              #
              # @param customer_id [String]
              # @param shared_set_id [String]
              #
              # @return [::String]
              def shared_set_path customer_id:, shared_set_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"

                "customers/#{customer_id}/sharedSets/#{shared_set_id}"
              end

              ##
              # Create a fully-qualified SmartCampaignSetting resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/smartCampaignSettings/{campaign_id}`
              #
              # @param customer_id [String]
              # @param campaign_id [String]
              #
              # @return [::String]
              def smart_campaign_setting_path customer_id:, campaign_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"

                "customers/#{customer_id}/smartCampaignSettings/#{campaign_id}"
              end

              ##
              # Create a fully-qualified TopicConstant resource string.
              #
              # The resource will be in the following format:
              #
              # `topicConstants/{topic_id}`
              #
              # @param topic_id [String]
              #
              # @return [::String]
              def topic_constant_path topic_id:
                "topicConstants/#{topic_id}"
              end

              ##
              # Create a fully-qualified UserInterest resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/userInterests/{user_interest_id}`
              #
              # @param customer_id [String]
              # @param user_interest_id [String]
              #
              # @return [::String]
              def user_interest_path customer_id:, user_interest_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"

                "customers/#{customer_id}/userInterests/#{user_interest_id}"
              end

              ##
              # Create a fully-qualified UserList resource string.
              #
              # The resource will be in the following format:
              #
              # `customers/{customer_id}/userLists/{user_list_id}`
              #
              # @param customer_id [String]
              # @param user_list_id [String]
              #
              # @return [::String]
              def user_list_path customer_id:, user_list_id:
                raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"

                "customers/#{customer_id}/userLists/#{user_list_id}"
              end

              extend self
            end
          end
        end
      end
    end
  end
end
