google-api-ruby-client/generated/google/apis/analyticsadmin_v1alpha/classes.rb

1371 lines
57 KiB
Ruby

# Copyright 2015 Google Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
require 'date'
require 'google/apis/core/base_service'
require 'google/apis/core/json_representation'
require 'google/apis/core/hashable'
require 'google/apis/errors'
module Google
module Apis
module AnalyticsadminV1alpha
# A resource message representing a Google Analytics account.
class GoogleAnalyticsAdminV1alphaAccount
include Google::Apis::Core::Hashable
# Country of business. Must be a non-deprecated code for a UN M.49 region. https:
# //unicode.org/cldr/charts/latest/supplemental/territory_containment_un_m_49.
# html
# Corresponds to the JSON property `countryCode`
# @return [String]
attr_accessor :country_code
# Output only. Time when this account was originally created.
# Corresponds to the JSON property `createTime`
# @return [String]
attr_accessor :create_time
# Output only. Indicates whether this Account is soft-deleted or not. Deleted
# accounts are excluded from List results unless specifically requested.
# Corresponds to the JSON property `deleted`
# @return [Boolean]
attr_accessor :deleted
alias_method :deleted?, :deleted
# Required. Human-readable display name for this account.
# Corresponds to the JSON property `displayName`
# @return [String]
attr_accessor :display_name
# Output only. Resource name of this account. Format: accounts/`account` Example:
# "accounts/100"
# Corresponds to the JSON property `name`
# @return [String]
attr_accessor :name
# Output only. Time when account payload fields were last updated.
# Corresponds to the JSON property `updateTime`
# @return [String]
attr_accessor :update_time
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@country_code = args[:country_code] if args.key?(:country_code)
@create_time = args[:create_time] if args.key?(:create_time)
@deleted = args[:deleted] if args.key?(:deleted)
@display_name = args[:display_name] if args.key?(:display_name)
@name = args[:name] if args.key?(:name)
@update_time = args[:update_time] if args.key?(:update_time)
end
end
# A virtual resource representing an overview of an account and all its child
# GA4 properties.
class GoogleAnalyticsAdminV1alphaAccountSummary
include Google::Apis::Core::Hashable
# Resource name of account referred to by this account summary Format: accounts/`
# account_id` Example: "accounts/1000"
# Corresponds to the JSON property `account`
# @return [String]
attr_accessor :account
# Display name for the account referred to in this account summary.
# Corresponds to the JSON property `displayName`
# @return [String]
attr_accessor :display_name
# Resource name for this account summary. Format: accountSummaries/`account_id`
# Example: "accountSummaries/1000"
# Corresponds to the JSON property `name`
# @return [String]
attr_accessor :name
# List of summaries for child accounts of this account.
# Corresponds to the JSON property `propertySummaries`
# @return [Array<Google::Apis::AnalyticsadminV1alpha::GoogleAnalyticsAdminV1alphaPropertySummary>]
attr_accessor :property_summaries
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@account = args[:account] if args.key?(:account)
@display_name = args[:display_name] if args.key?(:display_name)
@name = args[:name] if args.key?(:name)
@property_summaries = args[:property_summaries] if args.key?(:property_summaries)
end
end
# A resource message representing a Google Analytics Android app stream.
class GoogleAnalyticsAdminV1alphaAndroidAppDataStream
include Google::Apis::Core::Hashable
# Output only. Time when this stream was originally created.
# Corresponds to the JSON property `createTime`
# @return [String]
attr_accessor :create_time
# Human-readable display name for the Data Stream. The max allowed display name
# length is 255 UTF-16 code units.
# Corresponds to the JSON property `displayName`
# @return [String]
attr_accessor :display_name
# Output only. ID of the corresponding Android app in Firebase, if any. This ID
# can change if the Android app is deleted and recreated.
# Corresponds to the JSON property `firebaseAppId`
# @return [String]
attr_accessor :firebase_app_id
# Output only. Resource name of this Data Stream. Format: properties/`
# property_id`/androidAppDataStreams/`stream_id` Example: "properties/1000/
# androidAppDataStreams/2000"
# Corresponds to the JSON property `name`
# @return [String]
attr_accessor :name
# Immutable. The package name for the app being measured. Example: "com.example.
# myandroidapp"
# Corresponds to the JSON property `packageName`
# @return [String]
attr_accessor :package_name
# Output only. Time when stream payload fields were last updated.
# Corresponds to the JSON property `updateTime`
# @return [String]
attr_accessor :update_time
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@create_time = args[:create_time] if args.key?(:create_time)
@display_name = args[:display_name] if args.key?(:display_name)
@firebase_app_id = args[:firebase_app_id] if args.key?(:firebase_app_id)
@name = args[:name] if args.key?(:name)
@package_name = args[:package_name] if args.key?(:package_name)
@update_time = args[:update_time] if args.key?(:update_time)
end
end
# Read-only resource used to summarize a principal's effective roles.
class GoogleAnalyticsAdminV1alphaAuditUserLink
include Google::Apis::Core::Hashable
# Roles directly assigned to this user for this entity. Format: predefinedRoles/
# read Excludes roles that are inherited from an account (if this is for a
# property), group, or organization admin role.
# Corresponds to the JSON property `directRoles`
# @return [Array<String>]
attr_accessor :direct_roles
# Union of all permissions a user has at this account or property (includes
# direct permissions, group-inherited permissions, etc.). Format:
# predefinedRoles/read
# Corresponds to the JSON property `effectiveRoles`
# @return [Array<String>]
attr_accessor :effective_roles
# Email address of the linked user
# Corresponds to the JSON property `emailAddress`
# @return [String]
attr_accessor :email_address
# Example format: properties/1234/userLinks/5678
# Corresponds to the JSON property `name`
# @return [String]
attr_accessor :name
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@direct_roles = args[:direct_roles] if args.key?(:direct_roles)
@effective_roles = args[:effective_roles] if args.key?(:effective_roles)
@email_address = args[:email_address] if args.key?(:email_address)
@name = args[:name] if args.key?(:name)
end
end
# Request message for AuditUserLinks RPC.
class GoogleAnalyticsAdminV1alphaAuditUserLinksRequest
include Google::Apis::Core::Hashable
# The maximum number of user links to return. The service may return fewer than
# this value. If unspecified, at most 1000 user links will be returned. The
# maximum value is 5000; values above 5000 will be coerced to 5000.
# Corresponds to the JSON property `pageSize`
# @return [Fixnum]
attr_accessor :page_size
# A page token, received from a previous `AuditUserLinks` call. Provide this to
# retrieve the subsequent page. When paginating, all other parameters provided
# to `AuditUserLinks` must match the call that provided the page token.
# Corresponds to the JSON property `pageToken`
# @return [String]
attr_accessor :page_token
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@page_size = args[:page_size] if args.key?(:page_size)
@page_token = args[:page_token] if args.key?(:page_token)
end
end
# Response message for AuditUserLinks RPC.
class GoogleAnalyticsAdminV1alphaAuditUserLinksResponse
include Google::Apis::Core::Hashable
# A token, which can be sent as `page_token` to retrieve the next page. If this
# field is omitted, there are no subsequent pages.
# Corresponds to the JSON property `nextPageToken`
# @return [String]
attr_accessor :next_page_token
# List of AuditUserLinks. These will be ordered stably, but in an arbitrary
# order.
# Corresponds to the JSON property `userLinks`
# @return [Array<Google::Apis::AnalyticsadminV1alpha::GoogleAnalyticsAdminV1alphaAuditUserLink>]
attr_accessor :user_links
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
@user_links = args[:user_links] if args.key?(:user_links)
end
end
# Request message for BatchCreateUserLinks RPC.
class GoogleAnalyticsAdminV1alphaBatchCreateUserLinksRequest
include Google::Apis::Core::Hashable
# Optional. If set, then email the new users notifying them that they've been
# granted permissions to the resource. Regardless of whether this is set or not,
# notify_new_user field inside each individual request is ignored.
# Corresponds to the JSON property `notifyNewUsers`
# @return [Boolean]
attr_accessor :notify_new_users
alias_method :notify_new_users?, :notify_new_users
# Required. The requests specifying the user links to create. A maximum of 1000
# user links can be created in a batch.
# Corresponds to the JSON property `requests`
# @return [Array<Google::Apis::AnalyticsadminV1alpha::GoogleAnalyticsAdminV1alphaCreateUserLinkRequest>]
attr_accessor :requests
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@notify_new_users = args[:notify_new_users] if args.key?(:notify_new_users)
@requests = args[:requests] if args.key?(:requests)
end
end
# Response message for BatchCreateUserLinks RPC.
class GoogleAnalyticsAdminV1alphaBatchCreateUserLinksResponse
include Google::Apis::Core::Hashable
# The user links created.
# Corresponds to the JSON property `userLinks`
# @return [Array<Google::Apis::AnalyticsadminV1alpha::GoogleAnalyticsAdminV1alphaUserLink>]
attr_accessor :user_links
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@user_links = args[:user_links] if args.key?(:user_links)
end
end
# Request message for BatchDeleteUserLinks RPC.
class GoogleAnalyticsAdminV1alphaBatchDeleteUserLinksRequest
include Google::Apis::Core::Hashable
# Required. The requests specifying the user links to update. A maximum of 1000
# user links can be updated in a batch.
# Corresponds to the JSON property `requests`
# @return [Array<Google::Apis::AnalyticsadminV1alpha::GoogleAnalyticsAdminV1alphaDeleteUserLinkRequest>]
attr_accessor :requests
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@requests = args[:requests] if args.key?(:requests)
end
end
# Response message for BatchGetUserLinks RPC.
class GoogleAnalyticsAdminV1alphaBatchGetUserLinksResponse
include Google::Apis::Core::Hashable
# The requested user links.
# Corresponds to the JSON property `userLinks`
# @return [Array<Google::Apis::AnalyticsadminV1alpha::GoogleAnalyticsAdminV1alphaUserLink>]
attr_accessor :user_links
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@user_links = args[:user_links] if args.key?(:user_links)
end
end
# Request message for BatchUpdateUserLinks RPC.
class GoogleAnalyticsAdminV1alphaBatchUpdateUserLinksRequest
include Google::Apis::Core::Hashable
# Required. The requests specifying the user links to update. A maximum of 1000
# user links can be updated in a batch.
# Corresponds to the JSON property `requests`
# @return [Array<Google::Apis::AnalyticsadminV1alpha::GoogleAnalyticsAdminV1alphaUpdateUserLinkRequest>]
attr_accessor :requests
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@requests = args[:requests] if args.key?(:requests)
end
end
# Response message for BatchUpdateUserLinks RPC.
class GoogleAnalyticsAdminV1alphaBatchUpdateUserLinksResponse
include Google::Apis::Core::Hashable
# The user links updated.
# Corresponds to the JSON property `userLinks`
# @return [Array<Google::Apis::AnalyticsadminV1alpha::GoogleAnalyticsAdminV1alphaUserLink>]
attr_accessor :user_links
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@user_links = args[:user_links] if args.key?(:user_links)
end
end
# Request message for CreateUserLink RPC. Users can have multiple email
# addresses associated with their Google account, and one of these email
# addresses is the "primary" email address. Any of the email addresses
# associated with a Google account may be used for a new UserLink, but the
# returned UserLink will always contain the "primary" email address. As a result,
# the input and output email address for this request may differ.
class GoogleAnalyticsAdminV1alphaCreateUserLinkRequest
include Google::Apis::Core::Hashable
# Optional. If set, then email the new user notifying them that they've been
# granted permissions to the resource.
# Corresponds to the JSON property `notifyNewUser`
# @return [Boolean]
attr_accessor :notify_new_user
alias_method :notify_new_user?, :notify_new_user
# Required. Example format: accounts/1234
# Corresponds to the JSON property `parent`
# @return [String]
attr_accessor :parent
# A resource message representing a user's permissions on an Account or Property
# resource.
# Corresponds to the JSON property `userLink`
# @return [Google::Apis::AnalyticsadminV1alpha::GoogleAnalyticsAdminV1alphaUserLink]
attr_accessor :user_link
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@notify_new_user = args[:notify_new_user] if args.key?(:notify_new_user)
@parent = args[:parent] if args.key?(:parent)
@user_link = args[:user_link] if args.key?(:user_link)
end
end
# A resource message representing data sharing settings of a Google Analytics
# account.
class GoogleAnalyticsAdminV1alphaDataSharingSettings
include Google::Apis::Core::Hashable
# Output only. Resource name. Format: accounts/`account`/dataSharingSettings
# Example: "accounts/1000/dataSharingSettings"
# Corresponds to the JSON property `name`
# @return [String]
attr_accessor :name
# Allows any of Google sales to access the data in order to suggest
# configuration changes to improve results.
# Corresponds to the JSON property `sharingWithGoogleAnySalesEnabled`
# @return [Boolean]
attr_accessor :sharing_with_google_any_sales_enabled
alias_method :sharing_with_google_any_sales_enabled?, :sharing_with_google_any_sales_enabled
# Allows Google sales teams that are assigned to the customer to access the data
# in order to suggest configuration changes to improve results. Sales team
# restrictions still apply when enabled.
# Corresponds to the JSON property `sharingWithGoogleAssignedSalesEnabled`
# @return [Boolean]
attr_accessor :sharing_with_google_assigned_sales_enabled
alias_method :sharing_with_google_assigned_sales_enabled?, :sharing_with_google_assigned_sales_enabled
# Allows Google to use the data to improve other Google products or services.
# Corresponds to the JSON property `sharingWithGoogleProductsEnabled`
# @return [Boolean]
attr_accessor :sharing_with_google_products_enabled
alias_method :sharing_with_google_products_enabled?, :sharing_with_google_products_enabled
# Allows Google support to access the data in order to help troubleshoot issues.
# Corresponds to the JSON property `sharingWithGoogleSupportEnabled`
# @return [Boolean]
attr_accessor :sharing_with_google_support_enabled
alias_method :sharing_with_google_support_enabled?, :sharing_with_google_support_enabled
# Allows Google to share the data anonymously in aggregate form with others.
# Corresponds to the JSON property `sharingWithOthersEnabled`
# @return [Boolean]
attr_accessor :sharing_with_others_enabled
alias_method :sharing_with_others_enabled?, :sharing_with_others_enabled
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@name = args[:name] if args.key?(:name)
@sharing_with_google_any_sales_enabled = args[:sharing_with_google_any_sales_enabled] if args.key?(:sharing_with_google_any_sales_enabled)
@sharing_with_google_assigned_sales_enabled = args[:sharing_with_google_assigned_sales_enabled] if args.key?(:sharing_with_google_assigned_sales_enabled)
@sharing_with_google_products_enabled = args[:sharing_with_google_products_enabled] if args.key?(:sharing_with_google_products_enabled)
@sharing_with_google_support_enabled = args[:sharing_with_google_support_enabled] if args.key?(:sharing_with_google_support_enabled)
@sharing_with_others_enabled = args[:sharing_with_others_enabled] if args.key?(:sharing_with_others_enabled)
end
end
# Request message for DeleteUserLink RPC.
class GoogleAnalyticsAdminV1alphaDeleteUserLinkRequest
include Google::Apis::Core::Hashable
# Required. Example format: accounts/1234/userLinks/5678
# Corresponds to the JSON property `name`
# @return [String]
attr_accessor :name
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@name = args[:name] if args.key?(:name)
end
end
# Singleton resource under a WebDataStream, configuring measurement of
# additional site interactions and content.
class GoogleAnalyticsAdminV1alphaEnhancedMeasurementSettings
include Google::Apis::Core::Hashable
# Capture events when your visitors view content on your site that has articles
# or blog posts.
# Corresponds to the JSON property `articlesAndBlogsEnabled`
# @return [Boolean]
attr_accessor :articles_and_blogs_enabled
alias_method :articles_and_blogs_enabled?, :articles_and_blogs_enabled
# Capture events when your visitors view content on your site that has
# structured data (eg, articles, blog posts, product details screens, etc.).
# Corresponds to the JSON property `contentViewsEnabled`
# @return [Boolean]
attr_accessor :content_views_enabled
alias_method :content_views_enabled?, :content_views_enabled
# If enabled, capture a click event each time a visitor clicks a link or element
# that has data attributes beginning with "data-ga".
# Corresponds to the JSON property `dataTaggedElementClicksEnabled`
# @return [Boolean]
attr_accessor :data_tagged_element_clicks_enabled
alias_method :data_tagged_element_clicks_enabled?, :data_tagged_element_clicks_enabled
# Domains to exclude from measurement. Max length is 1024 characters.
# Corresponds to the JSON property `excludedDomains`
# @return [String]
attr_accessor :excluded_domains
# If enabled, capture a file download event each time a link is clicked with a
# common document, compressed file, application, video, or audio extension.
# Corresponds to the JSON property `fileDownloadsEnabled`
# @return [Boolean]
attr_accessor :file_downloads_enabled
alias_method :file_downloads_enabled?, :file_downloads_enabled
# If enabled, capture a view search results event each time a visitor interacts
# with a form on your site.
# Corresponds to the JSON property `formInteractionsEnabled`
# @return [Boolean]
attr_accessor :form_interactions_enabled
alias_method :form_interactions_enabled?, :form_interactions_enabled
# Output only. Resource name of this Data Stream. Format: properties/`
# property_id`/webDataStreams/`stream_id`/enhancedMeasurementSettings Example: "
# properties/1000/webDataStreams/2000/enhancedMeasurementSettings"
# Corresponds to the JSON property `name`
# @return [String]
attr_accessor :name
# If enabled, capture an outbound click event each time a visitor clicks a link
# that leads them away from your domain.
# Corresponds to the JSON property `outboundClicksEnabled`
# @return [Boolean]
attr_accessor :outbound_clicks_enabled
alias_method :outbound_clicks_enabled?, :outbound_clicks_enabled
# If enabled, capture a page view event each time the website changes the
# browser history state.
# Corresponds to the JSON property `pageChangesEnabled`
# @return [Boolean]
attr_accessor :page_changes_enabled
alias_method :page_changes_enabled?, :page_changes_enabled
# If enabled, capture a page view event each time a page loads.
# Corresponds to the JSON property `pageLoadsEnabled`
# @return [Boolean]
attr_accessor :page_loads_enabled
alias_method :page_loads_enabled?, :page_loads_enabled
# Output only. If enabled, capture a page view event each time a page loads or
# the website changes the browser history state.
# Corresponds to the JSON property `pageViewsEnabled`
# @return [Boolean]
attr_accessor :page_views_enabled
alias_method :page_views_enabled?, :page_views_enabled
# Capture events when your visitors view content on your site that has product
# details screens, etc.
# Corresponds to the JSON property `productsAndEcommerceEnabled`
# @return [Boolean]
attr_accessor :products_and_ecommerce_enabled
alias_method :products_and_ecommerce_enabled?, :products_and_ecommerce_enabled
# If enabled, capture scroll events each time a visitor gets to the bottom of a
# page.
# Corresponds to the JSON property `scrollsEnabled`
# @return [Boolean]
attr_accessor :scrolls_enabled
alias_method :scrolls_enabled?, :scrolls_enabled
# Required. URL query parameters to interpret as site search parameters. Max
# length is 1024 characters. Must not be empty.
# Corresponds to the JSON property `searchQueryParameter`
# @return [String]
attr_accessor :search_query_parameter
# If enabled, capture a view search results event each time a visitor performs a
# search on your site (based on a query parameter).
# Corresponds to the JSON property `siteSearchEnabled`
# @return [Boolean]
attr_accessor :site_search_enabled
alias_method :site_search_enabled?, :site_search_enabled
# Indicates whether Enhanced Measurement Settings will be used to automatically
# measure interactions and content on this web stream. Changing this value does
# not affect the settings themselves, but determines whether they are respected.
# Corresponds to the JSON property `streamEnabled`
# @return [Boolean]
attr_accessor :stream_enabled
alias_method :stream_enabled?, :stream_enabled
# Additional URL query parameters. Max length is 1024 characters.
# Corresponds to the JSON property `urlQueryParameter`
# @return [String]
attr_accessor :url_query_parameter
# If enabled, capture video play, progress, and complete events as visitors view
# embedded videos on your site.
# Corresponds to the JSON property `videoEngagementEnabled`
# @return [Boolean]
attr_accessor :video_engagement_enabled
alias_method :video_engagement_enabled?, :video_engagement_enabled
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@articles_and_blogs_enabled = args[:articles_and_blogs_enabled] if args.key?(:articles_and_blogs_enabled)
@content_views_enabled = args[:content_views_enabled] if args.key?(:content_views_enabled)
@data_tagged_element_clicks_enabled = args[:data_tagged_element_clicks_enabled] if args.key?(:data_tagged_element_clicks_enabled)
@excluded_domains = args[:excluded_domains] if args.key?(:excluded_domains)
@file_downloads_enabled = args[:file_downloads_enabled] if args.key?(:file_downloads_enabled)
@form_interactions_enabled = args[:form_interactions_enabled] if args.key?(:form_interactions_enabled)
@name = args[:name] if args.key?(:name)
@outbound_clicks_enabled = args[:outbound_clicks_enabled] if args.key?(:outbound_clicks_enabled)
@page_changes_enabled = args[:page_changes_enabled] if args.key?(:page_changes_enabled)
@page_loads_enabled = args[:page_loads_enabled] if args.key?(:page_loads_enabled)
@page_views_enabled = args[:page_views_enabled] if args.key?(:page_views_enabled)
@products_and_ecommerce_enabled = args[:products_and_ecommerce_enabled] if args.key?(:products_and_ecommerce_enabled)
@scrolls_enabled = args[:scrolls_enabled] if args.key?(:scrolls_enabled)
@search_query_parameter = args[:search_query_parameter] if args.key?(:search_query_parameter)
@site_search_enabled = args[:site_search_enabled] if args.key?(:site_search_enabled)
@stream_enabled = args[:stream_enabled] if args.key?(:stream_enabled)
@url_query_parameter = args[:url_query_parameter] if args.key?(:url_query_parameter)
@video_engagement_enabled = args[:video_engagement_enabled] if args.key?(:video_engagement_enabled)
end
end
# A link between an GA4 property and a Firebase project.
class GoogleAnalyticsAdminV1alphaFirebaseLink
include Google::Apis::Core::Hashable
# Output only. Time when this FirebaseLink was originally created.
# Corresponds to the JSON property `createTime`
# @return [String]
attr_accessor :create_time
# Maximum user access to the GA4 property allowed to admins of the linked
# Firebase project.
# Corresponds to the JSON property `maximumUserAccess`
# @return [String]
attr_accessor :maximum_user_access
# Output only. Example format: properties/1234/firebaseLinks/5678
# Corresponds to the JSON property `name`
# @return [String]
attr_accessor :name
# Immutable. Firebase project resource name. When creating a FirebaseLink, you
# may provide this resource name using either a project number or project ID.
# Once this resource has been created, returned FirebaseLinks will always have a
# project_name that contains a project number. Format: 'projects/`project number`
# ' Example: 'projects/1234'
# Corresponds to the JSON property `project`
# @return [String]
attr_accessor :project
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@create_time = args[:create_time] if args.key?(:create_time)
@maximum_user_access = args[:maximum_user_access] if args.key?(:maximum_user_access)
@name = args[:name] if args.key?(:name)
@project = args[:project] if args.key?(:project)
end
end
# Read-only resource with the tag for sending data from a website to a
# WebDataStream.
class GoogleAnalyticsAdminV1alphaGlobalSiteTag
include Google::Apis::Core::Hashable
# Immutable. JavaScript code snippet to be pasted as the first item into the
# head tag of every webpage to measure.
# Corresponds to the JSON property `snippet`
# @return [String]
attr_accessor :snippet
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@snippet = args[:snippet] if args.key?(:snippet)
end
end
# A link between an GA4 property and a Google Ads account.
class GoogleAnalyticsAdminV1alphaGoogleAdsLink
include Google::Apis::Core::Hashable
# Enable personalized advertising features with this integration. Automatically
# publish my Google Analytics audience lists and Google Analytics remarketing
# events/parameters to the linked Google Ads account. If this field is not set
# on create/update it will be defaulted to true.
# Corresponds to the JSON property `adsPersonalizationEnabled`
# @return [Boolean]
attr_accessor :ads_personalization_enabled
alias_method :ads_personalization_enabled?, :ads_personalization_enabled
# Output only. If true, this link is for a Google Ads manager account.
# Corresponds to the JSON property `canManageClients`
# @return [Boolean]
attr_accessor :can_manage_clients
alias_method :can_manage_clients?, :can_manage_clients
# Output only. Time when this link was originally created.
# Corresponds to the JSON property `createTime`
# @return [String]
attr_accessor :create_time
# Immutable. Google Ads customer ID.
# Corresponds to the JSON property `customerId`
# @return [String]
attr_accessor :customer_id
# Output only. Email address of the user that created the link. An empty string
# will be returned if the email address can't be retrieved.
# Corresponds to the JSON property `emailAddress`
# @return [String]
attr_accessor :email_address
# Output only. Format: properties/`propertyId`/googleAdsLinks/`googleAdsLinkId`
# Note: googleAdsLinkId is not the Google Ads customer ID.
# Corresponds to the JSON property `name`
# @return [String]
attr_accessor :name
# Immutable. Format: properties/`propertyId`
# Corresponds to the JSON property `parent`
# @return [String]
attr_accessor :parent
# Output only. Time when this link was last updated.
# Corresponds to the JSON property `updateTime`
# @return [String]
attr_accessor :update_time
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@ads_personalization_enabled = args[:ads_personalization_enabled] if args.key?(:ads_personalization_enabled)
@can_manage_clients = args[:can_manage_clients] if args.key?(:can_manage_clients)
@create_time = args[:create_time] if args.key?(:create_time)
@customer_id = args[:customer_id] if args.key?(:customer_id)
@email_address = args[:email_address] if args.key?(:email_address)
@name = args[:name] if args.key?(:name)
@parent = args[:parent] if args.key?(:parent)
@update_time = args[:update_time] if args.key?(:update_time)
end
end
# A resource message representing a Google Analytics IOS app stream.
class GoogleAnalyticsAdminV1alphaIosAppDataStream
include Google::Apis::Core::Hashable
# Required. Immutable. The Apple App Store Bundle ID for the app Example: "com.
# example.myiosapp"
# Corresponds to the JSON property `bundleId`
# @return [String]
attr_accessor :bundle_id
# Output only. Time when this stream was originally created.
# Corresponds to the JSON property `createTime`
# @return [String]
attr_accessor :create_time
# Human-readable display name for the Data Stream. The max allowed display name
# length is 255 UTF-16 code units.
# Corresponds to the JSON property `displayName`
# @return [String]
attr_accessor :display_name
# Output only. ID of the corresponding iOS app in Firebase, if any. This ID can
# change if the iOS app is deleted and recreated.
# Corresponds to the JSON property `firebaseAppId`
# @return [String]
attr_accessor :firebase_app_id
# Output only. Resource name of this Data Stream. Format: properties/`
# property_id`/iosAppDataStreams/`stream_id` Example: "properties/1000/
# iosAppDataStreams/2000"
# Corresponds to the JSON property `name`
# @return [String]
attr_accessor :name
# Output only. Time when stream payload fields were last updated.
# Corresponds to the JSON property `updateTime`
# @return [String]
attr_accessor :update_time
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@bundle_id = args[:bundle_id] if args.key?(:bundle_id)
@create_time = args[:create_time] if args.key?(:create_time)
@display_name = args[:display_name] if args.key?(:display_name)
@firebase_app_id = args[:firebase_app_id] if args.key?(:firebase_app_id)
@name = args[:name] if args.key?(:name)
@update_time = args[:update_time] if args.key?(:update_time)
end
end
# Response message for ListAccountSummaries RPC.
class GoogleAnalyticsAdminV1alphaListAccountSummariesResponse
include Google::Apis::Core::Hashable
# Account summaries of all accounts the caller has access to.
# Corresponds to the JSON property `accountSummaries`
# @return [Array<Google::Apis::AnalyticsadminV1alpha::GoogleAnalyticsAdminV1alphaAccountSummary>]
attr_accessor :account_summaries
# A token, which can be sent as `page_token` to retrieve the next page. If this
# field is omitted, there are no subsequent pages.
# Corresponds to the JSON property `nextPageToken`
# @return [String]
attr_accessor :next_page_token
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@account_summaries = args[:account_summaries] if args.key?(:account_summaries)
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
end
end
# Request message for ListAccounts RPC.
class GoogleAnalyticsAdminV1alphaListAccountsResponse
include Google::Apis::Core::Hashable
# Results that were accessible to the caller.
# Corresponds to the JSON property `accounts`
# @return [Array<Google::Apis::AnalyticsadminV1alpha::GoogleAnalyticsAdminV1alphaAccount>]
attr_accessor :accounts
# A token, which can be sent as `page_token` to retrieve the next page. If this
# field is omitted, there are no subsequent pages.
# Corresponds to the JSON property `nextPageToken`
# @return [String]
attr_accessor :next_page_token
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@accounts = args[:accounts] if args.key?(:accounts)
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
end
end
# Request message for ListAndroidDataStreams RPC.
class GoogleAnalyticsAdminV1alphaListAndroidAppDataStreamsResponse
include Google::Apis::Core::Hashable
# Results that matched the filter criteria and were accessible to the caller.
# Corresponds to the JSON property `androidAppDataStreams`
# @return [Array<Google::Apis::AnalyticsadminV1alpha::GoogleAnalyticsAdminV1alphaAndroidAppDataStream>]
attr_accessor :android_app_data_streams
# A token, which can be sent as `page_token` to retrieve the next page. If this
# field is omitted, there are no subsequent pages.
# Corresponds to the JSON property `nextPageToken`
# @return [String]
attr_accessor :next_page_token
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@android_app_data_streams = args[:android_app_data_streams] if args.key?(:android_app_data_streams)
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
end
end
# Response message for ListFirebaseLinks RPC
class GoogleAnalyticsAdminV1alphaListFirebaseLinksResponse
include Google::Apis::Core::Hashable
# List of FirebaseLinks. This will have at most one value.
# Corresponds to the JSON property `firebaseLinks`
# @return [Array<Google::Apis::AnalyticsadminV1alpha::GoogleAnalyticsAdminV1alphaFirebaseLink>]
attr_accessor :firebase_links
# A token, which can be sent as `page_token` to retrieve the next page. If this
# field is omitted, there are no subsequent pages. Currently, Google Analytics
# supports only one FirebaseLink per property, so this will never be populated.
# Corresponds to the JSON property `nextPageToken`
# @return [String]
attr_accessor :next_page_token
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@firebase_links = args[:firebase_links] if args.key?(:firebase_links)
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
end
end
# Response message for ListGoogleAdsLinks RPC.
class GoogleAnalyticsAdminV1alphaListGoogleAdsLinksResponse
include Google::Apis::Core::Hashable
# List of GoogleAdsLinks.
# Corresponds to the JSON property `googleAdsLinks`
# @return [Array<Google::Apis::AnalyticsadminV1alpha::GoogleAnalyticsAdminV1alphaGoogleAdsLink>]
attr_accessor :google_ads_links
# A token, which can be sent as `page_token` to retrieve the next page. If this
# field is omitted, there are no subsequent pages.
# Corresponds to the JSON property `nextPageToken`
# @return [String]
attr_accessor :next_page_token
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@google_ads_links = args[:google_ads_links] if args.key?(:google_ads_links)
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
end
end
# Request message for ListIosAppDataStreams RPC.
class GoogleAnalyticsAdminV1alphaListIosAppDataStreamsResponse
include Google::Apis::Core::Hashable
# Results that matched the filter criteria and were accessible to the caller.
# Corresponds to the JSON property `iosAppDataStreams`
# @return [Array<Google::Apis::AnalyticsadminV1alpha::GoogleAnalyticsAdminV1alphaIosAppDataStream>]
attr_accessor :ios_app_data_streams
# A token, which can be sent as `page_token` to retrieve the next page. If this
# field is omitted, there are no subsequent pages.
# Corresponds to the JSON property `nextPageToken`
# @return [String]
attr_accessor :next_page_token
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@ios_app_data_streams = args[:ios_app_data_streams] if args.key?(:ios_app_data_streams)
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
end
end
# Response message for ListProperties RPC.
class GoogleAnalyticsAdminV1alphaListPropertiesResponse
include Google::Apis::Core::Hashable
# A token, which can be sent as `page_token` to retrieve the next page. If this
# field is omitted, there are no subsequent pages.
# Corresponds to the JSON property `nextPageToken`
# @return [String]
attr_accessor :next_page_token
# Results that matched the filter criteria and were accessible to the caller.
# Corresponds to the JSON property `properties`
# @return [Array<Google::Apis::AnalyticsadminV1alpha::GoogleAnalyticsAdminV1alphaProperty>]
attr_accessor :properties
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
@properties = args[:properties] if args.key?(:properties)
end
end
# Response message for ListUserLinks RPC.
class GoogleAnalyticsAdminV1alphaListUserLinksResponse
include Google::Apis::Core::Hashable
# A token, which can be sent as `page_token` to retrieve the next page. If this
# field is omitted, there are no subsequent pages.
# Corresponds to the JSON property `nextPageToken`
# @return [String]
attr_accessor :next_page_token
# List of UserLinks. These will be ordered stably, but in an arbitrary order.
# Corresponds to the JSON property `userLinks`
# @return [Array<Google::Apis::AnalyticsadminV1alpha::GoogleAnalyticsAdminV1alphaUserLink>]
attr_accessor :user_links
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
@user_links = args[:user_links] if args.key?(:user_links)
end
end
# Request message for ListWebDataStreams RPC.
class GoogleAnalyticsAdminV1alphaListWebDataStreamsResponse
include Google::Apis::Core::Hashable
# A token, which can be sent as `page_token` to retrieve the next page. If this
# field is omitted, there are no subsequent pages.
# Corresponds to the JSON property `nextPageToken`
# @return [String]
attr_accessor :next_page_token
# Results that matched the filter criteria and were accessible to the caller.
# Corresponds to the JSON property `webDataStreams`
# @return [Array<Google::Apis::AnalyticsadminV1alpha::GoogleAnalyticsAdminV1alphaWebDataStream>]
attr_accessor :web_data_streams
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
@web_data_streams = args[:web_data_streams] if args.key?(:web_data_streams)
end
end
# A resource message representing a Google Analytics GA4 property.
class GoogleAnalyticsAdminV1alphaProperty
include Google::Apis::Core::Hashable
# Output only. Time when the entity was originally created.
# Corresponds to the JSON property `createTime`
# @return [String]
attr_accessor :create_time
# The currency type used in reports involving monetary values. Format: https://
# en.wikipedia.org/wiki/ISO_4217 Examples: "USD", "EUR", "JPY"
# Corresponds to the JSON property `currencyCode`
# @return [String]
attr_accessor :currency_code
# Output only. Indicates whether this Property is soft-deleted or not. Deleted
# properties are excluded from List results unless specifically requested.
# Corresponds to the JSON property `deleted`
# @return [Boolean]
attr_accessor :deleted
alias_method :deleted?, :deleted
# Required. Human-readable display name for this property. The max allowed
# display name length is 100 UTF-16 code units.
# Corresponds to the JSON property `displayName`
# @return [String]
attr_accessor :display_name
# Industry associated with this property Example: AUTOMOTIVE, FOOD_AND_DRINK
# Corresponds to the JSON property `industryCategory`
# @return [String]
attr_accessor :industry_category
# Output only. Resource name of this property. Format: properties/`property_id`
# Example: "properties/1000"
# Corresponds to the JSON property `name`
# @return [String]
attr_accessor :name
# Immutable. Resource name of this property's logical parent. Note: The Property-
# Moving UI can be used to change the parent. Format: accounts/`account` Example:
# "accounts/100"
# Corresponds to the JSON property `parent`
# @return [String]
attr_accessor :parent
# Reporting Time Zone, used as the day boundary for reports, regardless of where
# the data originates. If the time zone honors DST, Analytics will automatically
# adjust for the changes. NOTE: Changing the time zone only affects data going
# forward, and is not applied retroactively. Format: https://www.iana.org/time-
# zones Example: "America/Los_Angeles"
# Corresponds to the JSON property `timeZone`
# @return [String]
attr_accessor :time_zone
# Output only. Time when entity payload fields were last updated.
# Corresponds to the JSON property `updateTime`
# @return [String]
attr_accessor :update_time
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@create_time = args[:create_time] if args.key?(:create_time)
@currency_code = args[:currency_code] if args.key?(:currency_code)
@deleted = args[:deleted] if args.key?(:deleted)
@display_name = args[:display_name] if args.key?(:display_name)
@industry_category = args[:industry_category] if args.key?(:industry_category)
@name = args[:name] if args.key?(:name)
@parent = args[:parent] if args.key?(:parent)
@time_zone = args[:time_zone] if args.key?(:time_zone)
@update_time = args[:update_time] if args.key?(:update_time)
end
end
# A virtual resource representing metadata for an GA4 property.
class GoogleAnalyticsAdminV1alphaPropertySummary
include Google::Apis::Core::Hashable
# Display name for the property referred to in this account summary.
# Corresponds to the JSON property `displayName`
# @return [String]
attr_accessor :display_name
# Resource name of property referred to by this property summary Format:
# properties/`property_id` Example: "properties/1000"
# Corresponds to the JSON property `property`
# @return [String]
attr_accessor :property
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@display_name = args[:display_name] if args.key?(:display_name)
@property = args[:property] if args.key?(:property)
end
end
# Request message for ProvisionAccountTicket RPC.
class GoogleAnalyticsAdminV1alphaProvisionAccountTicketRequest
include Google::Apis::Core::Hashable
# A resource message representing a Google Analytics account.
# Corresponds to the JSON property `account`
# @return [Google::Apis::AnalyticsadminV1alpha::GoogleAnalyticsAdminV1alphaAccount]
attr_accessor :account
# Redirect URI where the user will be sent after accepting Terms of Service.
# Must be configured in Developers Console as a Redirect URI
# Corresponds to the JSON property `redirectUri`
# @return [String]
attr_accessor :redirect_uri
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@account = args[:account] if args.key?(:account)
@redirect_uri = args[:redirect_uri] if args.key?(:redirect_uri)
end
end
# Response message for ProvisionAccountTicket RPC.
class GoogleAnalyticsAdminV1alphaProvisionAccountTicketResponse
include Google::Apis::Core::Hashable
# The param to be passed in the ToS link.
# Corresponds to the JSON property `accountTicketId`
# @return [String]
attr_accessor :account_ticket_id
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@account_ticket_id = args[:account_ticket_id] if args.key?(:account_ticket_id)
end
end
# Request message for UpdateUserLink RPC.
class GoogleAnalyticsAdminV1alphaUpdateUserLinkRequest
include Google::Apis::Core::Hashable
# A resource message representing a user's permissions on an Account or Property
# resource.
# Corresponds to the JSON property `userLink`
# @return [Google::Apis::AnalyticsadminV1alpha::GoogleAnalyticsAdminV1alphaUserLink]
attr_accessor :user_link
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@user_link = args[:user_link] if args.key?(:user_link)
end
end
# A resource message representing a user's permissions on an Account or Property
# resource.
class GoogleAnalyticsAdminV1alphaUserLink
include Google::Apis::Core::Hashable
# Roles directly assigned to this user for this account or property. Valid
# values: predefinedRoles/read predefinedRoles/collaborate predefinedRoles/edit
# predefinedRoles/manage-users Excludes roles that are inherited from a higher-
# level entity, group, or organization admin role. A UserLink that is updated to
# have an empty list of direct_roles will be deleted.
# Corresponds to the JSON property `directRoles`
# @return [Array<String>]
attr_accessor :direct_roles
# Email address of the user to link
# Corresponds to the JSON property `emailAddress`
# @return [String]
attr_accessor :email_address
# Example format: properties/1234/userLinks/5678
# Corresponds to the JSON property `name`
# @return [String]
attr_accessor :name
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@direct_roles = args[:direct_roles] if args.key?(:direct_roles)
@email_address = args[:email_address] if args.key?(:email_address)
@name = args[:name] if args.key?(:name)
end
end
# A resource message representing a Google Analytics web stream.
class GoogleAnalyticsAdminV1alphaWebDataStream
include Google::Apis::Core::Hashable
# Output only. Time when this stream was originally created.
# Corresponds to the JSON property `createTime`
# @return [String]
attr_accessor :create_time
# Immutable. Domain name of the web app being measured, or empty. Example: "http:
# //www.google.com", "https://www.google.com"
# Corresponds to the JSON property `defaultUri`
# @return [String]
attr_accessor :default_uri
# Required. Human-readable display name for the Data Stream. The max allowed
# display name length is 100 UTF-16 code units.
# Corresponds to the JSON property `displayName`
# @return [String]
attr_accessor :display_name
# Output only. ID of the corresponding web app in Firebase, if any. This ID can
# change if the web app is deleted and recreated.
# Corresponds to the JSON property `firebaseAppId`
# @return [String]
attr_accessor :firebase_app_id
# Output only. Analytics "Measurement ID", without the "G-" prefix. Example: "G-
# 1A2BCD345E" would just be "1A2BCD345E"
# Corresponds to the JSON property `measurementId`
# @return [String]
attr_accessor :measurement_id
# Output only. Resource name of this Data Stream. Format: properties/`
# property_id`/webDataStreams/`stream_id` Example: "properties/1000/
# webDataStreams/2000"
# Corresponds to the JSON property `name`
# @return [String]
attr_accessor :name
# Output only. Time when stream payload fields were last updated.
# Corresponds to the JSON property `updateTime`
# @return [String]
attr_accessor :update_time
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@create_time = args[:create_time] if args.key?(:create_time)
@default_uri = args[:default_uri] if args.key?(:default_uri)
@display_name = args[:display_name] if args.key?(:display_name)
@firebase_app_id = args[:firebase_app_id] if args.key?(:firebase_app_id)
@measurement_id = args[:measurement_id] if args.key?(:measurement_id)
@name = args[:name] if args.key?(:name)
@update_time = args[:update_time] if args.key?(:update_time)
end
end
# A generic empty message that you can re-use to avoid defining duplicated empty
# messages in your APIs. A typical example is to use it as the request or the
# response type of an API method. For instance: service Foo ` rpc Bar(google.
# protobuf.Empty) returns (google.protobuf.Empty); ` The JSON representation for
# `Empty` is empty JSON object ````.
class GoogleProtobufEmpty
include Google::Apis::Core::Hashable
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
end
end
end
end
end