5762 lines
		
	
	
		
			221 KiB
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			5762 lines
		
	
	
		
			221 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 AnalyticsV3
 | 
						|
      
 | 
						|
      # JSON template for Analytics account entry.
 | 
						|
      class Account
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Child link for an account entry. Points to the list of web properties for this
 | 
						|
        # account.
 | 
						|
        # Corresponds to the JSON property `childLink`
 | 
						|
        # @return [Google::Apis::AnalyticsV3::Account::ChildLink]
 | 
						|
        attr_accessor :child_link
 | 
						|
      
 | 
						|
        # Time the account was created.
 | 
						|
        # Corresponds to the JSON property `created`
 | 
						|
        # @return [DateTime]
 | 
						|
        attr_accessor :created
 | 
						|
      
 | 
						|
        # Account ID.
 | 
						|
        # Corresponds to the JSON property `id`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :id
 | 
						|
      
 | 
						|
        # Resource type for Analytics account.
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        # Account name.
 | 
						|
        # Corresponds to the JSON property `name`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :name
 | 
						|
      
 | 
						|
        # Permissions the user has for this account.
 | 
						|
        # Corresponds to the JSON property `permissions`
 | 
						|
        # @return [Google::Apis::AnalyticsV3::Account::Permissions]
 | 
						|
        attr_accessor :permissions
 | 
						|
      
 | 
						|
        # Link for this account.
 | 
						|
        # Corresponds to the JSON property `selfLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :self_link
 | 
						|
      
 | 
						|
        # Indicates whether this account is starred or not.
 | 
						|
        # Corresponds to the JSON property `starred`
 | 
						|
        # @return [Boolean]
 | 
						|
        attr_accessor :starred
 | 
						|
        alias_method :starred?, :starred
 | 
						|
      
 | 
						|
        # Time the account was last modified.
 | 
						|
        # Corresponds to the JSON property `updated`
 | 
						|
        # @return [DateTime]
 | 
						|
        attr_accessor :updated
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @child_link = args[:child_link] if args.key?(:child_link)
 | 
						|
          @created = args[:created] if args.key?(:created)
 | 
						|
          @id = args[:id] if args.key?(:id)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
          @name = args[:name] if args.key?(:name)
 | 
						|
          @permissions = args[:permissions] if args.key?(:permissions)
 | 
						|
          @self_link = args[:self_link] if args.key?(:self_link)
 | 
						|
          @starred = args[:starred] if args.key?(:starred)
 | 
						|
          @updated = args[:updated] if args.key?(:updated)
 | 
						|
        end
 | 
						|
        
 | 
						|
        # Child link for an account entry. Points to the list of web properties for this
 | 
						|
        # account.
 | 
						|
        class ChildLink
 | 
						|
          include Google::Apis::Core::Hashable
 | 
						|
        
 | 
						|
          # Link to the list of web properties for this account.
 | 
						|
          # Corresponds to the JSON property `href`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :href
 | 
						|
        
 | 
						|
          # Type of the child link. Its value is "analytics#webproperties".
 | 
						|
          # Corresponds to the JSON property `type`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :type
 | 
						|
        
 | 
						|
          def initialize(**args)
 | 
						|
             update!(**args)
 | 
						|
          end
 | 
						|
        
 | 
						|
          # Update properties of this object
 | 
						|
          def update!(**args)
 | 
						|
            @href = args[:href] if args.key?(:href)
 | 
						|
            @type = args[:type] if args.key?(:type)
 | 
						|
          end
 | 
						|
        end
 | 
						|
        
 | 
						|
        # Permissions the user has for this account.
 | 
						|
        class Permissions
 | 
						|
          include Google::Apis::Core::Hashable
 | 
						|
        
 | 
						|
          # All the permissions that the user has for this account. These include any
 | 
						|
          # implied permissions (e.g., EDIT implies VIEW).
 | 
						|
          # Corresponds to the JSON property `effective`
 | 
						|
          # @return [Array<String>]
 | 
						|
          attr_accessor :effective
 | 
						|
        
 | 
						|
          def initialize(**args)
 | 
						|
             update!(**args)
 | 
						|
          end
 | 
						|
        
 | 
						|
          # Update properties of this object
 | 
						|
          def update!(**args)
 | 
						|
            @effective = args[:effective] if args.key?(:effective)
 | 
						|
          end
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # JSON template for a linked account.
 | 
						|
      class AccountRef
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Link for this account.
 | 
						|
        # Corresponds to the JSON property `href`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :href
 | 
						|
      
 | 
						|
        # Account ID.
 | 
						|
        # Corresponds to the JSON property `id`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :id
 | 
						|
      
 | 
						|
        # Analytics account reference.
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        # Account name.
 | 
						|
        # 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)
 | 
						|
          @href = args[:href] if args.key?(:href)
 | 
						|
          @id = args[:id] if args.key?(:id)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
          @name = args[:name] if args.key?(:name)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # An AccountSummary collection lists a summary of accounts, properties and views
 | 
						|
      # (profiles) to which the user has access. Each resource in the collection
 | 
						|
      # corresponds to a single AccountSummary.
 | 
						|
      class AccountSummaries
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # A list of AccountSummaries.
 | 
						|
        # Corresponds to the JSON property `items`
 | 
						|
        # @return [Array<Google::Apis::AnalyticsV3::AccountSummary>]
 | 
						|
        attr_accessor :items
 | 
						|
      
 | 
						|
        # The maximum number of resources the response can contain, regardless of the
 | 
						|
        # actual number of resources returned. Its value ranges from 1 to 1000 with a
 | 
						|
        # value of 1000 by default, or otherwise specified by the max-results query
 | 
						|
        # parameter.
 | 
						|
        # Corresponds to the JSON property `itemsPerPage`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :items_per_page
 | 
						|
      
 | 
						|
        # Collection type.
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        # Link to next page for this AccountSummary collection.
 | 
						|
        # Corresponds to the JSON property `nextLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :next_link
 | 
						|
      
 | 
						|
        # Link to previous page for this AccountSummary collection.
 | 
						|
        # Corresponds to the JSON property `previousLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :previous_link
 | 
						|
      
 | 
						|
        # The starting index of the resources, which is 1 by default or otherwise
 | 
						|
        # specified by the start-index query parameter.
 | 
						|
        # Corresponds to the JSON property `startIndex`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :start_index
 | 
						|
      
 | 
						|
        # The total number of results for the query, regardless of the number of results
 | 
						|
        # in the response.
 | 
						|
        # Corresponds to the JSON property `totalResults`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :total_results
 | 
						|
      
 | 
						|
        # Email ID of the authenticated user
 | 
						|
        # Corresponds to the JSON property `username`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :username
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @items = args[:items] if args.key?(:items)
 | 
						|
          @items_per_page = args[:items_per_page] if args.key?(:items_per_page)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
          @next_link = args[:next_link] if args.key?(:next_link)
 | 
						|
          @previous_link = args[:previous_link] if args.key?(:previous_link)
 | 
						|
          @start_index = args[:start_index] if args.key?(:start_index)
 | 
						|
          @total_results = args[:total_results] if args.key?(:total_results)
 | 
						|
          @username = args[:username] if args.key?(:username)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # JSON template for an Analytics AccountSummary. An AccountSummary is a
 | 
						|
      # lightweight tree comprised of properties/profiles.
 | 
						|
      class AccountSummary
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Account ID.
 | 
						|
        # Corresponds to the JSON property `id`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :id
 | 
						|
      
 | 
						|
        # Resource type for Analytics AccountSummary.
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        # Account name.
 | 
						|
        # Corresponds to the JSON property `name`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :name
 | 
						|
      
 | 
						|
        # Indicates whether this account is starred or not.
 | 
						|
        # Corresponds to the JSON property `starred`
 | 
						|
        # @return [Boolean]
 | 
						|
        attr_accessor :starred
 | 
						|
        alias_method :starred?, :starred
 | 
						|
      
 | 
						|
        # List of web properties under this account.
 | 
						|
        # Corresponds to the JSON property `webProperties`
 | 
						|
        # @return [Array<Google::Apis::AnalyticsV3::WebPropertySummary>]
 | 
						|
        attr_accessor :web_properties
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @id = args[:id] if args.key?(:id)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
          @name = args[:name] if args.key?(:name)
 | 
						|
          @starred = args[:starred] if args.key?(:starred)
 | 
						|
          @web_properties = args[:web_properties] if args.key?(:web_properties)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # JSON template for an Analytics account ticket. The account ticket consists of
 | 
						|
      # the ticket ID and the basic information for the account, property and profile.
 | 
						|
      class AccountTicket
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # JSON template for Analytics account entry.
 | 
						|
        # Corresponds to the JSON property `account`
 | 
						|
        # @return [Google::Apis::AnalyticsV3::Account]
 | 
						|
        attr_accessor :account
 | 
						|
      
 | 
						|
        # Account ticket ID used to access the account ticket.
 | 
						|
        # Corresponds to the JSON property `id`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :id
 | 
						|
      
 | 
						|
        # Resource type for account ticket.
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        # JSON template for an Analytics view (profile).
 | 
						|
        # Corresponds to the JSON property `profile`
 | 
						|
        # @return [Google::Apis::AnalyticsV3::Profile]
 | 
						|
        attr_accessor :profile
 | 
						|
      
 | 
						|
        # Redirect URI where the user will be sent after accepting Terms of Service.
 | 
						|
        # Must be configured in APIs console as a callback URL.
 | 
						|
        # Corresponds to the JSON property `redirectUri`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :redirect_uri
 | 
						|
      
 | 
						|
        # JSON template for an Analytics web property.
 | 
						|
        # Corresponds to the JSON property `webproperty`
 | 
						|
        # @return [Google::Apis::AnalyticsV3::Webproperty]
 | 
						|
        attr_accessor :webproperty
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @account = args[:account] if args.key?(:account)
 | 
						|
          @id = args[:id] if args.key?(:id)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
          @profile = args[:profile] if args.key?(:profile)
 | 
						|
          @redirect_uri = args[:redirect_uri] if args.key?(:redirect_uri)
 | 
						|
          @webproperty = args[:webproperty] if args.key?(:webproperty)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # JSON template for an Analytics account tree requests. The account tree request
 | 
						|
      # is used in the provisioning api to create an account, property, and view (
 | 
						|
      # profile). It contains the basic information required to make these fields.
 | 
						|
      class AccountTreeRequest
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # 
 | 
						|
        # Corresponds to the JSON property `accountName`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :account_name
 | 
						|
      
 | 
						|
        # 
 | 
						|
        # Corresponds to the JSON property `accountSettings`
 | 
						|
        # @return [Google::Apis::AnalyticsV3::AccountTreeRequest::AccountSettings]
 | 
						|
        attr_accessor :account_settings
 | 
						|
      
 | 
						|
        # Resource type for account ticket.
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        # 
 | 
						|
        # Corresponds to the JSON property `profileName`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :profile_name
 | 
						|
      
 | 
						|
        # 
 | 
						|
        # Corresponds to the JSON property `timezone`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :timezone
 | 
						|
      
 | 
						|
        # 
 | 
						|
        # Corresponds to the JSON property `webpropertyName`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :webproperty_name
 | 
						|
      
 | 
						|
        # 
 | 
						|
        # Corresponds to the JSON property `websiteUrl`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :website_url
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @account_name = args[:account_name] if args.key?(:account_name)
 | 
						|
          @account_settings = args[:account_settings] if args.key?(:account_settings)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
          @profile_name = args[:profile_name] if args.key?(:profile_name)
 | 
						|
          @timezone = args[:timezone] if args.key?(:timezone)
 | 
						|
          @webproperty_name = args[:webproperty_name] if args.key?(:webproperty_name)
 | 
						|
          @website_url = args[:website_url] if args.key?(:website_url)
 | 
						|
        end
 | 
						|
        
 | 
						|
        # 
 | 
						|
        class AccountSettings
 | 
						|
          include Google::Apis::Core::Hashable
 | 
						|
        
 | 
						|
          # 
 | 
						|
          # Corresponds to the JSON property `admobReporting`
 | 
						|
          # @return [Boolean]
 | 
						|
          attr_accessor :admob_reporting
 | 
						|
          alias_method :admob_reporting?, :admob_reporting
 | 
						|
        
 | 
						|
          # 
 | 
						|
          # Corresponds to the JSON property `sharingWithGoogleAnySales`
 | 
						|
          # @return [Boolean]
 | 
						|
          attr_accessor :sharing_with_google_any_sales
 | 
						|
          alias_method :sharing_with_google_any_sales?, :sharing_with_google_any_sales
 | 
						|
        
 | 
						|
          # 
 | 
						|
          # Corresponds to the JSON property `sharingWithGoogleProducts`
 | 
						|
          # @return [Boolean]
 | 
						|
          attr_accessor :sharing_with_google_products
 | 
						|
          alias_method :sharing_with_google_products?, :sharing_with_google_products
 | 
						|
        
 | 
						|
          # 
 | 
						|
          # Corresponds to the JSON property `sharingWithGoogleSales`
 | 
						|
          # @return [Boolean]
 | 
						|
          attr_accessor :sharing_with_google_sales
 | 
						|
          alias_method :sharing_with_google_sales?, :sharing_with_google_sales
 | 
						|
        
 | 
						|
          # 
 | 
						|
          # Corresponds to the JSON property `sharingWithGoogleSupport`
 | 
						|
          # @return [Boolean]
 | 
						|
          attr_accessor :sharing_with_google_support
 | 
						|
          alias_method :sharing_with_google_support?, :sharing_with_google_support
 | 
						|
        
 | 
						|
          # 
 | 
						|
          # Corresponds to the JSON property `sharingWithOthers`
 | 
						|
          # @return [Boolean]
 | 
						|
          attr_accessor :sharing_with_others
 | 
						|
          alias_method :sharing_with_others?, :sharing_with_others
 | 
						|
        
 | 
						|
          def initialize(**args)
 | 
						|
             update!(**args)
 | 
						|
          end
 | 
						|
        
 | 
						|
          # Update properties of this object
 | 
						|
          def update!(**args)
 | 
						|
            @admob_reporting = args[:admob_reporting] if args.key?(:admob_reporting)
 | 
						|
            @sharing_with_google_any_sales = args[:sharing_with_google_any_sales] if args.key?(:sharing_with_google_any_sales)
 | 
						|
            @sharing_with_google_products = args[:sharing_with_google_products] if args.key?(:sharing_with_google_products)
 | 
						|
            @sharing_with_google_sales = args[:sharing_with_google_sales] if args.key?(:sharing_with_google_sales)
 | 
						|
            @sharing_with_google_support = args[:sharing_with_google_support] if args.key?(:sharing_with_google_support)
 | 
						|
            @sharing_with_others = args[:sharing_with_others] if args.key?(:sharing_with_others)
 | 
						|
          end
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # JSON template for an Analytics account tree response. The account tree
 | 
						|
      # response is used in the provisioning api to return the result of creating an
 | 
						|
      # account, property, and view (profile).
 | 
						|
      class AccountTreeResponse
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # JSON template for Analytics account entry.
 | 
						|
        # Corresponds to the JSON property `account`
 | 
						|
        # @return [Google::Apis::AnalyticsV3::Account]
 | 
						|
        attr_accessor :account
 | 
						|
      
 | 
						|
        # 
 | 
						|
        # Corresponds to the JSON property `accountSettings`
 | 
						|
        # @return [Google::Apis::AnalyticsV3::AccountTreeResponse::AccountSettings]
 | 
						|
        attr_accessor :account_settings
 | 
						|
      
 | 
						|
        # Resource type for account ticket.
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        # JSON template for an Analytics view (profile).
 | 
						|
        # Corresponds to the JSON property `profile`
 | 
						|
        # @return [Google::Apis::AnalyticsV3::Profile]
 | 
						|
        attr_accessor :profile
 | 
						|
      
 | 
						|
        # JSON template for an Analytics web property.
 | 
						|
        # Corresponds to the JSON property `webproperty`
 | 
						|
        # @return [Google::Apis::AnalyticsV3::Webproperty]
 | 
						|
        attr_accessor :webproperty
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @account = args[:account] if args.key?(:account)
 | 
						|
          @account_settings = args[:account_settings] if args.key?(:account_settings)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
          @profile = args[:profile] if args.key?(:profile)
 | 
						|
          @webproperty = args[:webproperty] if args.key?(:webproperty)
 | 
						|
        end
 | 
						|
        
 | 
						|
        # 
 | 
						|
        class AccountSettings
 | 
						|
          include Google::Apis::Core::Hashable
 | 
						|
        
 | 
						|
          # 
 | 
						|
          # Corresponds to the JSON property `admobReporting`
 | 
						|
          # @return [Boolean]
 | 
						|
          attr_accessor :admob_reporting
 | 
						|
          alias_method :admob_reporting?, :admob_reporting
 | 
						|
        
 | 
						|
          # 
 | 
						|
          # Corresponds to the JSON property `sharingWithGoogleAnySales`
 | 
						|
          # @return [Boolean]
 | 
						|
          attr_accessor :sharing_with_google_any_sales
 | 
						|
          alias_method :sharing_with_google_any_sales?, :sharing_with_google_any_sales
 | 
						|
        
 | 
						|
          # 
 | 
						|
          # Corresponds to the JSON property `sharingWithGoogleProducts`
 | 
						|
          # @return [Boolean]
 | 
						|
          attr_accessor :sharing_with_google_products
 | 
						|
          alias_method :sharing_with_google_products?, :sharing_with_google_products
 | 
						|
        
 | 
						|
          # 
 | 
						|
          # Corresponds to the JSON property `sharingWithGoogleSales`
 | 
						|
          # @return [Boolean]
 | 
						|
          attr_accessor :sharing_with_google_sales
 | 
						|
          alias_method :sharing_with_google_sales?, :sharing_with_google_sales
 | 
						|
        
 | 
						|
          # 
 | 
						|
          # Corresponds to the JSON property `sharingWithGoogleSupport`
 | 
						|
          # @return [Boolean]
 | 
						|
          attr_accessor :sharing_with_google_support
 | 
						|
          alias_method :sharing_with_google_support?, :sharing_with_google_support
 | 
						|
        
 | 
						|
          # 
 | 
						|
          # Corresponds to the JSON property `sharingWithOthers`
 | 
						|
          # @return [Boolean]
 | 
						|
          attr_accessor :sharing_with_others
 | 
						|
          alias_method :sharing_with_others?, :sharing_with_others
 | 
						|
        
 | 
						|
          def initialize(**args)
 | 
						|
             update!(**args)
 | 
						|
          end
 | 
						|
        
 | 
						|
          # Update properties of this object
 | 
						|
          def update!(**args)
 | 
						|
            @admob_reporting = args[:admob_reporting] if args.key?(:admob_reporting)
 | 
						|
            @sharing_with_google_any_sales = args[:sharing_with_google_any_sales] if args.key?(:sharing_with_google_any_sales)
 | 
						|
            @sharing_with_google_products = args[:sharing_with_google_products] if args.key?(:sharing_with_google_products)
 | 
						|
            @sharing_with_google_sales = args[:sharing_with_google_sales] if args.key?(:sharing_with_google_sales)
 | 
						|
            @sharing_with_google_support = args[:sharing_with_google_support] if args.key?(:sharing_with_google_support)
 | 
						|
            @sharing_with_others = args[:sharing_with_others] if args.key?(:sharing_with_others)
 | 
						|
          end
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # An account collection provides a list of Analytics accounts to which a user
 | 
						|
      # has access. The account collection is the entry point to all management
 | 
						|
      # information. Each resource in the collection corresponds to a single Analytics
 | 
						|
      # account.
 | 
						|
      class Accounts
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # A list of accounts.
 | 
						|
        # Corresponds to the JSON property `items`
 | 
						|
        # @return [Array<Google::Apis::AnalyticsV3::Account>]
 | 
						|
        attr_accessor :items
 | 
						|
      
 | 
						|
        # The maximum number of entries the response can contain, regardless of the
 | 
						|
        # actual number of entries returned. Its value ranges from 1 to 1000 with a
 | 
						|
        # value of 1000 by default, or otherwise specified by the max-results query
 | 
						|
        # parameter.
 | 
						|
        # Corresponds to the JSON property `itemsPerPage`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :items_per_page
 | 
						|
      
 | 
						|
        # Collection type.
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        # Next link for this account collection.
 | 
						|
        # Corresponds to the JSON property `nextLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :next_link
 | 
						|
      
 | 
						|
        # Previous link for this account collection.
 | 
						|
        # Corresponds to the JSON property `previousLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :previous_link
 | 
						|
      
 | 
						|
        # The starting index of the entries, which is 1 by default or otherwise
 | 
						|
        # specified by the start-index query parameter.
 | 
						|
        # Corresponds to the JSON property `startIndex`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :start_index
 | 
						|
      
 | 
						|
        # The total number of results for the query, regardless of the number of results
 | 
						|
        # in the response.
 | 
						|
        # Corresponds to the JSON property `totalResults`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :total_results
 | 
						|
      
 | 
						|
        # Email ID of the authenticated user
 | 
						|
        # Corresponds to the JSON property `username`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :username
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @items = args[:items] if args.key?(:items)
 | 
						|
          @items_per_page = args[:items_per_page] if args.key?(:items_per_page)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
          @next_link = args[:next_link] if args.key?(:next_link)
 | 
						|
          @previous_link = args[:previous_link] if args.key?(:previous_link)
 | 
						|
          @start_index = args[:start_index] if args.key?(:start_index)
 | 
						|
          @total_results = args[:total_results] if args.key?(:total_results)
 | 
						|
          @username = args[:username] if args.key?(:username)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # JSON template for an AdWords account.
 | 
						|
      class AdWordsAccount
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # True if auto-tagging is enabled on the AdWords account. Read-only after the
 | 
						|
        # insert operation.
 | 
						|
        # Corresponds to the JSON property `autoTaggingEnabled`
 | 
						|
        # @return [Boolean]
 | 
						|
        attr_accessor :auto_tagging_enabled
 | 
						|
        alias_method :auto_tagging_enabled?, :auto_tagging_enabled
 | 
						|
      
 | 
						|
        # Customer ID. This field is required when creating an AdWords link.
 | 
						|
        # Corresponds to the JSON property `customerId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :customer_id
 | 
						|
      
 | 
						|
        # Resource type for AdWords account.
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @auto_tagging_enabled = args[:auto_tagging_enabled] if args.key?(:auto_tagging_enabled)
 | 
						|
          @customer_id = args[:customer_id] if args.key?(:customer_id)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Request template for the delete upload data request.
 | 
						|
      class DeleteUploadDataRequest
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # A list of upload UIDs.
 | 
						|
        # Corresponds to the JSON property `customDataImportUids`
 | 
						|
        # @return [Array<String>]
 | 
						|
        attr_accessor :custom_data_import_uids
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @custom_data_import_uids = args[:custom_data_import_uids] if args.key?(:custom_data_import_uids)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # JSON template for a metadata column.
 | 
						|
      class Column
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Map of attribute name and value for this column.
 | 
						|
        # Corresponds to the JSON property `attributes`
 | 
						|
        # @return [Hash<String,String>]
 | 
						|
        attr_accessor :attributes
 | 
						|
      
 | 
						|
        # Column id.
 | 
						|
        # Corresponds to the JSON property `id`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :id
 | 
						|
      
 | 
						|
        # Resource type for Analytics column.
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @attributes = args[:attributes] if args.key?(:attributes)
 | 
						|
          @id = args[:id] if args.key?(:id)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Lists columns (dimensions and metrics) for a particular report type.
 | 
						|
      class Columns
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # List of attributes names returned by columns.
 | 
						|
        # Corresponds to the JSON property `attributeNames`
 | 
						|
        # @return [Array<String>]
 | 
						|
        attr_accessor :attribute_names
 | 
						|
      
 | 
						|
        # Etag of collection. This etag can be compared with the last response etag to
 | 
						|
        # check if response has changed.
 | 
						|
        # Corresponds to the JSON property `etag`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :etag
 | 
						|
      
 | 
						|
        # List of columns for a report type.
 | 
						|
        # Corresponds to the JSON property `items`
 | 
						|
        # @return [Array<Google::Apis::AnalyticsV3::Column>]
 | 
						|
        attr_accessor :items
 | 
						|
      
 | 
						|
        # Collection type.
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        # Total number of columns returned in the response.
 | 
						|
        # Corresponds to the JSON property `totalResults`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :total_results
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @attribute_names = args[:attribute_names] if args.key?(:attribute_names)
 | 
						|
          @etag = args[:etag] if args.key?(:etag)
 | 
						|
          @items = args[:items] if args.key?(:items)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
          @total_results = args[:total_results] if args.key?(:total_results)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # JSON template for an Analytics custom data source.
 | 
						|
      class CustomDataSource
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Account ID to which this custom data source belongs.
 | 
						|
        # Corresponds to the JSON property `accountId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :account_id
 | 
						|
      
 | 
						|
        # 
 | 
						|
        # Corresponds to the JSON property `childLink`
 | 
						|
        # @return [Google::Apis::AnalyticsV3::CustomDataSource::ChildLink]
 | 
						|
        attr_accessor :child_link
 | 
						|
      
 | 
						|
        # Time this custom data source was created.
 | 
						|
        # Corresponds to the JSON property `created`
 | 
						|
        # @return [DateTime]
 | 
						|
        attr_accessor :created
 | 
						|
      
 | 
						|
        # Description of custom data source.
 | 
						|
        # Corresponds to the JSON property `description`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :description
 | 
						|
      
 | 
						|
        # Custom data source ID.
 | 
						|
        # Corresponds to the JSON property `id`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :id
 | 
						|
      
 | 
						|
        # 
 | 
						|
        # Corresponds to the JSON property `importBehavior`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :import_behavior
 | 
						|
      
 | 
						|
        # Resource type for Analytics custom data source.
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        # Name of this custom data source.
 | 
						|
        # Corresponds to the JSON property `name`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :name
 | 
						|
      
 | 
						|
        # Parent link for this custom data source. Points to the web property to which
 | 
						|
        # this custom data source belongs.
 | 
						|
        # Corresponds to the JSON property `parentLink`
 | 
						|
        # @return [Google::Apis::AnalyticsV3::CustomDataSource::ParentLink]
 | 
						|
        attr_accessor :parent_link
 | 
						|
      
 | 
						|
        # IDs of views (profiles) linked to the custom data source.
 | 
						|
        # Corresponds to the JSON property `profilesLinked`
 | 
						|
        # @return [Array<String>]
 | 
						|
        attr_accessor :profiles_linked
 | 
						|
      
 | 
						|
        # Collection of schema headers of the custom data source.
 | 
						|
        # Corresponds to the JSON property `schema`
 | 
						|
        # @return [Array<String>]
 | 
						|
        attr_accessor :schema
 | 
						|
      
 | 
						|
        # Link for this Analytics custom data source.
 | 
						|
        # Corresponds to the JSON property `selfLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :self_link
 | 
						|
      
 | 
						|
        # Type of the custom data source.
 | 
						|
        # Corresponds to the JSON property `type`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :type
 | 
						|
      
 | 
						|
        # Time this custom data source was last modified.
 | 
						|
        # Corresponds to the JSON property `updated`
 | 
						|
        # @return [DateTime]
 | 
						|
        attr_accessor :updated
 | 
						|
      
 | 
						|
        # Upload type of the custom data source.
 | 
						|
        # Corresponds to the JSON property `uploadType`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :upload_type
 | 
						|
      
 | 
						|
        # Web property ID of the form UA-XXXXX-YY to which this custom data source
 | 
						|
        # belongs.
 | 
						|
        # Corresponds to the JSON property `webPropertyId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :web_property_id
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @account_id = args[:account_id] if args.key?(:account_id)
 | 
						|
          @child_link = args[:child_link] if args.key?(:child_link)
 | 
						|
          @created = args[:created] if args.key?(:created)
 | 
						|
          @description = args[:description] if args.key?(:description)
 | 
						|
          @id = args[:id] if args.key?(:id)
 | 
						|
          @import_behavior = args[:import_behavior] if args.key?(:import_behavior)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
          @name = args[:name] if args.key?(:name)
 | 
						|
          @parent_link = args[:parent_link] if args.key?(:parent_link)
 | 
						|
          @profiles_linked = args[:profiles_linked] if args.key?(:profiles_linked)
 | 
						|
          @schema = args[:schema] if args.key?(:schema)
 | 
						|
          @self_link = args[:self_link] if args.key?(:self_link)
 | 
						|
          @type = args[:type] if args.key?(:type)
 | 
						|
          @updated = args[:updated] if args.key?(:updated)
 | 
						|
          @upload_type = args[:upload_type] if args.key?(:upload_type)
 | 
						|
          @web_property_id = args[:web_property_id] if args.key?(:web_property_id)
 | 
						|
        end
 | 
						|
        
 | 
						|
        # 
 | 
						|
        class ChildLink
 | 
						|
          include Google::Apis::Core::Hashable
 | 
						|
        
 | 
						|
          # Link to the list of daily uploads for this custom data source. Link to the
 | 
						|
          # list of uploads for this custom data source.
 | 
						|
          # Corresponds to the JSON property `href`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :href
 | 
						|
        
 | 
						|
          # Value is "analytics#dailyUploads". Value is "analytics#uploads".
 | 
						|
          # Corresponds to the JSON property `type`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :type
 | 
						|
        
 | 
						|
          def initialize(**args)
 | 
						|
             update!(**args)
 | 
						|
          end
 | 
						|
        
 | 
						|
          # Update properties of this object
 | 
						|
          def update!(**args)
 | 
						|
            @href = args[:href] if args.key?(:href)
 | 
						|
            @type = args[:type] if args.key?(:type)
 | 
						|
          end
 | 
						|
        end
 | 
						|
        
 | 
						|
        # Parent link for this custom data source. Points to the web property to which
 | 
						|
        # this custom data source belongs.
 | 
						|
        class ParentLink
 | 
						|
          include Google::Apis::Core::Hashable
 | 
						|
        
 | 
						|
          # Link to the web property to which this custom data source belongs.
 | 
						|
          # Corresponds to the JSON property `href`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :href
 | 
						|
        
 | 
						|
          # Value is "analytics#webproperty".
 | 
						|
          # Corresponds to the JSON property `type`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :type
 | 
						|
        
 | 
						|
          def initialize(**args)
 | 
						|
             update!(**args)
 | 
						|
          end
 | 
						|
        
 | 
						|
          # Update properties of this object
 | 
						|
          def update!(**args)
 | 
						|
            @href = args[:href] if args.key?(:href)
 | 
						|
            @type = args[:type] if args.key?(:type)
 | 
						|
          end
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Lists Analytics custom data sources to which the user has access. Each
 | 
						|
      # resource in the collection corresponds to a single Analytics custom data
 | 
						|
      # source.
 | 
						|
      class CustomDataSources
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Collection of custom data sources.
 | 
						|
        # Corresponds to the JSON property `items`
 | 
						|
        # @return [Array<Google::Apis::AnalyticsV3::CustomDataSource>]
 | 
						|
        attr_accessor :items
 | 
						|
      
 | 
						|
        # The maximum number of resources the response can contain, regardless of the
 | 
						|
        # actual number of resources returned. Its value ranges from 1 to 1000 with a
 | 
						|
        # value of 1000 by default, or otherwise specified by the max-results query
 | 
						|
        # parameter.
 | 
						|
        # Corresponds to the JSON property `itemsPerPage`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :items_per_page
 | 
						|
      
 | 
						|
        # Collection type.
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        # Link to next page for this custom data source collection.
 | 
						|
        # Corresponds to the JSON property `nextLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :next_link
 | 
						|
      
 | 
						|
        # Link to previous page for this custom data source collection.
 | 
						|
        # Corresponds to the JSON property `previousLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :previous_link
 | 
						|
      
 | 
						|
        # The starting index of the resources, which is 1 by default or otherwise
 | 
						|
        # specified by the start-index query parameter.
 | 
						|
        # Corresponds to the JSON property `startIndex`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :start_index
 | 
						|
      
 | 
						|
        # The total number of results for the query, regardless of the number of results
 | 
						|
        # in the response.
 | 
						|
        # Corresponds to the JSON property `totalResults`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :total_results
 | 
						|
      
 | 
						|
        # Email ID of the authenticated user
 | 
						|
        # Corresponds to the JSON property `username`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :username
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @items = args[:items] if args.key?(:items)
 | 
						|
          @items_per_page = args[:items_per_page] if args.key?(:items_per_page)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
          @next_link = args[:next_link] if args.key?(:next_link)
 | 
						|
          @previous_link = args[:previous_link] if args.key?(:previous_link)
 | 
						|
          @start_index = args[:start_index] if args.key?(:start_index)
 | 
						|
          @total_results = args[:total_results] if args.key?(:total_results)
 | 
						|
          @username = args[:username] if args.key?(:username)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # JSON template for Analytics Custom Dimension.
 | 
						|
      class CustomDimension
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Account ID.
 | 
						|
        # Corresponds to the JSON property `accountId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :account_id
 | 
						|
      
 | 
						|
        # Boolean indicating whether the custom dimension is active.
 | 
						|
        # Corresponds to the JSON property `active`
 | 
						|
        # @return [Boolean]
 | 
						|
        attr_accessor :active
 | 
						|
        alias_method :active?, :active
 | 
						|
      
 | 
						|
        # Time the custom dimension was created.
 | 
						|
        # Corresponds to the JSON property `created`
 | 
						|
        # @return [DateTime]
 | 
						|
        attr_accessor :created
 | 
						|
      
 | 
						|
        # Custom dimension ID.
 | 
						|
        # Corresponds to the JSON property `id`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :id
 | 
						|
      
 | 
						|
        # Index of the custom dimension.
 | 
						|
        # Corresponds to the JSON property `index`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :index
 | 
						|
      
 | 
						|
        # Kind value for a custom dimension. Set to "analytics#customDimension". It is a
 | 
						|
        # read-only field.
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        # Name of the custom dimension.
 | 
						|
        # Corresponds to the JSON property `name`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :name
 | 
						|
      
 | 
						|
        # Parent link for the custom dimension. Points to the property to which the
 | 
						|
        # custom dimension belongs.
 | 
						|
        # Corresponds to the JSON property `parentLink`
 | 
						|
        # @return [Google::Apis::AnalyticsV3::CustomDimension::ParentLink]
 | 
						|
        attr_accessor :parent_link
 | 
						|
      
 | 
						|
        # Scope of the custom dimension: HIT, SESSION, USER or PRODUCT.
 | 
						|
        # Corresponds to the JSON property `scope`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :scope
 | 
						|
      
 | 
						|
        # Link for the custom dimension
 | 
						|
        # Corresponds to the JSON property `selfLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :self_link
 | 
						|
      
 | 
						|
        # Time the custom dimension was last modified.
 | 
						|
        # Corresponds to the JSON property `updated`
 | 
						|
        # @return [DateTime]
 | 
						|
        attr_accessor :updated
 | 
						|
      
 | 
						|
        # Property ID.
 | 
						|
        # Corresponds to the JSON property `webPropertyId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :web_property_id
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @account_id = args[:account_id] if args.key?(:account_id)
 | 
						|
          @active = args[:active] if args.key?(:active)
 | 
						|
          @created = args[:created] if args.key?(:created)
 | 
						|
          @id = args[:id] if args.key?(:id)
 | 
						|
          @index = args[:index] if args.key?(:index)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
          @name = args[:name] if args.key?(:name)
 | 
						|
          @parent_link = args[:parent_link] if args.key?(:parent_link)
 | 
						|
          @scope = args[:scope] if args.key?(:scope)
 | 
						|
          @self_link = args[:self_link] if args.key?(:self_link)
 | 
						|
          @updated = args[:updated] if args.key?(:updated)
 | 
						|
          @web_property_id = args[:web_property_id] if args.key?(:web_property_id)
 | 
						|
        end
 | 
						|
        
 | 
						|
        # Parent link for the custom dimension. Points to the property to which the
 | 
						|
        # custom dimension belongs.
 | 
						|
        class ParentLink
 | 
						|
          include Google::Apis::Core::Hashable
 | 
						|
        
 | 
						|
          # Link to the property to which the custom dimension belongs.
 | 
						|
          # Corresponds to the JSON property `href`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :href
 | 
						|
        
 | 
						|
          # Type of the parent link. Set to "analytics#webproperty".
 | 
						|
          # Corresponds to the JSON property `type`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :type
 | 
						|
        
 | 
						|
          def initialize(**args)
 | 
						|
             update!(**args)
 | 
						|
          end
 | 
						|
        
 | 
						|
          # Update properties of this object
 | 
						|
          def update!(**args)
 | 
						|
            @href = args[:href] if args.key?(:href)
 | 
						|
            @type = args[:type] if args.key?(:type)
 | 
						|
          end
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # A custom dimension collection lists Analytics custom dimensions to which the
 | 
						|
      # user has access. Each resource in the collection corresponds to a single
 | 
						|
      # Analytics custom dimension.
 | 
						|
      class CustomDimensions
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Collection of custom dimensions.
 | 
						|
        # Corresponds to the JSON property `items`
 | 
						|
        # @return [Array<Google::Apis::AnalyticsV3::CustomDimension>]
 | 
						|
        attr_accessor :items
 | 
						|
      
 | 
						|
        # The maximum number of resources the response can contain, regardless of the
 | 
						|
        # actual number of resources returned. Its value ranges from 1 to 1000 with a
 | 
						|
        # value of 1000 by default, or otherwise specified by the max-results query
 | 
						|
        # parameter.
 | 
						|
        # Corresponds to the JSON property `itemsPerPage`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :items_per_page
 | 
						|
      
 | 
						|
        # Collection type.
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        # Link to next page for this custom dimension collection.
 | 
						|
        # Corresponds to the JSON property `nextLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :next_link
 | 
						|
      
 | 
						|
        # Link to previous page for this custom dimension collection.
 | 
						|
        # Corresponds to the JSON property `previousLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :previous_link
 | 
						|
      
 | 
						|
        # The starting index of the resources, which is 1 by default or otherwise
 | 
						|
        # specified by the start-index query parameter.
 | 
						|
        # Corresponds to the JSON property `startIndex`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :start_index
 | 
						|
      
 | 
						|
        # The total number of results for the query, regardless of the number of results
 | 
						|
        # in the response.
 | 
						|
        # Corresponds to the JSON property `totalResults`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :total_results
 | 
						|
      
 | 
						|
        # Email ID of the authenticated user
 | 
						|
        # Corresponds to the JSON property `username`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :username
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @items = args[:items] if args.key?(:items)
 | 
						|
          @items_per_page = args[:items_per_page] if args.key?(:items_per_page)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
          @next_link = args[:next_link] if args.key?(:next_link)
 | 
						|
          @previous_link = args[:previous_link] if args.key?(:previous_link)
 | 
						|
          @start_index = args[:start_index] if args.key?(:start_index)
 | 
						|
          @total_results = args[:total_results] if args.key?(:total_results)
 | 
						|
          @username = args[:username] if args.key?(:username)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # JSON template for Analytics Custom Metric.
 | 
						|
      class CustomMetric
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Account ID.
 | 
						|
        # Corresponds to the JSON property `accountId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :account_id
 | 
						|
      
 | 
						|
        # Boolean indicating whether the custom metric is active.
 | 
						|
        # Corresponds to the JSON property `active`
 | 
						|
        # @return [Boolean]
 | 
						|
        attr_accessor :active
 | 
						|
        alias_method :active?, :active
 | 
						|
      
 | 
						|
        # Time the custom metric was created.
 | 
						|
        # Corresponds to the JSON property `created`
 | 
						|
        # @return [DateTime]
 | 
						|
        attr_accessor :created
 | 
						|
      
 | 
						|
        # Custom metric ID.
 | 
						|
        # Corresponds to the JSON property `id`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :id
 | 
						|
      
 | 
						|
        # Index of the custom metric.
 | 
						|
        # Corresponds to the JSON property `index`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :index
 | 
						|
      
 | 
						|
        # Kind value for a custom metric. Set to "analytics#customMetric". It is a read-
 | 
						|
        # only field.
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        # Max value of custom metric.
 | 
						|
        # Corresponds to the JSON property `max_value`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :max_value
 | 
						|
      
 | 
						|
        # Min value of custom metric.
 | 
						|
        # Corresponds to the JSON property `min_value`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :min_value
 | 
						|
      
 | 
						|
        # Name of the custom metric.
 | 
						|
        # Corresponds to the JSON property `name`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :name
 | 
						|
      
 | 
						|
        # Parent link for the custom metric. Points to the property to which the custom
 | 
						|
        # metric belongs.
 | 
						|
        # Corresponds to the JSON property `parentLink`
 | 
						|
        # @return [Google::Apis::AnalyticsV3::CustomMetric::ParentLink]
 | 
						|
        attr_accessor :parent_link
 | 
						|
      
 | 
						|
        # Scope of the custom metric: HIT or PRODUCT.
 | 
						|
        # Corresponds to the JSON property `scope`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :scope
 | 
						|
      
 | 
						|
        # Link for the custom metric
 | 
						|
        # Corresponds to the JSON property `selfLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :self_link
 | 
						|
      
 | 
						|
        # Data type of custom metric.
 | 
						|
        # Corresponds to the JSON property `type`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :type
 | 
						|
      
 | 
						|
        # Time the custom metric was last modified.
 | 
						|
        # Corresponds to the JSON property `updated`
 | 
						|
        # @return [DateTime]
 | 
						|
        attr_accessor :updated
 | 
						|
      
 | 
						|
        # Property ID.
 | 
						|
        # Corresponds to the JSON property `webPropertyId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :web_property_id
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @account_id = args[:account_id] if args.key?(:account_id)
 | 
						|
          @active = args[:active] if args.key?(:active)
 | 
						|
          @created = args[:created] if args.key?(:created)
 | 
						|
          @id = args[:id] if args.key?(:id)
 | 
						|
          @index = args[:index] if args.key?(:index)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
          @max_value = args[:max_value] if args.key?(:max_value)
 | 
						|
          @min_value = args[:min_value] if args.key?(:min_value)
 | 
						|
          @name = args[:name] if args.key?(:name)
 | 
						|
          @parent_link = args[:parent_link] if args.key?(:parent_link)
 | 
						|
          @scope = args[:scope] if args.key?(:scope)
 | 
						|
          @self_link = args[:self_link] if args.key?(:self_link)
 | 
						|
          @type = args[:type] if args.key?(:type)
 | 
						|
          @updated = args[:updated] if args.key?(:updated)
 | 
						|
          @web_property_id = args[:web_property_id] if args.key?(:web_property_id)
 | 
						|
        end
 | 
						|
        
 | 
						|
        # Parent link for the custom metric. Points to the property to which the custom
 | 
						|
        # metric belongs.
 | 
						|
        class ParentLink
 | 
						|
          include Google::Apis::Core::Hashable
 | 
						|
        
 | 
						|
          # Link to the property to which the custom metric belongs.
 | 
						|
          # Corresponds to the JSON property `href`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :href
 | 
						|
        
 | 
						|
          # Type of the parent link. Set to "analytics#webproperty".
 | 
						|
          # Corresponds to the JSON property `type`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :type
 | 
						|
        
 | 
						|
          def initialize(**args)
 | 
						|
             update!(**args)
 | 
						|
          end
 | 
						|
        
 | 
						|
          # Update properties of this object
 | 
						|
          def update!(**args)
 | 
						|
            @href = args[:href] if args.key?(:href)
 | 
						|
            @type = args[:type] if args.key?(:type)
 | 
						|
          end
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # A custom metric collection lists Analytics custom metrics to which the user
 | 
						|
      # has access. Each resource in the collection corresponds to a single Analytics
 | 
						|
      # custom metric.
 | 
						|
      class CustomMetrics
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Collection of custom metrics.
 | 
						|
        # Corresponds to the JSON property `items`
 | 
						|
        # @return [Array<Google::Apis::AnalyticsV3::CustomMetric>]
 | 
						|
        attr_accessor :items
 | 
						|
      
 | 
						|
        # The maximum number of resources the response can contain, regardless of the
 | 
						|
        # actual number of resources returned. Its value ranges from 1 to 1000 with a
 | 
						|
        # value of 1000 by default, or otherwise specified by the max-results query
 | 
						|
        # parameter.
 | 
						|
        # Corresponds to the JSON property `itemsPerPage`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :items_per_page
 | 
						|
      
 | 
						|
        # Collection type.
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        # Link to next page for this custom metric collection.
 | 
						|
        # Corresponds to the JSON property `nextLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :next_link
 | 
						|
      
 | 
						|
        # Link to previous page for this custom metric collection.
 | 
						|
        # Corresponds to the JSON property `previousLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :previous_link
 | 
						|
      
 | 
						|
        # The starting index of the resources, which is 1 by default or otherwise
 | 
						|
        # specified by the start-index query parameter.
 | 
						|
        # Corresponds to the JSON property `startIndex`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :start_index
 | 
						|
      
 | 
						|
        # The total number of results for the query, regardless of the number of results
 | 
						|
        # in the response.
 | 
						|
        # Corresponds to the JSON property `totalResults`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :total_results
 | 
						|
      
 | 
						|
        # Email ID of the authenticated user
 | 
						|
        # Corresponds to the JSON property `username`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :username
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @items = args[:items] if args.key?(:items)
 | 
						|
          @items_per_page = args[:items_per_page] if args.key?(:items_per_page)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
          @next_link = args[:next_link] if args.key?(:next_link)
 | 
						|
          @previous_link = args[:previous_link] if args.key?(:previous_link)
 | 
						|
          @start_index = args[:start_index] if args.key?(:start_index)
 | 
						|
          @total_results = args[:total_results] if args.key?(:total_results)
 | 
						|
          @username = args[:username] if args.key?(:username)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # JSON template for Analytics Entity AdWords Link.
 | 
						|
      class EntityAdWordsLink
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # A list of AdWords client accounts. These cannot be MCC accounts. This field is
 | 
						|
        # required when creating an AdWords link. It cannot be empty.
 | 
						|
        # Corresponds to the JSON property `adWordsAccounts`
 | 
						|
        # @return [Array<Google::Apis::AnalyticsV3::AdWordsAccount>]
 | 
						|
        attr_accessor :ad_words_accounts
 | 
						|
      
 | 
						|
        # Web property being linked.
 | 
						|
        # Corresponds to the JSON property `entity`
 | 
						|
        # @return [Google::Apis::AnalyticsV3::EntityAdWordsLink::Entity]
 | 
						|
        attr_accessor :entity
 | 
						|
      
 | 
						|
        # Entity AdWords link ID
 | 
						|
        # Corresponds to the JSON property `id`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :id
 | 
						|
      
 | 
						|
        # Resource type for entity AdWords link.
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        # Name of the link. This field is required when creating an AdWords link.
 | 
						|
        # Corresponds to the JSON property `name`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :name
 | 
						|
      
 | 
						|
        # IDs of linked Views (Profiles) represented as strings.
 | 
						|
        # Corresponds to the JSON property `profileIds`
 | 
						|
        # @return [Array<String>]
 | 
						|
        attr_accessor :profile_ids
 | 
						|
      
 | 
						|
        # URL link for this Google Analytics - Google AdWords link.
 | 
						|
        # Corresponds to the JSON property `selfLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :self_link
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @ad_words_accounts = args[:ad_words_accounts] if args.key?(:ad_words_accounts)
 | 
						|
          @entity = args[:entity] if args.key?(:entity)
 | 
						|
          @id = args[:id] if args.key?(:id)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
          @name = args[:name] if args.key?(:name)
 | 
						|
          @profile_ids = args[:profile_ids] if args.key?(:profile_ids)
 | 
						|
          @self_link = args[:self_link] if args.key?(:self_link)
 | 
						|
        end
 | 
						|
        
 | 
						|
        # Web property being linked.
 | 
						|
        class Entity
 | 
						|
          include Google::Apis::Core::Hashable
 | 
						|
        
 | 
						|
          # JSON template for a web property reference.
 | 
						|
          # Corresponds to the JSON property `webPropertyRef`
 | 
						|
          # @return [Google::Apis::AnalyticsV3::WebPropertyRef]
 | 
						|
          attr_accessor :web_property_ref
 | 
						|
        
 | 
						|
          def initialize(**args)
 | 
						|
             update!(**args)
 | 
						|
          end
 | 
						|
        
 | 
						|
          # Update properties of this object
 | 
						|
          def update!(**args)
 | 
						|
            @web_property_ref = args[:web_property_ref] if args.key?(:web_property_ref)
 | 
						|
          end
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # An entity AdWords link collection provides a list of GA-AdWords links Each
 | 
						|
      # resource in this collection corresponds to a single link.
 | 
						|
      class EntityAdWordsLinks
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # A list of entity AdWords links.
 | 
						|
        # Corresponds to the JSON property `items`
 | 
						|
        # @return [Array<Google::Apis::AnalyticsV3::EntityAdWordsLink>]
 | 
						|
        attr_accessor :items
 | 
						|
      
 | 
						|
        # The maximum number of entries the response can contain, regardless of the
 | 
						|
        # actual number of entries returned. Its value ranges from 1 to 1000 with a
 | 
						|
        # value of 1000 by default, or otherwise specified by the max-results query
 | 
						|
        # parameter.
 | 
						|
        # Corresponds to the JSON property `itemsPerPage`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :items_per_page
 | 
						|
      
 | 
						|
        # Collection type.
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        # Next link for this AdWords link collection.
 | 
						|
        # Corresponds to the JSON property `nextLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :next_link
 | 
						|
      
 | 
						|
        # Previous link for this AdWords link collection.
 | 
						|
        # Corresponds to the JSON property `previousLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :previous_link
 | 
						|
      
 | 
						|
        # The starting index of the entries, which is 1 by default or otherwise
 | 
						|
        # specified by the start-index query parameter.
 | 
						|
        # Corresponds to the JSON property `startIndex`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :start_index
 | 
						|
      
 | 
						|
        # The total number of results for the query, regardless of the number of results
 | 
						|
        # in the response.
 | 
						|
        # Corresponds to the JSON property `totalResults`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :total_results
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @items = args[:items] if args.key?(:items)
 | 
						|
          @items_per_page = args[:items_per_page] if args.key?(:items_per_page)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
          @next_link = args[:next_link] if args.key?(:next_link)
 | 
						|
          @previous_link = args[:previous_link] if args.key?(:previous_link)
 | 
						|
          @start_index = args[:start_index] if args.key?(:start_index)
 | 
						|
          @total_results = args[:total_results] if args.key?(:total_results)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # JSON template for an Analytics Entity-User Link. Returns permissions that a
 | 
						|
      # user has for an entity.
 | 
						|
      class EntityUserLink
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Entity for this link. It can be an account, a web property, or a view (profile)
 | 
						|
        # .
 | 
						|
        # Corresponds to the JSON property `entity`
 | 
						|
        # @return [Google::Apis::AnalyticsV3::EntityUserLink::Entity]
 | 
						|
        attr_accessor :entity
 | 
						|
      
 | 
						|
        # Entity user link ID
 | 
						|
        # Corresponds to the JSON property `id`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :id
 | 
						|
      
 | 
						|
        # Resource type for entity user link.
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        # Permissions the user has for this entity.
 | 
						|
        # Corresponds to the JSON property `permissions`
 | 
						|
        # @return [Google::Apis::AnalyticsV3::EntityUserLink::Permissions]
 | 
						|
        attr_accessor :permissions
 | 
						|
      
 | 
						|
        # Self link for this resource.
 | 
						|
        # Corresponds to the JSON property `selfLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :self_link
 | 
						|
      
 | 
						|
        # JSON template for a user reference.
 | 
						|
        # Corresponds to the JSON property `userRef`
 | 
						|
        # @return [Google::Apis::AnalyticsV3::UserRef]
 | 
						|
        attr_accessor :user_ref
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @entity = args[:entity] if args.key?(:entity)
 | 
						|
          @id = args[:id] if args.key?(:id)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
          @permissions = args[:permissions] if args.key?(:permissions)
 | 
						|
          @self_link = args[:self_link] if args.key?(:self_link)
 | 
						|
          @user_ref = args[:user_ref] if args.key?(:user_ref)
 | 
						|
        end
 | 
						|
        
 | 
						|
        # Entity for this link. It can be an account, a web property, or a view (profile)
 | 
						|
        # .
 | 
						|
        class Entity
 | 
						|
          include Google::Apis::Core::Hashable
 | 
						|
        
 | 
						|
          # JSON template for a linked account.
 | 
						|
          # Corresponds to the JSON property `accountRef`
 | 
						|
          # @return [Google::Apis::AnalyticsV3::AccountRef]
 | 
						|
          attr_accessor :account_ref
 | 
						|
        
 | 
						|
          # JSON template for a linked view (profile).
 | 
						|
          # Corresponds to the JSON property `profileRef`
 | 
						|
          # @return [Google::Apis::AnalyticsV3::ProfileRef]
 | 
						|
          attr_accessor :profile_ref
 | 
						|
        
 | 
						|
          # JSON template for a web property reference.
 | 
						|
          # Corresponds to the JSON property `webPropertyRef`
 | 
						|
          # @return [Google::Apis::AnalyticsV3::WebPropertyRef]
 | 
						|
          attr_accessor :web_property_ref
 | 
						|
        
 | 
						|
          def initialize(**args)
 | 
						|
             update!(**args)
 | 
						|
          end
 | 
						|
        
 | 
						|
          # Update properties of this object
 | 
						|
          def update!(**args)
 | 
						|
            @account_ref = args[:account_ref] if args.key?(:account_ref)
 | 
						|
            @profile_ref = args[:profile_ref] if args.key?(:profile_ref)
 | 
						|
            @web_property_ref = args[:web_property_ref] if args.key?(:web_property_ref)
 | 
						|
          end
 | 
						|
        end
 | 
						|
        
 | 
						|
        # Permissions the user has for this entity.
 | 
						|
        class Permissions
 | 
						|
          include Google::Apis::Core::Hashable
 | 
						|
        
 | 
						|
          # Effective permissions represent all the permissions that a user has for this
 | 
						|
          # entity. These include any implied permissions (e.g., EDIT implies VIEW) or
 | 
						|
          # inherited permissions from the parent entity. Effective permissions are read-
 | 
						|
          # only.
 | 
						|
          # Corresponds to the JSON property `effective`
 | 
						|
          # @return [Array<String>]
 | 
						|
          attr_accessor :effective
 | 
						|
        
 | 
						|
          # Permissions that a user has been assigned at this very level. Does not include
 | 
						|
          # any implied or inherited permissions. Local permissions are modifiable.
 | 
						|
          # Corresponds to the JSON property `local`
 | 
						|
          # @return [Array<String>]
 | 
						|
          attr_accessor :local
 | 
						|
        
 | 
						|
          def initialize(**args)
 | 
						|
             update!(**args)
 | 
						|
          end
 | 
						|
        
 | 
						|
          # Update properties of this object
 | 
						|
          def update!(**args)
 | 
						|
            @effective = args[:effective] if args.key?(:effective)
 | 
						|
            @local = args[:local] if args.key?(:local)
 | 
						|
          end
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # An entity user link collection provides a list of Analytics ACL links Each
 | 
						|
      # resource in this collection corresponds to a single link.
 | 
						|
      class EntityUserLinks
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # A list of entity user links.
 | 
						|
        # Corresponds to the JSON property `items`
 | 
						|
        # @return [Array<Google::Apis::AnalyticsV3::EntityUserLink>]
 | 
						|
        attr_accessor :items
 | 
						|
      
 | 
						|
        # The maximum number of entries the response can contain, regardless of the
 | 
						|
        # actual number of entries returned. Its value ranges from 1 to 1000 with a
 | 
						|
        # value of 1000 by default, or otherwise specified by the max-results query
 | 
						|
        # parameter.
 | 
						|
        # Corresponds to the JSON property `itemsPerPage`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :items_per_page
 | 
						|
      
 | 
						|
        # Collection type.
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        # Next link for this account collection.
 | 
						|
        # Corresponds to the JSON property `nextLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :next_link
 | 
						|
      
 | 
						|
        # Previous link for this account collection.
 | 
						|
        # Corresponds to the JSON property `previousLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :previous_link
 | 
						|
      
 | 
						|
        # The starting index of the entries, which is 1 by default or otherwise
 | 
						|
        # specified by the start-index query parameter.
 | 
						|
        # Corresponds to the JSON property `startIndex`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :start_index
 | 
						|
      
 | 
						|
        # The total number of results for the query, regardless of the number of results
 | 
						|
        # in the response.
 | 
						|
        # Corresponds to the JSON property `totalResults`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :total_results
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @items = args[:items] if args.key?(:items)
 | 
						|
          @items_per_page = args[:items_per_page] if args.key?(:items_per_page)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
          @next_link = args[:next_link] if args.key?(:next_link)
 | 
						|
          @previous_link = args[:previous_link] if args.key?(:previous_link)
 | 
						|
          @start_index = args[:start_index] if args.key?(:start_index)
 | 
						|
          @total_results = args[:total_results] if args.key?(:total_results)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # JSON template for Analytics experiment resource.
 | 
						|
      class Experiment
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Account ID to which this experiment belongs. This field is read-only.
 | 
						|
        # Corresponds to the JSON property `accountId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :account_id
 | 
						|
      
 | 
						|
        # Time the experiment was created. This field is read-only.
 | 
						|
        # Corresponds to the JSON property `created`
 | 
						|
        # @return [DateTime]
 | 
						|
        attr_accessor :created
 | 
						|
      
 | 
						|
        # Notes about this experiment.
 | 
						|
        # Corresponds to the JSON property `description`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :description
 | 
						|
      
 | 
						|
        # If true, the end user will be able to edit the experiment via the Google
 | 
						|
        # Analytics user interface.
 | 
						|
        # Corresponds to the JSON property `editableInGaUi`
 | 
						|
        # @return [Boolean]
 | 
						|
        attr_accessor :editable_in_ga_ui
 | 
						|
        alias_method :editable_in_ga_ui?, :editable_in_ga_ui
 | 
						|
      
 | 
						|
        # The ending time of the experiment (the time the status changed from RUNNING to
 | 
						|
        # ENDED). This field is present only if the experiment has ended. This field is
 | 
						|
        # read-only.
 | 
						|
        # Corresponds to the JSON property `endTime`
 | 
						|
        # @return [DateTime]
 | 
						|
        attr_accessor :end_time
 | 
						|
      
 | 
						|
        # Boolean specifying whether to distribute traffic evenly across all variations.
 | 
						|
        # If the value is False, content experiments follows the default behavior of
 | 
						|
        # adjusting traffic dynamically based on variation performance. Optional --
 | 
						|
        # defaults to False. This field may not be changed for an experiment whose
 | 
						|
        # status is ENDED.
 | 
						|
        # Corresponds to the JSON property `equalWeighting`
 | 
						|
        # @return [Boolean]
 | 
						|
        attr_accessor :equal_weighting
 | 
						|
        alias_method :equal_weighting?, :equal_weighting
 | 
						|
      
 | 
						|
        # Experiment ID. Required for patch and update. Disallowed for create.
 | 
						|
        # Corresponds to the JSON property `id`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :id
 | 
						|
      
 | 
						|
        # Internal ID for the web property to which this experiment belongs. This field
 | 
						|
        # is read-only.
 | 
						|
        # Corresponds to the JSON property `internalWebPropertyId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :internal_web_property_id
 | 
						|
      
 | 
						|
        # Resource type for an Analytics experiment. This field is read-only.
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        # An integer number in [3, 90]. Specifies the minimum length of the experiment.
 | 
						|
        # Can be changed for a running experiment. This field may not be changed for an
 | 
						|
        # experiments whose status is ENDED.
 | 
						|
        # Corresponds to the JSON property `minimumExperimentLengthInDays`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :minimum_experiment_length_in_days
 | 
						|
      
 | 
						|
        # Experiment name. This field may not be changed for an experiment whose status
 | 
						|
        # is ENDED. This field is required when creating an experiment.
 | 
						|
        # Corresponds to the JSON property `name`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :name
 | 
						|
      
 | 
						|
        # The metric that the experiment is optimizing. Valid values: "ga:goal(n)
 | 
						|
        # Completions", "ga:adsenseAdsClicks", "ga:adsenseAdsViewed", "ga:adsenseRevenue"
 | 
						|
        # , "ga:bounces", "ga:pageviews", "ga:sessionDuration", "ga:transactions", "ga:
 | 
						|
        # transactionRevenue". This field is required if status is "RUNNING" and
 | 
						|
        # servingFramework is one of "REDIRECT" or "API".
 | 
						|
        # Corresponds to the JSON property `objectiveMetric`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :objective_metric
 | 
						|
      
 | 
						|
        # Whether the objectiveMetric should be minimized or maximized. Possible values:
 | 
						|
        # "MAXIMUM", "MINIMUM". Optional--defaults to "MAXIMUM". Cannot be specified
 | 
						|
        # without objectiveMetric. Cannot be modified when status is "RUNNING" or "ENDED"
 | 
						|
        # .
 | 
						|
        # Corresponds to the JSON property `optimizationType`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :optimization_type
 | 
						|
      
 | 
						|
        # Parent link for an experiment. Points to the view (profile) to which this
 | 
						|
        # experiment belongs.
 | 
						|
        # Corresponds to the JSON property `parentLink`
 | 
						|
        # @return [Google::Apis::AnalyticsV3::Experiment::ParentLink]
 | 
						|
        attr_accessor :parent_link
 | 
						|
      
 | 
						|
        # View (Profile) ID to which this experiment belongs. This field is read-only.
 | 
						|
        # Corresponds to the JSON property `profileId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :profile_id
 | 
						|
      
 | 
						|
        # Why the experiment ended. Possible values: "STOPPED_BY_USER", "WINNER_FOUND", "
 | 
						|
        # EXPERIMENT_EXPIRED", "ENDED_WITH_NO_WINNER", "GOAL_OBJECTIVE_CHANGED". "
 | 
						|
        # ENDED_WITH_NO_WINNER" means that the experiment didn't expire but no winner
 | 
						|
        # was projected to be found. If the experiment status is changed via the API to
 | 
						|
        # ENDED this field is set to STOPPED_BY_USER. This field is read-only.
 | 
						|
        # Corresponds to the JSON property `reasonExperimentEnded`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :reason_experiment_ended
 | 
						|
      
 | 
						|
        # Boolean specifying whether variations URLS are rewritten to match those of the
 | 
						|
        # original. This field may not be changed for an experiments whose status is
 | 
						|
        # ENDED.
 | 
						|
        # Corresponds to the JSON property `rewriteVariationUrlsAsOriginal`
 | 
						|
        # @return [Boolean]
 | 
						|
        attr_accessor :rewrite_variation_urls_as_original
 | 
						|
        alias_method :rewrite_variation_urls_as_original?, :rewrite_variation_urls_as_original
 | 
						|
      
 | 
						|
        # Link for this experiment. This field is read-only.
 | 
						|
        # Corresponds to the JSON property `selfLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :self_link
 | 
						|
      
 | 
						|
        # The framework used to serve the experiment variations and evaluate the results.
 | 
						|
        # One of:
 | 
						|
        # - REDIRECT: Google Analytics redirects traffic to different variation pages,
 | 
						|
        # reports the chosen variation and evaluates the results.
 | 
						|
        # - API: Google Analytics chooses and reports the variation to serve and
 | 
						|
        # evaluates the results; the caller is responsible for serving the selected
 | 
						|
        # variation.
 | 
						|
        # - EXTERNAL: The variations will be served externally and the chosen variation
 | 
						|
        # reported to Google Analytics. The caller is responsible for serving the
 | 
						|
        # selected variation and evaluating the results.
 | 
						|
        # Corresponds to the JSON property `servingFramework`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :serving_framework
 | 
						|
      
 | 
						|
        # The snippet of code to include on the control page(s). This field is read-only.
 | 
						|
        # Corresponds to the JSON property `snippet`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :snippet
 | 
						|
      
 | 
						|
        # The starting time of the experiment (the time the status changed from
 | 
						|
        # READY_TO_RUN to RUNNING). This field is present only if the experiment has
 | 
						|
        # started. This field is read-only.
 | 
						|
        # Corresponds to the JSON property `startTime`
 | 
						|
        # @return [DateTime]
 | 
						|
        attr_accessor :start_time
 | 
						|
      
 | 
						|
        # Experiment status. Possible values: "DRAFT", "READY_TO_RUN", "RUNNING", "ENDED"
 | 
						|
        # . Experiments can be created in the "DRAFT", "READY_TO_RUN" or "RUNNING" state.
 | 
						|
        # This field is required when creating an experiment.
 | 
						|
        # Corresponds to the JSON property `status`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :status
 | 
						|
      
 | 
						|
        # A floating-point number in (0, 1]. Specifies the fraction of the traffic that
 | 
						|
        # participates in the experiment. Can be changed for a running experiment. This
 | 
						|
        # field may not be changed for an experiments whose status is ENDED.
 | 
						|
        # Corresponds to the JSON property `trafficCoverage`
 | 
						|
        # @return [Float]
 | 
						|
        attr_accessor :traffic_coverage
 | 
						|
      
 | 
						|
        # Time the experiment was last modified. This field is read-only.
 | 
						|
        # Corresponds to the JSON property `updated`
 | 
						|
        # @return [DateTime]
 | 
						|
        attr_accessor :updated
 | 
						|
      
 | 
						|
        # Array of variations. The first variation in the array is the original. The
 | 
						|
        # number of variations may not change once an experiment is in the RUNNING state.
 | 
						|
        # At least two variations are required before status can be set to RUNNING.
 | 
						|
        # Corresponds to the JSON property `variations`
 | 
						|
        # @return [Array<Google::Apis::AnalyticsV3::Experiment::Variation>]
 | 
						|
        attr_accessor :variations
 | 
						|
      
 | 
						|
        # Web property ID to which this experiment belongs. The web property ID is of
 | 
						|
        # the form UA-XXXXX-YY. This field is read-only.
 | 
						|
        # Corresponds to the JSON property `webPropertyId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :web_property_id
 | 
						|
      
 | 
						|
        # A floating-point number in (0, 1). Specifies the necessary confidence level to
 | 
						|
        # choose a winner. This field may not be changed for an experiments whose status
 | 
						|
        # is ENDED.
 | 
						|
        # Corresponds to the JSON property `winnerConfidenceLevel`
 | 
						|
        # @return [Float]
 | 
						|
        attr_accessor :winner_confidence_level
 | 
						|
      
 | 
						|
        # Boolean specifying whether a winner has been found for this experiment. This
 | 
						|
        # field is read-only.
 | 
						|
        # Corresponds to the JSON property `winnerFound`
 | 
						|
        # @return [Boolean]
 | 
						|
        attr_accessor :winner_found
 | 
						|
        alias_method :winner_found?, :winner_found
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @account_id = args[:account_id] if args.key?(:account_id)
 | 
						|
          @created = args[:created] if args.key?(:created)
 | 
						|
          @description = args[:description] if args.key?(:description)
 | 
						|
          @editable_in_ga_ui = args[:editable_in_ga_ui] if args.key?(:editable_in_ga_ui)
 | 
						|
          @end_time = args[:end_time] if args.key?(:end_time)
 | 
						|
          @equal_weighting = args[:equal_weighting] if args.key?(:equal_weighting)
 | 
						|
          @id = args[:id] if args.key?(:id)
 | 
						|
          @internal_web_property_id = args[:internal_web_property_id] if args.key?(:internal_web_property_id)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
          @minimum_experiment_length_in_days = args[:minimum_experiment_length_in_days] if args.key?(:minimum_experiment_length_in_days)
 | 
						|
          @name = args[:name] if args.key?(:name)
 | 
						|
          @objective_metric = args[:objective_metric] if args.key?(:objective_metric)
 | 
						|
          @optimization_type = args[:optimization_type] if args.key?(:optimization_type)
 | 
						|
          @parent_link = args[:parent_link] if args.key?(:parent_link)
 | 
						|
          @profile_id = args[:profile_id] if args.key?(:profile_id)
 | 
						|
          @reason_experiment_ended = args[:reason_experiment_ended] if args.key?(:reason_experiment_ended)
 | 
						|
          @rewrite_variation_urls_as_original = args[:rewrite_variation_urls_as_original] if args.key?(:rewrite_variation_urls_as_original)
 | 
						|
          @self_link = args[:self_link] if args.key?(:self_link)
 | 
						|
          @serving_framework = args[:serving_framework] if args.key?(:serving_framework)
 | 
						|
          @snippet = args[:snippet] if args.key?(:snippet)
 | 
						|
          @start_time = args[:start_time] if args.key?(:start_time)
 | 
						|
          @status = args[:status] if args.key?(:status)
 | 
						|
          @traffic_coverage = args[:traffic_coverage] if args.key?(:traffic_coverage)
 | 
						|
          @updated = args[:updated] if args.key?(:updated)
 | 
						|
          @variations = args[:variations] if args.key?(:variations)
 | 
						|
          @web_property_id = args[:web_property_id] if args.key?(:web_property_id)
 | 
						|
          @winner_confidence_level = args[:winner_confidence_level] if args.key?(:winner_confidence_level)
 | 
						|
          @winner_found = args[:winner_found] if args.key?(:winner_found)
 | 
						|
        end
 | 
						|
        
 | 
						|
        # Parent link for an experiment. Points to the view (profile) to which this
 | 
						|
        # experiment belongs.
 | 
						|
        class ParentLink
 | 
						|
          include Google::Apis::Core::Hashable
 | 
						|
        
 | 
						|
          # Link to the view (profile) to which this experiment belongs. This field is
 | 
						|
          # read-only.
 | 
						|
          # Corresponds to the JSON property `href`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :href
 | 
						|
        
 | 
						|
          # Value is "analytics#profile". This field is read-only.
 | 
						|
          # Corresponds to the JSON property `type`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :type
 | 
						|
        
 | 
						|
          def initialize(**args)
 | 
						|
             update!(**args)
 | 
						|
          end
 | 
						|
        
 | 
						|
          # Update properties of this object
 | 
						|
          def update!(**args)
 | 
						|
            @href = args[:href] if args.key?(:href)
 | 
						|
            @type = args[:type] if args.key?(:type)
 | 
						|
          end
 | 
						|
        end
 | 
						|
        
 | 
						|
        # 
 | 
						|
        class Variation
 | 
						|
          include Google::Apis::Core::Hashable
 | 
						|
        
 | 
						|
          # The name of the variation. This field is required when creating an experiment.
 | 
						|
          # This field may not be changed for an experiment whose status is ENDED.
 | 
						|
          # Corresponds to the JSON property `name`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :name
 | 
						|
        
 | 
						|
          # Status of the variation. Possible values: "ACTIVE", "INACTIVE". INACTIVE
 | 
						|
          # variations are not served. This field may not be changed for an experiment
 | 
						|
          # whose status is ENDED.
 | 
						|
          # Corresponds to the JSON property `status`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :status
 | 
						|
        
 | 
						|
          # The URL of the variation. This field may not be changed for an experiment
 | 
						|
          # whose status is RUNNING or ENDED.
 | 
						|
          # Corresponds to the JSON property `url`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :url
 | 
						|
        
 | 
						|
          # Weight that this variation should receive. Only present if the experiment is
 | 
						|
          # running. This field is read-only.
 | 
						|
          # Corresponds to the JSON property `weight`
 | 
						|
          # @return [Float]
 | 
						|
          attr_accessor :weight
 | 
						|
        
 | 
						|
          # True if the experiment has ended and this variation performed (statistically)
 | 
						|
          # significantly better than the original. This field is read-only.
 | 
						|
          # Corresponds to the JSON property `won`
 | 
						|
          # @return [Boolean]
 | 
						|
          attr_accessor :won
 | 
						|
          alias_method :won?, :won
 | 
						|
        
 | 
						|
          def initialize(**args)
 | 
						|
             update!(**args)
 | 
						|
          end
 | 
						|
        
 | 
						|
          # Update properties of this object
 | 
						|
          def update!(**args)
 | 
						|
            @name = args[:name] if args.key?(:name)
 | 
						|
            @status = args[:status] if args.key?(:status)
 | 
						|
            @url = args[:url] if args.key?(:url)
 | 
						|
            @weight = args[:weight] if args.key?(:weight)
 | 
						|
            @won = args[:won] if args.key?(:won)
 | 
						|
          end
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # An experiment collection lists Analytics experiments to which the user has
 | 
						|
      # access. Each view (profile) can have a set of experiments. Each resource in
 | 
						|
      # the Experiment collection corresponds to a single Analytics experiment.
 | 
						|
      class Experiments
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # A list of experiments.
 | 
						|
        # Corresponds to the JSON property `items`
 | 
						|
        # @return [Array<Google::Apis::AnalyticsV3::Experiment>]
 | 
						|
        attr_accessor :items
 | 
						|
      
 | 
						|
        # The maximum number of resources the response can contain, regardless of the
 | 
						|
        # actual number of resources returned. Its value ranges from 1 to 1000 with a
 | 
						|
        # value of 1000 by default, or otherwise specified by the max-results query
 | 
						|
        # parameter.
 | 
						|
        # Corresponds to the JSON property `itemsPerPage`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :items_per_page
 | 
						|
      
 | 
						|
        # Collection type.
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        # Link to next page for this experiment collection.
 | 
						|
        # Corresponds to the JSON property `nextLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :next_link
 | 
						|
      
 | 
						|
        # Link to previous page for this experiment collection.
 | 
						|
        # Corresponds to the JSON property `previousLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :previous_link
 | 
						|
      
 | 
						|
        # The starting index of the resources, which is 1 by default or otherwise
 | 
						|
        # specified by the start-index query parameter.
 | 
						|
        # Corresponds to the JSON property `startIndex`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :start_index
 | 
						|
      
 | 
						|
        # The total number of results for the query, regardless of the number of
 | 
						|
        # resources in the result.
 | 
						|
        # Corresponds to the JSON property `totalResults`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :total_results
 | 
						|
      
 | 
						|
        # Email ID of the authenticated user
 | 
						|
        # Corresponds to the JSON property `username`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :username
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @items = args[:items] if args.key?(:items)
 | 
						|
          @items_per_page = args[:items_per_page] if args.key?(:items_per_page)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
          @next_link = args[:next_link] if args.key?(:next_link)
 | 
						|
          @previous_link = args[:previous_link] if args.key?(:previous_link)
 | 
						|
          @start_index = args[:start_index] if args.key?(:start_index)
 | 
						|
          @total_results = args[:total_results] if args.key?(:total_results)
 | 
						|
          @username = args[:username] if args.key?(:username)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # JSON template for an Analytics account filter.
 | 
						|
      class Filter
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Account ID to which this filter belongs.
 | 
						|
        # Corresponds to the JSON property `accountId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :account_id
 | 
						|
      
 | 
						|
        # Details for the filter of the type ADVANCED.
 | 
						|
        # Corresponds to the JSON property `advancedDetails`
 | 
						|
        # @return [Google::Apis::AnalyticsV3::Filter::AdvancedDetails]
 | 
						|
        attr_accessor :advanced_details
 | 
						|
      
 | 
						|
        # Time this filter was created.
 | 
						|
        # Corresponds to the JSON property `created`
 | 
						|
        # @return [DateTime]
 | 
						|
        attr_accessor :created
 | 
						|
      
 | 
						|
        # JSON template for an Analytics filter expression.
 | 
						|
        # Corresponds to the JSON property `excludeDetails`
 | 
						|
        # @return [Google::Apis::AnalyticsV3::FilterExpression]
 | 
						|
        attr_accessor :exclude_details
 | 
						|
      
 | 
						|
        # Filter ID.
 | 
						|
        # Corresponds to the JSON property `id`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :id
 | 
						|
      
 | 
						|
        # JSON template for an Analytics filter expression.
 | 
						|
        # Corresponds to the JSON property `includeDetails`
 | 
						|
        # @return [Google::Apis::AnalyticsV3::FilterExpression]
 | 
						|
        attr_accessor :include_details
 | 
						|
      
 | 
						|
        # Resource type for Analytics filter.
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        # Details for the filter of the type LOWER.
 | 
						|
        # Corresponds to the JSON property `lowercaseDetails`
 | 
						|
        # @return [Google::Apis::AnalyticsV3::Filter::LowercaseDetails]
 | 
						|
        attr_accessor :lowercase_details
 | 
						|
      
 | 
						|
        # Name of this filter.
 | 
						|
        # Corresponds to the JSON property `name`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :name
 | 
						|
      
 | 
						|
        # Parent link for this filter. Points to the account to which this filter
 | 
						|
        # belongs.
 | 
						|
        # Corresponds to the JSON property `parentLink`
 | 
						|
        # @return [Google::Apis::AnalyticsV3::Filter::ParentLink]
 | 
						|
        attr_accessor :parent_link
 | 
						|
      
 | 
						|
        # Details for the filter of the type SEARCH_AND_REPLACE.
 | 
						|
        # Corresponds to the JSON property `searchAndReplaceDetails`
 | 
						|
        # @return [Google::Apis::AnalyticsV3::Filter::SearchAndReplaceDetails]
 | 
						|
        attr_accessor :search_and_replace_details
 | 
						|
      
 | 
						|
        # Link for this filter.
 | 
						|
        # Corresponds to the JSON property `selfLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :self_link
 | 
						|
      
 | 
						|
        # Type of this filter. Possible values are INCLUDE, EXCLUDE, LOWERCASE,
 | 
						|
        # UPPERCASE, SEARCH_AND_REPLACE and ADVANCED.
 | 
						|
        # Corresponds to the JSON property `type`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :type
 | 
						|
      
 | 
						|
        # Time this filter was last modified.
 | 
						|
        # Corresponds to the JSON property `updated`
 | 
						|
        # @return [DateTime]
 | 
						|
        attr_accessor :updated
 | 
						|
      
 | 
						|
        # Details for the filter of the type UPPER.
 | 
						|
        # Corresponds to the JSON property `uppercaseDetails`
 | 
						|
        # @return [Google::Apis::AnalyticsV3::Filter::UppercaseDetails]
 | 
						|
        attr_accessor :uppercase_details
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @account_id = args[:account_id] if args.key?(:account_id)
 | 
						|
          @advanced_details = args[:advanced_details] if args.key?(:advanced_details)
 | 
						|
          @created = args[:created] if args.key?(:created)
 | 
						|
          @exclude_details = args[:exclude_details] if args.key?(:exclude_details)
 | 
						|
          @id = args[:id] if args.key?(:id)
 | 
						|
          @include_details = args[:include_details] if args.key?(:include_details)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
          @lowercase_details = args[:lowercase_details] if args.key?(:lowercase_details)
 | 
						|
          @name = args[:name] if args.key?(:name)
 | 
						|
          @parent_link = args[:parent_link] if args.key?(:parent_link)
 | 
						|
          @search_and_replace_details = args[:search_and_replace_details] if args.key?(:search_and_replace_details)
 | 
						|
          @self_link = args[:self_link] if args.key?(:self_link)
 | 
						|
          @type = args[:type] if args.key?(:type)
 | 
						|
          @updated = args[:updated] if args.key?(:updated)
 | 
						|
          @uppercase_details = args[:uppercase_details] if args.key?(:uppercase_details)
 | 
						|
        end
 | 
						|
        
 | 
						|
        # Details for the filter of the type ADVANCED.
 | 
						|
        class AdvancedDetails
 | 
						|
          include Google::Apis::Core::Hashable
 | 
						|
        
 | 
						|
          # Indicates if the filter expressions are case sensitive.
 | 
						|
          # Corresponds to the JSON property `caseSensitive`
 | 
						|
          # @return [Boolean]
 | 
						|
          attr_accessor :case_sensitive
 | 
						|
          alias_method :case_sensitive?, :case_sensitive
 | 
						|
        
 | 
						|
          # Expression to extract from field A.
 | 
						|
          # Corresponds to the JSON property `extractA`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :extract_a
 | 
						|
        
 | 
						|
          # Expression to extract from field B.
 | 
						|
          # Corresponds to the JSON property `extractB`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :extract_b
 | 
						|
        
 | 
						|
          # Field A.
 | 
						|
          # Corresponds to the JSON property `fieldA`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :field_a
 | 
						|
        
 | 
						|
          # The Index of the custom dimension. Required if field is a CUSTOM_DIMENSION.
 | 
						|
          # Corresponds to the JSON property `fieldAIndex`
 | 
						|
          # @return [Fixnum]
 | 
						|
          attr_accessor :field_a_index
 | 
						|
        
 | 
						|
          # Indicates if field A is required to match.
 | 
						|
          # Corresponds to the JSON property `fieldARequired`
 | 
						|
          # @return [Boolean]
 | 
						|
          attr_accessor :field_a_required
 | 
						|
          alias_method :field_a_required?, :field_a_required
 | 
						|
        
 | 
						|
          # Field B.
 | 
						|
          # Corresponds to the JSON property `fieldB`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :field_b
 | 
						|
        
 | 
						|
          # The Index of the custom dimension. Required if field is a CUSTOM_DIMENSION.
 | 
						|
          # Corresponds to the JSON property `fieldBIndex`
 | 
						|
          # @return [Fixnum]
 | 
						|
          attr_accessor :field_b_index
 | 
						|
        
 | 
						|
          # Indicates if field B is required to match.
 | 
						|
          # Corresponds to the JSON property `fieldBRequired`
 | 
						|
          # @return [Boolean]
 | 
						|
          attr_accessor :field_b_required
 | 
						|
          alias_method :field_b_required?, :field_b_required
 | 
						|
        
 | 
						|
          # Expression used to construct the output value.
 | 
						|
          # Corresponds to the JSON property `outputConstructor`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :output_constructor
 | 
						|
        
 | 
						|
          # Output field.
 | 
						|
          # Corresponds to the JSON property `outputToField`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :output_to_field
 | 
						|
        
 | 
						|
          # The Index of the custom dimension. Required if field is a CUSTOM_DIMENSION.
 | 
						|
          # Corresponds to the JSON property `outputToFieldIndex`
 | 
						|
          # @return [Fixnum]
 | 
						|
          attr_accessor :output_to_field_index
 | 
						|
        
 | 
						|
          # Indicates if the existing value of the output field, if any, should be
 | 
						|
          # overridden by the output expression.
 | 
						|
          # Corresponds to the JSON property `overrideOutputField`
 | 
						|
          # @return [Boolean]
 | 
						|
          attr_accessor :override_output_field
 | 
						|
          alias_method :override_output_field?, :override_output_field
 | 
						|
        
 | 
						|
          def initialize(**args)
 | 
						|
             update!(**args)
 | 
						|
          end
 | 
						|
        
 | 
						|
          # Update properties of this object
 | 
						|
          def update!(**args)
 | 
						|
            @case_sensitive = args[:case_sensitive] if args.key?(:case_sensitive)
 | 
						|
            @extract_a = args[:extract_a] if args.key?(:extract_a)
 | 
						|
            @extract_b = args[:extract_b] if args.key?(:extract_b)
 | 
						|
            @field_a = args[:field_a] if args.key?(:field_a)
 | 
						|
            @field_a_index = args[:field_a_index] if args.key?(:field_a_index)
 | 
						|
            @field_a_required = args[:field_a_required] if args.key?(:field_a_required)
 | 
						|
            @field_b = args[:field_b] if args.key?(:field_b)
 | 
						|
            @field_b_index = args[:field_b_index] if args.key?(:field_b_index)
 | 
						|
            @field_b_required = args[:field_b_required] if args.key?(:field_b_required)
 | 
						|
            @output_constructor = args[:output_constructor] if args.key?(:output_constructor)
 | 
						|
            @output_to_field = args[:output_to_field] if args.key?(:output_to_field)
 | 
						|
            @output_to_field_index = args[:output_to_field_index] if args.key?(:output_to_field_index)
 | 
						|
            @override_output_field = args[:override_output_field] if args.key?(:override_output_field)
 | 
						|
          end
 | 
						|
        end
 | 
						|
        
 | 
						|
        # Details for the filter of the type LOWER.
 | 
						|
        class LowercaseDetails
 | 
						|
          include Google::Apis::Core::Hashable
 | 
						|
        
 | 
						|
          # Field to use in the filter.
 | 
						|
          # Corresponds to the JSON property `field`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :field
 | 
						|
        
 | 
						|
          # The Index of the custom dimension. Required if field is a CUSTOM_DIMENSION.
 | 
						|
          # Corresponds to the JSON property `fieldIndex`
 | 
						|
          # @return [Fixnum]
 | 
						|
          attr_accessor :field_index
 | 
						|
        
 | 
						|
          def initialize(**args)
 | 
						|
             update!(**args)
 | 
						|
          end
 | 
						|
        
 | 
						|
          # Update properties of this object
 | 
						|
          def update!(**args)
 | 
						|
            @field = args[:field] if args.key?(:field)
 | 
						|
            @field_index = args[:field_index] if args.key?(:field_index)
 | 
						|
          end
 | 
						|
        end
 | 
						|
        
 | 
						|
        # Parent link for this filter. Points to the account to which this filter
 | 
						|
        # belongs.
 | 
						|
        class ParentLink
 | 
						|
          include Google::Apis::Core::Hashable
 | 
						|
        
 | 
						|
          # Link to the account to which this filter belongs.
 | 
						|
          # Corresponds to the JSON property `href`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :href
 | 
						|
        
 | 
						|
          # Value is "analytics#account".
 | 
						|
          # Corresponds to the JSON property `type`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :type
 | 
						|
        
 | 
						|
          def initialize(**args)
 | 
						|
             update!(**args)
 | 
						|
          end
 | 
						|
        
 | 
						|
          # Update properties of this object
 | 
						|
          def update!(**args)
 | 
						|
            @href = args[:href] if args.key?(:href)
 | 
						|
            @type = args[:type] if args.key?(:type)
 | 
						|
          end
 | 
						|
        end
 | 
						|
        
 | 
						|
        # Details for the filter of the type SEARCH_AND_REPLACE.
 | 
						|
        class SearchAndReplaceDetails
 | 
						|
          include Google::Apis::Core::Hashable
 | 
						|
        
 | 
						|
          # Determines if the filter is case sensitive.
 | 
						|
          # Corresponds to the JSON property `caseSensitive`
 | 
						|
          # @return [Boolean]
 | 
						|
          attr_accessor :case_sensitive
 | 
						|
          alias_method :case_sensitive?, :case_sensitive
 | 
						|
        
 | 
						|
          # Field to use in the filter.
 | 
						|
          # Corresponds to the JSON property `field`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :field
 | 
						|
        
 | 
						|
          # The Index of the custom dimension. Required if field is a CUSTOM_DIMENSION.
 | 
						|
          # Corresponds to the JSON property `fieldIndex`
 | 
						|
          # @return [Fixnum]
 | 
						|
          attr_accessor :field_index
 | 
						|
        
 | 
						|
          # Term to replace the search term with.
 | 
						|
          # Corresponds to the JSON property `replaceString`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :replace_string
 | 
						|
        
 | 
						|
          # Term to search.
 | 
						|
          # Corresponds to the JSON property `searchString`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :search_string
 | 
						|
        
 | 
						|
          def initialize(**args)
 | 
						|
             update!(**args)
 | 
						|
          end
 | 
						|
        
 | 
						|
          # Update properties of this object
 | 
						|
          def update!(**args)
 | 
						|
            @case_sensitive = args[:case_sensitive] if args.key?(:case_sensitive)
 | 
						|
            @field = args[:field] if args.key?(:field)
 | 
						|
            @field_index = args[:field_index] if args.key?(:field_index)
 | 
						|
            @replace_string = args[:replace_string] if args.key?(:replace_string)
 | 
						|
            @search_string = args[:search_string] if args.key?(:search_string)
 | 
						|
          end
 | 
						|
        end
 | 
						|
        
 | 
						|
        # Details for the filter of the type UPPER.
 | 
						|
        class UppercaseDetails
 | 
						|
          include Google::Apis::Core::Hashable
 | 
						|
        
 | 
						|
          # Field to use in the filter.
 | 
						|
          # Corresponds to the JSON property `field`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :field
 | 
						|
        
 | 
						|
          # The Index of the custom dimension. Required if field is a CUSTOM_DIMENSION.
 | 
						|
          # Corresponds to the JSON property `fieldIndex`
 | 
						|
          # @return [Fixnum]
 | 
						|
          attr_accessor :field_index
 | 
						|
        
 | 
						|
          def initialize(**args)
 | 
						|
             update!(**args)
 | 
						|
          end
 | 
						|
        
 | 
						|
          # Update properties of this object
 | 
						|
          def update!(**args)
 | 
						|
            @field = args[:field] if args.key?(:field)
 | 
						|
            @field_index = args[:field_index] if args.key?(:field_index)
 | 
						|
          end
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # JSON template for an Analytics filter expression.
 | 
						|
      class FilterExpression
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Determines if the filter is case sensitive.
 | 
						|
        # Corresponds to the JSON property `caseSensitive`
 | 
						|
        # @return [Boolean]
 | 
						|
        attr_accessor :case_sensitive
 | 
						|
        alias_method :case_sensitive?, :case_sensitive
 | 
						|
      
 | 
						|
        # Filter expression value
 | 
						|
        # Corresponds to the JSON property `expressionValue`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :expression_value
 | 
						|
      
 | 
						|
        # Field to filter. Possible values:
 | 
						|
        # - Content and Traffic
 | 
						|
        # - PAGE_REQUEST_URI,
 | 
						|
        # - PAGE_HOSTNAME,
 | 
						|
        # - PAGE_TITLE,
 | 
						|
        # - REFERRAL,
 | 
						|
        # - COST_DATA_URI (Campaign target URL),
 | 
						|
        # - HIT_TYPE,
 | 
						|
        # - INTERNAL_SEARCH_TERM,
 | 
						|
        # - INTERNAL_SEARCH_TYPE,
 | 
						|
        # - SOURCE_PROPERTY_TRACKING_ID,
 | 
						|
        # - Campaign or AdGroup
 | 
						|
        # - CAMPAIGN_SOURCE,
 | 
						|
        # - CAMPAIGN_MEDIUM,
 | 
						|
        # - CAMPAIGN_NAME,
 | 
						|
        # - CAMPAIGN_AD_GROUP,
 | 
						|
        # - CAMPAIGN_TERM,
 | 
						|
        # - CAMPAIGN_CONTENT,
 | 
						|
        # - CAMPAIGN_CODE,
 | 
						|
        # - CAMPAIGN_REFERRAL_PATH,
 | 
						|
        # - E-Commerce
 | 
						|
        # - TRANSACTION_COUNTRY,
 | 
						|
        # - TRANSACTION_REGION,
 | 
						|
        # - TRANSACTION_CITY,
 | 
						|
        # - TRANSACTION_AFFILIATION (Store or order location),
 | 
						|
        # - ITEM_NAME,
 | 
						|
        # - ITEM_CODE,
 | 
						|
        # - ITEM_VARIATION,
 | 
						|
        # - TRANSACTION_ID,
 | 
						|
        # - TRANSACTION_CURRENCY_CODE,
 | 
						|
        # - PRODUCT_ACTION_TYPE,
 | 
						|
        # - Audience/Users
 | 
						|
        # - BROWSER,
 | 
						|
        # - BROWSER_VERSION,
 | 
						|
        # - BROWSER_SIZE,
 | 
						|
        # - PLATFORM,
 | 
						|
        # - PLATFORM_VERSION,
 | 
						|
        # - LANGUAGE,
 | 
						|
        # - SCREEN_RESOLUTION,
 | 
						|
        # - SCREEN_COLORS,
 | 
						|
        # - JAVA_ENABLED (Boolean Field),
 | 
						|
        # - FLASH_VERSION,
 | 
						|
        # - GEO_SPEED (Connection speed),
 | 
						|
        # - VISITOR_TYPE,
 | 
						|
        # - GEO_ORGANIZATION (ISP organization),
 | 
						|
        # - GEO_DOMAIN,
 | 
						|
        # - GEO_IP_ADDRESS,
 | 
						|
        # - GEO_IP_VERSION,
 | 
						|
        # - Location
 | 
						|
        # - GEO_COUNTRY,
 | 
						|
        # - GEO_REGION,
 | 
						|
        # - GEO_CITY,
 | 
						|
        # - Event
 | 
						|
        # - EVENT_CATEGORY,
 | 
						|
        # - EVENT_ACTION,
 | 
						|
        # - EVENT_LABEL,
 | 
						|
        # - Other
 | 
						|
        # - CUSTOM_FIELD_1,
 | 
						|
        # - CUSTOM_FIELD_2,
 | 
						|
        # - USER_DEFINED_VALUE,
 | 
						|
        # - Application
 | 
						|
        # - APP_ID,
 | 
						|
        # - APP_INSTALLER_ID,
 | 
						|
        # - APP_NAME,
 | 
						|
        # - APP_VERSION,
 | 
						|
        # - SCREEN,
 | 
						|
        # - IS_APP (Boolean Field),
 | 
						|
        # - IS_FATAL_EXCEPTION (Boolean Field),
 | 
						|
        # - EXCEPTION_DESCRIPTION,
 | 
						|
        # - Mobile device
 | 
						|
        # - IS_MOBILE (Boolean Field, Deprecated. Use DEVICE_CATEGORY=mobile),
 | 
						|
        # - IS_TABLET (Boolean Field, Deprecated. Use DEVICE_CATEGORY=tablet),
 | 
						|
        # - DEVICE_CATEGORY,
 | 
						|
        # - MOBILE_HAS_QWERTY_KEYBOARD (Boolean Field),
 | 
						|
        # - MOBILE_HAS_NFC_SUPPORT (Boolean Field),
 | 
						|
        # - MOBILE_HAS_CELLULAR_RADIO (Boolean Field),
 | 
						|
        # - MOBILE_HAS_WIFI_SUPPORT (Boolean Field),
 | 
						|
        # - MOBILE_BRAND_NAME,
 | 
						|
        # - MOBILE_MODEL_NAME,
 | 
						|
        # - MOBILE_MARKETING_NAME,
 | 
						|
        # - MOBILE_POINTING_METHOD,
 | 
						|
        # - Social
 | 
						|
        # - SOCIAL_NETWORK,
 | 
						|
        # - SOCIAL_ACTION,
 | 
						|
        # - SOCIAL_ACTION_TARGET,
 | 
						|
        # - Custom dimension
 | 
						|
        # - CUSTOM_DIMENSION (See accompanying field index),
 | 
						|
        # Corresponds to the JSON property `field`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :field
 | 
						|
      
 | 
						|
        # The Index of the custom dimension. Set only if the field is a is
 | 
						|
        # CUSTOM_DIMENSION.
 | 
						|
        # Corresponds to the JSON property `fieldIndex`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :field_index
 | 
						|
      
 | 
						|
        # Kind value for filter expression
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        # Match type for this filter. Possible values are BEGINS_WITH, EQUAL, ENDS_WITH,
 | 
						|
        # CONTAINS, or MATCHES. GEO_DOMAIN, GEO_IP_ADDRESS, PAGE_REQUEST_URI, or
 | 
						|
        # PAGE_HOSTNAME filters can use any match type; all other filters must use
 | 
						|
        # MATCHES.
 | 
						|
        # Corresponds to the JSON property `matchType`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :match_type
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @case_sensitive = args[:case_sensitive] if args.key?(:case_sensitive)
 | 
						|
          @expression_value = args[:expression_value] if args.key?(:expression_value)
 | 
						|
          @field = args[:field] if args.key?(:field)
 | 
						|
          @field_index = args[:field_index] if args.key?(:field_index)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
          @match_type = args[:match_type] if args.key?(:match_type)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # JSON template for a profile filter link.
 | 
						|
      class FilterRef
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Account ID to which this filter belongs.
 | 
						|
        # Corresponds to the JSON property `accountId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :account_id
 | 
						|
      
 | 
						|
        # Link for this filter.
 | 
						|
        # Corresponds to the JSON property `href`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :href
 | 
						|
      
 | 
						|
        # Filter ID.
 | 
						|
        # Corresponds to the JSON property `id`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :id
 | 
						|
      
 | 
						|
        # Kind value for filter reference.
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        # Name of this filter.
 | 
						|
        # 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)
 | 
						|
          @account_id = args[:account_id] if args.key?(:account_id)
 | 
						|
          @href = args[:href] if args.key?(:href)
 | 
						|
          @id = args[:id] if args.key?(:id)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
          @name = args[:name] if args.key?(:name)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # A filter collection lists filters created by users in an Analytics account.
 | 
						|
      # Each resource in the collection corresponds to a filter.
 | 
						|
      class Filters
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # A list of filters.
 | 
						|
        # Corresponds to the JSON property `items`
 | 
						|
        # @return [Array<Google::Apis::AnalyticsV3::Filter>]
 | 
						|
        attr_accessor :items
 | 
						|
      
 | 
						|
        # The maximum number of resources the response can contain, regardless of the
 | 
						|
        # actual number of resources returned. Its value ranges from 1 to 1,000 with a
 | 
						|
        # value of 1000 by default, or otherwise specified by the max-results query
 | 
						|
        # parameter.
 | 
						|
        # Corresponds to the JSON property `itemsPerPage`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :items_per_page
 | 
						|
      
 | 
						|
        # Collection type.
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        # Link to next page for this filter collection.
 | 
						|
        # Corresponds to the JSON property `nextLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :next_link
 | 
						|
      
 | 
						|
        # Link to previous page for this filter collection.
 | 
						|
        # Corresponds to the JSON property `previousLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :previous_link
 | 
						|
      
 | 
						|
        # The starting index of the resources, which is 1 by default or otherwise
 | 
						|
        # specified by the start-index query parameter.
 | 
						|
        # Corresponds to the JSON property `startIndex`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :start_index
 | 
						|
      
 | 
						|
        # The total number of results for the query, regardless of the number of results
 | 
						|
        # in the response.
 | 
						|
        # Corresponds to the JSON property `totalResults`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :total_results
 | 
						|
      
 | 
						|
        # Email ID of the authenticated user
 | 
						|
        # Corresponds to the JSON property `username`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :username
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @items = args[:items] if args.key?(:items)
 | 
						|
          @items_per_page = args[:items_per_page] if args.key?(:items_per_page)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
          @next_link = args[:next_link] if args.key?(:next_link)
 | 
						|
          @previous_link = args[:previous_link] if args.key?(:previous_link)
 | 
						|
          @start_index = args[:start_index] if args.key?(:start_index)
 | 
						|
          @total_results = args[:total_results] if args.key?(:total_results)
 | 
						|
          @username = args[:username] if args.key?(:username)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Analytics data for a given view (profile).
 | 
						|
      class GaData
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Column headers that list dimension names followed by the metric names. The
 | 
						|
        # order of dimensions and metrics is same as specified in the request.
 | 
						|
        # Corresponds to the JSON property `columnHeaders`
 | 
						|
        # @return [Array<Google::Apis::AnalyticsV3::GaData::ColumnHeader>]
 | 
						|
        attr_accessor :column_headers
 | 
						|
      
 | 
						|
        # Determines if Analytics data contains samples.
 | 
						|
        # Corresponds to the JSON property `containsSampledData`
 | 
						|
        # @return [Boolean]
 | 
						|
        attr_accessor :contains_sampled_data
 | 
						|
        alias_method :contains_sampled_data?, :contains_sampled_data
 | 
						|
      
 | 
						|
        # The last refreshed time in seconds for Analytics data.
 | 
						|
        # Corresponds to the JSON property `dataLastRefreshed`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :data_last_refreshed
 | 
						|
      
 | 
						|
        # 
 | 
						|
        # Corresponds to the JSON property `dataTable`
 | 
						|
        # @return [Google::Apis::AnalyticsV3::GaData::DataTable]
 | 
						|
        attr_accessor :data_table
 | 
						|
      
 | 
						|
        # Unique ID for this data response.
 | 
						|
        # Corresponds to the JSON property `id`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :id
 | 
						|
      
 | 
						|
        # The maximum number of rows the response can contain, regardless of the actual
 | 
						|
        # number of rows returned. Its value ranges from 1 to 10,000 with a value of
 | 
						|
        # 1000 by default, or otherwise specified by the max-results query parameter.
 | 
						|
        # Corresponds to the JSON property `itemsPerPage`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :items_per_page
 | 
						|
      
 | 
						|
        # Resource type.
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        # Link to next page for this Analytics data query.
 | 
						|
        # Corresponds to the JSON property `nextLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :next_link
 | 
						|
      
 | 
						|
        # Link to previous page for this Analytics data query.
 | 
						|
        # Corresponds to the JSON property `previousLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :previous_link
 | 
						|
      
 | 
						|
        # Information for the view (profile), for which the Analytics data was requested.
 | 
						|
        # Corresponds to the JSON property `profileInfo`
 | 
						|
        # @return [Google::Apis::AnalyticsV3::GaData::ProfileInfo]
 | 
						|
        attr_accessor :profile_info
 | 
						|
      
 | 
						|
        # Analytics data request query parameters.
 | 
						|
        # Corresponds to the JSON property `query`
 | 
						|
        # @return [Google::Apis::AnalyticsV3::GaData::Query]
 | 
						|
        attr_accessor :query
 | 
						|
      
 | 
						|
        # Analytics data rows, where each row contains a list of dimension values
 | 
						|
        # followed by the metric values. The order of dimensions and metrics is same as
 | 
						|
        # specified in the request.
 | 
						|
        # Corresponds to the JSON property `rows`
 | 
						|
        # @return [Array<Array<String>>]
 | 
						|
        attr_accessor :rows
 | 
						|
      
 | 
						|
        # The number of samples used to calculate the result.
 | 
						|
        # Corresponds to the JSON property `sampleSize`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :sample_size
 | 
						|
      
 | 
						|
        # Total size of the sample space from which the samples were selected.
 | 
						|
        # Corresponds to the JSON property `sampleSpace`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :sample_space
 | 
						|
      
 | 
						|
        # Link to this page.
 | 
						|
        # Corresponds to the JSON property `selfLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :self_link
 | 
						|
      
 | 
						|
        # The total number of rows for the query, regardless of the number of rows in
 | 
						|
        # the response.
 | 
						|
        # Corresponds to the JSON property `totalResults`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :total_results
 | 
						|
      
 | 
						|
        # Total values for the requested metrics over all the results, not just the
 | 
						|
        # results returned in this response. The order of the metric totals is same as
 | 
						|
        # the metric order specified in the request.
 | 
						|
        # Corresponds to the JSON property `totalsForAllResults`
 | 
						|
        # @return [Hash<String,String>]
 | 
						|
        attr_accessor :totals_for_all_results
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @column_headers = args[:column_headers] if args.key?(:column_headers)
 | 
						|
          @contains_sampled_data = args[:contains_sampled_data] if args.key?(:contains_sampled_data)
 | 
						|
          @data_last_refreshed = args[:data_last_refreshed] if args.key?(:data_last_refreshed)
 | 
						|
          @data_table = args[:data_table] if args.key?(:data_table)
 | 
						|
          @id = args[:id] if args.key?(:id)
 | 
						|
          @items_per_page = args[:items_per_page] if args.key?(:items_per_page)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
          @next_link = args[:next_link] if args.key?(:next_link)
 | 
						|
          @previous_link = args[:previous_link] if args.key?(:previous_link)
 | 
						|
          @profile_info = args[:profile_info] if args.key?(:profile_info)
 | 
						|
          @query = args[:query] if args.key?(:query)
 | 
						|
          @rows = args[:rows] if args.key?(:rows)
 | 
						|
          @sample_size = args[:sample_size] if args.key?(:sample_size)
 | 
						|
          @sample_space = args[:sample_space] if args.key?(:sample_space)
 | 
						|
          @self_link = args[:self_link] if args.key?(:self_link)
 | 
						|
          @total_results = args[:total_results] if args.key?(:total_results)
 | 
						|
          @totals_for_all_results = args[:totals_for_all_results] if args.key?(:totals_for_all_results)
 | 
						|
        end
 | 
						|
        
 | 
						|
        # 
 | 
						|
        class ColumnHeader
 | 
						|
          include Google::Apis::Core::Hashable
 | 
						|
        
 | 
						|
          # Column Type. Either DIMENSION or METRIC.
 | 
						|
          # Corresponds to the JSON property `columnType`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :column_type
 | 
						|
        
 | 
						|
          # Data type. Dimension column headers have only STRING as the data type. Metric
 | 
						|
          # column headers have data types for metric values such as INTEGER, DOUBLE,
 | 
						|
          # CURRENCY etc.
 | 
						|
          # Corresponds to the JSON property `dataType`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :data_type
 | 
						|
        
 | 
						|
          # Column name.
 | 
						|
          # 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)
 | 
						|
            @column_type = args[:column_type] if args.key?(:column_type)
 | 
						|
            @data_type = args[:data_type] if args.key?(:data_type)
 | 
						|
            @name = args[:name] if args.key?(:name)
 | 
						|
          end
 | 
						|
        end
 | 
						|
        
 | 
						|
        # 
 | 
						|
        class DataTable
 | 
						|
          include Google::Apis::Core::Hashable
 | 
						|
        
 | 
						|
          # 
 | 
						|
          # Corresponds to the JSON property `cols`
 | 
						|
          # @return [Array<Google::Apis::AnalyticsV3::GaData::DataTable::Col>]
 | 
						|
          attr_accessor :cols
 | 
						|
        
 | 
						|
          # 
 | 
						|
          # Corresponds to the JSON property `rows`
 | 
						|
          # @return [Array<Google::Apis::AnalyticsV3::GaData::DataTable::Row>]
 | 
						|
          attr_accessor :rows
 | 
						|
        
 | 
						|
          def initialize(**args)
 | 
						|
             update!(**args)
 | 
						|
          end
 | 
						|
        
 | 
						|
          # Update properties of this object
 | 
						|
          def update!(**args)
 | 
						|
            @cols = args[:cols] if args.key?(:cols)
 | 
						|
            @rows = args[:rows] if args.key?(:rows)
 | 
						|
          end
 | 
						|
          
 | 
						|
          # 
 | 
						|
          class Col
 | 
						|
            include Google::Apis::Core::Hashable
 | 
						|
          
 | 
						|
            # 
 | 
						|
            # Corresponds to the JSON property `id`
 | 
						|
            # @return [String]
 | 
						|
            attr_accessor :id
 | 
						|
          
 | 
						|
            # 
 | 
						|
            # Corresponds to the JSON property `label`
 | 
						|
            # @return [String]
 | 
						|
            attr_accessor :label
 | 
						|
          
 | 
						|
            # 
 | 
						|
            # Corresponds to the JSON property `type`
 | 
						|
            # @return [String]
 | 
						|
            attr_accessor :type
 | 
						|
          
 | 
						|
            def initialize(**args)
 | 
						|
               update!(**args)
 | 
						|
            end
 | 
						|
          
 | 
						|
            # Update properties of this object
 | 
						|
            def update!(**args)
 | 
						|
              @id = args[:id] if args.key?(:id)
 | 
						|
              @label = args[:label] if args.key?(:label)
 | 
						|
              @type = args[:type] if args.key?(:type)
 | 
						|
            end
 | 
						|
          end
 | 
						|
          
 | 
						|
          # 
 | 
						|
          class Row
 | 
						|
            include Google::Apis::Core::Hashable
 | 
						|
          
 | 
						|
            # 
 | 
						|
            # Corresponds to the JSON property `c`
 | 
						|
            # @return [Array<Google::Apis::AnalyticsV3::GaData::DataTable::Row::C>]
 | 
						|
            attr_accessor :c
 | 
						|
          
 | 
						|
            def initialize(**args)
 | 
						|
               update!(**args)
 | 
						|
            end
 | 
						|
          
 | 
						|
            # Update properties of this object
 | 
						|
            def update!(**args)
 | 
						|
              @c = args[:c] if args.key?(:c)
 | 
						|
            end
 | 
						|
            
 | 
						|
            # 
 | 
						|
            class C
 | 
						|
              include Google::Apis::Core::Hashable
 | 
						|
            
 | 
						|
              # 
 | 
						|
              # Corresponds to the JSON property `v`
 | 
						|
              # @return [String]
 | 
						|
              attr_accessor :v
 | 
						|
            
 | 
						|
              def initialize(**args)
 | 
						|
                 update!(**args)
 | 
						|
              end
 | 
						|
            
 | 
						|
              # Update properties of this object
 | 
						|
              def update!(**args)
 | 
						|
                @v = args[:v] if args.key?(:v)
 | 
						|
              end
 | 
						|
            end
 | 
						|
          end
 | 
						|
        end
 | 
						|
        
 | 
						|
        # Information for the view (profile), for which the Analytics data was requested.
 | 
						|
        class ProfileInfo
 | 
						|
          include Google::Apis::Core::Hashable
 | 
						|
        
 | 
						|
          # Account ID to which this view (profile) belongs.
 | 
						|
          # Corresponds to the JSON property `accountId`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :account_id
 | 
						|
        
 | 
						|
          # Internal ID for the web property to which this view (profile) belongs.
 | 
						|
          # Corresponds to the JSON property `internalWebPropertyId`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :internal_web_property_id
 | 
						|
        
 | 
						|
          # View (Profile) ID.
 | 
						|
          # Corresponds to the JSON property `profileId`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :profile_id
 | 
						|
        
 | 
						|
          # View (Profile) name.
 | 
						|
          # Corresponds to the JSON property `profileName`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :profile_name
 | 
						|
        
 | 
						|
          # Table ID for view (profile).
 | 
						|
          # Corresponds to the JSON property `tableId`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :table_id
 | 
						|
        
 | 
						|
          # Web Property ID to which this view (profile) belongs.
 | 
						|
          # Corresponds to the JSON property `webPropertyId`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :web_property_id
 | 
						|
        
 | 
						|
          def initialize(**args)
 | 
						|
             update!(**args)
 | 
						|
          end
 | 
						|
        
 | 
						|
          # Update properties of this object
 | 
						|
          def update!(**args)
 | 
						|
            @account_id = args[:account_id] if args.key?(:account_id)
 | 
						|
            @internal_web_property_id = args[:internal_web_property_id] if args.key?(:internal_web_property_id)
 | 
						|
            @profile_id = args[:profile_id] if args.key?(:profile_id)
 | 
						|
            @profile_name = args[:profile_name] if args.key?(:profile_name)
 | 
						|
            @table_id = args[:table_id] if args.key?(:table_id)
 | 
						|
            @web_property_id = args[:web_property_id] if args.key?(:web_property_id)
 | 
						|
          end
 | 
						|
        end
 | 
						|
        
 | 
						|
        # Analytics data request query parameters.
 | 
						|
        class Query
 | 
						|
          include Google::Apis::Core::Hashable
 | 
						|
        
 | 
						|
          # List of analytics dimensions.
 | 
						|
          # Corresponds to the JSON property `dimensions`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :dimensions
 | 
						|
        
 | 
						|
          # End date.
 | 
						|
          # Corresponds to the JSON property `end-date`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :end_date
 | 
						|
        
 | 
						|
          # Comma-separated list of dimension or metric filters.
 | 
						|
          # Corresponds to the JSON property `filters`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :filters
 | 
						|
        
 | 
						|
          # Unique table ID.
 | 
						|
          # Corresponds to the JSON property `ids`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :ids
 | 
						|
        
 | 
						|
          # Maximum results per page.
 | 
						|
          # Corresponds to the JSON property `max-results`
 | 
						|
          # @return [Fixnum]
 | 
						|
          attr_accessor :max_results
 | 
						|
        
 | 
						|
          # List of analytics metrics.
 | 
						|
          # Corresponds to the JSON property `metrics`
 | 
						|
          # @return [Array<String>]
 | 
						|
          attr_accessor :metrics
 | 
						|
        
 | 
						|
          # Desired sampling level
 | 
						|
          # Corresponds to the JSON property `samplingLevel`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :sampling_level
 | 
						|
        
 | 
						|
          # Analytics advanced segment.
 | 
						|
          # Corresponds to the JSON property `segment`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :segment
 | 
						|
        
 | 
						|
          # List of dimensions or metrics based on which Analytics data is sorted.
 | 
						|
          # Corresponds to the JSON property `sort`
 | 
						|
          # @return [Array<String>]
 | 
						|
          attr_accessor :sort
 | 
						|
        
 | 
						|
          # Start date.
 | 
						|
          # Corresponds to the JSON property `start-date`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :start_date
 | 
						|
        
 | 
						|
          # Start index.
 | 
						|
          # Corresponds to the JSON property `start-index`
 | 
						|
          # @return [Fixnum]
 | 
						|
          attr_accessor :start_index
 | 
						|
        
 | 
						|
          def initialize(**args)
 | 
						|
             update!(**args)
 | 
						|
          end
 | 
						|
        
 | 
						|
          # Update properties of this object
 | 
						|
          def update!(**args)
 | 
						|
            @dimensions = args[:dimensions] if args.key?(:dimensions)
 | 
						|
            @end_date = args[:end_date] if args.key?(:end_date)
 | 
						|
            @filters = args[:filters] if args.key?(:filters)
 | 
						|
            @ids = args[:ids] if args.key?(:ids)
 | 
						|
            @max_results = args[:max_results] if args.key?(:max_results)
 | 
						|
            @metrics = args[:metrics] if args.key?(:metrics)
 | 
						|
            @sampling_level = args[:sampling_level] if args.key?(:sampling_level)
 | 
						|
            @segment = args[:segment] if args.key?(:segment)
 | 
						|
            @sort = args[:sort] if args.key?(:sort)
 | 
						|
            @start_date = args[:start_date] if args.key?(:start_date)
 | 
						|
            @start_index = args[:start_index] if args.key?(:start_index)
 | 
						|
          end
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # JSON template for Analytics goal resource.
 | 
						|
      class Goal
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Account ID to which this goal belongs.
 | 
						|
        # Corresponds to the JSON property `accountId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :account_id
 | 
						|
      
 | 
						|
        # Determines whether this goal is active.
 | 
						|
        # Corresponds to the JSON property `active`
 | 
						|
        # @return [Boolean]
 | 
						|
        attr_accessor :active
 | 
						|
        alias_method :active?, :active
 | 
						|
      
 | 
						|
        # Time this goal was created.
 | 
						|
        # Corresponds to the JSON property `created`
 | 
						|
        # @return [DateTime]
 | 
						|
        attr_accessor :created
 | 
						|
      
 | 
						|
        # Details for the goal of the type EVENT.
 | 
						|
        # Corresponds to the JSON property `eventDetails`
 | 
						|
        # @return [Google::Apis::AnalyticsV3::Goal::EventDetails]
 | 
						|
        attr_accessor :event_details
 | 
						|
      
 | 
						|
        # Goal ID.
 | 
						|
        # Corresponds to the JSON property `id`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :id
 | 
						|
      
 | 
						|
        # Internal ID for the web property to which this goal belongs.
 | 
						|
        # Corresponds to the JSON property `internalWebPropertyId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :internal_web_property_id
 | 
						|
      
 | 
						|
        # Resource type for an Analytics goal.
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        # Goal name.
 | 
						|
        # Corresponds to the JSON property `name`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :name
 | 
						|
      
 | 
						|
        # Parent link for a goal. Points to the view (profile) to which this goal
 | 
						|
        # belongs.
 | 
						|
        # Corresponds to the JSON property `parentLink`
 | 
						|
        # @return [Google::Apis::AnalyticsV3::Goal::ParentLink]
 | 
						|
        attr_accessor :parent_link
 | 
						|
      
 | 
						|
        # View (Profile) ID to which this goal belongs.
 | 
						|
        # Corresponds to the JSON property `profileId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :profile_id
 | 
						|
      
 | 
						|
        # Link for this goal.
 | 
						|
        # Corresponds to the JSON property `selfLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :self_link
 | 
						|
      
 | 
						|
        # Goal type. Possible values are URL_DESTINATION, VISIT_TIME_ON_SITE,
 | 
						|
        # VISIT_NUM_PAGES, AND EVENT.
 | 
						|
        # Corresponds to the JSON property `type`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :type
 | 
						|
      
 | 
						|
        # Time this goal was last modified.
 | 
						|
        # Corresponds to the JSON property `updated`
 | 
						|
        # @return [DateTime]
 | 
						|
        attr_accessor :updated
 | 
						|
      
 | 
						|
        # Details for the goal of the type URL_DESTINATION.
 | 
						|
        # Corresponds to the JSON property `urlDestinationDetails`
 | 
						|
        # @return [Google::Apis::AnalyticsV3::Goal::UrlDestinationDetails]
 | 
						|
        attr_accessor :url_destination_details
 | 
						|
      
 | 
						|
        # Goal value.
 | 
						|
        # Corresponds to the JSON property `value`
 | 
						|
        # @return [Float]
 | 
						|
        attr_accessor :value
 | 
						|
      
 | 
						|
        # Details for the goal of the type VISIT_NUM_PAGES.
 | 
						|
        # Corresponds to the JSON property `visitNumPagesDetails`
 | 
						|
        # @return [Google::Apis::AnalyticsV3::Goal::VisitNumPagesDetails]
 | 
						|
        attr_accessor :visit_num_pages_details
 | 
						|
      
 | 
						|
        # Details for the goal of the type VISIT_TIME_ON_SITE.
 | 
						|
        # Corresponds to the JSON property `visitTimeOnSiteDetails`
 | 
						|
        # @return [Google::Apis::AnalyticsV3::Goal::VisitTimeOnSiteDetails]
 | 
						|
        attr_accessor :visit_time_on_site_details
 | 
						|
      
 | 
						|
        # Web property ID to which this goal belongs. The web property ID is of the form
 | 
						|
        # UA-XXXXX-YY.
 | 
						|
        # Corresponds to the JSON property `webPropertyId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :web_property_id
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @account_id = args[:account_id] if args.key?(:account_id)
 | 
						|
          @active = args[:active] if args.key?(:active)
 | 
						|
          @created = args[:created] if args.key?(:created)
 | 
						|
          @event_details = args[:event_details] if args.key?(:event_details)
 | 
						|
          @id = args[:id] if args.key?(:id)
 | 
						|
          @internal_web_property_id = args[:internal_web_property_id] if args.key?(:internal_web_property_id)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
          @name = args[:name] if args.key?(:name)
 | 
						|
          @parent_link = args[:parent_link] if args.key?(:parent_link)
 | 
						|
          @profile_id = args[:profile_id] if args.key?(:profile_id)
 | 
						|
          @self_link = args[:self_link] if args.key?(:self_link)
 | 
						|
          @type = args[:type] if args.key?(:type)
 | 
						|
          @updated = args[:updated] if args.key?(:updated)
 | 
						|
          @url_destination_details = args[:url_destination_details] if args.key?(:url_destination_details)
 | 
						|
          @value = args[:value] if args.key?(:value)
 | 
						|
          @visit_num_pages_details = args[:visit_num_pages_details] if args.key?(:visit_num_pages_details)
 | 
						|
          @visit_time_on_site_details = args[:visit_time_on_site_details] if args.key?(:visit_time_on_site_details)
 | 
						|
          @web_property_id = args[:web_property_id] if args.key?(:web_property_id)
 | 
						|
        end
 | 
						|
        
 | 
						|
        # Details for the goal of the type EVENT.
 | 
						|
        class EventDetails
 | 
						|
          include Google::Apis::Core::Hashable
 | 
						|
        
 | 
						|
          # List of event conditions.
 | 
						|
          # Corresponds to the JSON property `eventConditions`
 | 
						|
          # @return [Array<Google::Apis::AnalyticsV3::Goal::EventDetails::EventCondition>]
 | 
						|
          attr_accessor :event_conditions
 | 
						|
        
 | 
						|
          # Determines if the event value should be used as the value for this goal.
 | 
						|
          # Corresponds to the JSON property `useEventValue`
 | 
						|
          # @return [Boolean]
 | 
						|
          attr_accessor :use_event_value
 | 
						|
          alias_method :use_event_value?, :use_event_value
 | 
						|
        
 | 
						|
          def initialize(**args)
 | 
						|
             update!(**args)
 | 
						|
          end
 | 
						|
        
 | 
						|
          # Update properties of this object
 | 
						|
          def update!(**args)
 | 
						|
            @event_conditions = args[:event_conditions] if args.key?(:event_conditions)
 | 
						|
            @use_event_value = args[:use_event_value] if args.key?(:use_event_value)
 | 
						|
          end
 | 
						|
          
 | 
						|
          # 
 | 
						|
          class EventCondition
 | 
						|
            include Google::Apis::Core::Hashable
 | 
						|
          
 | 
						|
            # Type of comparison. Possible values are LESS_THAN, GREATER_THAN or EQUAL.
 | 
						|
            # Corresponds to the JSON property `comparisonType`
 | 
						|
            # @return [String]
 | 
						|
            attr_accessor :comparison_type
 | 
						|
          
 | 
						|
            # Value used for this comparison.
 | 
						|
            # Corresponds to the JSON property `comparisonValue`
 | 
						|
            # @return [Fixnum]
 | 
						|
            attr_accessor :comparison_value
 | 
						|
          
 | 
						|
            # Expression used for this match.
 | 
						|
            # Corresponds to the JSON property `expression`
 | 
						|
            # @return [String]
 | 
						|
            attr_accessor :expression
 | 
						|
          
 | 
						|
            # Type of the match to be performed. Possible values are REGEXP, BEGINS_WITH, or
 | 
						|
            # EXACT.
 | 
						|
            # Corresponds to the JSON property `matchType`
 | 
						|
            # @return [String]
 | 
						|
            attr_accessor :match_type
 | 
						|
          
 | 
						|
            # Type of this event condition. Possible values are CATEGORY, ACTION, LABEL, or
 | 
						|
            # VALUE.
 | 
						|
            # Corresponds to the JSON property `type`
 | 
						|
            # @return [String]
 | 
						|
            attr_accessor :type
 | 
						|
          
 | 
						|
            def initialize(**args)
 | 
						|
               update!(**args)
 | 
						|
            end
 | 
						|
          
 | 
						|
            # Update properties of this object
 | 
						|
            def update!(**args)
 | 
						|
              @comparison_type = args[:comparison_type] if args.key?(:comparison_type)
 | 
						|
              @comparison_value = args[:comparison_value] if args.key?(:comparison_value)
 | 
						|
              @expression = args[:expression] if args.key?(:expression)
 | 
						|
              @match_type = args[:match_type] if args.key?(:match_type)
 | 
						|
              @type = args[:type] if args.key?(:type)
 | 
						|
            end
 | 
						|
          end
 | 
						|
        end
 | 
						|
        
 | 
						|
        # Parent link for a goal. Points to the view (profile) to which this goal
 | 
						|
        # belongs.
 | 
						|
        class ParentLink
 | 
						|
          include Google::Apis::Core::Hashable
 | 
						|
        
 | 
						|
          # Link to the view (profile) to which this goal belongs.
 | 
						|
          # Corresponds to the JSON property `href`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :href
 | 
						|
        
 | 
						|
          # Value is "analytics#profile".
 | 
						|
          # Corresponds to the JSON property `type`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :type
 | 
						|
        
 | 
						|
          def initialize(**args)
 | 
						|
             update!(**args)
 | 
						|
          end
 | 
						|
        
 | 
						|
          # Update properties of this object
 | 
						|
          def update!(**args)
 | 
						|
            @href = args[:href] if args.key?(:href)
 | 
						|
            @type = args[:type] if args.key?(:type)
 | 
						|
          end
 | 
						|
        end
 | 
						|
        
 | 
						|
        # Details for the goal of the type URL_DESTINATION.
 | 
						|
        class UrlDestinationDetails
 | 
						|
          include Google::Apis::Core::Hashable
 | 
						|
        
 | 
						|
          # Determines if the goal URL must exactly match the capitalization of visited
 | 
						|
          # URLs.
 | 
						|
          # Corresponds to the JSON property `caseSensitive`
 | 
						|
          # @return [Boolean]
 | 
						|
          attr_accessor :case_sensitive
 | 
						|
          alias_method :case_sensitive?, :case_sensitive
 | 
						|
        
 | 
						|
          # Determines if the first step in this goal is required.
 | 
						|
          # Corresponds to the JSON property `firstStepRequired`
 | 
						|
          # @return [Boolean]
 | 
						|
          attr_accessor :first_step_required
 | 
						|
          alias_method :first_step_required?, :first_step_required
 | 
						|
        
 | 
						|
          # Match type for the goal URL. Possible values are HEAD, EXACT, or REGEX.
 | 
						|
          # Corresponds to the JSON property `matchType`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :match_type
 | 
						|
        
 | 
						|
          # List of steps configured for this goal funnel.
 | 
						|
          # Corresponds to the JSON property `steps`
 | 
						|
          # @return [Array<Google::Apis::AnalyticsV3::Goal::UrlDestinationDetails::Step>]
 | 
						|
          attr_accessor :steps
 | 
						|
        
 | 
						|
          # URL for this goal.
 | 
						|
          # Corresponds to the JSON property `url`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :url
 | 
						|
        
 | 
						|
          def initialize(**args)
 | 
						|
             update!(**args)
 | 
						|
          end
 | 
						|
        
 | 
						|
          # Update properties of this object
 | 
						|
          def update!(**args)
 | 
						|
            @case_sensitive = args[:case_sensitive] if args.key?(:case_sensitive)
 | 
						|
            @first_step_required = args[:first_step_required] if args.key?(:first_step_required)
 | 
						|
            @match_type = args[:match_type] if args.key?(:match_type)
 | 
						|
            @steps = args[:steps] if args.key?(:steps)
 | 
						|
            @url = args[:url] if args.key?(:url)
 | 
						|
          end
 | 
						|
          
 | 
						|
          # 
 | 
						|
          class Step
 | 
						|
            include Google::Apis::Core::Hashable
 | 
						|
          
 | 
						|
            # Step name.
 | 
						|
            # Corresponds to the JSON property `name`
 | 
						|
            # @return [String]
 | 
						|
            attr_accessor :name
 | 
						|
          
 | 
						|
            # Step number.
 | 
						|
            # Corresponds to the JSON property `number`
 | 
						|
            # @return [Fixnum]
 | 
						|
            attr_accessor :number
 | 
						|
          
 | 
						|
            # URL for this step.
 | 
						|
            # Corresponds to the JSON property `url`
 | 
						|
            # @return [String]
 | 
						|
            attr_accessor :url
 | 
						|
          
 | 
						|
            def initialize(**args)
 | 
						|
               update!(**args)
 | 
						|
            end
 | 
						|
          
 | 
						|
            # Update properties of this object
 | 
						|
            def update!(**args)
 | 
						|
              @name = args[:name] if args.key?(:name)
 | 
						|
              @number = args[:number] if args.key?(:number)
 | 
						|
              @url = args[:url] if args.key?(:url)
 | 
						|
            end
 | 
						|
          end
 | 
						|
        end
 | 
						|
        
 | 
						|
        # Details for the goal of the type VISIT_NUM_PAGES.
 | 
						|
        class VisitNumPagesDetails
 | 
						|
          include Google::Apis::Core::Hashable
 | 
						|
        
 | 
						|
          # Type of comparison. Possible values are LESS_THAN, GREATER_THAN, or EQUAL.
 | 
						|
          # Corresponds to the JSON property `comparisonType`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :comparison_type
 | 
						|
        
 | 
						|
          # Value used for this comparison.
 | 
						|
          # Corresponds to the JSON property `comparisonValue`
 | 
						|
          # @return [Fixnum]
 | 
						|
          attr_accessor :comparison_value
 | 
						|
        
 | 
						|
          def initialize(**args)
 | 
						|
             update!(**args)
 | 
						|
          end
 | 
						|
        
 | 
						|
          # Update properties of this object
 | 
						|
          def update!(**args)
 | 
						|
            @comparison_type = args[:comparison_type] if args.key?(:comparison_type)
 | 
						|
            @comparison_value = args[:comparison_value] if args.key?(:comparison_value)
 | 
						|
          end
 | 
						|
        end
 | 
						|
        
 | 
						|
        # Details for the goal of the type VISIT_TIME_ON_SITE.
 | 
						|
        class VisitTimeOnSiteDetails
 | 
						|
          include Google::Apis::Core::Hashable
 | 
						|
        
 | 
						|
          # Type of comparison. Possible values are LESS_THAN or GREATER_THAN.
 | 
						|
          # Corresponds to the JSON property `comparisonType`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :comparison_type
 | 
						|
        
 | 
						|
          # Value used for this comparison.
 | 
						|
          # Corresponds to the JSON property `comparisonValue`
 | 
						|
          # @return [Fixnum]
 | 
						|
          attr_accessor :comparison_value
 | 
						|
        
 | 
						|
          def initialize(**args)
 | 
						|
             update!(**args)
 | 
						|
          end
 | 
						|
        
 | 
						|
          # Update properties of this object
 | 
						|
          def update!(**args)
 | 
						|
            @comparison_type = args[:comparison_type] if args.key?(:comparison_type)
 | 
						|
            @comparison_value = args[:comparison_value] if args.key?(:comparison_value)
 | 
						|
          end
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # A goal collection lists Analytics goals to which the user has access. Each
 | 
						|
      # view (profile) can have a set of goals. Each resource in the Goal collection
 | 
						|
      # corresponds to a single Analytics goal.
 | 
						|
      class Goals
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # A list of goals.
 | 
						|
        # Corresponds to the JSON property `items`
 | 
						|
        # @return [Array<Google::Apis::AnalyticsV3::Goal>]
 | 
						|
        attr_accessor :items
 | 
						|
      
 | 
						|
        # The maximum number of resources the response can contain, regardless of the
 | 
						|
        # actual number of resources returned. Its value ranges from 1 to 1000 with a
 | 
						|
        # value of 1000 by default, or otherwise specified by the max-results query
 | 
						|
        # parameter.
 | 
						|
        # Corresponds to the JSON property `itemsPerPage`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :items_per_page
 | 
						|
      
 | 
						|
        # Collection type.
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        # Link to next page for this goal collection.
 | 
						|
        # Corresponds to the JSON property `nextLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :next_link
 | 
						|
      
 | 
						|
        # Link to previous page for this goal collection.
 | 
						|
        # Corresponds to the JSON property `previousLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :previous_link
 | 
						|
      
 | 
						|
        # The starting index of the resources, which is 1 by default or otherwise
 | 
						|
        # specified by the start-index query parameter.
 | 
						|
        # Corresponds to the JSON property `startIndex`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :start_index
 | 
						|
      
 | 
						|
        # The total number of results for the query, regardless of the number of
 | 
						|
        # resources in the result.
 | 
						|
        # Corresponds to the JSON property `totalResults`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :total_results
 | 
						|
      
 | 
						|
        # Email ID of the authenticated user
 | 
						|
        # Corresponds to the JSON property `username`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :username
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @items = args[:items] if args.key?(:items)
 | 
						|
          @items_per_page = args[:items_per_page] if args.key?(:items_per_page)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
          @next_link = args[:next_link] if args.key?(:next_link)
 | 
						|
          @previous_link = args[:previous_link] if args.key?(:previous_link)
 | 
						|
          @start_index = args[:start_index] if args.key?(:start_index)
 | 
						|
          @total_results = args[:total_results] if args.key?(:total_results)
 | 
						|
          @username = args[:username] if args.key?(:username)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # JSON template for an Analytics Remarketing Include Conditions.
 | 
						|
      class IncludeConditions
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # The look-back window lets you specify a time frame for evaluating the behavior
 | 
						|
        # that qualifies users for your audience. For example, if your filters include
 | 
						|
        # users from Central Asia, and Transactions Greater than 2, and you set the look-
 | 
						|
        # back window to 14 days, then any user from Central Asia whose cumulative
 | 
						|
        # transactions exceed 2 during the last 14 days is added to the audience.
 | 
						|
        # Corresponds to the JSON property `daysToLookBack`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :days_to_look_back
 | 
						|
      
 | 
						|
        # Boolean indicating whether this segment is a smart list. https://support.
 | 
						|
        # google.com/analytics/answer/4628577
 | 
						|
        # Corresponds to the JSON property `isSmartList`
 | 
						|
        # @return [Boolean]
 | 
						|
        attr_accessor :is_smart_list
 | 
						|
        alias_method :is_smart_list?, :is_smart_list
 | 
						|
      
 | 
						|
        # Resource type for include conditions.
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        # Number of days (in the range 1 to 540) a user remains in the audience.
 | 
						|
        # Corresponds to the JSON property `membershipDurationDays`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :membership_duration_days
 | 
						|
      
 | 
						|
        # The segment condition that will cause a user to be added to an audience.
 | 
						|
        # Corresponds to the JSON property `segment`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :segment
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @days_to_look_back = args[:days_to_look_back] if args.key?(:days_to_look_back)
 | 
						|
          @is_smart_list = args[:is_smart_list] if args.key?(:is_smart_list)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
          @membership_duration_days = args[:membership_duration_days] if args.key?(:membership_duration_days)
 | 
						|
          @segment = args[:segment] if args.key?(:segment)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # JSON template for an Analytics Remarketing Audience Foreign Link.
 | 
						|
      class LinkedForeignAccount
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Account ID to which this linked foreign account belongs.
 | 
						|
        # Corresponds to the JSON property `accountId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :account_id
 | 
						|
      
 | 
						|
        # Boolean indicating whether this is eligible for search.
 | 
						|
        # Corresponds to the JSON property `eligibleForSearch`
 | 
						|
        # @return [Boolean]
 | 
						|
        attr_accessor :eligible_for_search
 | 
						|
        alias_method :eligible_for_search?, :eligible_for_search
 | 
						|
      
 | 
						|
        # Entity ad account link ID.
 | 
						|
        # Corresponds to the JSON property `id`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :id
 | 
						|
      
 | 
						|
        # Internal ID for the web property to which this linked foreign account belongs.
 | 
						|
        # Corresponds to the JSON property `internalWebPropertyId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :internal_web_property_id
 | 
						|
      
 | 
						|
        # Resource type for linked foreign account.
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        # The foreign account ID. For example the an AdWords `linkedAccountId` has the
 | 
						|
        # following format XXX-XXX-XXXX.
 | 
						|
        # Corresponds to the JSON property `linkedAccountId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :linked_account_id
 | 
						|
      
 | 
						|
        # Remarketing audience ID to which this linked foreign account belongs.
 | 
						|
        # Corresponds to the JSON property `remarketingAudienceId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :remarketing_audience_id
 | 
						|
      
 | 
						|
        # The status of this foreign account link.
 | 
						|
        # Corresponds to the JSON property `status`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :status
 | 
						|
      
 | 
						|
        # The type of the foreign account. For example, `ADWORDS_LINKS`, `DBM_LINKS`, `
 | 
						|
        # MCC_LINKS` or `OPTIMIZE`.
 | 
						|
        # Corresponds to the JSON property `type`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :type
 | 
						|
      
 | 
						|
        # Web property ID of the form UA-XXXXX-YY to which this linked foreign account
 | 
						|
        # belongs.
 | 
						|
        # Corresponds to the JSON property `webPropertyId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :web_property_id
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @account_id = args[:account_id] if args.key?(:account_id)
 | 
						|
          @eligible_for_search = args[:eligible_for_search] if args.key?(:eligible_for_search)
 | 
						|
          @id = args[:id] if args.key?(:id)
 | 
						|
          @internal_web_property_id = args[:internal_web_property_id] if args.key?(:internal_web_property_id)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
          @linked_account_id = args[:linked_account_id] if args.key?(:linked_account_id)
 | 
						|
          @remarketing_audience_id = args[:remarketing_audience_id] if args.key?(:remarketing_audience_id)
 | 
						|
          @status = args[:status] if args.key?(:status)
 | 
						|
          @type = args[:type] if args.key?(:type)
 | 
						|
          @web_property_id = args[:web_property_id] if args.key?(:web_property_id)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Multi-Channel Funnels data for a given view (profile).
 | 
						|
      class McfData
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Column headers that list dimension names followed by the metric names. The
 | 
						|
        # order of dimensions and metrics is same as specified in the request.
 | 
						|
        # Corresponds to the JSON property `columnHeaders`
 | 
						|
        # @return [Array<Google::Apis::AnalyticsV3::McfData::ColumnHeader>]
 | 
						|
        attr_accessor :column_headers
 | 
						|
      
 | 
						|
        # Determines if the Analytics data contains sampled data.
 | 
						|
        # Corresponds to the JSON property `containsSampledData`
 | 
						|
        # @return [Boolean]
 | 
						|
        attr_accessor :contains_sampled_data
 | 
						|
        alias_method :contains_sampled_data?, :contains_sampled_data
 | 
						|
      
 | 
						|
        # Unique ID for this data response.
 | 
						|
        # Corresponds to the JSON property `id`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :id
 | 
						|
      
 | 
						|
        # The maximum number of rows the response can contain, regardless of the actual
 | 
						|
        # number of rows returned. Its value ranges from 1 to 10,000 with a value of
 | 
						|
        # 1000 by default, or otherwise specified by the max-results query parameter.
 | 
						|
        # Corresponds to the JSON property `itemsPerPage`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :items_per_page
 | 
						|
      
 | 
						|
        # Resource type.
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        # Link to next page for this Analytics data query.
 | 
						|
        # Corresponds to the JSON property `nextLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :next_link
 | 
						|
      
 | 
						|
        # Link to previous page for this Analytics data query.
 | 
						|
        # Corresponds to the JSON property `previousLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :previous_link
 | 
						|
      
 | 
						|
        # Information for the view (profile), for which the Analytics data was requested.
 | 
						|
        # Corresponds to the JSON property `profileInfo`
 | 
						|
        # @return [Google::Apis::AnalyticsV3::McfData::ProfileInfo]
 | 
						|
        attr_accessor :profile_info
 | 
						|
      
 | 
						|
        # Analytics data request query parameters.
 | 
						|
        # Corresponds to the JSON property `query`
 | 
						|
        # @return [Google::Apis::AnalyticsV3::McfData::Query]
 | 
						|
        attr_accessor :query
 | 
						|
      
 | 
						|
        # Analytics data rows, where each row contains a list of dimension values
 | 
						|
        # followed by the metric values. The order of dimensions and metrics is same as
 | 
						|
        # specified in the request.
 | 
						|
        # Corresponds to the JSON property `rows`
 | 
						|
        # @return [Array<Array<Google::Apis::AnalyticsV3::McfData::Row>>]
 | 
						|
        attr_accessor :rows
 | 
						|
      
 | 
						|
        # The number of samples used to calculate the result.
 | 
						|
        # Corresponds to the JSON property `sampleSize`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :sample_size
 | 
						|
      
 | 
						|
        # Total size of the sample space from which the samples were selected.
 | 
						|
        # Corresponds to the JSON property `sampleSpace`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :sample_space
 | 
						|
      
 | 
						|
        # Link to this page.
 | 
						|
        # Corresponds to the JSON property `selfLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :self_link
 | 
						|
      
 | 
						|
        # The total number of rows for the query, regardless of the number of rows in
 | 
						|
        # the response.
 | 
						|
        # Corresponds to the JSON property `totalResults`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :total_results
 | 
						|
      
 | 
						|
        # Total values for the requested metrics over all the results, not just the
 | 
						|
        # results returned in this response. The order of the metric totals is same as
 | 
						|
        # the metric order specified in the request.
 | 
						|
        # Corresponds to the JSON property `totalsForAllResults`
 | 
						|
        # @return [Hash<String,String>]
 | 
						|
        attr_accessor :totals_for_all_results
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @column_headers = args[:column_headers] if args.key?(:column_headers)
 | 
						|
          @contains_sampled_data = args[:contains_sampled_data] if args.key?(:contains_sampled_data)
 | 
						|
          @id = args[:id] if args.key?(:id)
 | 
						|
          @items_per_page = args[:items_per_page] if args.key?(:items_per_page)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
          @next_link = args[:next_link] if args.key?(:next_link)
 | 
						|
          @previous_link = args[:previous_link] if args.key?(:previous_link)
 | 
						|
          @profile_info = args[:profile_info] if args.key?(:profile_info)
 | 
						|
          @query = args[:query] if args.key?(:query)
 | 
						|
          @rows = args[:rows] if args.key?(:rows)
 | 
						|
          @sample_size = args[:sample_size] if args.key?(:sample_size)
 | 
						|
          @sample_space = args[:sample_space] if args.key?(:sample_space)
 | 
						|
          @self_link = args[:self_link] if args.key?(:self_link)
 | 
						|
          @total_results = args[:total_results] if args.key?(:total_results)
 | 
						|
          @totals_for_all_results = args[:totals_for_all_results] if args.key?(:totals_for_all_results)
 | 
						|
        end
 | 
						|
        
 | 
						|
        # 
 | 
						|
        class ColumnHeader
 | 
						|
          include Google::Apis::Core::Hashable
 | 
						|
        
 | 
						|
          # Column Type. Either DIMENSION or METRIC.
 | 
						|
          # Corresponds to the JSON property `columnType`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :column_type
 | 
						|
        
 | 
						|
          # Data type. Dimension and metric values data types such as INTEGER, DOUBLE,
 | 
						|
          # CURRENCY, MCF_SEQUENCE etc.
 | 
						|
          # Corresponds to the JSON property `dataType`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :data_type
 | 
						|
        
 | 
						|
          # Column name.
 | 
						|
          # 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)
 | 
						|
            @column_type = args[:column_type] if args.key?(:column_type)
 | 
						|
            @data_type = args[:data_type] if args.key?(:data_type)
 | 
						|
            @name = args[:name] if args.key?(:name)
 | 
						|
          end
 | 
						|
        end
 | 
						|
        
 | 
						|
        # Information for the view (profile), for which the Analytics data was requested.
 | 
						|
        class ProfileInfo
 | 
						|
          include Google::Apis::Core::Hashable
 | 
						|
        
 | 
						|
          # Account ID to which this view (profile) belongs.
 | 
						|
          # Corresponds to the JSON property `accountId`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :account_id
 | 
						|
        
 | 
						|
          # Internal ID for the web property to which this view (profile) belongs.
 | 
						|
          # Corresponds to the JSON property `internalWebPropertyId`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :internal_web_property_id
 | 
						|
        
 | 
						|
          # View (Profile) ID.
 | 
						|
          # Corresponds to the JSON property `profileId`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :profile_id
 | 
						|
        
 | 
						|
          # View (Profile) name.
 | 
						|
          # Corresponds to the JSON property `profileName`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :profile_name
 | 
						|
        
 | 
						|
          # Table ID for view (profile).
 | 
						|
          # Corresponds to the JSON property `tableId`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :table_id
 | 
						|
        
 | 
						|
          # Web Property ID to which this view (profile) belongs.
 | 
						|
          # Corresponds to the JSON property `webPropertyId`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :web_property_id
 | 
						|
        
 | 
						|
          def initialize(**args)
 | 
						|
             update!(**args)
 | 
						|
          end
 | 
						|
        
 | 
						|
          # Update properties of this object
 | 
						|
          def update!(**args)
 | 
						|
            @account_id = args[:account_id] if args.key?(:account_id)
 | 
						|
            @internal_web_property_id = args[:internal_web_property_id] if args.key?(:internal_web_property_id)
 | 
						|
            @profile_id = args[:profile_id] if args.key?(:profile_id)
 | 
						|
            @profile_name = args[:profile_name] if args.key?(:profile_name)
 | 
						|
            @table_id = args[:table_id] if args.key?(:table_id)
 | 
						|
            @web_property_id = args[:web_property_id] if args.key?(:web_property_id)
 | 
						|
          end
 | 
						|
        end
 | 
						|
        
 | 
						|
        # Analytics data request query parameters.
 | 
						|
        class Query
 | 
						|
          include Google::Apis::Core::Hashable
 | 
						|
        
 | 
						|
          # List of analytics dimensions.
 | 
						|
          # Corresponds to the JSON property `dimensions`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :dimensions
 | 
						|
        
 | 
						|
          # End date.
 | 
						|
          # Corresponds to the JSON property `end-date`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :end_date
 | 
						|
        
 | 
						|
          # Comma-separated list of dimension or metric filters.
 | 
						|
          # Corresponds to the JSON property `filters`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :filters
 | 
						|
        
 | 
						|
          # Unique table ID.
 | 
						|
          # Corresponds to the JSON property `ids`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :ids
 | 
						|
        
 | 
						|
          # Maximum results per page.
 | 
						|
          # Corresponds to the JSON property `max-results`
 | 
						|
          # @return [Fixnum]
 | 
						|
          attr_accessor :max_results
 | 
						|
        
 | 
						|
          # List of analytics metrics.
 | 
						|
          # Corresponds to the JSON property `metrics`
 | 
						|
          # @return [Array<String>]
 | 
						|
          attr_accessor :metrics
 | 
						|
        
 | 
						|
          # Desired sampling level
 | 
						|
          # Corresponds to the JSON property `samplingLevel`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :sampling_level
 | 
						|
        
 | 
						|
          # Analytics advanced segment.
 | 
						|
          # Corresponds to the JSON property `segment`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :segment
 | 
						|
        
 | 
						|
          # List of dimensions or metrics based on which Analytics data is sorted.
 | 
						|
          # Corresponds to the JSON property `sort`
 | 
						|
          # @return [Array<String>]
 | 
						|
          attr_accessor :sort
 | 
						|
        
 | 
						|
          # Start date.
 | 
						|
          # Corresponds to the JSON property `start-date`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :start_date
 | 
						|
        
 | 
						|
          # Start index.
 | 
						|
          # Corresponds to the JSON property `start-index`
 | 
						|
          # @return [Fixnum]
 | 
						|
          attr_accessor :start_index
 | 
						|
        
 | 
						|
          def initialize(**args)
 | 
						|
             update!(**args)
 | 
						|
          end
 | 
						|
        
 | 
						|
          # Update properties of this object
 | 
						|
          def update!(**args)
 | 
						|
            @dimensions = args[:dimensions] if args.key?(:dimensions)
 | 
						|
            @end_date = args[:end_date] if args.key?(:end_date)
 | 
						|
            @filters = args[:filters] if args.key?(:filters)
 | 
						|
            @ids = args[:ids] if args.key?(:ids)
 | 
						|
            @max_results = args[:max_results] if args.key?(:max_results)
 | 
						|
            @metrics = args[:metrics] if args.key?(:metrics)
 | 
						|
            @sampling_level = args[:sampling_level] if args.key?(:sampling_level)
 | 
						|
            @segment = args[:segment] if args.key?(:segment)
 | 
						|
            @sort = args[:sort] if args.key?(:sort)
 | 
						|
            @start_date = args[:start_date] if args.key?(:start_date)
 | 
						|
            @start_index = args[:start_index] if args.key?(:start_index)
 | 
						|
          end
 | 
						|
        end
 | 
						|
        
 | 
						|
        # A union object representing a dimension or metric value. Only one of "
 | 
						|
        # primitiveValue" or "conversionPathValue" attribute will be populated.
 | 
						|
        class Row
 | 
						|
          include Google::Apis::Core::Hashable
 | 
						|
        
 | 
						|
          # A conversion path dimension value, containing a list of interactions with
 | 
						|
          # their attributes.
 | 
						|
          # Corresponds to the JSON property `conversionPathValue`
 | 
						|
          # @return [Array<Google::Apis::AnalyticsV3::McfData::Row::ConversionPathValue>]
 | 
						|
          attr_accessor :conversion_path_value
 | 
						|
        
 | 
						|
          # A primitive dimension value. A primitive metric value.
 | 
						|
          # Corresponds to the JSON property `primitiveValue`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :primitive_value
 | 
						|
        
 | 
						|
          def initialize(**args)
 | 
						|
             update!(**args)
 | 
						|
          end
 | 
						|
        
 | 
						|
          # Update properties of this object
 | 
						|
          def update!(**args)
 | 
						|
            @conversion_path_value = args[:conversion_path_value] if args.key?(:conversion_path_value)
 | 
						|
            @primitive_value = args[:primitive_value] if args.key?(:primitive_value)
 | 
						|
          end
 | 
						|
          
 | 
						|
          # 
 | 
						|
          class ConversionPathValue
 | 
						|
            include Google::Apis::Core::Hashable
 | 
						|
          
 | 
						|
            # Type of an interaction on conversion path. Such as CLICK, IMPRESSION etc.
 | 
						|
            # Corresponds to the JSON property `interactionType`
 | 
						|
            # @return [String]
 | 
						|
            attr_accessor :interaction_type
 | 
						|
          
 | 
						|
            # Node value of an interaction on conversion path. Such as source, medium etc.
 | 
						|
            # Corresponds to the JSON property `nodeValue`
 | 
						|
            # @return [String]
 | 
						|
            attr_accessor :node_value
 | 
						|
          
 | 
						|
            def initialize(**args)
 | 
						|
               update!(**args)
 | 
						|
            end
 | 
						|
          
 | 
						|
            # Update properties of this object
 | 
						|
            def update!(**args)
 | 
						|
              @interaction_type = args[:interaction_type] if args.key?(:interaction_type)
 | 
						|
              @node_value = args[:node_value] if args.key?(:node_value)
 | 
						|
            end
 | 
						|
          end
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # JSON template for an Analytics view (profile).
 | 
						|
      class Profile
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Account ID to which this view (profile) belongs.
 | 
						|
        # Corresponds to the JSON property `accountId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :account_id
 | 
						|
      
 | 
						|
        # Indicates whether bot filtering is enabled for this view (profile).
 | 
						|
        # Corresponds to the JSON property `botFilteringEnabled`
 | 
						|
        # @return [Boolean]
 | 
						|
        attr_accessor :bot_filtering_enabled
 | 
						|
        alias_method :bot_filtering_enabled?, :bot_filtering_enabled
 | 
						|
      
 | 
						|
        # Child link for this view (profile). Points to the list of goals for this view (
 | 
						|
        # profile).
 | 
						|
        # Corresponds to the JSON property `childLink`
 | 
						|
        # @return [Google::Apis::AnalyticsV3::Profile::ChildLink]
 | 
						|
        attr_accessor :child_link
 | 
						|
      
 | 
						|
        # Time this view (profile) was created.
 | 
						|
        # Corresponds to the JSON property `created`
 | 
						|
        # @return [DateTime]
 | 
						|
        attr_accessor :created
 | 
						|
      
 | 
						|
        # The currency type associated with this view (profile), defaults to USD. The
 | 
						|
        # supported values are:
 | 
						|
        # USD, JPY, EUR, GBP, AUD, KRW, BRL, CNY, DKK, RUB, SEK, NOK, PLN, TRY, TWD, HKD,
 | 
						|
        # THB, IDR, ARS, MXN, VND, PHP, INR, CHF, CAD, CZK, NZD, HUF, BGN, LTL, ZAR,
 | 
						|
        # UAH, AED, BOB, CLP, COP, EGP, HRK, ILS, MAD, MYR, PEN, PKR, RON, RSD, SAR, SGD,
 | 
						|
        # VEF, LVL
 | 
						|
        # Corresponds to the JSON property `currency`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :currency
 | 
						|
      
 | 
						|
        # Default page for this view (profile).
 | 
						|
        # Corresponds to the JSON property `defaultPage`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :default_page
 | 
						|
      
 | 
						|
        # Indicates whether ecommerce tracking is enabled for this view (profile).
 | 
						|
        # Corresponds to the JSON property `eCommerceTracking`
 | 
						|
        # @return [Boolean]
 | 
						|
        attr_accessor :e_commerce_tracking
 | 
						|
        alias_method :e_commerce_tracking?, :e_commerce_tracking
 | 
						|
      
 | 
						|
        # Indicates whether enhanced ecommerce tracking is enabled for this view (
 | 
						|
        # profile). This property can only be enabled if ecommerce tracking is enabled.
 | 
						|
        # Corresponds to the JSON property `enhancedECommerceTracking`
 | 
						|
        # @return [Boolean]
 | 
						|
        attr_accessor :enhanced_e_commerce_tracking
 | 
						|
        alias_method :enhanced_e_commerce_tracking?, :enhanced_e_commerce_tracking
 | 
						|
      
 | 
						|
        # The query parameters that are excluded from this view (profile).
 | 
						|
        # Corresponds to the JSON property `excludeQueryParameters`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :exclude_query_parameters
 | 
						|
      
 | 
						|
        # View (Profile) ID.
 | 
						|
        # Corresponds to the JSON property `id`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :id
 | 
						|
      
 | 
						|
        # Internal ID for the web property to which this view (profile) belongs.
 | 
						|
        # Corresponds to the JSON property `internalWebPropertyId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :internal_web_property_id
 | 
						|
      
 | 
						|
        # Resource type for Analytics view (profile).
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        # Name of this view (profile).
 | 
						|
        # Corresponds to the JSON property `name`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :name
 | 
						|
      
 | 
						|
        # Parent link for this view (profile). Points to the web property to which this
 | 
						|
        # view (profile) belongs.
 | 
						|
        # Corresponds to the JSON property `parentLink`
 | 
						|
        # @return [Google::Apis::AnalyticsV3::Profile::ParentLink]
 | 
						|
        attr_accessor :parent_link
 | 
						|
      
 | 
						|
        # Permissions the user has for this view (profile).
 | 
						|
        # Corresponds to the JSON property `permissions`
 | 
						|
        # @return [Google::Apis::AnalyticsV3::Profile::Permissions]
 | 
						|
        attr_accessor :permissions
 | 
						|
      
 | 
						|
        # Link for this view (profile).
 | 
						|
        # Corresponds to the JSON property `selfLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :self_link
 | 
						|
      
 | 
						|
        # Site search category parameters for this view (profile).
 | 
						|
        # Corresponds to the JSON property `siteSearchCategoryParameters`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :site_search_category_parameters
 | 
						|
      
 | 
						|
        # The site search query parameters for this view (profile).
 | 
						|
        # Corresponds to the JSON property `siteSearchQueryParameters`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :site_search_query_parameters
 | 
						|
      
 | 
						|
        # Indicates whether this view (profile) is starred or not.
 | 
						|
        # Corresponds to the JSON property `starred`
 | 
						|
        # @return [Boolean]
 | 
						|
        attr_accessor :starred
 | 
						|
        alias_method :starred?, :starred
 | 
						|
      
 | 
						|
        # Whether or not Analytics will strip search category parameters from the URLs
 | 
						|
        # in your reports.
 | 
						|
        # Corresponds to the JSON property `stripSiteSearchCategoryParameters`
 | 
						|
        # @return [Boolean]
 | 
						|
        attr_accessor :strip_site_search_category_parameters
 | 
						|
        alias_method :strip_site_search_category_parameters?, :strip_site_search_category_parameters
 | 
						|
      
 | 
						|
        # Whether or not Analytics will strip search query parameters from the URLs in
 | 
						|
        # your reports.
 | 
						|
        # Corresponds to the JSON property `stripSiteSearchQueryParameters`
 | 
						|
        # @return [Boolean]
 | 
						|
        attr_accessor :strip_site_search_query_parameters
 | 
						|
        alias_method :strip_site_search_query_parameters?, :strip_site_search_query_parameters
 | 
						|
      
 | 
						|
        # Time zone for which this view (profile) has been configured. Time zones are
 | 
						|
        # identified by strings from the TZ database.
 | 
						|
        # Corresponds to the JSON property `timezone`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :timezone
 | 
						|
      
 | 
						|
        # View (Profile) type. Supported types: WEB or APP.
 | 
						|
        # Corresponds to the JSON property `type`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :type
 | 
						|
      
 | 
						|
        # Time this view (profile) was last modified.
 | 
						|
        # Corresponds to the JSON property `updated`
 | 
						|
        # @return [DateTime]
 | 
						|
        attr_accessor :updated
 | 
						|
      
 | 
						|
        # Web property ID of the form UA-XXXXX-YY to which this view (profile) belongs.
 | 
						|
        # Corresponds to the JSON property `webPropertyId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :web_property_id
 | 
						|
      
 | 
						|
        # Website URL for this view (profile).
 | 
						|
        # Corresponds to the JSON property `websiteUrl`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :website_url
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @account_id = args[:account_id] if args.key?(:account_id)
 | 
						|
          @bot_filtering_enabled = args[:bot_filtering_enabled] if args.key?(:bot_filtering_enabled)
 | 
						|
          @child_link = args[:child_link] if args.key?(:child_link)
 | 
						|
          @created = args[:created] if args.key?(:created)
 | 
						|
          @currency = args[:currency] if args.key?(:currency)
 | 
						|
          @default_page = args[:default_page] if args.key?(:default_page)
 | 
						|
          @e_commerce_tracking = args[:e_commerce_tracking] if args.key?(:e_commerce_tracking)
 | 
						|
          @enhanced_e_commerce_tracking = args[:enhanced_e_commerce_tracking] if args.key?(:enhanced_e_commerce_tracking)
 | 
						|
          @exclude_query_parameters = args[:exclude_query_parameters] if args.key?(:exclude_query_parameters)
 | 
						|
          @id = args[:id] if args.key?(:id)
 | 
						|
          @internal_web_property_id = args[:internal_web_property_id] if args.key?(:internal_web_property_id)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
          @name = args[:name] if args.key?(:name)
 | 
						|
          @parent_link = args[:parent_link] if args.key?(:parent_link)
 | 
						|
          @permissions = args[:permissions] if args.key?(:permissions)
 | 
						|
          @self_link = args[:self_link] if args.key?(:self_link)
 | 
						|
          @site_search_category_parameters = args[:site_search_category_parameters] if args.key?(:site_search_category_parameters)
 | 
						|
          @site_search_query_parameters = args[:site_search_query_parameters] if args.key?(:site_search_query_parameters)
 | 
						|
          @starred = args[:starred] if args.key?(:starred)
 | 
						|
          @strip_site_search_category_parameters = args[:strip_site_search_category_parameters] if args.key?(:strip_site_search_category_parameters)
 | 
						|
          @strip_site_search_query_parameters = args[:strip_site_search_query_parameters] if args.key?(:strip_site_search_query_parameters)
 | 
						|
          @timezone = args[:timezone] if args.key?(:timezone)
 | 
						|
          @type = args[:type] if args.key?(:type)
 | 
						|
          @updated = args[:updated] if args.key?(:updated)
 | 
						|
          @web_property_id = args[:web_property_id] if args.key?(:web_property_id)
 | 
						|
          @website_url = args[:website_url] if args.key?(:website_url)
 | 
						|
        end
 | 
						|
        
 | 
						|
        # Child link for this view (profile). Points to the list of goals for this view (
 | 
						|
        # profile).
 | 
						|
        class ChildLink
 | 
						|
          include Google::Apis::Core::Hashable
 | 
						|
        
 | 
						|
          # Link to the list of goals for this view (profile).
 | 
						|
          # Corresponds to the JSON property `href`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :href
 | 
						|
        
 | 
						|
          # Value is "analytics#goals".
 | 
						|
          # Corresponds to the JSON property `type`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :type
 | 
						|
        
 | 
						|
          def initialize(**args)
 | 
						|
             update!(**args)
 | 
						|
          end
 | 
						|
        
 | 
						|
          # Update properties of this object
 | 
						|
          def update!(**args)
 | 
						|
            @href = args[:href] if args.key?(:href)
 | 
						|
            @type = args[:type] if args.key?(:type)
 | 
						|
          end
 | 
						|
        end
 | 
						|
        
 | 
						|
        # Parent link for this view (profile). Points to the web property to which this
 | 
						|
        # view (profile) belongs.
 | 
						|
        class ParentLink
 | 
						|
          include Google::Apis::Core::Hashable
 | 
						|
        
 | 
						|
          # Link to the web property to which this view (profile) belongs.
 | 
						|
          # Corresponds to the JSON property `href`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :href
 | 
						|
        
 | 
						|
          # Value is "analytics#webproperty".
 | 
						|
          # Corresponds to the JSON property `type`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :type
 | 
						|
        
 | 
						|
          def initialize(**args)
 | 
						|
             update!(**args)
 | 
						|
          end
 | 
						|
        
 | 
						|
          # Update properties of this object
 | 
						|
          def update!(**args)
 | 
						|
            @href = args[:href] if args.key?(:href)
 | 
						|
            @type = args[:type] if args.key?(:type)
 | 
						|
          end
 | 
						|
        end
 | 
						|
        
 | 
						|
        # Permissions the user has for this view (profile).
 | 
						|
        class Permissions
 | 
						|
          include Google::Apis::Core::Hashable
 | 
						|
        
 | 
						|
          # All the permissions that the user has for this view (profile). These include
 | 
						|
          # any implied permissions (e.g., EDIT implies VIEW) or inherited permissions
 | 
						|
          # from the parent web property.
 | 
						|
          # Corresponds to the JSON property `effective`
 | 
						|
          # @return [Array<String>]
 | 
						|
          attr_accessor :effective
 | 
						|
        
 | 
						|
          def initialize(**args)
 | 
						|
             update!(**args)
 | 
						|
          end
 | 
						|
        
 | 
						|
          # Update properties of this object
 | 
						|
          def update!(**args)
 | 
						|
            @effective = args[:effective] if args.key?(:effective)
 | 
						|
          end
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # JSON template for an Analytics profile filter link.
 | 
						|
      class ProfileFilterLink
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # JSON template for a profile filter link.
 | 
						|
        # Corresponds to the JSON property `filterRef`
 | 
						|
        # @return [Google::Apis::AnalyticsV3::FilterRef]
 | 
						|
        attr_accessor :filter_ref
 | 
						|
      
 | 
						|
        # Profile filter link ID.
 | 
						|
        # Corresponds to the JSON property `id`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :id
 | 
						|
      
 | 
						|
        # Resource type for Analytics filter.
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        # JSON template for a linked view (profile).
 | 
						|
        # Corresponds to the JSON property `profileRef`
 | 
						|
        # @return [Google::Apis::AnalyticsV3::ProfileRef]
 | 
						|
        attr_accessor :profile_ref
 | 
						|
      
 | 
						|
        # The rank of this profile filter link relative to the other filters linked to
 | 
						|
        # the same profile.
 | 
						|
        # For readonly (i.e., list and get) operations, the rank always starts at 1.
 | 
						|
        # For write (i.e., create, update, or delete) operations, you may specify a
 | 
						|
        # value between 0 and 255 inclusively, [0, 255]. In order to insert a link at
 | 
						|
        # the end of the list, either don't specify a rank or set a rank to a number
 | 
						|
        # greater than the largest rank in the list. In order to insert a link to the
 | 
						|
        # beginning of the list specify a rank that is less than or equal to 1. The new
 | 
						|
        # link will move all existing filters with the same or lower rank down the list.
 | 
						|
        # After the link is inserted/updated/deleted all profile filter links will be
 | 
						|
        # renumbered starting at 1.
 | 
						|
        # Corresponds to the JSON property `rank`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :rank
 | 
						|
      
 | 
						|
        # Link for this profile filter link.
 | 
						|
        # Corresponds to the JSON property `selfLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :self_link
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @filter_ref = args[:filter_ref] if args.key?(:filter_ref)
 | 
						|
          @id = args[:id] if args.key?(:id)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
          @profile_ref = args[:profile_ref] if args.key?(:profile_ref)
 | 
						|
          @rank = args[:rank] if args.key?(:rank)
 | 
						|
          @self_link = args[:self_link] if args.key?(:self_link)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # A profile filter link collection lists profile filter links between profiles
 | 
						|
      # and filters. Each resource in the collection corresponds to a profile filter
 | 
						|
      # link.
 | 
						|
      class ProfileFilterLinks
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # A list of profile filter links.
 | 
						|
        # Corresponds to the JSON property `items`
 | 
						|
        # @return [Array<Google::Apis::AnalyticsV3::ProfileFilterLink>]
 | 
						|
        attr_accessor :items
 | 
						|
      
 | 
						|
        # The maximum number of resources the response can contain, regardless of the
 | 
						|
        # actual number of resources returned. Its value ranges from 1 to 1,000 with a
 | 
						|
        # value of 1000 by default, or otherwise specified by the max-results query
 | 
						|
        # parameter.
 | 
						|
        # Corresponds to the JSON property `itemsPerPage`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :items_per_page
 | 
						|
      
 | 
						|
        # Collection type.
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        # Link to next page for this profile filter link collection.
 | 
						|
        # Corresponds to the JSON property `nextLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :next_link
 | 
						|
      
 | 
						|
        # Link to previous page for this profile filter link collection.
 | 
						|
        # Corresponds to the JSON property `previousLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :previous_link
 | 
						|
      
 | 
						|
        # The starting index of the resources, which is 1 by default or otherwise
 | 
						|
        # specified by the start-index query parameter.
 | 
						|
        # Corresponds to the JSON property `startIndex`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :start_index
 | 
						|
      
 | 
						|
        # The total number of results for the query, regardless of the number of results
 | 
						|
        # in the response.
 | 
						|
        # Corresponds to the JSON property `totalResults`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :total_results
 | 
						|
      
 | 
						|
        # Email ID of the authenticated user
 | 
						|
        # Corresponds to the JSON property `username`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :username
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @items = args[:items] if args.key?(:items)
 | 
						|
          @items_per_page = args[:items_per_page] if args.key?(:items_per_page)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
          @next_link = args[:next_link] if args.key?(:next_link)
 | 
						|
          @previous_link = args[:previous_link] if args.key?(:previous_link)
 | 
						|
          @start_index = args[:start_index] if args.key?(:start_index)
 | 
						|
          @total_results = args[:total_results] if args.key?(:total_results)
 | 
						|
          @username = args[:username] if args.key?(:username)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # JSON template for a linked view (profile).
 | 
						|
      class ProfileRef
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Account ID to which this view (profile) belongs.
 | 
						|
        # Corresponds to the JSON property `accountId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :account_id
 | 
						|
      
 | 
						|
        # Link for this view (profile).
 | 
						|
        # Corresponds to the JSON property `href`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :href
 | 
						|
      
 | 
						|
        # View (Profile) ID.
 | 
						|
        # Corresponds to the JSON property `id`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :id
 | 
						|
      
 | 
						|
        # Internal ID for the web property to which this view (profile) belongs.
 | 
						|
        # Corresponds to the JSON property `internalWebPropertyId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :internal_web_property_id
 | 
						|
      
 | 
						|
        # Analytics view (profile) reference.
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        # Name of this view (profile).
 | 
						|
        # Corresponds to the JSON property `name`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :name
 | 
						|
      
 | 
						|
        # Web property ID of the form UA-XXXXX-YY to which this view (profile) belongs.
 | 
						|
        # Corresponds to the JSON property `webPropertyId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :web_property_id
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @account_id = args[:account_id] if args.key?(:account_id)
 | 
						|
          @href = args[:href] if args.key?(:href)
 | 
						|
          @id = args[:id] if args.key?(:id)
 | 
						|
          @internal_web_property_id = args[:internal_web_property_id] if args.key?(:internal_web_property_id)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
          @name = args[:name] if args.key?(:name)
 | 
						|
          @web_property_id = args[:web_property_id] if args.key?(:web_property_id)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # JSON template for an Analytics ProfileSummary. ProfileSummary returns basic
 | 
						|
      # information (i.e., summary) for a profile.
 | 
						|
      class ProfileSummary
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # View (profile) ID.
 | 
						|
        # Corresponds to the JSON property `id`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :id
 | 
						|
      
 | 
						|
        # Resource type for Analytics ProfileSummary.
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        # View (profile) name.
 | 
						|
        # Corresponds to the JSON property `name`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :name
 | 
						|
      
 | 
						|
        # Indicates whether this view (profile) is starred or not.
 | 
						|
        # Corresponds to the JSON property `starred`
 | 
						|
        # @return [Boolean]
 | 
						|
        attr_accessor :starred
 | 
						|
        alias_method :starred?, :starred
 | 
						|
      
 | 
						|
        # View (Profile) type. Supported types: WEB or APP.
 | 
						|
        # Corresponds to the JSON property `type`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :type
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @id = args[:id] if args.key?(:id)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
          @name = args[:name] if args.key?(:name)
 | 
						|
          @starred = args[:starred] if args.key?(:starred)
 | 
						|
          @type = args[:type] if args.key?(:type)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # A view (profile) collection lists Analytics views (profiles) to which the user
 | 
						|
      # has access. Each resource in the collection corresponds to a single Analytics
 | 
						|
      # view (profile).
 | 
						|
      class Profiles
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # A list of views (profiles).
 | 
						|
        # Corresponds to the JSON property `items`
 | 
						|
        # @return [Array<Google::Apis::AnalyticsV3::Profile>]
 | 
						|
        attr_accessor :items
 | 
						|
      
 | 
						|
        # The maximum number of resources the response can contain, regardless of the
 | 
						|
        # actual number of resources returned. Its value ranges from 1 to 1000 with a
 | 
						|
        # value of 1000 by default, or otherwise specified by the max-results query
 | 
						|
        # parameter.
 | 
						|
        # Corresponds to the JSON property `itemsPerPage`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :items_per_page
 | 
						|
      
 | 
						|
        # Collection type.
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        # Link to next page for this view (profile) collection.
 | 
						|
        # Corresponds to the JSON property `nextLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :next_link
 | 
						|
      
 | 
						|
        # Link to previous page for this view (profile) collection.
 | 
						|
        # Corresponds to the JSON property `previousLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :previous_link
 | 
						|
      
 | 
						|
        # The starting index of the resources, which is 1 by default or otherwise
 | 
						|
        # specified by the start-index query parameter.
 | 
						|
        # Corresponds to the JSON property `startIndex`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :start_index
 | 
						|
      
 | 
						|
        # The total number of results for the query, regardless of the number of results
 | 
						|
        # in the response.
 | 
						|
        # Corresponds to the JSON property `totalResults`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :total_results
 | 
						|
      
 | 
						|
        # Email ID of the authenticated user
 | 
						|
        # Corresponds to the JSON property `username`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :username
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @items = args[:items] if args.key?(:items)
 | 
						|
          @items_per_page = args[:items_per_page] if args.key?(:items_per_page)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
          @next_link = args[:next_link] if args.key?(:next_link)
 | 
						|
          @previous_link = args[:previous_link] if args.key?(:previous_link)
 | 
						|
          @start_index = args[:start_index] if args.key?(:start_index)
 | 
						|
          @total_results = args[:total_results] if args.key?(:total_results)
 | 
						|
          @username = args[:username] if args.key?(:username)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Real time data for a given view (profile).
 | 
						|
      class RealtimeData
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Column headers that list dimension names followed by the metric names. The
 | 
						|
        # order of dimensions and metrics is same as specified in the request.
 | 
						|
        # Corresponds to the JSON property `columnHeaders`
 | 
						|
        # @return [Array<Google::Apis::AnalyticsV3::RealtimeData::ColumnHeader>]
 | 
						|
        attr_accessor :column_headers
 | 
						|
      
 | 
						|
        # Unique ID for this data response.
 | 
						|
        # Corresponds to the JSON property `id`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :id
 | 
						|
      
 | 
						|
        # Resource type.
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        # Information for the view (profile), for which the real time data was requested.
 | 
						|
        # Corresponds to the JSON property `profileInfo`
 | 
						|
        # @return [Google::Apis::AnalyticsV3::RealtimeData::ProfileInfo]
 | 
						|
        attr_accessor :profile_info
 | 
						|
      
 | 
						|
        # Real time data request query parameters.
 | 
						|
        # Corresponds to the JSON property `query`
 | 
						|
        # @return [Google::Apis::AnalyticsV3::RealtimeData::Query]
 | 
						|
        attr_accessor :query
 | 
						|
      
 | 
						|
        # Real time data rows, where each row contains a list of dimension values
 | 
						|
        # followed by the metric values. The order of dimensions and metrics is same as
 | 
						|
        # specified in the request.
 | 
						|
        # Corresponds to the JSON property `rows`
 | 
						|
        # @return [Array<Array<String>>]
 | 
						|
        attr_accessor :rows
 | 
						|
      
 | 
						|
        # Link to this page.
 | 
						|
        # Corresponds to the JSON property `selfLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :self_link
 | 
						|
      
 | 
						|
        # The total number of rows for the query, regardless of the number of rows in
 | 
						|
        # the response.
 | 
						|
        # Corresponds to the JSON property `totalResults`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :total_results
 | 
						|
      
 | 
						|
        # Total values for the requested metrics over all the results, not just the
 | 
						|
        # results returned in this response. The order of the metric totals is same as
 | 
						|
        # the metric order specified in the request.
 | 
						|
        # Corresponds to the JSON property `totalsForAllResults`
 | 
						|
        # @return [Hash<String,String>]
 | 
						|
        attr_accessor :totals_for_all_results
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @column_headers = args[:column_headers] if args.key?(:column_headers)
 | 
						|
          @id = args[:id] if args.key?(:id)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
          @profile_info = args[:profile_info] if args.key?(:profile_info)
 | 
						|
          @query = args[:query] if args.key?(:query)
 | 
						|
          @rows = args[:rows] if args.key?(:rows)
 | 
						|
          @self_link = args[:self_link] if args.key?(:self_link)
 | 
						|
          @total_results = args[:total_results] if args.key?(:total_results)
 | 
						|
          @totals_for_all_results = args[:totals_for_all_results] if args.key?(:totals_for_all_results)
 | 
						|
        end
 | 
						|
        
 | 
						|
        # 
 | 
						|
        class ColumnHeader
 | 
						|
          include Google::Apis::Core::Hashable
 | 
						|
        
 | 
						|
          # Column Type. Either DIMENSION or METRIC.
 | 
						|
          # Corresponds to the JSON property `columnType`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :column_type
 | 
						|
        
 | 
						|
          # Data type. Dimension column headers have only STRING as the data type. Metric
 | 
						|
          # column headers have data types for metric values such as INTEGER, DOUBLE,
 | 
						|
          # CURRENCY etc.
 | 
						|
          # Corresponds to the JSON property `dataType`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :data_type
 | 
						|
        
 | 
						|
          # Column name.
 | 
						|
          # 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)
 | 
						|
            @column_type = args[:column_type] if args.key?(:column_type)
 | 
						|
            @data_type = args[:data_type] if args.key?(:data_type)
 | 
						|
            @name = args[:name] if args.key?(:name)
 | 
						|
          end
 | 
						|
        end
 | 
						|
        
 | 
						|
        # Information for the view (profile), for which the real time data was requested.
 | 
						|
        class ProfileInfo
 | 
						|
          include Google::Apis::Core::Hashable
 | 
						|
        
 | 
						|
          # Account ID to which this view (profile) belongs.
 | 
						|
          # Corresponds to the JSON property `accountId`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :account_id
 | 
						|
        
 | 
						|
          # Internal ID for the web property to which this view (profile) belongs.
 | 
						|
          # Corresponds to the JSON property `internalWebPropertyId`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :internal_web_property_id
 | 
						|
        
 | 
						|
          # View (Profile) ID.
 | 
						|
          # Corresponds to the JSON property `profileId`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :profile_id
 | 
						|
        
 | 
						|
          # View (Profile) name.
 | 
						|
          # Corresponds to the JSON property `profileName`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :profile_name
 | 
						|
        
 | 
						|
          # Table ID for view (profile).
 | 
						|
          # Corresponds to the JSON property `tableId`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :table_id
 | 
						|
        
 | 
						|
          # Web Property ID to which this view (profile) belongs.
 | 
						|
          # Corresponds to the JSON property `webPropertyId`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :web_property_id
 | 
						|
        
 | 
						|
          def initialize(**args)
 | 
						|
             update!(**args)
 | 
						|
          end
 | 
						|
        
 | 
						|
          # Update properties of this object
 | 
						|
          def update!(**args)
 | 
						|
            @account_id = args[:account_id] if args.key?(:account_id)
 | 
						|
            @internal_web_property_id = args[:internal_web_property_id] if args.key?(:internal_web_property_id)
 | 
						|
            @profile_id = args[:profile_id] if args.key?(:profile_id)
 | 
						|
            @profile_name = args[:profile_name] if args.key?(:profile_name)
 | 
						|
            @table_id = args[:table_id] if args.key?(:table_id)
 | 
						|
            @web_property_id = args[:web_property_id] if args.key?(:web_property_id)
 | 
						|
          end
 | 
						|
        end
 | 
						|
        
 | 
						|
        # Real time data request query parameters.
 | 
						|
        class Query
 | 
						|
          include Google::Apis::Core::Hashable
 | 
						|
        
 | 
						|
          # List of real time dimensions.
 | 
						|
          # Corresponds to the JSON property `dimensions`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :dimensions
 | 
						|
        
 | 
						|
          # Comma-separated list of dimension or metric filters.
 | 
						|
          # Corresponds to the JSON property `filters`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :filters
 | 
						|
        
 | 
						|
          # Unique table ID.
 | 
						|
          # Corresponds to the JSON property `ids`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :ids
 | 
						|
        
 | 
						|
          # Maximum results per page.
 | 
						|
          # Corresponds to the JSON property `max-results`
 | 
						|
          # @return [Fixnum]
 | 
						|
          attr_accessor :max_results
 | 
						|
        
 | 
						|
          # List of real time metrics.
 | 
						|
          # Corresponds to the JSON property `metrics`
 | 
						|
          # @return [Array<String>]
 | 
						|
          attr_accessor :metrics
 | 
						|
        
 | 
						|
          # List of dimensions or metrics based on which real time data is sorted.
 | 
						|
          # Corresponds to the JSON property `sort`
 | 
						|
          # @return [Array<String>]
 | 
						|
          attr_accessor :sort
 | 
						|
        
 | 
						|
          def initialize(**args)
 | 
						|
             update!(**args)
 | 
						|
          end
 | 
						|
        
 | 
						|
          # Update properties of this object
 | 
						|
          def update!(**args)
 | 
						|
            @dimensions = args[:dimensions] if args.key?(:dimensions)
 | 
						|
            @filters = args[:filters] if args.key?(:filters)
 | 
						|
            @ids = args[:ids] if args.key?(:ids)
 | 
						|
            @max_results = args[:max_results] if args.key?(:max_results)
 | 
						|
            @metrics = args[:metrics] if args.key?(:metrics)
 | 
						|
            @sort = args[:sort] if args.key?(:sort)
 | 
						|
          end
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # JSON template for an Analytics remarketing audience.
 | 
						|
      class RemarketingAudience
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Account ID to which this remarketing audience belongs.
 | 
						|
        # Corresponds to the JSON property `accountId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :account_id
 | 
						|
      
 | 
						|
        # The simple audience definition that will cause a user to be added to an
 | 
						|
        # audience.
 | 
						|
        # Corresponds to the JSON property `audienceDefinition`
 | 
						|
        # @return [Google::Apis::AnalyticsV3::RemarketingAudience::AudienceDefinition]
 | 
						|
        attr_accessor :audience_definition
 | 
						|
      
 | 
						|
        # The type of audience, either SIMPLE or STATE_BASED.
 | 
						|
        # Corresponds to the JSON property `audienceType`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :audience_type
 | 
						|
      
 | 
						|
        # Time this remarketing audience was created.
 | 
						|
        # Corresponds to the JSON property `created`
 | 
						|
        # @return [DateTime]
 | 
						|
        attr_accessor :created
 | 
						|
      
 | 
						|
        # The description of this remarketing audience.
 | 
						|
        # Corresponds to the JSON property `description`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :description
 | 
						|
      
 | 
						|
        # Remarketing Audience ID.
 | 
						|
        # Corresponds to the JSON property `id`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :id
 | 
						|
      
 | 
						|
        # Internal ID for the web property to which this remarketing audience belongs.
 | 
						|
        # Corresponds to the JSON property `internalWebPropertyId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :internal_web_property_id
 | 
						|
      
 | 
						|
        # Collection type.
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        # The linked ad accounts associated with this remarketing audience. A
 | 
						|
        # remarketing audience can have only one linkedAdAccount currently.
 | 
						|
        # Corresponds to the JSON property `linkedAdAccounts`
 | 
						|
        # @return [Array<Google::Apis::AnalyticsV3::LinkedForeignAccount>]
 | 
						|
        attr_accessor :linked_ad_accounts
 | 
						|
      
 | 
						|
        # The views (profiles) that this remarketing audience is linked to.
 | 
						|
        # Corresponds to the JSON property `linkedViews`
 | 
						|
        # @return [Array<String>]
 | 
						|
        attr_accessor :linked_views
 | 
						|
      
 | 
						|
        # The name of this remarketing audience.
 | 
						|
        # Corresponds to the JSON property `name`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :name
 | 
						|
      
 | 
						|
        # A state based audience definition that will cause a user to be added or
 | 
						|
        # removed from an audience.
 | 
						|
        # Corresponds to the JSON property `stateBasedAudienceDefinition`
 | 
						|
        # @return [Google::Apis::AnalyticsV3::RemarketingAudience::StateBasedAudienceDefinition]
 | 
						|
        attr_accessor :state_based_audience_definition
 | 
						|
      
 | 
						|
        # Time this remarketing audience was last modified.
 | 
						|
        # Corresponds to the JSON property `updated`
 | 
						|
        # @return [DateTime]
 | 
						|
        attr_accessor :updated
 | 
						|
      
 | 
						|
        # Web property ID of the form UA-XXXXX-YY to which this remarketing audience
 | 
						|
        # belongs.
 | 
						|
        # Corresponds to the JSON property `webPropertyId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :web_property_id
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @account_id = args[:account_id] if args.key?(:account_id)
 | 
						|
          @audience_definition = args[:audience_definition] if args.key?(:audience_definition)
 | 
						|
          @audience_type = args[:audience_type] if args.key?(:audience_type)
 | 
						|
          @created = args[:created] if args.key?(:created)
 | 
						|
          @description = args[:description] if args.key?(:description)
 | 
						|
          @id = args[:id] if args.key?(:id)
 | 
						|
          @internal_web_property_id = args[:internal_web_property_id] if args.key?(:internal_web_property_id)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
          @linked_ad_accounts = args[:linked_ad_accounts] if args.key?(:linked_ad_accounts)
 | 
						|
          @linked_views = args[:linked_views] if args.key?(:linked_views)
 | 
						|
          @name = args[:name] if args.key?(:name)
 | 
						|
          @state_based_audience_definition = args[:state_based_audience_definition] if args.key?(:state_based_audience_definition)
 | 
						|
          @updated = args[:updated] if args.key?(:updated)
 | 
						|
          @web_property_id = args[:web_property_id] if args.key?(:web_property_id)
 | 
						|
        end
 | 
						|
        
 | 
						|
        # The simple audience definition that will cause a user to be added to an
 | 
						|
        # audience.
 | 
						|
        class AudienceDefinition
 | 
						|
          include Google::Apis::Core::Hashable
 | 
						|
        
 | 
						|
          # JSON template for an Analytics Remarketing Include Conditions.
 | 
						|
          # Corresponds to the JSON property `includeConditions`
 | 
						|
          # @return [Google::Apis::AnalyticsV3::IncludeConditions]
 | 
						|
          attr_accessor :include_conditions
 | 
						|
        
 | 
						|
          def initialize(**args)
 | 
						|
             update!(**args)
 | 
						|
          end
 | 
						|
        
 | 
						|
          # Update properties of this object
 | 
						|
          def update!(**args)
 | 
						|
            @include_conditions = args[:include_conditions] if args.key?(:include_conditions)
 | 
						|
          end
 | 
						|
        end
 | 
						|
        
 | 
						|
        # A state based audience definition that will cause a user to be added or
 | 
						|
        # removed from an audience.
 | 
						|
        class StateBasedAudienceDefinition
 | 
						|
          include Google::Apis::Core::Hashable
 | 
						|
        
 | 
						|
          # Defines the conditions to exclude users from the audience.
 | 
						|
          # Corresponds to the JSON property `excludeConditions`
 | 
						|
          # @return [Google::Apis::AnalyticsV3::RemarketingAudience::StateBasedAudienceDefinition::ExcludeConditions]
 | 
						|
          attr_accessor :exclude_conditions
 | 
						|
        
 | 
						|
          # JSON template for an Analytics Remarketing Include Conditions.
 | 
						|
          # Corresponds to the JSON property `includeConditions`
 | 
						|
          # @return [Google::Apis::AnalyticsV3::IncludeConditions]
 | 
						|
          attr_accessor :include_conditions
 | 
						|
        
 | 
						|
          def initialize(**args)
 | 
						|
             update!(**args)
 | 
						|
          end
 | 
						|
        
 | 
						|
          # Update properties of this object
 | 
						|
          def update!(**args)
 | 
						|
            @exclude_conditions = args[:exclude_conditions] if args.key?(:exclude_conditions)
 | 
						|
            @include_conditions = args[:include_conditions] if args.key?(:include_conditions)
 | 
						|
          end
 | 
						|
          
 | 
						|
          # Defines the conditions to exclude users from the audience.
 | 
						|
          class ExcludeConditions
 | 
						|
            include Google::Apis::Core::Hashable
 | 
						|
          
 | 
						|
            # Whether to make the exclusion TEMPORARY or PERMANENT.
 | 
						|
            # Corresponds to the JSON property `exclusionDuration`
 | 
						|
            # @return [String]
 | 
						|
            attr_accessor :exclusion_duration
 | 
						|
          
 | 
						|
            # The segment condition that will cause a user to be removed from an audience.
 | 
						|
            # Corresponds to the JSON property `segment`
 | 
						|
            # @return [String]
 | 
						|
            attr_accessor :segment
 | 
						|
          
 | 
						|
            def initialize(**args)
 | 
						|
               update!(**args)
 | 
						|
            end
 | 
						|
          
 | 
						|
            # Update properties of this object
 | 
						|
            def update!(**args)
 | 
						|
              @exclusion_duration = args[:exclusion_duration] if args.key?(:exclusion_duration)
 | 
						|
              @segment = args[:segment] if args.key?(:segment)
 | 
						|
            end
 | 
						|
          end
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # A remarketing audience collection lists Analytics remarketing audiences to
 | 
						|
      # which the user has access. Each resource in the collection corresponds to a
 | 
						|
      # single Analytics remarketing audience.
 | 
						|
      class RemarketingAudiences
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # A list of remarketing audiences.
 | 
						|
        # Corresponds to the JSON property `items`
 | 
						|
        # @return [Array<Google::Apis::AnalyticsV3::RemarketingAudience>]
 | 
						|
        attr_accessor :items
 | 
						|
      
 | 
						|
        # The maximum number of resources the response can contain, regardless of the
 | 
						|
        # actual number of resources returned. Its value ranges from 1 to 1000 with a
 | 
						|
        # value of 1000 by default, or otherwise specified by the max-results query
 | 
						|
        # parameter.
 | 
						|
        # Corresponds to the JSON property `itemsPerPage`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :items_per_page
 | 
						|
      
 | 
						|
        # Collection type.
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        # Link to next page for this remarketing audience collection.
 | 
						|
        # Corresponds to the JSON property `nextLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :next_link
 | 
						|
      
 | 
						|
        # Link to previous page for this view (profile) collection.
 | 
						|
        # Corresponds to the JSON property `previousLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :previous_link
 | 
						|
      
 | 
						|
        # The starting index of the resources, which is 1 by default or otherwise
 | 
						|
        # specified by the start-index query parameter.
 | 
						|
        # Corresponds to the JSON property `startIndex`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :start_index
 | 
						|
      
 | 
						|
        # The total number of results for the query, regardless of the number of results
 | 
						|
        # in the response.
 | 
						|
        # Corresponds to the JSON property `totalResults`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :total_results
 | 
						|
      
 | 
						|
        # Email ID of the authenticated user
 | 
						|
        # Corresponds to the JSON property `username`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :username
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @items = args[:items] if args.key?(:items)
 | 
						|
          @items_per_page = args[:items_per_page] if args.key?(:items_per_page)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
          @next_link = args[:next_link] if args.key?(:next_link)
 | 
						|
          @previous_link = args[:previous_link] if args.key?(:previous_link)
 | 
						|
          @start_index = args[:start_index] if args.key?(:start_index)
 | 
						|
          @total_results = args[:total_results] if args.key?(:total_results)
 | 
						|
          @username = args[:username] if args.key?(:username)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # JSON template for an Analytics segment.
 | 
						|
      class Segment
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Time the segment was created.
 | 
						|
        # Corresponds to the JSON property `created`
 | 
						|
        # @return [DateTime]
 | 
						|
        attr_accessor :created
 | 
						|
      
 | 
						|
        # Segment definition.
 | 
						|
        # Corresponds to the JSON property `definition`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :definition
 | 
						|
      
 | 
						|
        # Segment ID.
 | 
						|
        # Corresponds to the JSON property `id`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :id
 | 
						|
      
 | 
						|
        # Resource type for Analytics segment.
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        # Segment name.
 | 
						|
        # Corresponds to the JSON property `name`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :name
 | 
						|
      
 | 
						|
        # Segment ID. Can be used with the 'segment' parameter in Core Reporting API.
 | 
						|
        # Corresponds to the JSON property `segmentId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :segment_id
 | 
						|
      
 | 
						|
        # Link for this segment.
 | 
						|
        # Corresponds to the JSON property `selfLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :self_link
 | 
						|
      
 | 
						|
        # Type for a segment. Possible values are "BUILT_IN" or "CUSTOM".
 | 
						|
        # Corresponds to the JSON property `type`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :type
 | 
						|
      
 | 
						|
        # Time the segment was last modified.
 | 
						|
        # Corresponds to the JSON property `updated`
 | 
						|
        # @return [DateTime]
 | 
						|
        attr_accessor :updated
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @created = args[:created] if args.key?(:created)
 | 
						|
          @definition = args[:definition] if args.key?(:definition)
 | 
						|
          @id = args[:id] if args.key?(:id)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
          @name = args[:name] if args.key?(:name)
 | 
						|
          @segment_id = args[:segment_id] if args.key?(:segment_id)
 | 
						|
          @self_link = args[:self_link] if args.key?(:self_link)
 | 
						|
          @type = args[:type] if args.key?(:type)
 | 
						|
          @updated = args[:updated] if args.key?(:updated)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # An segment collection lists Analytics segments that the user has access to.
 | 
						|
      # Each resource in the collection corresponds to a single Analytics segment.
 | 
						|
      class Segments
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # A list of segments.
 | 
						|
        # Corresponds to the JSON property `items`
 | 
						|
        # @return [Array<Google::Apis::AnalyticsV3::Segment>]
 | 
						|
        attr_accessor :items
 | 
						|
      
 | 
						|
        # The maximum number of resources the response can contain, regardless of the
 | 
						|
        # actual number of resources returned. Its value ranges from 1 to 1000 with a
 | 
						|
        # value of 1000 by default, or otherwise specified by the max-results query
 | 
						|
        # parameter.
 | 
						|
        # Corresponds to the JSON property `itemsPerPage`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :items_per_page
 | 
						|
      
 | 
						|
        # Collection type for segments.
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        # Link to next page for this segment collection.
 | 
						|
        # Corresponds to the JSON property `nextLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :next_link
 | 
						|
      
 | 
						|
        # Link to previous page for this segment collection.
 | 
						|
        # Corresponds to the JSON property `previousLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :previous_link
 | 
						|
      
 | 
						|
        # The starting index of the resources, which is 1 by default or otherwise
 | 
						|
        # specified by the start-index query parameter.
 | 
						|
        # Corresponds to the JSON property `startIndex`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :start_index
 | 
						|
      
 | 
						|
        # The total number of results for the query, regardless of the number of results
 | 
						|
        # in the response.
 | 
						|
        # Corresponds to the JSON property `totalResults`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :total_results
 | 
						|
      
 | 
						|
        # Email ID of the authenticated user
 | 
						|
        # Corresponds to the JSON property `username`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :username
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @items = args[:items] if args.key?(:items)
 | 
						|
          @items_per_page = args[:items_per_page] if args.key?(:items_per_page)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
          @next_link = args[:next_link] if args.key?(:next_link)
 | 
						|
          @previous_link = args[:previous_link] if args.key?(:previous_link)
 | 
						|
          @start_index = args[:start_index] if args.key?(:start_index)
 | 
						|
          @total_results = args[:total_results] if args.key?(:total_results)
 | 
						|
          @username = args[:username] if args.key?(:username)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # JSON template for Analytics unsampled report resource.
 | 
						|
      class UnsampledReport
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Account ID to which this unsampled report belongs.
 | 
						|
        # Corresponds to the JSON property `accountId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :account_id
 | 
						|
      
 | 
						|
        # Download details for a file stored in Google Cloud Storage.
 | 
						|
        # Corresponds to the JSON property `cloudStorageDownloadDetails`
 | 
						|
        # @return [Google::Apis::AnalyticsV3::UnsampledReport::CloudStorageDownloadDetails]
 | 
						|
        attr_accessor :cloud_storage_download_details
 | 
						|
      
 | 
						|
        # Time this unsampled report was created.
 | 
						|
        # Corresponds to the JSON property `created`
 | 
						|
        # @return [DateTime]
 | 
						|
        attr_accessor :created
 | 
						|
      
 | 
						|
        # The dimensions for the unsampled report.
 | 
						|
        # Corresponds to the JSON property `dimensions`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :dimensions
 | 
						|
      
 | 
						|
        # The type of download you need to use for the report data file. Possible values
 | 
						|
        # include `GOOGLE_DRIVE` and `GOOGLE_CLOUD_STORAGE`. If the value is `
 | 
						|
        # GOOGLE_DRIVE`, see the `driveDownloadDetails` field. If the value is `
 | 
						|
        # GOOGLE_CLOUD_STORAGE`, see the `cloudStorageDownloadDetails` field.
 | 
						|
        # Corresponds to the JSON property `downloadType`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :download_type
 | 
						|
      
 | 
						|
        # Download details for a file stored in Google Drive.
 | 
						|
        # Corresponds to the JSON property `driveDownloadDetails`
 | 
						|
        # @return [Google::Apis::AnalyticsV3::UnsampledReport::DriveDownloadDetails]
 | 
						|
        attr_accessor :drive_download_details
 | 
						|
      
 | 
						|
        # The end date for the unsampled report.
 | 
						|
        # Corresponds to the JSON property `end-date`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :end_date
 | 
						|
      
 | 
						|
        # The filters for the unsampled report.
 | 
						|
        # Corresponds to the JSON property `filters`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :filters
 | 
						|
      
 | 
						|
        # Unsampled report ID.
 | 
						|
        # Corresponds to the JSON property `id`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :id
 | 
						|
      
 | 
						|
        # Resource type for an Analytics unsampled report.
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        # The metrics for the unsampled report.
 | 
						|
        # Corresponds to the JSON property `metrics`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :metrics
 | 
						|
      
 | 
						|
        # View (Profile) ID to which this unsampled report belongs.
 | 
						|
        # Corresponds to the JSON property `profileId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :profile_id
 | 
						|
      
 | 
						|
        # The segment for the unsampled report.
 | 
						|
        # Corresponds to the JSON property `segment`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :segment
 | 
						|
      
 | 
						|
        # Link for this unsampled report.
 | 
						|
        # Corresponds to the JSON property `selfLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :self_link
 | 
						|
      
 | 
						|
        # The start date for the unsampled report.
 | 
						|
        # Corresponds to the JSON property `start-date`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :start_date
 | 
						|
      
 | 
						|
        # Status of this unsampled report. Possible values are PENDING, COMPLETED, or
 | 
						|
        # FAILED.
 | 
						|
        # Corresponds to the JSON property `status`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :status
 | 
						|
      
 | 
						|
        # Title of the unsampled report.
 | 
						|
        # Corresponds to the JSON property `title`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :title
 | 
						|
      
 | 
						|
        # Time this unsampled report was last modified.
 | 
						|
        # Corresponds to the JSON property `updated`
 | 
						|
        # @return [DateTime]
 | 
						|
        attr_accessor :updated
 | 
						|
      
 | 
						|
        # Web property ID to which this unsampled report belongs. The web property ID is
 | 
						|
        # of the form UA-XXXXX-YY.
 | 
						|
        # Corresponds to the JSON property `webPropertyId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :web_property_id
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @account_id = args[:account_id] if args.key?(:account_id)
 | 
						|
          @cloud_storage_download_details = args[:cloud_storage_download_details] if args.key?(:cloud_storage_download_details)
 | 
						|
          @created = args[:created] if args.key?(:created)
 | 
						|
          @dimensions = args[:dimensions] if args.key?(:dimensions)
 | 
						|
          @download_type = args[:download_type] if args.key?(:download_type)
 | 
						|
          @drive_download_details = args[:drive_download_details] if args.key?(:drive_download_details)
 | 
						|
          @end_date = args[:end_date] if args.key?(:end_date)
 | 
						|
          @filters = args[:filters] if args.key?(:filters)
 | 
						|
          @id = args[:id] if args.key?(:id)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
          @metrics = args[:metrics] if args.key?(:metrics)
 | 
						|
          @profile_id = args[:profile_id] if args.key?(:profile_id)
 | 
						|
          @segment = args[:segment] if args.key?(:segment)
 | 
						|
          @self_link = args[:self_link] if args.key?(:self_link)
 | 
						|
          @start_date = args[:start_date] if args.key?(:start_date)
 | 
						|
          @status = args[:status] if args.key?(:status)
 | 
						|
          @title = args[:title] if args.key?(:title)
 | 
						|
          @updated = args[:updated] if args.key?(:updated)
 | 
						|
          @web_property_id = args[:web_property_id] if args.key?(:web_property_id)
 | 
						|
        end
 | 
						|
        
 | 
						|
        # Download details for a file stored in Google Cloud Storage.
 | 
						|
        class CloudStorageDownloadDetails
 | 
						|
          include Google::Apis::Core::Hashable
 | 
						|
        
 | 
						|
          # Id of the bucket the file object is stored in.
 | 
						|
          # Corresponds to the JSON property `bucketId`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :bucket_id
 | 
						|
        
 | 
						|
          # Id of the file object containing the report data.
 | 
						|
          # Corresponds to the JSON property `objectId`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :obj_id
 | 
						|
        
 | 
						|
          def initialize(**args)
 | 
						|
             update!(**args)
 | 
						|
          end
 | 
						|
        
 | 
						|
          # Update properties of this object
 | 
						|
          def update!(**args)
 | 
						|
            @bucket_id = args[:bucket_id] if args.key?(:bucket_id)
 | 
						|
            @obj_id = args[:obj_id] if args.key?(:obj_id)
 | 
						|
          end
 | 
						|
        end
 | 
						|
        
 | 
						|
        # Download details for a file stored in Google Drive.
 | 
						|
        class DriveDownloadDetails
 | 
						|
          include Google::Apis::Core::Hashable
 | 
						|
        
 | 
						|
          # Id of the document/file containing the report data.
 | 
						|
          # Corresponds to the JSON property `documentId`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :document_id
 | 
						|
        
 | 
						|
          def initialize(**args)
 | 
						|
             update!(**args)
 | 
						|
          end
 | 
						|
        
 | 
						|
          # Update properties of this object
 | 
						|
          def update!(**args)
 | 
						|
            @document_id = args[:document_id] if args.key?(:document_id)
 | 
						|
          end
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # An unsampled report collection lists Analytics unsampled reports to which the
 | 
						|
      # user has access. Each view (profile) can have a set of unsampled reports. Each
 | 
						|
      # resource in the unsampled report collection corresponds to a single Analytics
 | 
						|
      # unsampled report.
 | 
						|
      class UnsampledReports
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # A list of unsampled reports.
 | 
						|
        # Corresponds to the JSON property `items`
 | 
						|
        # @return [Array<Google::Apis::AnalyticsV3::UnsampledReport>]
 | 
						|
        attr_accessor :items
 | 
						|
      
 | 
						|
        # The maximum number of resources the response can contain, regardless of the
 | 
						|
        # actual number of resources returned. Its value ranges from 1 to 1000 with a
 | 
						|
        # value of 1000 by default, or otherwise specified by the max-results query
 | 
						|
        # parameter.
 | 
						|
        # Corresponds to the JSON property `itemsPerPage`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :items_per_page
 | 
						|
      
 | 
						|
        # Collection type.
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        # Link to next page for this unsampled report collection.
 | 
						|
        # Corresponds to the JSON property `nextLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :next_link
 | 
						|
      
 | 
						|
        # Link to previous page for this unsampled report collection.
 | 
						|
        # Corresponds to the JSON property `previousLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :previous_link
 | 
						|
      
 | 
						|
        # The starting index of the resources, which is 1 by default or otherwise
 | 
						|
        # specified by the start-index query parameter.
 | 
						|
        # Corresponds to the JSON property `startIndex`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :start_index
 | 
						|
      
 | 
						|
        # The total number of results for the query, regardless of the number of
 | 
						|
        # resources in the result.
 | 
						|
        # Corresponds to the JSON property `totalResults`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :total_results
 | 
						|
      
 | 
						|
        # Email ID of the authenticated user
 | 
						|
        # Corresponds to the JSON property `username`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :username
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @items = args[:items] if args.key?(:items)
 | 
						|
          @items_per_page = args[:items_per_page] if args.key?(:items_per_page)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
          @next_link = args[:next_link] if args.key?(:next_link)
 | 
						|
          @previous_link = args[:previous_link] if args.key?(:previous_link)
 | 
						|
          @start_index = args[:start_index] if args.key?(:start_index)
 | 
						|
          @total_results = args[:total_results] if args.key?(:total_results)
 | 
						|
          @username = args[:username] if args.key?(:username)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Metadata returned for an upload operation.
 | 
						|
      class Upload
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Account Id to which this upload belongs.
 | 
						|
        # Corresponds to the JSON property `accountId`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :account_id
 | 
						|
      
 | 
						|
        # Custom data source Id to which this data import belongs.
 | 
						|
        # Corresponds to the JSON property `customDataSourceId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :custom_data_source_id
 | 
						|
      
 | 
						|
        # Data import errors collection.
 | 
						|
        # Corresponds to the JSON property `errors`
 | 
						|
        # @return [Array<String>]
 | 
						|
        attr_accessor :errors
 | 
						|
      
 | 
						|
        # A unique ID for this upload.
 | 
						|
        # Corresponds to the JSON property `id`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :id
 | 
						|
      
 | 
						|
        # Resource type for Analytics upload.
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        # Upload status. Possible values: PENDING, COMPLETED, FAILED, DELETING, DELETED.
 | 
						|
        # Corresponds to the JSON property `status`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :status
 | 
						|
      
 | 
						|
        # Time this file is uploaded.
 | 
						|
        # Corresponds to the JSON property `uploadTime`
 | 
						|
        # @return [DateTime]
 | 
						|
        attr_accessor :upload_time
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @account_id = args[:account_id] if args.key?(:account_id)
 | 
						|
          @custom_data_source_id = args[:custom_data_source_id] if args.key?(:custom_data_source_id)
 | 
						|
          @errors = args[:errors] if args.key?(:errors)
 | 
						|
          @id = args[:id] if args.key?(:id)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
          @status = args[:status] if args.key?(:status)
 | 
						|
          @upload_time = args[:upload_time] if args.key?(:upload_time)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Upload collection lists Analytics uploads to which the user has access. Each
 | 
						|
      # custom data source can have a set of uploads. Each resource in the upload
 | 
						|
      # collection corresponds to a single Analytics data upload.
 | 
						|
      class Uploads
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # A list of uploads.
 | 
						|
        # Corresponds to the JSON property `items`
 | 
						|
        # @return [Array<Google::Apis::AnalyticsV3::Upload>]
 | 
						|
        attr_accessor :items
 | 
						|
      
 | 
						|
        # The maximum number of resources the response can contain, regardless of the
 | 
						|
        # actual number of resources returned. Its value ranges from 1 to 1000 with a
 | 
						|
        # value of 1000 by default, or otherwise specified by the max-results query
 | 
						|
        # parameter.
 | 
						|
        # Corresponds to the JSON property `itemsPerPage`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :items_per_page
 | 
						|
      
 | 
						|
        # Collection type.
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        # Link to next page for this upload collection.
 | 
						|
        # Corresponds to the JSON property `nextLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :next_link
 | 
						|
      
 | 
						|
        # Link to previous page for this upload collection.
 | 
						|
        # Corresponds to the JSON property `previousLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :previous_link
 | 
						|
      
 | 
						|
        # The starting index of the resources, which is 1 by default or otherwise
 | 
						|
        # specified by the start-index query parameter.
 | 
						|
        # Corresponds to the JSON property `startIndex`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :start_index
 | 
						|
      
 | 
						|
        # The total number of results for the query, regardless of the number of
 | 
						|
        # resources in the result.
 | 
						|
        # Corresponds to the JSON property `totalResults`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :total_results
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @items = args[:items] if args.key?(:items)
 | 
						|
          @items_per_page = args[:items_per_page] if args.key?(:items_per_page)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
          @next_link = args[:next_link] if args.key?(:next_link)
 | 
						|
          @previous_link = args[:previous_link] if args.key?(:previous_link)
 | 
						|
          @start_index = args[:start_index] if args.key?(:start_index)
 | 
						|
          @total_results = args[:total_results] if args.key?(:total_results)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # JSON template for a user reference.
 | 
						|
      class UserRef
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Email ID of this user.
 | 
						|
        # Corresponds to the JSON property `email`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :email
 | 
						|
      
 | 
						|
        # User ID.
 | 
						|
        # Corresponds to the JSON property `id`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :id
 | 
						|
      
 | 
						|
        # 
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @email = args[:email] if args.key?(:email)
 | 
						|
          @id = args[:id] if args.key?(:id)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # JSON template for a web property reference.
 | 
						|
      class WebPropertyRef
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Account ID to which this web property belongs.
 | 
						|
        # Corresponds to the JSON property `accountId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :account_id
 | 
						|
      
 | 
						|
        # Link for this web property.
 | 
						|
        # Corresponds to the JSON property `href`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :href
 | 
						|
      
 | 
						|
        # Web property ID of the form UA-XXXXX-YY.
 | 
						|
        # Corresponds to the JSON property `id`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :id
 | 
						|
      
 | 
						|
        # Internal ID for this web property.
 | 
						|
        # Corresponds to the JSON property `internalWebPropertyId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :internal_web_property_id
 | 
						|
      
 | 
						|
        # Analytics web property reference.
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        # Name of this web property.
 | 
						|
        # 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)
 | 
						|
          @account_id = args[:account_id] if args.key?(:account_id)
 | 
						|
          @href = args[:href] if args.key?(:href)
 | 
						|
          @id = args[:id] if args.key?(:id)
 | 
						|
          @internal_web_property_id = args[:internal_web_property_id] if args.key?(:internal_web_property_id)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
          @name = args[:name] if args.key?(:name)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # JSON template for an Analytics WebPropertySummary. WebPropertySummary returns
 | 
						|
      # basic information (i.e., summary) for a web property.
 | 
						|
      class WebPropertySummary
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Web property ID of the form UA-XXXXX-YY.
 | 
						|
        # Corresponds to the JSON property `id`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :id
 | 
						|
      
 | 
						|
        # Internal ID for this web property.
 | 
						|
        # Corresponds to the JSON property `internalWebPropertyId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :internal_web_property_id
 | 
						|
      
 | 
						|
        # Resource type for Analytics WebPropertySummary.
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        # Level for this web property. Possible values are STANDARD or PREMIUM.
 | 
						|
        # Corresponds to the JSON property `level`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :level
 | 
						|
      
 | 
						|
        # Web property name.
 | 
						|
        # Corresponds to the JSON property `name`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :name
 | 
						|
      
 | 
						|
        # List of profiles under this web property.
 | 
						|
        # Corresponds to the JSON property `profiles`
 | 
						|
        # @return [Array<Google::Apis::AnalyticsV3::ProfileSummary>]
 | 
						|
        attr_accessor :profiles
 | 
						|
      
 | 
						|
        # Indicates whether this web property is starred or not.
 | 
						|
        # Corresponds to the JSON property `starred`
 | 
						|
        # @return [Boolean]
 | 
						|
        attr_accessor :starred
 | 
						|
        alias_method :starred?, :starred
 | 
						|
      
 | 
						|
        # Website url for this web property.
 | 
						|
        # Corresponds to the JSON property `websiteUrl`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :website_url
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @id = args[:id] if args.key?(:id)
 | 
						|
          @internal_web_property_id = args[:internal_web_property_id] if args.key?(:internal_web_property_id)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
          @level = args[:level] if args.key?(:level)
 | 
						|
          @name = args[:name] if args.key?(:name)
 | 
						|
          @profiles = args[:profiles] if args.key?(:profiles)
 | 
						|
          @starred = args[:starred] if args.key?(:starred)
 | 
						|
          @website_url = args[:website_url] if args.key?(:website_url)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # A web property collection lists Analytics web properties to which the user has
 | 
						|
      # access. Each resource in the collection corresponds to a single Analytics web
 | 
						|
      # property.
 | 
						|
      class Webproperties
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # A list of web properties.
 | 
						|
        # Corresponds to the JSON property `items`
 | 
						|
        # @return [Array<Google::Apis::AnalyticsV3::Webproperty>]
 | 
						|
        attr_accessor :items
 | 
						|
      
 | 
						|
        # The maximum number of resources the response can contain, regardless of the
 | 
						|
        # actual number of resources returned. Its value ranges from 1 to 1000 with a
 | 
						|
        # value of 1000 by default, or otherwise specified by the max-results query
 | 
						|
        # parameter.
 | 
						|
        # Corresponds to the JSON property `itemsPerPage`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :items_per_page
 | 
						|
      
 | 
						|
        # Collection type.
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        # Link to next page for this web property collection.
 | 
						|
        # Corresponds to the JSON property `nextLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :next_link
 | 
						|
      
 | 
						|
        # Link to previous page for this web property collection.
 | 
						|
        # Corresponds to the JSON property `previousLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :previous_link
 | 
						|
      
 | 
						|
        # The starting index of the resources, which is 1 by default or otherwise
 | 
						|
        # specified by the start-index query parameter.
 | 
						|
        # Corresponds to the JSON property `startIndex`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :start_index
 | 
						|
      
 | 
						|
        # The total number of results for the query, regardless of the number of results
 | 
						|
        # in the response.
 | 
						|
        # Corresponds to the JSON property `totalResults`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :total_results
 | 
						|
      
 | 
						|
        # Email ID of the authenticated user
 | 
						|
        # Corresponds to the JSON property `username`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :username
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @items = args[:items] if args.key?(:items)
 | 
						|
          @items_per_page = args[:items_per_page] if args.key?(:items_per_page)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
          @next_link = args[:next_link] if args.key?(:next_link)
 | 
						|
          @previous_link = args[:previous_link] if args.key?(:previous_link)
 | 
						|
          @start_index = args[:start_index] if args.key?(:start_index)
 | 
						|
          @total_results = args[:total_results] if args.key?(:total_results)
 | 
						|
          @username = args[:username] if args.key?(:username)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # JSON template for an Analytics web property.
 | 
						|
      class Webproperty
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Account ID to which this web property belongs.
 | 
						|
        # Corresponds to the JSON property `accountId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :account_id
 | 
						|
      
 | 
						|
        # Child link for this web property. Points to the list of views (profiles) for
 | 
						|
        # this web property.
 | 
						|
        # Corresponds to the JSON property `childLink`
 | 
						|
        # @return [Google::Apis::AnalyticsV3::Webproperty::ChildLink]
 | 
						|
        attr_accessor :child_link
 | 
						|
      
 | 
						|
        # Time this web property was created.
 | 
						|
        # Corresponds to the JSON property `created`
 | 
						|
        # @return [DateTime]
 | 
						|
        attr_accessor :created
 | 
						|
      
 | 
						|
        # Default view (profile) ID.
 | 
						|
        # Corresponds to the JSON property `defaultProfileId`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :default_profile_id
 | 
						|
      
 | 
						|
        # Web property ID of the form UA-XXXXX-YY.
 | 
						|
        # Corresponds to the JSON property `id`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :id
 | 
						|
      
 | 
						|
        # The industry vertical/category selected for this web property.
 | 
						|
        # Corresponds to the JSON property `industryVertical`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :industry_vertical
 | 
						|
      
 | 
						|
        # Internal ID for this web property.
 | 
						|
        # Corresponds to the JSON property `internalWebPropertyId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :internal_web_property_id
 | 
						|
      
 | 
						|
        # Resource type for Analytics WebProperty.
 | 
						|
        # Corresponds to the JSON property `kind`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :kind
 | 
						|
      
 | 
						|
        # Level for this web property. Possible values are STANDARD or PREMIUM.
 | 
						|
        # Corresponds to the JSON property `level`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :level
 | 
						|
      
 | 
						|
        # Name of this web property.
 | 
						|
        # Corresponds to the JSON property `name`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :name
 | 
						|
      
 | 
						|
        # Parent link for this web property. Points to the account to which this web
 | 
						|
        # property belongs.
 | 
						|
        # Corresponds to the JSON property `parentLink`
 | 
						|
        # @return [Google::Apis::AnalyticsV3::Webproperty::ParentLink]
 | 
						|
        attr_accessor :parent_link
 | 
						|
      
 | 
						|
        # Permissions the user has for this web property.
 | 
						|
        # Corresponds to the JSON property `permissions`
 | 
						|
        # @return [Google::Apis::AnalyticsV3::Webproperty::Permissions]
 | 
						|
        attr_accessor :permissions
 | 
						|
      
 | 
						|
        # View (Profile) count for this web property.
 | 
						|
        # Corresponds to the JSON property `profileCount`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :profile_count
 | 
						|
      
 | 
						|
        # Link for this web property.
 | 
						|
        # Corresponds to the JSON property `selfLink`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :self_link
 | 
						|
      
 | 
						|
        # Indicates whether this web property is starred or not.
 | 
						|
        # Corresponds to the JSON property `starred`
 | 
						|
        # @return [Boolean]
 | 
						|
        attr_accessor :starred
 | 
						|
        alias_method :starred?, :starred
 | 
						|
      
 | 
						|
        # Time this web property was last modified.
 | 
						|
        # Corresponds to the JSON property `updated`
 | 
						|
        # @return [DateTime]
 | 
						|
        attr_accessor :updated
 | 
						|
      
 | 
						|
        # Website url for this web property.
 | 
						|
        # Corresponds to the JSON property `websiteUrl`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :website_url
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @account_id = args[:account_id] if args.key?(:account_id)
 | 
						|
          @child_link = args[:child_link] if args.key?(:child_link)
 | 
						|
          @created = args[:created] if args.key?(:created)
 | 
						|
          @default_profile_id = args[:default_profile_id] if args.key?(:default_profile_id)
 | 
						|
          @id = args[:id] if args.key?(:id)
 | 
						|
          @industry_vertical = args[:industry_vertical] if args.key?(:industry_vertical)
 | 
						|
          @internal_web_property_id = args[:internal_web_property_id] if args.key?(:internal_web_property_id)
 | 
						|
          @kind = args[:kind] if args.key?(:kind)
 | 
						|
          @level = args[:level] if args.key?(:level)
 | 
						|
          @name = args[:name] if args.key?(:name)
 | 
						|
          @parent_link = args[:parent_link] if args.key?(:parent_link)
 | 
						|
          @permissions = args[:permissions] if args.key?(:permissions)
 | 
						|
          @profile_count = args[:profile_count] if args.key?(:profile_count)
 | 
						|
          @self_link = args[:self_link] if args.key?(:self_link)
 | 
						|
          @starred = args[:starred] if args.key?(:starred)
 | 
						|
          @updated = args[:updated] if args.key?(:updated)
 | 
						|
          @website_url = args[:website_url] if args.key?(:website_url)
 | 
						|
        end
 | 
						|
        
 | 
						|
        # Child link for this web property. Points to the list of views (profiles) for
 | 
						|
        # this web property.
 | 
						|
        class ChildLink
 | 
						|
          include Google::Apis::Core::Hashable
 | 
						|
        
 | 
						|
          # Link to the list of views (profiles) for this web property.
 | 
						|
          # Corresponds to the JSON property `href`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :href
 | 
						|
        
 | 
						|
          # Type of the parent link. Its value is "analytics#profiles".
 | 
						|
          # Corresponds to the JSON property `type`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :type
 | 
						|
        
 | 
						|
          def initialize(**args)
 | 
						|
             update!(**args)
 | 
						|
          end
 | 
						|
        
 | 
						|
          # Update properties of this object
 | 
						|
          def update!(**args)
 | 
						|
            @href = args[:href] if args.key?(:href)
 | 
						|
            @type = args[:type] if args.key?(:type)
 | 
						|
          end
 | 
						|
        end
 | 
						|
        
 | 
						|
        # Parent link for this web property. Points to the account to which this web
 | 
						|
        # property belongs.
 | 
						|
        class ParentLink
 | 
						|
          include Google::Apis::Core::Hashable
 | 
						|
        
 | 
						|
          # Link to the account for this web property.
 | 
						|
          # Corresponds to the JSON property `href`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :href
 | 
						|
        
 | 
						|
          # Type of the parent link. Its value is "analytics#account".
 | 
						|
          # Corresponds to the JSON property `type`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :type
 | 
						|
        
 | 
						|
          def initialize(**args)
 | 
						|
             update!(**args)
 | 
						|
          end
 | 
						|
        
 | 
						|
          # Update properties of this object
 | 
						|
          def update!(**args)
 | 
						|
            @href = args[:href] if args.key?(:href)
 | 
						|
            @type = args[:type] if args.key?(:type)
 | 
						|
          end
 | 
						|
        end
 | 
						|
        
 | 
						|
        # Permissions the user has for this web property.
 | 
						|
        class Permissions
 | 
						|
          include Google::Apis::Core::Hashable
 | 
						|
        
 | 
						|
          # All the permissions that the user has for this web property. These include any
 | 
						|
          # implied permissions (e.g., EDIT implies VIEW) or inherited permissions from
 | 
						|
          # the parent account.
 | 
						|
          # Corresponds to the JSON property `effective`
 | 
						|
          # @return [Array<String>]
 | 
						|
          attr_accessor :effective
 | 
						|
        
 | 
						|
          def initialize(**args)
 | 
						|
             update!(**args)
 | 
						|
          end
 | 
						|
        
 | 
						|
          # Update properties of this object
 | 
						|
          def update!(**args)
 | 
						|
            @effective = args[:effective] if args.key?(:effective)
 | 
						|
          end
 | 
						|
        end
 | 
						|
      end
 | 
						|
    end
 | 
						|
  end
 | 
						|
end
 |