# 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 MarketingPlatform
      module Admin
        module V1alpha
          # Request message for GetOrganization RPC.
          # @!attribute [rw] name
          #   @return [::String]
          #     Required. The name of the Organization to retrieve.
          #     Format: organizations/\\{org_id}
          class GetOrganizationRequest
            include ::Google::Protobuf::MessageExts
            extend ::Google::Protobuf::MessageExts::ClassMethods
          end

          # Request message for ListAnalyticsAccountLinks RPC.
          # @!attribute [rw] parent
          #   @return [::String]
          #     Required. The parent organization, which owns this collection of Analytics
          #     account links. Format: organizations/\\{org_id}
          # @!attribute [rw] page_size
          #   @return [::Integer]
          #     Optional. The maximum number of Analytics account links to return in one
          #     call. The service may return fewer than this value.
          #
          #     If unspecified, at most 50 Analytics account links will be returned. The
          #     maximum value is 1000; values above 1000 will be coerced to 1000.
          # @!attribute [rw] page_token
          #   @return [::String]
          #     Optional. A page token, received from a previous ListAnalyticsAccountLinks
          #     call. Provide this to retrieve the subsequent page.
          #
          #     When paginating, all other parameters provided to
          #     `ListAnalyticsAccountLinks` must match the call that provided the page
          #     token.
          class ListAnalyticsAccountLinksRequest
            include ::Google::Protobuf::MessageExts
            extend ::Google::Protobuf::MessageExts::ClassMethods
          end

          # Response message for ListAnalyticsAccountLinks RPC.
          # @!attribute [rw] analytics_account_links
          #   @return [::Array<::Google::Ads::MarketingPlatform::Admin::V1alpha::AnalyticsAccountLink>]
          #     Analytics account links in this organization.
          # @!attribute [rw] next_page_token
          #   @return [::String]
          #     A token, which can be sent as `page_token` to retrieve the next page.
          #     If this field is omitted, there are no subsequent pages.
          class ListAnalyticsAccountLinksResponse
            include ::Google::Protobuf::MessageExts
            extend ::Google::Protobuf::MessageExts::ClassMethods
          end

          # Request message for CreateAnalyticsAccountLink RPC.
          # @!attribute [rw] parent
          #   @return [::String]
          #     Required. The parent resource where this Analytics account link will be
          #     created. Format: organizations/\\{org_id}
          # @!attribute [rw] analytics_account_link
          #   @return [::Google::Ads::MarketingPlatform::Admin::V1alpha::AnalyticsAccountLink]
          #     Required. The Analytics account link to create.
          class CreateAnalyticsAccountLinkRequest
            include ::Google::Protobuf::MessageExts
            extend ::Google::Protobuf::MessageExts::ClassMethods
          end

          # Request message for DeleteAnalyticsAccountLink RPC.
          # @!attribute [rw] name
          #   @return [::String]
          #     Required. The name of the Analytics account link to delete.
          #     Format:
          #     organizations/\\{org_id}/analyticsAccountLinks/\\{analytics_account_link_id}
          class DeleteAnalyticsAccountLinkRequest
            include ::Google::Protobuf::MessageExts
            extend ::Google::Protobuf::MessageExts::ClassMethods
          end

          # Request message for SetPropertyServiceLevel RPC.
          # @!attribute [rw] analytics_account_link
          #   @return [::String]
          #     Required. The parent AnalyticsAccountLink scope where this property is in.
          #     Format:
          #     organizations/\\{org_id}/analyticsAccountLinks/\\{analytics_account_link_id}
          # @!attribute [rw] analytics_property
          #   @return [::String]
          #     Required. The Analytics property to change the ServiceLevel setting. This
          #     field is the name of the Google Analytics Admin API property resource.
          #
          #     Format: analyticsadmin.googleapis.com/properties/\\{property_id}
          # @!attribute [rw] service_level
          #   @return [::Google::Ads::MarketingPlatform::Admin::V1alpha::AnalyticsServiceLevel]
          #     Required. The service level to set for this property.
          class SetPropertyServiceLevelRequest
            include ::Google::Protobuf::MessageExts
            extend ::Google::Protobuf::MessageExts::ClassMethods
          end

          # Response message for SetPropertyServiceLevel RPC.
          class SetPropertyServiceLevelResponse
            include ::Google::Protobuf::MessageExts
            extend ::Google::Protobuf::MessageExts::ClassMethods
          end

          # Various levels of service for Google Analytics.
          module AnalyticsServiceLevel
            # Service level unspecified.
            ANALYTICS_SERVICE_LEVEL_UNSPECIFIED = 0

            # The standard version of Google Analytics.
            ANALYTICS_SERVICE_LEVEL_STANDARD = 1

            # The premium version of Google Analytics.
            ANALYTICS_SERVICE_LEVEL_360 = 2
          end
        end
      end
    end
  end
end
